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

合集下载

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

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

IIR数字滤波器的设计及软件实现IIR数字滤波器(Infinite Impulse Response Digital Filter)是一种常用于信号处理的数字滤波器。

与FIR(Finite Impulse Response)滤波器不同,IIR滤波器的输出取决于过去的输入样本和输出样本。

1.确定滤波器的类型:根据实际应用需求选择低通滤波器、高通滤波器、带通滤波器或带阻滤波器。

2.确定滤波器的阶数:阶数决定了滤波器的频率响应特性的陡峭程度。

一般来说,阶数越高,滤波器的频率响应特性越陡峭。

阶数的选择需要权衡计算复杂度和滤波器性能。

3.设计滤波器的传递函数:传递函数是描述滤波器输入和输出之间关系的数学表达式。

传递函数可以通过频率响应要求来确定。

4.选择滤波器设计方法:针对不同的频率响应要求,可以选择不同的滤波器设计方法,如巴特沃斯方法、切比雪夫方法、椭圆方法等。

5.设计滤波器的参数:根据滤波器的传递函数和设计方法,计算滤波器的系数。

这些系数可以用于实现滤波器。

软件实现的步骤如下:1. 选择合适的软件平台:根据实际需求,选择适合的软件平台,如MATLAB、Python等。

2. 导入相关的滤波器设计库:选择合适的滤波器设计库,如MATLAB的Signal Processing Toolbox、Python的scipy.signal等。

3.使用滤波器设计函数:根据选择的滤波器设计方法,使用相应的函数进行滤波器设计。

这些函数可以根据输入的参数计算出滤波器的系数。

4.实现滤波器:使用得到的滤波器系数,将其用于滤波器的实现。

可以使用滤波器函数对信号进行滤波操作。

5.评估滤波器性能:根据实际应用需求,对滤波器的性能进行评估。

可以通过比较滤波器的输出和期望的输出,或者通过分析滤波器的频率响应特性来评估滤波器的性能。

需要注意的是,IIR数字滤波器的设计和实现过程可能相对复杂,需要一定的信号处理和数学基础。

在实际应用中,可以借助已有的滤波器设计库和工具来简化设计和实现过程。

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

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

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

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

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

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

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

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

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

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

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

3. 实验内容及步骤(1)调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图1所示。

由图可见,三路信号时域混叠无法在时域分离。

但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。

图1 三路调幅信号st的时域波形和幅频特性曲线(2)要求将st中三路调幅信号分离,通过观察st的幅频特性曲线,分别确定可以分离st中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。

要求滤波器的通带最大衰减为0.1dB,阻带最小衰减为60dB 。

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

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

IIR数字滤波器设计及软件实现[1]IIR数字滤波器是一种常见的数字滤波器类型,它利用数字信号处理技术对信号进行滤波,广泛应用于信号处理、音频处理、图像处理等领域。

本文将介绍IIR数字滤波器的设计方法和软件实现。

一、IIR数字滤波器的基本原理IIR数字滤波器是一种基于递归算法的数字滤波器,它可以用于对离散时间信号进行滤波。

具体而言,IIR数字滤波器是由一组差分方程组成的,其中包括有限冲激响应(FIR)和无限冲激响应(IIR)数字滤波器两种类型。

与FIR数字滤波器不同的是,IIR数字滤波器是具有无限冲激响应的性质,因此可以实现更高阶的滤波效果。

IIR数字滤波器可以用如下的一阶滤波器来进行递归实现:y(n) = a1 * y(n-1) + a0 * x(n) - b1 * x(n-1)其中,x(n)表示输入信号,y(n)表示输出信号,a0、a1、b1是滤波器的系数。

这种一阶滤波器可以通过级联组合来构成更高阶的滤波器,形成一系列级联的一阶滤波器。

1.滤波器类型的选择在开始设计IIR数字滤波器之前,需要先确定所需的滤波器类型,即低通滤波器、高通滤波器、带通滤波器或带阻滤波器等。

各种类型的滤波器的特点及应用范围不同,需要根据具体需求进行选择。

