- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四:数字滤波器 [实验目的] 熟悉滤波器的基本概念 了解滤波器的分类 熟悉应用matlab设计各种滤波器的方法 [数字滤波器] 如果滤波器的输入、输出都是离散时间信号,则该滤波器的冲激响应也必然是离散的,这样的滤波器定义为数字滤波器。 它是通过对采样数据信号进行数学运算处理来达到频域滤波的目的。 [实现方式] 一、频域方法:利用FFT对输入信号进行离散傅立叶变换,分析其频谱,然后根据所需的频率特性进行滤波,再利用IFFT快速算法恢复出时域信号。这种方法具有较好的频率选择和灵活性。 二、时域法:对离散采样数据做差分方程数学运算来达到滤波的目的。 [数字滤波器实现] 一、硬件实现:基本部件包括延迟器、乘法器和加法器。 二、软件实现:线性卷积程序 。 系统函数具有可变性,仅依赖于算法结构, 并且易于获得较理想的滤波性能。 [数字滤波器设计步骤] 一、给出所需要的滤波器的技术指标 二、设计一个H(Z)使其逼近所需要的技术指标 三、实现所设计的H(Z) ( H(Z)为系统的数学模型:传递函数模型、状态方程模型和零极点增益模型等) [数学模型之间的转换] [Z,P,K] = ss2zp(A,B,C,D,iu) [num,den]=ss2tf(A,B,C,D,iu) [A,B,C,D]=zp2ss(Z,P,K) [num,den]=zp2tf(Z,P,K) [Z,P,K]=tf2zp(num,den) [A,B,C,D]=tf2ss(num,den) IIR数字滤波器设计 IIR数字滤波器设计借助模拟滤波器原型,再 将模拟滤波器转换成数字滤波器。 MATLAB工具箱提供了几种模拟滤波器的原型产 生函数:Butterworth、Bessel、Chebyshev、椭圆 滤波器原型 [IIR数字滤波器设计步骤] 一、按一定规则将给出的数字滤波器的技术指标 转换为模拟滤波器的技术指标 二、根据转换后的技术指标使用滤波器阶数选择 函数,确定最小阶数N和固有频率Wn 三、运用最小阶数N、固有频率Wn产生模拟滤波 器原型 四、运用冲激响应不变法或双线性不变法把模拟 滤波器转换成数字滤波器 函数 1、Buttord(Wp,Ws,Rp,Rs) butterworth滤波器阶数选择函数,返回符合要求性 质的滤波器最小阶数N以及固有频率Wn Wp 通带截至频率 Ws 阻带截至频率 Rp 通带衰减(不超过) Rs 阻带衰减(不小于) Wp,Ws是归一化频率,范围是[0,1],对应 弧度 归一化处理: Wp(或Ws)/(fs/2) 例:确定数字低通Butterworth滤波器的阶数和固 有频率。 要求: wp=500hz,ws=550hz,rp=1db,rs=50db,fs=2000hz 程序清单: Wp=500;ws=550;rp=1;rs=50;fs=2000 ; [N,Wn]=buttord(wp/(fs/2),ws/(fs/2),rp,rs) 函数 2、Butter(N,Wn) 设计数字滤波器函数 格式:[B,A]= Butter(N,Wn) [B,A]是滤波器系数矩阵。 如果Wn=[w1,w2]是一个二元向量,则该函数将设计 出带通、带阻数字滤波器 函数 3、freqz(B,A) 求线性离散时间系统的传输函数的频率响应 格式: [H,W]= freqz(B,A) H:频率响应 W:所要计算响应的频率点组成的向量 设计低通butterworth滤波器 wp=30; ws=35; rp=0.5; rs=40; fs=100; [n,wn]=buttord(wp/(fs/2),ws/(fs/2), rp,rs); [num,den]=butter(n,wn); [h,w]=freqz(num,den); plot(w*fs/(2*pi),abs(h));grid; xlabel(时间) ylabel(幅值) 设计高通butterworth滤波器 wp=30; ws=35; rp=0.5; rs=40; fs=100; [n,wn]=buttord(wp/(fs/2),ws/(fs/2),
文档评论(0)