- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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除以量化
您可能关注的文档
- 08 电路分析 第8章 三相交流电路 .ppt
- 08第8章 蛋白质和氨基酸测定2013.ppt
- 《教师参考》苏教版(高中数学)必修4同课异构:3.1.2 两角和与差正弦.ppt
- 第4章 数据库与应用程序开发1_数据库技术基础.ppt
- 5.2 人民代表大会制度:我国根本政治制度 (共33张PPT).ppt
- 8-08 二重积分计算.ppt
- 23.1.4 30°45°60°三角函数.ppt
- 初中人教版历史复习:八上第四单元中华民族抗日战争(共56张PPT).ppt
- 2012 6 26 高效能人士七个习惯 36页 推荐学生.ppt
- 初三4班家长会.ppt.C245619F6045AB6EBB3B29333B744192.20140509203716.ppt
文档评论(0)