2.设计滤波器参数确定了滤波器类型之后,需要根据要求的滤波器截止频率、带宽、通带衰减等参数来确定滤波器的系数。

一般可以采用Butterworth滤波器设计方法、Chebyshev滤波器设计方法或Elliptic滤波器设计方法等常见方法来进行设计。

3.验证设计结果设计出的IIR数字滤波器需要进行验证,可以采用MATLAB等数字信号处理软件进行仿真测试,进行频率响应、相位响应、群延迟等分析,以确保设计结果满足要求。

IIR数字滤波器的实现可以采用MATLAB、Python等数字信号处理工具,也可以使用C 语言来进行程序设计。

下面以MATLAB为例,介绍IIR数字滤波器的实现。

实验五IIR滤波器的设计与信号滤波

实验五IIR滤波器的设计与信号滤波

实验五IIR滤波器的设计与信号滤波IIR滤波器,即无限脉冲响应滤波器(Infinite Impulse Response Filter),是一类数字滤波器,其输出依赖于输入信号和先前的输出信号。

相比于有限脉冲响应滤波器(FIR Filter),IIR滤波器具有更少的延迟和更高的效率。

本实验将介绍IIR滤波器的设计原理以及在信号滤波中的应用。

IIR滤波器的设计是通过对传递函数进行分析和设计实现的。

传递函数H(z)可以通过差分方程来表示,其中z是时间变量的复数变换。

一般而言,IIR滤波器的传递函数分为分子多项式和分母多项式两部分,它们都是z的多项式。

例如,一个简单的一阶低通滤波器的传递函数可以表示为:H(z)=b0/(1-a1z^(-1))其中b0是分子多项式的系数,a1是分母多项式的系数,z^(-1)表示滤波器的延迟项。

IIR滤波器的设计方法有很多种,其中一种常用的方法是巴特沃斯滤波器设计。

巴特沃斯滤波器是一种最优陡峭通带和带外衰减的滤波器。

设计巴特沃斯滤波器的步骤如下:1.确定滤波器的阶数:阶数决定了滤波器的复杂度和频率特性。

一般而言,阶数越高,滤波器的效果越好,但计算和实现的复杂度也越高。

2.确定通带和带外的频率特性:根据应用需求,确定滤波器在通带和带外的频率响应。

通带的频率范围内,滤波器应该具有尽可能小的幅频特性,带外的频率范围内,滤波器应该具有尽可能高的衰减。

3.根据阶数和频率特性计算巴特沃斯滤波器的极点:巴特沃斯滤波器的极点是滤波器的传递函数的根。

根据阶数和频率特性,可以使用巴特沃斯极点表来获取滤波器的极点。

4.将极点转换为差分方程:利用极点可以构造差分方程,定义IIR滤波器的传递函数。

除了巴特沃斯滤波器设计方法,还有其他IIR滤波器设计方法,例如Chebyshev滤波器、椭圆滤波器等。

每种设计方法都有其独特的优点和适用范围,可以根据具体需求选择适合的设计方法。

在信号滤波中,IIR滤波器可以用于实现多种滤波效果,例如低通滤波、高通滤波、带通滤波和带阻滤波等。

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

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

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

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

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

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

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

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

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

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

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

3. 实验内容及步骤(1)调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图1所示。

由图可见,三路信号时域混叠无法在时域分离。

但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。

图1 三路调幅信号st的时域波形和幅频特性曲线(2)要求将st中三路调幅信号分离,通过观察st的幅频特性曲线,分别确定可以分离st中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。

要求滤波器的通带最大衰减为0.1dB,阻带最小衰减为60dB 。

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

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

