实验二-IIR数字滤波器的设计

合集下载

实验二 用IIR滤波器进行滤波

实验二 用IIR滤波器进行滤波

数字滤波器设计及滤波
给定滤波器的规一化性能指标(参考指标,实际中依据每个同学所叠加噪声情况而定)例如:通带截止频率wp=0.25*pi, 阻通带截止频率ws=0.3*pi; 通带最大衰减Rp=1 dB; 阻带最小衰减Rs=15 dB,每个题目至少设计出3个用不同方法的不同类型滤波器。

采用双线性变换法,分别利用不同的原型低通滤波器(Butterworth型与切比雪夫I型)来设计各型IIR滤波器(低通、高通、带通、带阻中的至少3种类型),绘出滤波器的频域响应;并用这些数字滤波器对含噪语音信号分别进行滤波处理,比较不同方法下设计出来的数字滤波器的滤波效果,并从理论上进行分析(或解释)。

下面的代码也许对你有用。

b=[传递函数分子的系数];
a=[传递函数分母的系数];
y= filter(b,a,z);
Y=fft(y,n);
sound(y,fs,bits);
sound(z,fs,bits);
subplot(2,1,1);plot(y);title('滤波后的信号波形');
subplot(2,1,2);plot(abs(Y));title('滤波后的信号频谱');
写出演讲材料与实验报告。

IIR数字滤波器设计实验报告

IIR数字滤波器设计实验报告

实验三IIR数字滤波器设计实验报告一、实验目的:1.通过仿真冲激响应不变法和双线性变换法2.掌握滤波器性能分析的基本方法二、实验要求:1.设计带通IIR滤波器2.按照冲激响应不变法设计滤波器系数3. 按照双线性变换法设计滤波器系数4. 分析幅频特性和相频特性5. 生成一定信噪比的带噪信号,并对其滤波,对比滤波前后波形和频谱三、基本原理:㈠IIR模拟滤波器与数字滤波器IIR数字滤波器的设计以模拟滤波器设计为基础,常用的类型分为巴特沃斯(Butterworth)、切比雪夫(Chebyshev)Ⅰ型、切比雪夫Ⅱ型、贝塞尔(Bessel)、椭圆等多种。

在MATLAB信号处理工具箱里,提供了这些类型的IIR数字滤波器设计子函数。

(二)性能指标1.假设带通滤波器要求为保留6000hz~~7000hz频段,滤除小于2000hz和大宇9000hz频段2.通带衰减设为3Db,阻带衰减设为30dB,双线性变换法中T取1s.四、实验步骤:1.初始化指标参数2.计算模拟滤波器参数并调用巴特沃斯函数产生模拟滤波器3.利用冲激响应不变法和双线性变换法求数字IIR滤波器的系统函数Hd (z)4.分别画出两种方法的幅频特性和相频特性曲线5.生成一定信噪比的带噪信号6.画出带噪信号的时域图和频谱图6.对带噪信号进行滤波,并画出滤波前后波形图和频谱图五、实验结果模拟滤波器的幅频特性和相频特性:101010101Frequency (rad/s)P h a s e (d e g r e e s )1010101011010-5100Frequency (rad/s)M a g n i t u d e在本实验中,采用的带通滤波器为6000-7000Hz ,换算成角频率为4.47-0.55,在上图中可以清晰地看出到达了题目的要求。

冲击响应不变法后的幅频特性和相频特性:0.10.20.30.40.50.60.70.80.91Normalized Frequency (⨯π rad/sample)P h a s e (d e g r e e s )0.10.20.30.40.50.60.70.80.91Normalized Frequency (⨯π rad/sample)M a g n i t u d e (d B )双线性变换法的幅频特性和相频特性:0.10.20.30.40.50.60.70.80.91Normalized Frequency (⨯π rad/sample)P h a s e (d e g r e e s )00.10.20.30.40.50.60.70.80.91Normalized Frequency (⨯π rad/sample)M a g n i t u d e (d B )通过上图比较脉冲响应不变法双线性变换法的幅频特性和相频特性,而在在幅频曲线上几乎没有差别,都能达到相同的结果。

实验二IR数字滤波器设计与实现

实验二IR数字滤波器设计与实现

实验二IIR数字滤波器设计与实现一.实验目的.1. 学会调用DSPM程序设计IIR数字滤波器,并给出H(z)的具体表达式。

2. 学会将滤波器“系数”与滤波汇编程序结合,编译、链接、装入DSP试验箱电路板内存,并装入DSP芯片运行,完成对模拟信号的采样进行滤波。

3. 通过改变信号源信号频率,观察滤波后信号的衰减情况与信号频率的关系,体会滤波器的工作原理。

二.实验原理1.调用DSP试验箱配套的Matlab源程序DSPM,通过自己给定IIR数字滤波器关键参数(f p,f st,f s, N,A p,A s等)由计算机系统完成IIR数字滤波器H(z)函数系数的计算,并给出(b0,b1,…b M,a1,…a N)。

