第29章--综合应用试验2:量化对IIR滤波器特性影响.ppt

第29章--综合应用试验2:量化对IIR滤波器特性影响.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第29章--综合应用试验2:量化对IIR滤波器特性影响

实验29 综合应用实验2——量化对IIR滤波器特性的影响;一、实验目的   根据已经学习过的IIR数字滤波器及MATLAB有关知识,进行系统分析与处理方面综合应用能力的练习。通过实验了解计算机进行信号处理的方式以及数据运算的特点。   自行查阅有关资料,设计MATLAB程序,模拟IIR数字滤波器的系数在处理过程中由于量化而出现的问题,并研究减小其影响的方法。;二、实验原理   MATLAB是一种科学计算和分析工具,其数据格式默认为双精度(64位)浮点数,其数据格式为:1个符号位,11个指数位,52个尾数位。其精度比硬件DSP高,动态范围比DSP大。也就是说,在MATLAB能实现的滤波器,在硬件中不一定能实现。要想让MATLAB模拟的算法能够适用于DSP,就必须使MATLAB能够尽量真实地模拟DSP的实际运算过程,这就要对普通的MATLAB程序进行改进。   DSP芯片分为浮点运算的DSP和定点运算的DSP两种类型。 ;  浮点运算DSP芯片多数采用单精度的浮点格式。根据IEEE754标准,在单精度格式中,32位浮点数据从高到低依此为:1个符号位,8个指数位,23个尾数位,如图29-1所示。一般来说,IEEE754标准的浮点数在编程时几乎可以不考虑数据溢出的问题。用MATLAB仿真时,精度虽然有微小的差别,但大多数时候这种差别可以忽略。;  ;  定点运算DSP芯片的优势是结构简单,因而在速度、成本、功耗上均强于浮点DSP,因此也得到广泛使用。   定点运算的操作数采用整型数来表示。数据格式大多采用16位或24位,有的也采用32位。同时,定点数又分为有符号数和无符号数。下面以16位数的有符号数为例讨论定点DSP的数据格式。   所谓定点,就是指数据中小数点的位置是固定的。;  当小数点的位置在数据的末尾,这个数据就是一个整数。对于16位定点整数来说,数据的取值范围是-32768(8000H)~32767(7FFFH),其精度为1。这种表示形式称为Q0格式。   当小数点位置在符号位后面时,对于16位定点数来说,数据的表示范围为-1~0.9999695,数据是一个纯小数,其精度为1/32767=0.0000305。这种表示形式称为Q15格式。;  Q0和Q15是最常用的定点格式。除了这两种格式外,小数点位置在第n位,数据就是Qn格式。无论是哪种数据格式,对于DSP芯片来说,处理方法都是完全相同的,不同的只是数值范围和精度。编程时,应始终清楚小数点的位置和数据位宽,并在每次乘法、加法运算后,对结果进行适当处理。   在定点运算时,为了保证数据既不溢出,又有足够的精度,通常在一批数据中选择绝对值最大的数进行归一化。这样可以保证整批数据最大限度地利用存储空间,去掉多余的符号位,又使绝对值较小的数不致于在运算中被很快归零,保证了较高的精度。;  在用硬件实现数字滤波器功能时,滤波器的系数和信号都存在量化的问题。有些硬件如A/D和D/A变换的芯片,常常仅有8位、10位或12位。   IIR滤波器存在着递归计算的问题,在循环计算的过程中,其系数误差可能会不断积累扩大。特别是IIR滤波器的极点靠近z平面上的单位圆时,幅频特性通常会出现很大的峰值。如果此时系数量化误差较大,则有可能使原来处于单位圆内的极点移到单位圆外,使IIR滤波器由稳定系统变成了不稳定系统。另外,当一组系数之间的差过大时,量化将使绝对值大于1的数在运算中被归一化,可能造成滤波器无法实现。因此,研究IIR滤波器系数的量化误差问题具有更加现实的意义。;三、实验任务   (1)编写一个MATLAB通用子程序,将IIR滤波器系数按照N位二进制进行量化处理。   (2)试对下列IIR滤波器传递函数的系数进行数据处理,量化为8位二进制的滤波器系数。    ;  (3)将以上H(z)分别由直接型转换为级联型和并联型,再用MATLAB通用子程序对滤波器系数进行处理,量化为8位二进制的滤波器系数。   (4)显示H(z)原传递函数的系数和处理后的系数生成的滤波器特性图、零极点图,进行比较,说明系数量化对IIR滤波器特性的影响,并研究减小其影响的方法。;四、实验涉及的MATLAB子函数   介绍一段进行滤波器系数N位二进制量化的子程序作为参考:   function[b1,a1]=brqt(b,a,N)   %二进制相对量化子程序   bx=abs(b);ax=abs(a); %去掉符号   bxm=max(bx);axm=max(ax);   maxba=max(bxm,axm);%寻找系数中最大的数   m=ceil(log2(maxba));%确定幅度值占二进制m位   deltax=2.^(m-N);%求出量化步长;  aint=round(ax./deltax);%将a除以量化

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档