IIR数字滤波器的设计及软件实现之五兆芳芳创作一.实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与办法;(2)学会用MATLAB信号处理东西箱中的滤波器设计函数(或滤波器设计阐发东西FDAtool)设计各类滤波器,学会按照滤波需求确定滤波器指标参数;(3)掌握IIR数字滤波器的MATLAB实现办法;(4)通过不雅察滤波器输入、输出信号的时域波形及其频谱,成立数字滤波的概念.二.实验原理设计IIR数字滤波器一般采取直接法(脉冲响应不变法和双线性不变法),应用最普遍的是双线性变换法.根本的设计进程是:将给定的数字滤波器指标转换成模拟滤波器的指标;涉及模拟滤波器;将模拟滤波器的系统函数转换成数字滤波器的系统函数.MATLAB信号处理东西箱中的各类IIR数字滤波器设计函数都是采取双线性变换法.本实验的数字滤波器的MATLAB 实验是调用MATLAB信号处理东西箱的函数filter对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n). 三.实验内容及步调1.信号处产生函数mstg 产生由三路抑制载波调幅信号相加组成的复合信号st ,该函数还会自动回图显示st 的时域波形和幅频特性曲线,由后图可见,三路信号时域混叠无法在时域别离.但频域是别离的,所以可通过滤波的办法在频域别离.2.将st 中三路调幅信号别离,通过不雅察st 的幅频特性曲线,辨别确定可以别离st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率.且滤波器的通带最大衰减为0.1dB ,阻带最小衰减为60bB.提示:抑制载波单频调幅信号的数学暗示式为()()()()()()[]t t t t t s f f f f f fc c c 0002cos 2cos 212cos 2cos )(++-==ππππ 其中,()t f c 2cos π称为载波,f c 为载波频率,()t f 02cos π称为单频调制信号,f 0为调制正弦波信号频率,且满足f c >f 0.由上式可见,所谓抑制载波单频调幅信号,就是2个正弦信号相乘,它有2个频率成分:和频f c +f 0和差频f c -f 0,这2个频率成分关于载波频率f c 对称.所以,1路抑制载波单频调幅信号的频谱图是关于载波频率f c 对称的2根谱线,其中没有载频成分,故取名为抑制载波单频调幅信号.图中三路调幅信号的载波频率辨别为250Hz 、500Hz 、1000Hz.3. 编程调用MATLAB 滤波器涉及函数ellipord 和ellip 辨别设计这三个椭圆滤波器,并画图显示其损耗函数曲线;4. 调用滤波器实验函数filter ,用三个滤波器辨别对信号产生函数mstg 产生的信号st 进行滤波,别离出st 中的三路不合载波频率的调幅信号y1(n)、y2(n)、y3(n).滤波器参数的选取:● 对于载波频率为250Hz 的条幅信号,可以选用低通滤波器别离,其指标为:通带截止频率Hz f p 280=,通带最大衰减B P d 1.0=∂;阻带截止频率Hz fs 450=,阻带最小衰减dB 60s =∂; ● 对于载波频率为500Hz 的条幅信号,可以选用带通滤波器别离,其指标为:通带截止频率Hz f pl 440=,Hz f pu 560=,通带最大衰减dB 1.0p =∂;阻带截止频率Hz f sl 275=,Hz f su 900=,阻带最小衰减dB 60s =α; ● 对于载波频率为1000Hz 的条幅信号,可以选用高通滤波器别离,其指标为:通带截止频率Hz f p 890=,通带最大衰减B P d 1.0=∂;阻带截止频率Hzfs 550=,阻带最小衰减dB 60s =∂; 说明:(1)为了使滤波器阶数尽可能低,每个滤波器的鸿沟频率选择原则是尽可能使滤波器过渡带宽尽可能宽;(2)与信号产生函数mstg相同采取频率Fs=10kHz;(3)为了滤波器阶数最低,选用椭圆滤波器.四.试验程序框图五.1、答:第二路调幅信号的调制频率fm2=50Hz;第三路调幅信号的载波频率fc3=250Hz;第三路调幅信号的调制频率fm3=25Hz;2、信号产生函数mstg中采样点数N=1600,对st进行N点FFT就可以得到6根理想谱线.如果取N=1800,可否得到6根理想谱线?为什么?N=2000呢?请改动采样点数N的值,不雅察频谱图验证判断是否正确?答:因为信号st是周期序列,谱阐发时要求不雅察时间为整数倍周期.阐发可知,st的每个频率成分都是25Hz的整数倍.采样频率Fs=10kHz=25×400Hz,即在25Hz的正弦波的1个周期中采样400点.所以,当N 为400的整数倍时一定为st 的整数个周期.因此,采样点数N=1600和N=2000时,对st 进行N 点FFT 可以得到6根理想谱线.如果取N=1800,不是400的整数倍,不克不及得到6根理想谱线.(1)N=1600时:(2)N=1800时:(3)N=2000S 时:3、修改信号产生函数mstg ,给每路调幅信号参加载波成分,产生调幅(AM )信号,重复本实验,不雅察AM 信号与抑制载波调幅信号的时域波形及其频谱的不同. AM 信号暗示式:()()[]()t t t s f f A A c m d ππ2cos 2cos 0+=A A m d ≥ 取值:10d =A ,5m =A ,结果见(附录Ⅰ)六.实验结果(程序附录Ⅱ)原信号输出:低通输出:带通输出:高通输出:附录(Ⅰ):原信号输出:低通输出:带通输出:高通输出:附录(Ⅱ):%主函数%IIR数字滤波器设计及软件实现clear all;%调用信号产生函数mstg产生又三路抑制载波调幅信号相加组成的复合信号syms st;syms t;st=mstg; %低通滤波器设计与实现Fs=10000;T=1/Fs;n=800;Tp=n*T;k=0:n-1;f=k/Tp;fp=280;fs=450;wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60; %DF指标;(低通滤波器的通阻带鸿沟频率)[N,wp0]=ellipord(wp,ws,rp,rs);%调用ellipod计较椭圆DF阶数N和通带截止频率wp[B,A]=ellip(N,rp,rs,wp0);%调用ellip计较椭圆带通DF 系统函数系数向量B和Ay1t=filter(B,A,st);%滤波器的软件实现fyt=fft(y1t,n);%下面为画图部分figure(2);subplot(3,1,1);myplot(B,A);yt='y_1(t)';subplot(3,1,2);tplot(y1t,T,yt);subplot(3,1,3);stem(f,abs(fyt)/max(abs(fyt)),'.'); grid;title('(c) s(t)的频谱');axis([0,Fs/5,0,1.2]);xlabel('f/Hz');ylabel('幅度');%带通滤波器的实现与设计fpl=440;fpu=560;fsl=275;fsu=900; wp=[2*fpl/Fs,2*fpu/Fs];ws=[2*fsl/Fs,2*fsu/Fs];rp=0.1;rs=60;[N,wp0]=ellipord(wp,ws,rp,rs); [B,A]=ellip(N,rp,rs,wp0);y2t=filter(B,A,st);fyt=fft(y2t,n);figure(3);subplot(3,1,1);myplot(B,A);yt='y_1(t)';subplot(3,1,2);tplot(y1t,T,yt);subplot(3,1,3);stem(f,abs(fyt)/max(abs(fyt)),'.'); grid;title('(c) s(t)的频谱');axis([0,Fs/5,0,1.2]);xlabel('f/Hz');ylabel('幅度');%高通滤波器的实现与设计fp=890;fs=600;wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60;[N,wp0]=ellipord(wp,ws,rp,rs); [B,A]=ellip(N,rp,rs,wp0,'high'); y3t=filter(B,A,st);fyt=fft(y3t,n);figure(4);subplot(3,1,1);myplot(B,A);yt='y_1(t)';subplot(3,1,2);tplot(y1t,T,yt);subplot(3,1,3);stem(f,abs(fyt)/max(abs(fyt)),'.');grid;title('(c) s(t)的频谱');axis([0,Fs/5,0,1.2]);xlabel('f/Hz');ylabel('幅度');clc;clear%子程序%产生信号程序function st=mstgN=800FS=10000;T=1/FS;TP=N*T;t=0:T:(N-1)*T;K=0:N-1;f=K/TP;fc1=FS/10;%第一路调幅信号的载波频率fc1=1000HZ fm1=fc1/10;%第一路调幅信号的调制信号频率为fm1=100hz.fc2=FS/20;%第二路调幅信号的载波频率fc2=500HZfm2=fc2/10;%第二路调幅信号的调制信号频率为fm2=50hz.fc3=FS/40;%第三路调幅信号的载波频率fc3=250HZ fm3=fc3/10;%第三路调幅信号的调制信号频率为fm3=25hz.xt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t);xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t);xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t);st=xt1+xt2+xt3;fxt=fft(st,N);%计较信号st的频谱.%画图subplot(2,1,1)plot(t,st);grid on;xlabel('t/s');ylabel('s(t)');axis([0,TP/8,min(st),max(st)]);title('(a)s(t)的波形')subplot(2,1,2)stem(f,abs(fxt)/max(abs(fxt)),'.');grid on;title('(b) s(t)的频谱')axis([0,FS/5,0,1.2]);xlabel('f/HZ');ylabel('幅度');%损耗输出波形function myplot(B,A)[H,W]=freqz(B,A,1000);m=abs(H);plot(W/pi,20*log10(m/max(m))); grid on;xlabel('\omega/\pi');ylabel('幅度(dB)');axis([0,1,-80,5]);title('(a) s(t)损耗函数曲线');%滤波器输出波形function tplot(xn,T,yn)n=0:length(xn)-1;t=n*T;plot(t,xn);grid on;xlabel('t/s');ylabel('y(n)');axis([0,t(end),min(xn),1.2*max(xn)]) title('(b) s(t)的波形');。