2.通过将(b0,b1,…b M,a1,…a;f s, N )与滤波器汇编程序结合,并编译、链接、装入DSP试验箱电路板内存,并装入DSP芯片运行实现对信号的滤波,这一系列过程均在DSPM程序管理下自动进行。

3.滤波效果的检验,可通过改变信号源频率、观察输出信号在示波器屏上衰减情况来完成。

三.实验任务1.进一步熟悉DSP实验箱电路各模块的功能。

2.能独立完成实验一所提的软件安装过程。

3.设计一个IIR数字滤波器,要求Fs=64kHz,fp=3000Hz,N=3,调用DSPM完成设计,记录相关参数,并给出H(z)的具体表达式。

4.调用DSP.exe程序,实现对信号的滤波。

5.记录信号开始衰减的频率及信号衰减为0.7、0.5、0.1各处相应的信号频率。

6.信号分别选为三角波,正弦波,方波,调整信号频率,观察记录输出信号波形及输入信号频率及示波器通带截止频率的关系。

四.试验设备及准备1.所用设备:DSP试验箱,微机,示波器。

2.连线微机------------ DSP实验箱(COM口)示波器:CH1---------信号源CH2---------D/A输出(TPD05)DSP实验箱电路板:A/D:PA01-------TP501(信号源)PA02-------GN DP A03-------TP902(DSP串口1收数据)1)PA04-------TP911(FSR1)PA05-------TP913(BCLKD/A:PD01------TP905(DX0)PD02-------TP908(BCLK0)PD03-------TP907(FS0)五.试验数据分析1.画所设计的IIR滤波器的幅频特性曲线。

IIR数字滤波器设计及软件实现

IIR数字滤波器设计及软件实现

实验二 IIR 数字滤波器设计及软件实现1. 实验目的(1)熟悉用双线性变换法设计IIR 数字滤波器的原理与方法;(2)学会调用MATLAB 信号处理工具箱中滤波器设计函数(或滤波器设计分析工具fdatool )设计各种IIR 数字滤波器,学会根据滤波需求确定滤波器指标参数。

(3)掌握IIR 数字滤波器的MATLAB 实现方法。

(4)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。

2.实验原理设计IIR 数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。

基本设计过程是:①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标; ②设计过渡模拟滤波器;③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。

MATLAB 信号处理工具箱中的各种IIR 数字滤波器设计函数都是采用双线性变换法。

第六章介绍的滤波器设计函数butter 、cheby1 、cheby2 和ellip 可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。

本实验要求读者调用如上函数直接设计IIR 数字滤波器。

本实验的数字滤波器的MATLAB 实现是指调用MATLAB 信号处理工具箱函数filter 对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n )。

3. 滤波器参数及实验程序清单 (1)滤波器参数选取三路调幅信号的载波频率分别为250Hz 、500Hz 、1000Hz 。

带宽(也可以由信号产生函数mstg 清单看出)分别为50Hz 、100Hz 、200Hz 。

所以,分离混合信号st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的指标参数选取如下:对载波频率为250Hz 的条幅信号,可以用低通滤波器分离,其指标为带截止频率275=p f Hz ,通带最大衰减1.0=p αdB ;阻带截止频率450=s f Hz ,阻带最小衰减60=s αdB 。

IIR数字滤波器设计实验报告

IIR数字滤波器设计实验报告

IIR数字滤波器的设计一、实验目的1、了解IIR数字滤波器的工作原理和作用2、掌握IIR数字滤波器的两种设计方法3、掌握使用MATLAB形成IIR数字滤波器二、实验内容有三首音乐,第一首为正常音质的音乐。

第二首为被加了紧邻原音乐的干扰的音乐。

第三首为被加了远离原音乐干扰的音乐。

要求设计IIR数字滤波器将被干扰的音乐恢复成不受干扰的音乐。

三、实验步骤步骤1: 将实际模拟低通滤波器指标转化为归一化模拟低通滤波器指标λs, αs, αp步骤2: 确定归一化模拟低通滤波器的系统函数Ha(p)步骤3: 由Ha(p)确定实际模拟低通滤波器的系统函数Ha(s)步骤4: 由Ha(s)确定的参数利用MATLAB形成IIR数字滤波器四、实验方法1、脉冲不变相应法:Matlab提供了脉冲不变响应法的库函数:[bz,az]=impinvar(b,a,Fs);表示将分子向量为b,分母向量为a的模拟滤波器通过脉冲响应不变法转换为分子向量为bz,分母向量为az的数字滤波器,采样频率为Fs,单位Hz。

2、双线性变换法:Matlab提供了双线性变换法的库函数:[bz,az]=bilinear(b,a,Fs);表示将分子向量为b,分母向量为a的模拟滤波器通过双线性变换法转换为分子向量为bz,分母向量为az的数字滤波器,采样频率为Fs,单位Hz。

