基于MATLAB实现滤波器设计.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于MATLAB实现滤波器设计 实验目的 熟悉使用MATLAB的语言特点以及各种功能。 熟悉MATLAB中各种信号的信号处理工具箱。 熟悉滤波器的设计方法原理以及步骤。 实验原理 MATLAB语言特点: 语言简洁紧凑,使用方便灵活,库函数极其丰富 运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。 MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。 MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力 MATLAB中的信号处理工具箱内容丰富,使用简便。在数字信号处理中常用的算法,如FFT,卷积,相关,滤波器设计,参数模型等,几乎都只用一条语句即可调用。数字信号处理常用的函数有波形的产生、滤波器的分析和设计、傅里叶变换、Z变换等,如: 波形产生: sawtooth(锯齿波或三角波)Diric(Dirichlet或周期sinc函数) rand(白噪声信号波形)square(方波)sinc(sinc或 函数) chirp(chirp信号波形) 滤波器的分析: abs(求幅值)angle(求相角)conv(求卷积)freqz(数字滤波器频率响应)impz(数字滤波器的冲击响应)zplane(数字系统零极点图) IIR滤波器设计: butter(巴特沃思数字滤波器)cheby1(切比雪夫I型)cheby2(切比雪夫II型)maxflat(最平滤波器)ellip(椭圆滤波器)yulewalk(递归数字滤波器)bilinear(双线性变换)impinvar(冲激响应不变法) FIR滤波器设计: triang(三角窗)blackman(布莱克曼窗boxcar(矩形窗)hamming(海明窗) hanning(汉宁窗)kaiser(凯塞窗)fir1(基于窗函数法)fir2(基于频率抽样法)firrcos(上升余弦FIR滤波器设计法)intfilt(内插FIR滤波器设计法) kaiserord(用Kaiser窗设计FIR滤波器的参数估计) 各种变换: czt(线性调频Z变换)dct(离散余弦变换)fft(一维快速傅里叶变换) fft2(二维快速傅里叶变换)idct(逆离散余弦变换)ifft(一维逆快速傅里叶变换)ifft2(二维逆快速傅里叶变换)hilbert(Hilbert变换) IIR数字滤波器设计原理: 设计IIR数字滤波器一般采用脉冲响应不变法和双线性变换法。 1. 脉冲响应不变法的变换原理 从滤波器的脉冲响应出发,使数字滤波器的单位脉冲响应模仿模拟滤波器的冲击响应,即h(n)是ha(t)的采样值。 设T 为采样周期,变换过程: 如果模拟滤波器的系统函数只有单阶极点,且分母的阶数高于分子阶数,用脉冲响应不变法求数字滤波器的系统函数有简便方法:将 Ha(s) 展成部分分式的并联形式,再利用下述变换公式直接写出 H(z) 2. 双线性变换法的变换原理 (1)保证s平面压缩到s1平面的宽为2π/T 的横带内 (2)保证低频部分基本对应 设计模拟滤波器的系统函数Ha(s) 。将映射关系代入Ha(s)中得数字滤波器系统函数H(z) 1、用脉冲响应不变法设计 用脉冲响应不变法设计的m程序如下: clear;close all;clc; fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs; W1p=fp/Fs*2; W1s=fs/Fs*2; [N, Wn] = buttord(W1p, W1s, Rp, Rs, 's'); [z,p,k] = buttap(N); [bp,ap] = zp2tf(z,p,k); [bp,ap]=butter(N,1,'s’); [bs,as] = lp2lp(bp,ap,Wn*pi*Fs); [bz,az] = impinvar(bs,as,Fs); sys=tf(bz,az,T) [H,W]=freqz(bz,az,512,Fs); plot(W,20*log10(abs(H))); grid on; 2、用双线性变换法完成上述设计 如果用双线性变换法完成上述设计实例,归一化频率需预畸变处理,公式应修改为: clear;close all;clc; fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs; W1p=2*tan(2*pi*fp*T/2)/pi ;W1s=2*tan(2*pi*fs*T/2)/pi; [N, Wn]

文档评论(0)

晓风迷梦 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档