实验五:双线性变换法的设计IIR-数字滤波器

实验五、双线性变换法设计IIR 数字滤波器一、实验目的:1、熟悉用双线性变换法设计IIR 数字滤波器的原理与方法。

2、掌握数字滤波器的计算机仿真方法。

3、熟悉Batterworth 滤波器设计方法及特点 二、实验原理(一)、IIR 数字滤波器的设计步骤:① 按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标; ② 根据模拟滤波器技术指标设计为响应的模拟低通滤波器;③ 跟据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器;④ 如果要设计的滤波器是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,最后通过频率转换的方法来得到所要的滤波器。

在MATLAB 中,经典法设计IIR 数字滤波器主要采用以下步骤:IIR 数字滤波器设计步骤(二)、用模拟滤波器设计数字滤波器的方法 1、冲激响应不变法:冲激响应不变法是从时域出发,要求数字滤波器的冲激响应h (n ) 对应于模拟滤波器h (t ) 的等间隔抽样。

优点:时域逼近良好;保持线性关系。

缺点:频域响应混叠。

只适用于限带低通滤波器和带通滤波器2、双线性变换法优点:克服了频域混叠模拟滤波器原型 buttap,cheb1ap频率变换 模拟离散化 bilinear,impin varIIR 数字滤波器/Tπ/T π-3/Tπ3/Tπ-j ΩσjIm (z)Re(z)1S 平面Z 平面1S ~S T Tππ-将整个平面压缩变换到平面一个的带状区域缺点:高频时会引起畸变1)冲激响应不变法impinvar格式:[BZ,AZ]= impinvar (B,A,Fs )功能:把具有[B,A]模拟滤波器传递函数模型转换为采样频率为Fs 的数字滤波器的传递函数模型[BZ,AZ],Fs 默认值为1。