五、实验程序与结果MATLAB代码:clear all;[s1,Fs,bits]=wavread('F:\music2-1.wav');s2=wavread('F:\music2-2.wav');s3=wavread('F:\music2-3.wav');t=(0:length(s1)-1)/Fs; % 计算数据时刻N=length(s1);if mod(N,2)==0;N=N;else s1(N)=[];N=N-1;end;fx=(0:N/2)*Fs/N;%%%%%%%%信号1%%%%%%%%figure(1);subplot(2,1,1);plot(t,s1); %绘制原音乐波形图subplot(2,1,2);s1f=fft(s1);plot(fx,abs(s1f(1:N/2+1)));%%%%%%%%信号2%%%%%%%%figure(2);subplot(2,1,1);plot(t,s2); % 绘制受紧邻原音乐的干扰的音乐的波形图subplot(2,1,2);s2f=fft(s2);plot(fx,abs(s2f(1:N/2+1)));%%%%%%%%信号3%%%%%%%%figure(3);subplot(2,1,1);plot(t,s3); %绘制受远离原音乐的干扰的音乐的波形图subplot(2,1,2);s3f=fft(s3);plot(fx,abs(s3f(1:N/2+1)));%%%%%%%%%滤波器设计1%%%%%%%Wp1=[2*8000*pi/Fs,2*10000*pi/Fs];Ws1=[2*8500*pi/Fs,2*9500*pi/Fs]; Rp=3;Rs=30;Wp11=2*Fs*tan(Wp1/2);Ws11=2*Fs*tan(Ws1/2);[N1,Wn1]=buttord(Wp11,Ws11,Rp,Rs,'s');[b,a]=butter(N1,Wn1,'stop','s');[bz,az]=bilinear(b,a,Fs);Y1=filter(bz,az,s2);figure(4);subplot(2,1,1);plot(t,Y1); %绘制滤波后波形图subplot(2,1,2);Yf1=fft(Y1);plot(abs(Yf1));wavwrite(Y1,Fs,bits,'F:\ music2-2lvbo.wav');%%%%%%%%%滤波器设计2%%%%%%%Wp2=2*7000*pi;Ws2=2*9000*pi;Rp2=3;Rs2=30;[N2,Wn2]=buttord(Wp2,Ws2,Rp2,Rs2,'s');[b2,a2]=butter(N2,Wn2,'s');[bz2,az2]=impinvar(b2,a2,Fs);Y2=filter(bz2,az2,s3);figure(5);subplot(2,1,1);plot(t,Y2); % 绘制滤波后波形图subplot(2,1,2);Yf2=fft(Y2);plot(abs(Yf2)); % 绘制滤波后波形图%%%%%%%%%%%%%%%%%%%%%%W=linspace(0,pi,pi*16000);Hz1=freqz(bz2,az2,W);Hz2=freqz(bz,az,W);figure(6);subplot(2,1,1);plot(abs(Hz1));subplot(2,1,2);plot(abs(Hz2));wavwrite(Y2,Fs,bits,'F:\music2-3lvbo.wav');。

数字信号处理 实验二 IIR数字滤波器的设计

数字信号处理 实验二  IIR数字滤波器的设计

并联型把H(z)展开成部分分式之和。

2(1)脉冲响应不变法用数字滤波器的单位脉冲响应序列h(n)模仿模拟滤波器的冲激响应ha(t),让h(n)正好等于ha(t)的采样值,即h(n)= ha(nT)。

其中T为采样间隔,如果以Ha(S)及H(z)分别表示ha(t)的拉式变换及h(n)的Z变换,则(2)双线性变换法S平面与z平面之间满足以下映射关系:。

s平面的虚轴单值地映射于z平面的单位圆上,s平面的左半平面完全映射到z平面的单位圆内。

双线性变换不存在混叠问题。

双线性变换时一种非线性变换,这种非线性引起的幅频特性畸变可通过预畸而得到校正。

利用双线性法设计IIR数字低通滤波器步骤归纳如下:a.确定数字滤波器的性能指标:通带临界频率fp、阻带临界频率fr.;通带内的最大衰减Ap;阻带内的最小衰减Ar;采样周期T;b.将数字低通滤波器的技术指标转换成相应的模拟低通滤波器技术指标。

确221122111)(------++=zzzzzHjjjjjjααβββ0121112111121()()()11(1)iNNiii iiEii iiiFiApH z A H z H z H zAAzz zd zzAγαγα-===----=++++=+-=+--+-+∑∑∑定相应的数字角频率,ωp=2πfpT;ωr=2πfrT;c.计算经过预畸的相应模拟低通原型的频率,;d. 根据Ωp和Ωr计算模拟低通原型滤波器的阶数N,并求得低通原型的传递函数Ha(s);e.用上面的双线性变换公式代入Ha(s),求出所设计的传递函数H(z);(二)实验项目题目:设计一个巴特沃斯低通滤波器,要求如下:通带截止频率 100HZ阻带截止频率 200HZ通带衰减小于 2 dB阻带衰减大于 15dB采样频率 500 HZ1.采用脉冲响应不变法2.采用双线性法实验内容:1.采用脉冲响应不变法FS=500;T=1/FS;fp=100;fs=200;wp=2*pi*100;ws=2*pi*200;rp=2;rs=15;[N,wc] = buttord(wp, ws, rp, rs, 's');[B,A]=butter(N, wc,'s');[Bz,Az] = impinvar(B,A,FS)[S,G]=tf2sos(Bz,Az) %直接型到级联型的转换函数[C3,B3,A3] = dir2par(Bz,Az) % 由直接型转化为并联型fk=0:511;HW=freqz(Bz,Az);plot(fk,20*log10(abs(HW)));Grid onxlabel('频率');ylabel('幅度');运行结果:Bz =0 0.4901 0.1951 0Az =1.0000 -0.5695 0.3207 -0.0583S =0 1.0000 0 1.0000 -0.2415 01.0000 0.3980 0 1.0000 -0.3280 0.2415G=0.4901C3 =B3 =-1.4209 0.61311.4209 0A3 =1.0000 -0.3280 0.24151.0000 -0.2415 0图1.1脉冲响应不变法滤波器频响由运行结果得出:直接型:0.4901z-1+0.1951z-2H(Z) =1-0.5695z-1+0.3207z-2-0.0583z-3图1.2直接型级联型图1.3级联型(a)图1.4级联型(b) 并联型2.双线性法FS=500;T=1/FS;fp=100;fs=200;Rp=2;Rs=15;wp=2*pi*fp*T; % 临界频率采用角频率表示ws=2*pi*fs*T;Op=2/T*tan(wp/2); % 频率预畸Os=2/T*tan(ws/2);[N,Wc] = buttord(Op, Os, Rp, Rs, 's');[B,A]=butter(N, Wc, 's'); % 求Ha(s)[Bz,Az] = bilinear(B,A,FS) % 求H(z)[S,G]=tf2sos(Bz,Az)[C3,B3,A3] = dir2par(Bz,Az)w=0:pi;Hk=freqz(Bz,Az,w);subplot(2,1,1);plot(w,20*log10(abs(Hk)));grid on;xlabel('角频率(w)');ylabel('幅度');title('滤波器频响');wf=w*FS/(2*pi); % 转化为Hzsubplot(2,1,2);plot(wf,20*log10(abs(Hk)));grid on;xlabel('频率(Hz)');ylabel('幅度|');运行结果:Bz =0.3752 0.7504 0.3752Az =1.0000 0.3120 0.1888S =1.00002.0000 1.0000 1.0000 0.3120 0.1888G = 0.3752 C3 = 1.9870 B3 =-1.6118 0.1305 A3 =1.0000 0.3120 0.1888图1.6 双线性法滤波器频响由运行结果得出: 直接型:图1.7直接型级联型-0.3120 0.37520.7504z -1 -0.1888z -1y(n)0.3752x(n)0.3752+0.7504 z -1 + 0.3752 z -2 H(Z) = 1+0.3120z -1+0.1888z -2 1+2 z - 1 + z -2 H(Z)= 0.3752 *1+0.3120z -1+0.1888z -2图1.8级联型并联型滤波效果测试一FS=500; T=1/FS; fp=100; fs=200; wp=2*pi*100; ws=2*pi*200; rp=2; rs=15;[N,wc] = buttord(wp, ws, rp, rs, 's'); [B,A]=butter(N, wc,'s');[Bz,Az] = impinvar(B,A,FS);[S,G]=tf2sos(Bz,Az); [C3,B3,A3] = dir2par(Bz,Az);wp1=2*pi*fp*T; % 临界频率采用角频率表示 ws1=2*pi*fs*T;Op=2/T*tan(wp/2); % 频率预畸 Os=2/T*tan(ws/2);[N1,Wc1] = buttord(Op, Os, rp, rs, 's');[B1,A1]=butter(N1, Wc1, 's'); % 求Ha(s)[Bz1,Az1] = bilinear(B1,A1,FS);N=256; % 采样点数t=[0:1/FS:N/FS]; % 采样时刻S=2+2*sin(200*pi*t-pi/6)+1.5*sin(100*pi*t+pi/2);subplot(3,2,1);plot(S);title('滤波前的信号');Y = fft(S,N); % FFT变换Ayy = (abs(Y)); % 取模Ayy=Ayy/(N/2); % 换算成实际幅度:An=A/(N/2)Ayy(1)=Ayy(1)/2; % 换算第1个点模值:A0=A/NF=([1:N]-1)*FS/N; % 换算成实际频率值:F=(n-1)*Fs/Nsubplot(3,2,2);plot(F(1:N/2),Ayy(1:N/2)); %显示换算后结果,仅显示左半部分title('滤波前信号的频谱');y=filter(Bz,Az,S); % 进行滤波subplot(3,2,3);plot(y); % 滤波后信号的时域波形title('脉冲响应不变法滤波后的信号');Y = fft(y,N);Ayy = (abs(Y));Ayy=Ayy/(N/2);Ayy(1)=Ayy(1)/2;F=([1:N]-1)*FS/N;subplot(3,2,4);plot(F(1:N/2),Ayy(1:N/2)); % 滤波后信号的频谱title('脉冲响应不变法滤波后信号的频谱');y2=filter(Bz1,Az1,S); % 进行滤波subplot(3,2,5);plot(y2); % 滤波后信号的时域波形title('双线性法滤波后的信号');Y2 = fft(y2,N);Ayy2 =(abs(Y2));Ayy2=Ayy2/(N/2);Ayy2(1)=Ayy2(1)/2;F=([1:N]-1)*FS/N;subplot(3,2,6);plot(F(1:N/2),Ayy2(1:N/2)); % 滤波后信号的频谱title('双线性法滤波后信号的频谱');运行结果:图1.10滤波测试一滤波效果测试二FS=500;T=1/FS;fp=100;fs=200;wp=2*pi*100;ws=2*pi*200;rp=2;rs=15;[N,wc] = buttord(wp, ws, rp, rs, 's');[B,A]=butter(N, wc,'s');[Bz,Az] = impinvar(B,A,FS)N=256; % 采样点数t=[0:1/FS:N/FS]; % 采样时刻S=2+2*sin(200*pi*t-pi/6)+1.5*sin(100*pi*t+pi/2); subplot(2,2,1)plot(S);title('滤波前的信号');Y = fft(S,N); % FFT变换Ayy = (abs(Y)); % 取模Ayy=Ayy/(N/2); % 换算成实际幅度:An=A/(N/2)Ayy(1)=Ayy(1)/2; % 换算第1个点模值:A0=A/NF=([1:N]-1)*FS/N; % 换算成实际频率值:F=(n-1)*Fs/N subplot(2,2,2);plot(F(1:N/2),Ayy(1:N/2)); %显示换算后结果,仅显示左半部分title('滤波前信号的频谱');s_temp=zeros(1,256); % 设置单位脉冲信号s_temps_temp(1)=1;hn=filter(Bz,Az,s_temp) % 将s_temp作为滤波器输入,输出即为h(n)HNK=fft(hn,512); % 求h(n)的FFTSK=fft(S,512); % 原始信号的FFTTempK=HNK.*SK; % 频域相乘Tempn=ifft(TempK,512); % 求IFFT,结果为卷积结果subplot(2,2,3);plot(Tempn);title('滤波后的信号');Y = fft(Tempn);Ayy = (abs(Y));Ayy=Ayy/(512/2);Ayy(1)=Ayy(1)/2;F=([1:N]-1)*FS/512;subplot(2,2,4);plot(F(1:512/2),Ayy(1:512/2));title('滤波后信号的频谱');运行结果:图1.11滤波测试二四、实验小结在这次实验中,第一次是脉冲响应不变法的方法,根据实验的要求,编写了由直接型到级联型的转换函数,以及由直接型转化为并联型的函数,分别求出了对应结构的系数向量,以方便画出信号的流程图。

iir数字滤波器的设计方法

iir数字滤波器的设计方法

iir数字滤波器的设计方法IIR数字滤波器的设计方法IIR数字滤波器是一种常用的数字信号处理工具,用于对信号进行滤波和频率域处理。

其设计方法是基于传统的模拟滤波器设计技术,通过将连续时间滤波器转换为离散时间滤波器来实现。

本文将介绍IIR数字滤波器的设计方法和一些常见的实现技巧。

一、IIR数字滤波器的基本原理IIR数字滤波器是一种递归滤波器,其基本原理是将输入信号与滤波器的系数进行加权求和。

其输出信号不仅与当前输入值有关,还与之前的输入和输出值有关,通过不断迭代计算可以得到最终的输出结果。

二、IIR数字滤波器的设计步骤1. 确定滤波器的类型:低通滤波器、高通滤波器、带通滤波器或带阻滤波器。

2. 确定滤波器的阶数:阶数决定了滤波器的陡峭度和性能。

3. 选择滤波器的截止频率或通带范围。

4. 根据所选的滤波器类型和截止频率,设计滤波器的模拟原型。

5. 将模拟原型转换为数字滤波器。

三、IIR数字滤波器的设计方法1. 巴特沃斯滤波器设计方法:- 巴特沃斯滤波器是一种最常用的IIR数字滤波器,具有平坦的通带特性和陡峭的阻带特性。

- 设计方法为先将模拟滤波器转换为数字滤波器,然后通过对模拟滤波器进行归一化来确定截止频率。

2. 阻带衰减设计方法:- 阻带衰减设计方法是一种通过增加滤波器的阶数来提高滤波器阻带衰减特性的方法。

- 通过增加阶数,可以获得更陡峭的阻带特性,但同时也会增加计算复杂度和延迟。

3. 频率变换方法:- 频率变换方法是一种通过对滤波器的频率响应进行变换来设计滤波器的方法。

- 通过对模拟滤波器的频率响应进行变换,可以得到所需的数字滤波器。

四、IIR数字滤波器的实现技巧1. 级联结构:- 将多个一阶或二阶滤波器级联起来,可以得到更高阶的滤波器。

- 级联结构可以灵活地实现各种滤波器类型和阶数的设计。

2. 并联结构:- 将多个滤波器并联起来,可以实现更复杂的频率响应。

- 并联结构可以用于设计带通滤波器和带阻滤波器。

IIR数字滤波器设计及实现

IIR数字滤波器设计及实现

实验三IIR数字滤波器设计及实现一、实验目的(1)熟悉用脉冲响应不变法和双线性变换法设计IIR数字滤波器的原理与方法;(2)学会调用MATLAB信号处理工具箱中滤波器设计函数设计IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。

二、实验原理设计IIR数字滤波器一般采用脉冲响应不变法和双线性变换法。

脉冲响应不变法:根据设计指标求出滤波器确定最小阶数N和截止频率Wc;计算相应的模拟滤波器系统函数;将模拟滤波器系统函数:'转换成数字滤波器系统函数双线性变换法:根据数字低通技术指标得到滤波器的阶数N;取合适的T值,几遍校正计算相应模低通的技术指标--;根据阶数N查表的到归一化低通原型系统函数。

,将"' Q 代入。

‘去归一化得到实际的,/ :' ;用双线性变换法将:’转换成数字滤波器三、实验内容及步骤1、用脉冲响应不变法设计(1)根据设计指标求出滤波器确定最小阶数N和截止频率Wcclear;close all;clc; % 开始准备fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs; % T=1s 的模拟滤波器设计指标W1p=fp/Fs*2; W1s=fs/Fs*2; % 求归一化频率[N, Wn] = buttord(W1p, W1s, Rp, Rs, 's'; % 确定 butterworth 的最小阶数 N 和频率参数Wn 得到结果为:N 二7Wn 二 0.3266 即:该设计指标下的模拟滤波器最小阶数为N=7,其截至频率为Wn =0.3266;(2)计算相应的模拟滤波器系统函数打:, clear;close all;clc; % 开始准备fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs; % T=1s 的模拟滤波器设计指标W1p=fp/Fs*2; W1s=fs/Fs*2; % 求归一化频率[N, Wn] = buttord(W1p, W1s, Rp, Rs, 's'; % 确定 butterworth 的最小阶数 N 和频率参数 Wn[B,A]=butter(N,1,'s' %计算相应的模拟滤波器系统函数得到结果为: B = 1.0e-003 * 0 00 0 0 0 0 0.3966 A =1.0000 1.4678 1.0773 0.5084 0.1661 0.0375 0.0055 0.0004 >>(3)将模拟滤波器系统函数转换成数字滤波器系统函数 clear;close all;clc; % 开始准备fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs; % T=1s 的模拟滤波器设计指标W1p=fp/Fs*2; W1s=fs/Fs*2; % 求归一化频率[N, Wn] = buttord(W1p, W1s, Rp, Rs, 's'; % 确定 butterworth 的最小阶数 N 和频率参数Wn[B,A]=butter(N,1,'s' ; %计算相应的模拟滤波器系统函数 [Bz,Az]=impinvar(B,A %用脉冲相应不变法将模拟滤波器转换成数字滤波器 sys=tf(Bz,Az,T; %得到传输函数‘‘‘‘‘ Bz =1.0e-004 *-0.0000 0.0045 0.2045 0.8747 0.7094 0.1090 0.0016 0Az =1.0000 -5.5415 13.2850 -17.8428 14.4878 -7.1069 1.9491 -0.2304>>>>即:由Bz和Az可以写出数字滤波器系统函数为:Transfer function:-9.992e-015 z~7 + 4.454e-007 z~6 + 2.045e-005 z~5 + 8.747e-005 z~4 + 7.094e-005 z"3 + 1.09e-005 z~2+ 1.561e-007 z z 7 - 5.541 z 6 + 13.28 z 5 - 17.84 z 4 + 14.49 z 3 - 7.107 z 2 + 1.949 z - 0.2304Sampling time: 4.5351e-005>>(4)绘图clear;close all;clc; % 开始准备fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs; % T=1s 的模拟滤波器设计指标W1p=fp/Fs*2; W1s=fs/Fs*2; % 求归一化频率[N, Wn] = buttord(W1p, W1s, Rp, Rs, 's'; % 确定butterworth 的最小阶数N 和频率参数Wn[B,A]=butter(N,Wn,'s'; %计算相应的模拟滤波器系统函数[Bz,Az]=impinvar(B,A; %用脉冲响应不变法将模拟滤波器转换成数字滤波器sys=tf(Bz,Az,T;%得到传输函数‘ [H,W]=freqz(Bz,Az,512,Fs; % 生成频率响应参数plot(W,20*log10(abs(H; % 绘制幅频响应grid on; %加坐标网格得到结果为:观察实验结果图可看到:在频率为3402Hz处频率为衰减2.015db,在频率为5017Hz处幅度衰减21.36db。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二 IIR 数字滤波器的设计1、 实验目的(1) 掌握脉冲响应不变法和双线性变换法设计IIR 数字滤波器的具体方法和原理,熟悉双线性变换法和脉冲响应不变法设计低通、带通IIR 数字滤波器的计算机编程;(2) 观察双线性变换法和脉冲响应不变法设计的数字滤波器的频域特性,了解双线性变换法和脉冲响应不变法的特点和区别;(3) 熟悉Butterworth 滤波器、Chebyshev 滤波器和椭圆滤波器的频率特性。

2、实验原理与方法IIR 数字滤波器的设计方法可以概括为如图所示,本实验主要掌握IIR 滤波器的第一种方法,即利用模拟滤波器设计IIR 数字滤波器,这是IIR 数字滤波器设计最常用的方法。

利用模拟滤波器设计,需要将模拟域的H a (s)转换为数字域H(z),最常用的转换方法为脉冲响应不变法和双线性变换法。

(1)脉冲响应不变法用数字滤波器的单位脉冲响应序列h(n)模仿模拟滤波器的冲激响应h a (t),让h(n)正好等于h a (t)的采样值,即)()(nT h n h a =其中T 为采样间隔。

如果以H a (s)及H(z)分别表示h a (t)的拉氏变换及h(n)的Z 变换,则∑∞-∞==-=k a e z k Tj s H T z H sT )2(1|)(π 在MATLAB 中,可用函数impinvar 实现从模拟滤波器到数字滤波器的脉冲响应不变映射。

(2)双线性变换法S 平面与z 平面之间满足下列映射关系 11112--+-=z z T s 或 s Ts T z -+=22 S 平面的虚轴单值地映射于z 平面的单位圆上,s 平面的左半平面完全映射到z 平面的单位圆内。

双线性变换不存在频率混叠问题。

在MATLAB 中,可用函数bilinear 实现从模拟滤波器到数字滤波器的双线性变换映射。

双线性变换是一种非线性变换,即2tan 2ωT =Ω,这种非线性引起的幅频特性畸变可通过预畸变得到校正。

(3)设计步骤IIR 数字滤波器的设计过程中,模拟滤波器的设计是关键。

模拟滤波器的设计一般是采用分布设计的方式,这样设计原理非常清楚,具体步骤如前文所述。

MATLAB 信号处理工具箱也提供了模拟滤波器设计的完全工具函数:butter 、cheby1、cheby2、ellip 、besself 。

用户只需一次调用就可完成模拟滤波器的设计,这样虽简化了模拟滤波器的设计过程,但设计原理却被屏蔽了。

模拟滤波器设计完成之后,利用impinvar 或bilinear 函数将模拟滤波器映射为数字滤波器,即完成了所需数字滤波器的设计。

下图给出了实际低通、高通、带通和带阻滤波器的幅频特性和各截止频率的含义。

另外,为了描述过渡带的形状,还引入了通带衰减和阻带衰减的概念。

图 实际滤波器的幅频特性和各截止频率的含义通带衰减:|)(||)(|log 200p j j p e H e H ωα= dB 阻带衰减:|)(||)(|log 200s j j s e H e H ωα= dB 在MA TLAB 信号处理工具箱中,通常用R p 和R s 来表示αp 和αs 。

3、实验内容(1)参照教材 5.5节所述滤波器设计步骤,利用双线性变换法设计一个Chebyshev I 型数字高通滤波器,观察通带损耗和阻带衰减是否满足要求。

已知滤波器的指标为f p =0.3kHz ,αp =1.2dB ,f s =0.2kHz ,αs =20dB ,T=1ms 。

(2)已知f p =0.2kHz ,αp =1dB ,f s =0.3kHz ,αs =25dB ,T=1ms ,分别用脉冲响应不变法和双线性变换法设计一个Butterworth 数字低通滤波器,观察所设计数字滤波器的幅频特性曲线,记录带宽和衰减量,检查是否满足要求。

比较这两种方法的优缺点。

(3)设计一个数字带通滤波器,通带范围为0.25π~0.45π,通带内最大衰减3dB ,0.15π以下和0.55π以上为阻带,阻带内最小衰减为15dB ,试采用Butterworth 或ellip (椭圆)模拟低通滤波器设计。

(4)利用双线性变换法设计一个带宽为0.08π的10阶椭圆带阻滤波器以滤除数字频率为0.44π的信号,选择合适的阻带衰减值,画出幅度响应。

产生下面序列的201个样本n n x π44.0sin )(=, n=0,2,…,200并将它通过这个带阻滤波器进行处理(filter 函数),讨论所得到的结果。

4、实验报告(1)简述实验目的和实验原理。

(2)按实验步骤附上所设计的滤波器传递函数H(z)及相应的幅频特性曲线,定性分析所得到的图形,判断设计是否满足要求。

(3)总结脉冲响应不变法和双线性变换法的特点及设计全过程。

(4)收获与建议。

5、实验源程序%用双线性变换法设计一个Chebyshev型高通滤波器程序如下Rp=1.2;Rs=20;T=0.001;fp=300;fs=200;%求出待设计的数字滤波器的边界频率wp=2*pi*fp*T;ws=2*pi*fs*T;%预畸变wp1=(2/T)*tan(wp/2);ws1=(2/T)*tan(ws/2);%设计模拟滤波器[n,wn]=cheb1ord(wp1,ws1,Rp,Rs,'s');[b,a]=cheby1(n,Rp,wn,'high','s');%双线性变换[bz,az]=bilinear(b,a,1/T);[db,mag,pha,w]=freqz_m(bz,az);plot(w/pi,db);axis([0,1,-30,2]);%用双线性变换法设计一个Butterworth型数字低通滤波器程序如下Rp=1;Rs=25;T=0.001;fp=300;fs=200;%求出待设计的数字滤波器的边界频率wp=2*pi*fp*T;ws=2*pi*fs*T;%预畸变wp1=(2/T)*tan(wp/2);ws1=(2/T)*tan(ws/2);%设计模拟滤波器[n,wn]=buttord(wp1,ws1,Rp,Rs,'s');[b,a]=butter(n,wn,'low','s');%双线性变换[bz,az]=bilinear(b,a,1/T);[db,mag,pha,w]=freqz_m(bz,az);plot(w/pi,db);axis([0,1,-30,2]);%用脉冲响应不变法设计一个Butterworth数字低通滤波器的程序如下:%模拟滤波器的技术要求wp=400*pi;ws=600*pi;Rp=1;Rs=25;%求模拟滤波器的系统函数[n,wn]=buttord(wp,ws,Rp,Rs,'s')[b,a]=butter(n,wn,'s')%求模拟滤波器的频率响应,w取(0~1000pi)rad/s[db,mag,pha,w]=freqs_m(b,a,500*2*pi);%绘图,为了使模坐标显示频率f (单位Hz),将原变量w(模拟角频率,单位为rad/s)进行了处理plot(w/(2*pi),db,'LineWidth',2,'Color','b');axis([0,500,-20,1]);hold on%脉冲响应不变法fs=1000;[bz,az]=impinvar(b,a,fs);%求数字滤波器的频率响应[db,mag,pha,w]=freqz_m(bz,az);%绘图,为了与模拟滤波器的频响在同一坐标中绘出,需要将数字频率w转换成模拟频率f,转换公式为f=w*fs/2*piplot(0.5*fs*w/pi,db,'LineWidth',2,'Color','r');axis([0,599,-20,1]);hold off%采用ellip(椭圆)模拟低通滤波器设计,其程序如下:%确定所需类型数字滤波器的技术指标Rp=3;Rs=15;T=0.001;wp1=0.25*pi;wp2=0.45*pi;ws1=0.15*pi;ws2=0.55*pi;%将所需类型数字滤波器的技术指标转换成模拟滤波器的技术指标wp3=(2/T)*tan(wp1/2);wp4=(2/T)*tan(wp2/2);ws3=(2/T)*tan(ws1/2);ws4=(2/T)*tan(ws2/2);%将所需类型数字滤波器的技术指标转换成模拟滤波器的技术指标,设计模拟滤波器wp=[wp3,wp4];ws=[ws3,ws4];[n,wn]=ellipord(wp,ws,Rp,Rs,'s');[z,p,k]=ellipap(n,Rp,Rs);[b,a]=zp2tf(z,p,k);%频率更换w0=sqrt(wp3*wp4);Bw=wp4-wp3;[b1,a1]=lp2bp(b,a,w0,Bw);%双线性变换法[bz,az]=bilinear(b1,a1,1/T);[db,mag,pha,w]=freqz_m(bz,az);plot(w/pi,db);axis([0,1,-50,2]);%采用Butterworth模拟低通滤波器设计,其程序如下:%确定所需类型数字滤波器的技术指标Rp=3;Rs=15;T=0.001;wp1=0.25*pi;wp2=0.45*pi;ws1=0.15*pi;ws2=0.55*pi;%将所需类型数字滤波器的技术指标转换成模拟滤波器的技术指标wp3=(2/T)*tan(wp1/2);wp4=(2/T)*tan(wp2/2);ws3=(2/T)*tan(ws1/2);ws4=(2/T)*tan(ws2/2);%将所需类型数字滤波器的技术指标转换成模拟滤波器的技术指标,设计模拟滤波器wp=[wp3,wp4];ws=[ws3,ws4];[n,wn]=buttord(wp,ws,Rp,Rs,'s');[z,p,k]=buttap(n);[b,a]=zp2tf(z,p,k);%频率更换w0=sqrt(wp3*wp4);Bw=wp4-wp3;[b1,a1]=lp2bp(b,a,w0,Bw);%双线性变换法[bz,az]=bilinear(b1,a1,1/T);[db,mag,pha,w]=freqz_m(bz,az);plot(w/pi,db);axis([0,1,-50,2]);。

相关文档
最新文档