例:一个4阶的Butterworth 模拟低通滤波器的系统函数如下:12251)(234++++=s s s s s H a试用冲激响应不变法求出Butterworth 模拟低通数字滤波器的系统函数。

实验五、无限冲激响应(IIR)数字滤波器的设计

实验四、无限冲激响应(IIR)数字滤波器的设计一、实验目的1、熟悉用双线性变换法设计IIR数字滤波器的原理与方法;掌握数字滤波器的计算机仿真方法。

2、掌握用Matlab软件设计流程。

二、实验设备微型计算机、Matlab7.0教学版三、实验原理数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。

数字滤波器有多种分类,根据数字滤波器冲击响应的时域特征,可以将数字滤波器分为两种,即无限长冲击响应滤波器(IIR)和有限长冲激响应滤波器(FIR)。

在MATLAB中,可以通过调用simulink中的功能模块,可以构成数字滤波器的仿真框图。

在仿真过程中,双击各个功能模块,随时改变参数,获得不同状态下的仿真结果。

四、实验内容(1)用fdatool设计一个IIR低通滤波器(具体参数不要求)(2)并用simulink 仿真(3)对滤波器输入一个含噪信号并能观察到滤波前后的波形(4)对结果进行分析。

五、实验结果1、Simulink仿真原理图2、Filter参数设置3、滤波效果Scope Scope1Scope2六、实验总结通过这次实验,我熟悉用双线性变换法设计IIR数字滤波器的原理与方法;掌握数字滤波器的计算机仿真方法。

熟悉和了解了simulink仿真的真个过程。

Simulink中各种非常有用的工具箱不仅对于设计IIR数字滤波器非常有用,而且对于整个型号仿真处理具有相当可视化的效果,从仿真的角度看,是达到了技术指标的要求。

Simulink是一个进行动态系统建模、仿真和综合分析的集成软件包。

它可以处理的系统包括:线性、非线性系统:离散、连续及混合系统;单任务、多任务离散时间系统。

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

实验报告实验四:IIR数字滤‎波器设计及软‎件实现1.实验目的(1)熟悉用双线性‎变换法设计I‎I R数字滤波‎器的原理与方‎法;(2)学会调用MA‎T LAB信号‎处理工具箱中‎滤波器设计函‎数(或滤波器设计‎分析工具fd‎a tool)设计各种II‎R数字滤波器‎,学会根据滤波‎需求确定滤波‎器指标参数。

(3)掌握IIR数‎字滤波器的M‎A TLAB实‎现方法。

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

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

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

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

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

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

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

3. 实验内容及步‎骤(1)调用信号产生‎函数mstg‎产生由三路抑‎制载波调幅信‎号相加构成的‎复合信号st‎,该函数还会自‎动绘图显示s‎t的时域波形‎和幅频特性曲‎线,如图10.4.1所示。

由图可见,三路信号时域‎混叠无法在时‎域分离。

但频域是分离‎的,所以可以通过‎滤波的方法在‎频域分离,这就是本实验‎的目的。

图10.4.1 三路调幅信号‎s t的时域波‎形和幅频特性‎曲线(2)要求将st中‎三路调幅信号‎分离,通过观察st‎的幅频特性曲‎线,分别确定可以‎分离st中三‎路抑制载波单‎频调幅信号的‎三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频‎率和阻带截止‎频率。

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

实验报告姓名:李鹏博 实验名称: IIR 数字滤波器设计 学号:2011300704 课程名称: 数字信号处理 班级:03041102 实验室名称: 航海西楼303 组号: 1 实验日期: 2014.06.20一、实验目的、要求掌握IIR 数字滤波器设计的冲激响应不变法和双线性变换法。

掌握IIR 数字滤波器的计算机编程实现方法,即软件实现。

二、实验原理为了从模拟滤波器设计IIR 数字滤波器,必须先设计一个满足技术指标的模拟滤波器,然后将其数字化,即从s 平面映射到z 平面,得到所需的数字滤波器。

虽然IIR 数字滤波器的设计本质上并不取决于连续时间滤波器的设计,但是因为在许多应用中,数字滤波器就是用来模仿模拟滤波器功能的,所以由模拟滤波器转化为数字滤波器是很自然的。

因此,由模拟滤波器设计数字滤波器的方法准确、简便,是目前最普遍采用的方法。

三、实验环境PC 机,Windows XP ,office 2003,Matlab 软件。

四、实验过程、数据记录、分析及结论实验过程1.编程设计滤波器,用冲激响应不变法设计IIR 数字滤波器。

2.编程设计滤波器,用双线性变换法设计IIR 数字滤波器。

3.求脉冲响应、频率响应以及零极点。

4.编程滤波,求滤波器输出,完成对不同频率的多个正弦信号的滤波。

实验步骤根据所给定的技术指标进行指标转换。

112c c f πΩ=,222c c f πΩ=,112s s f πΩ=,222s s f πΩ=,21p c c B Ω==Ω-Ω,221222s s s s s B Ω-ΩΩΩ=Ω,3,18p s αα=-=-。

根据指标设计Butterworth 模拟低通滤波器。

调用函数[n,wn]=buttord(wp,ws,rp,rs,’s ’)确定阶次。

调用函数[zl,pl,kl]=buttap(n),求低通原型的模型。

调用函数[bl,al]=zp2tf(zl,pl,kl)实现模型转换。

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

实验四:IIR数字滤波器设计及软件实现一、实验内容及步骤1、调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,三路信号在时域混叠无法在时域分离,但频域是可分离的,所以可以通过滤波的方法在频域分离。

2、要求将st中三路调幅信号分离,通过观察st的幅频特性曲线,分别确定可以分离st中三路抑制载波单频调幅信号的三个滤波器(低通、高通、带通)的通带截止频率和阻带截止频率。

要求滤波器的通带最大衰减为0.1db,阻带最小衰减为60db.3、编程序调用MATLAB滤波器设计函数ellipord和ellip分别设计三个椭圆滤波器,并绘图显示其损耗函数曲线。

4、调用滤波器实现函数filter,用三个滤波器分别对信号产生函数mstg产生的信号st进行滤波,分离出st中的三路不同载波频率的调幅信号yn1、yn2、yn3的,并绘图显示其时域波形,观察分离效果。

二、实验结果显示原信号图形:高通滤波器输出波形带通滤波器输出波形低通滤波器输出波形带阻滤波器输出波形三、实验结论:由上面所绘图形可知,利用数字滤波器完全可以将时域混叠而频域未混叠的波形分开,达到滤波目的。

四、思考题(1)请阅读信号产生函数mstg,确定三路调幅信号的载波频率和调制信号频率。

答:第一路调幅信号的调制信号频率为100HZ,载波频率为1000HZ;第二路调幅信号的调制信号频率为50HZ,载波频率为500HZ;第三路调幅信号的调整信号频率为25HZ,载波频率为250HZ。

(2)信号产生函数mstg中采样点数N=1600,对st进行N点FFT可以得到6根理想谱线。

如果取N=1800,可否得到6根理想谱线?为什么?N=2000呢?请改变函数mstg 中采样点数N的值,观察频谱图验证您的判断是否正确?答:因为信号st是周期序列,谱分析时要求观察时间为整数倍周期。

分析可知,st的每个频率成分都是25Hz的整数倍。

采样频率Fs=10kHz=25×400Hz,即在25Hz 的正弦波的1个周期中采样400点。

所以,当N为400的整数倍时一定为st的整数个周期。

因此,采样点数N=800和N=2000时,对st进行N点FFT可以得到6根理想谱线。

如果取N=1000,不是400的整数倍,不能得到6根理想谱线。

(3)修改信号产生函数mstg,给每一路调幅信号加入载波成分,产生AM信号,观察AM信号与抑制载波调幅信号的时域波形及其频谱的差别。

可以观察到AM的频谱中含有离散的载波分量,且占用很大比重。

五、实验程序:1、信号产生函数mstg程序:function st=mstgN=800;FS=10000;T=1/FS;TP=N*T;t=0:T:(N-1)*T;K=0:N-1;f=K/TP;fc1=FS/10;%第一路调幅信号的载波频率fc1=1000HZfm1=fc1/10;%第一路调幅信号的调制信号频率为fm1=100hz.fc2=FS/20;%第二路调幅信号的载波频率fc2=500HZfm2=fc2/10;%第二路调幅信号的调制信号频率为fm2=50hz.fc3=FS/40;%第三路调幅信号的载波频率fc3=250HZfm3=fc3/10;%第三路调幅信号的调制信号频率为fm3=25hz.xt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t);xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t);xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t);st=xt1+xt2+xt3;fxt=fft(st,N);%计算信号st的频谱.%绘图subplot(211)plot(t,st);grid on;xlabel('t/s');ylabel('s(t)');axis([0,TP/4,min(st),max(st)]);title('(a) s(t)的波形')subplot(212)stem(f,abs(fxt)/max(abs(fxt)),'.');grid on;title('(b) s(t)的频谱')axis([0,FS/5,0,1.2]);xlabel('f/HZ');ylabel('幅度');2、高通滤波器的程序%高通滤波器设计fp=800;fs=700;Fs=10000;wp=2*fp/Fs;ws=2*fs/Fs;rp=1;rs=40;N=800;st=mstg;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;[N1,wpo]=ellipord(wp,ws,rp,rs);%确定最小阶数和截止频率[B,A]=ellip(N1,rp,rs,wpo,'high');%求传递函数的分子分母系数y=filter(B,A,st);%滤波fyt=fft(y,N);%求其频谱subplot(2,1,1),plot(t,y),gridon;xlabel('t/s'),ylabel('y(t)'),axis([0,Tp/4,min(y),max(y)]),title('(a) y(t)的波形')subplot(2,1,2);stem(f,abs(fyt)/max(abs(fyt)),'.');grid on;title('(b) y(t)的频谱')axis([0,Fs/5,0,1.2]);xlabel('f/Hz');ylabel('幅度')3、带通滤波器%带通滤波器fpl=400;fpu=600;fsl=350;fsu=650;Fs=10000;wp=[2*fpl/Fs,2*fpu/Fs];ws=[2*fsl/Fs,2*fsu/Fs];rp=1;rs=40;N=800;st=mstg;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;[N1,wpo]=ellipord(wp,ws,rp,rs);[B,A]=ellip(N1,rp,rs,wpo);y=filter(B,A,st);fyt=fft(y,N);subplot(2,1,1),plot(t,y),grid on;xlabel('t/s'),ylabel('y(t)'), axis([0,Tp/4,min(y),max(y)]),title('(a) y(t)的波形')subplot(2,1,2);stem(f,abs(fyt)/max(abs(fyt)),'.');grid;title('(b) y(t)的频谱') axis([0,Fs/5,0,1.2]);xlabel('f/Hz');ylabel('幅度');4、低通滤波器设计%低通滤波器fp=350;fs=400;Fs=10000;wp=2*fp/Fs;ws=2*fs/Fs;rp=1;rs=40;N=800;st=mstg;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;[N1,wpo]=ellipord(wp,ws,rp,rs);[B,A]=ellip(N1,rp,rs,wpo);y=filter(B,A,st);fyt=fft(y,N);subplot(2,1,1),plot(t,y),grid,xlabel('t/s'),ylabel('y(t)'), axis([0,Tp/4,min(y),max(y)]),title('(a) y(t)的波形')subplot(2,1,2);stem(f,abs(fyt)/max(abs(fyt)),'.');grid;title('(b) y(t)的频谱') axis([0,Fs/5,0,1.2]);xlabel('f/Hz');ylabel('幅度')5、带阻滤波器的设计%带阻滤波器的设计fpl=350;fpu=700;fsl=400;fsu=600;Fs=10000;wp=[2*fpl/Fs,2*fpu/Fs];ws=[2*fsl/Fs,2*fsu/Fs];rp=1;rs=40;N=800;st=mstg;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;[N1,wpo]=ellipord(wp,ws,rp,rs);[B,A]=ellip(N1,rp,rs,wpo,'stop');实用标准文档y=filter(B,A,st);fyt=fft(y,N);subplot(2,1,1),plot(t,y),grid,xlabel('t/s'),ylabel('y(t)'),axis([0,Tp/4,min(y),max(y)]),title('(a) y(t)的波形')subplot(2,1,2);stem(f,abs(fyt)/max(abs(fyt)),'.');grid;title('(b) y(t)的频谱') axis([0,Fs/5,0,1.2]);xlabel('f/Hz');ylabel('幅度')文案大全。

相关文档
最新文档