数字信号处理实验 IIR数字滤波器设计及软件实现
实验三IIR数字滤波器实施方案及软件实现

实验三IIR数字滤波器设计及软件实现1.实验目地(1)熟悉用双线性变换法设计IIR数字滤波器地原理与方法;(2)学会调用MATLAB信号处理工具箱中滤波器设计函数(或滤波器设计分析工具fdatool)设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数.b5E2R。
(3)掌握IIR数字滤波器地MATLAB实现方法.(3)通过观察滤波器输入输出信号地时域波形及其频谱,建立数字滤波地概念.2.实验原理设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛地是双线性变换法.基本设计过程是:①先将给定地数字滤波器地指标转换成过渡模拟滤波器地指标;②设计过渡模拟滤波器;③将过渡模拟滤波器系统函数转换成数字滤波器地系统函数.MATLAB信号处理工具箱中地各种IIR数字滤波器设计函数都是采用双线性变换法.第六章介绍地滤波器设计函数butter、cheby1 、cheby2 和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器.本实验要求读者调用如上函数直接设计IIR数字滤波器.p1Ean。
本实验地数字滤波器地MATLAB实现是指调用MATLAB信号处理工具箱函数filter对给定地输入信号x(n)进行滤波,得到滤波后地输出信号y(n).DXDiT。
3. 实验内容及步骤(1)调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成地复合信号st,该函数还会自动绘图显示st地时域波形和幅频特性曲线,如图10.4.1所示.由图可见,三路信号时域混叠无法在时域分离.但频域是分离地,所以可以通过滤波地方法在频域分离,这就是本实验地目地.RTCrp。
图10.4.1 三路调幅信号st 地时域波形和幅频特性曲线(2)要求将st 中三路调幅信号分离,通过观察st 地幅频特性曲线,分别确定可以分离st 中三路抑制载波单频调幅信号地三个滤波器(低通滤波器、带通滤波器、高通滤波器)地通带截止频率和阻带截止频率.要求滤波器地通带最大衰减为0.1dB,阻带最小衰减为60dB.5PCzV 。
数字信号处理实验报告四--IIR数字滤波器设计及软件实现

实验四 IIR数字滤波器设计及软件实现姓名:班级:学号:一、实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法;(2)学会调用MATLAB信号处理工具箱中滤波器设计函数(或滤波器设计分析工具fdatool)设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。
(3)掌握IIR数字滤波器的MATLAB实现方法。
(3)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。
二、实验原理与方法设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。
基本设计过程是:①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标;②设计过渡模拟滤波器;③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。
MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。
第六章介绍的滤波器设计函数butter、cheby1 、cheby2 和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。
本实验要求读者调用如上函数直接设计IIR数字滤波器。
本实验的数字滤波器的MATLAB实现是指调用MATLAB信号处理工具箱函数filter对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n)。
三、实验内容及步骤(1)调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图10.4.1所示。
由图可见,三路信号时域混叠无法在时域分离。
但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。
-10123t/ss (t )(a) s(t)的波形(b) s(t)的频谱f/Hz幅度图10.4.1三路调幅信号st 的时域波形和幅频特性曲线(2)要求将st 中三路调幅信号分离,通过观察st 的幅频特性曲线,分别确定可以分离st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。
数字信号上机实验:实验四:IIR数字滤波器设计及软件实现

实验四:IIR数字滤波器设计及软件实现源程序如下所示:%实验1程序exp1.m% IIR数字滤波器设计及软件实现clear all;close allFs=10000;T=1/Fs; %采样频率%调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号stst=mstg;%低通滤波器设计与实现=========================================fp=280;fs=450;wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60; %DF指标(低通滤波器的通、阻带边界频)[N,wp]=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆DF阶数N和通带截止频率wp [B,A]=ellip(N,rp,rs,wp); %调用ellip计算椭圆带通DF系统函数系数向量B和Ay1t=filter(B,A,st); %滤波器软件实现% 低通滤波器设计与实现绘图部分figure(5);subplot(2,1,1);myplot(B,A); %调用绘图函数myplot绘制损耗函数曲线yt='y_1(t)';subplot(2,1,2);tplot(y1t,T,yt); %调用绘图函数tplot绘制滤波器输出波形%带通滤波器设计与实现====================================================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,wp]=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆DF阶数N和通带截止频率wp [B,A]=ellip(N,rp,rs,wp); %调用ellip计算椭圆带通DF系统函数系数向量B和Ay2t=filter(B,A,st); %滤波器软件实现figure(3);subplot(2,1,1);myplot(B,A);subplot(2,1,2);yt='y_2(t)';tplot(y2t,T,yt);fp=890;fs=600;wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60; %DF指标(低通滤波器的通、阻带边界频)[N,wp]=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆DF阶数N和通带截止频率wp [B,A]=ellip(N,rp,rs,wp,'high'); %调用ellip计算椭圆带通DF系统函数系数向量B和Ay3t=filter(B,A,st); %滤波器软件实现figure(4);subplot(2,1,1);myplot(B,A);subplot(2,1,2);yt='y_3(t)';tplot(y3t,T,yt);function tplot(xn,T,yn)%时域序列连续曲线绘图函数% xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串)% T为采样间隔n=0:length(xn)-1;t=n*T;plot(t,xn);xlabel('t/s');ylabel(yn);axis([0,t(end),min(xn),1.2*max(xn)])function myplot(B,A)%时域离散系统损耗函数绘图%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('损耗函数曲线');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;fm1=fc1/10;fc2=Fs/20;fm2=fc2/10;fc3=Fs/40;fm3=fc3/10;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);subplot(3,1,1)plot(t,st);grid;xlabel('t/s');ylabel('s(t)');axis([0,Tp/8,min(st),max(st)]);title('(a) s(t)的波形')subplot(3,1,2)stem(f,abs(fxt)/max(abs(fxt)),'.');grid;title('(b) s(t)的频谱') axis([0,Fs/5,1,1.2]);xlabel('f/Hz');ylabel('幅度')。
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数字滤波器设计及软件实现。
IIR数字滤波器是一种基于IIR(Infinite Impulse Response)的滤波器,采用了反馈结构,具有无限长的脉冲响应。
与FIR(Finite Impulse Response)数字滤波器相比,IIR数字滤波器具有更高的灵活性和更小的计算复杂度。
IIR数字滤波器的设计可以通过以下步骤进行:
1.确定滤波器的类型:低通、高通、带通或带阻。
2.确定滤波器的阶数:滤波器的阶数决定了其频率响应的陡峭程度。
3.设计滤波器的传递函数:传递函数是滤波器的数学模型,可以通过多种方法进行设计,如巴特沃斯、切比雪夫等。
4.将传递函数转换为差分方程:差分方程是IIR数字滤波器的实现形式,可以通过对传递函数进行离散化得到。
5.实现差分方程:差分方程可以通过递归运算的方式实现,使用递归滤波器结构。
IIR数字滤波器的软件实现可以使用各种数学软件或程序语言进行。
常见的软件实现语言包括MATLAB、Python等。
这些语言提供了丰富的数字信号处理库和函数,可以方便地实现IIR数字滤波器。
在软件实现中,需要将差分方程转换为计算机程序,然后输入待滤波的数字信号,并输出滤波后的信号。
此外,还可以对滤波器的参数进行调整,以达到满足特定滤波要求的效果。
总结起来,实验四的内容是设计和实现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]](https://img.taocdn.com/s3/m/05eabd900129bd64783e0912a216147917117e3b.png)
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数字滤波器的设计原理和实现方法,通过MATLAB软件进行数字滤波器设计和信号处理实验。
一、实验原理IIR数字滤波器是一种使用有限数量的输入样本和前一次输出值的滤波器。
它通常由差分方程和差分方程的系数表示。
IIR滤波器的特点是递归结构,故其频率响应是无限长的,也就是说它的频率响应在整个频率范围内都是存在的,而不像FIR滤波器那样只有在截止频率处才有响应。
根据设计要求选择合适的滤波器类型和滤波器结构,然后通过对滤波器的模型进行参数化,设计出满足滤波要求的IIR滤波器。
常见的IIR滤波器设计方法有模拟滤波器设计方法和数字滤波器设计方法。
在本实验中,我们主要使用数字滤波器设计方法,即离散时间滤波器设计方法。
二、实验内容(一)设计IIR数字滤波器的步骤:1.确定滤波器类型:根据滤波要求选择合适的滤波器类型,如低通滤波器、高通滤波器、带通滤波器、带阻滤波器等。
2.确定滤波器的阶数:根据滤波要求确定滤波器的阶数。
阶数越高,滤波器的频率响应越陡峭,但计算复杂度也越高。
3. 设计滤波器原型:根据滤波要求,设计滤波器的原型。
可以选择Butterworth滤波器、Chebyshev滤波器、Elliptic滤波器等作为原型。
4.选择滤波器结构:根据计算机实现条件和算法复杂度,选择合适的滤波器结构。
常见的滤波器结构有直接形式I、直接形式II、级联形式等。
5.参数化滤波器模型:根据原型滤波器的差分方程,选择合适的参数化方法。
常见的参数化方法有差分方程法、极点/零点法、增益法等。
6.根据参数化的滤波器模型,计算出所有的滤波器系数。
(二)用MATLAB软件实现IIR数字滤波器设计:1.打开MATLAB软件,并创建新的脚本文件。
2. 在脚本文件中,使用MATLAB提供的滤波器设计函数,如butter、cheby1、ellip等,选择合适的滤波器类型进行设计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IIR数字滤波与软件实现N=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;
fm1=fc1/10;
fc2=Fs/20;
fm2=fc2/10;
fc3=Fs/40;
fm3=fc3/10;
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);
subplot(3, 1, 1);
plot(t, st);grid;xlabel('t/s');ylabel('s(t)');
axis([0, Tp/4, min(st), max(st)]);title('(a) s(t)的波形')
subplot(3, 1, 2);
stem(f, abs(fxt)/max(abs(fxt)), '.');grid;title('(b) s(t)的频谱');
axis([0, Fs/5, 0, 1.2]);
xlabel('f/Hz');ylabel('幅度')
Fs=10000;
fp=280;fs=450;
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);
y1t=filter(B,A,st);
figure(2);
subplot(2,1,1);
[H1,w]=freqz(B,A,1000);
m=abs(H1);
plot(w/pi,20*log(m/max(m)));grid on;
title('低通滤波损耗函数曲线');
xlabel('w');ylabel('H1');
subplot(2,1,2);
plot(t,y1t);title('低通滤波后的波形');
xlabel('t');ylabel('y1t');
Fs=10000;
fpl=450;fpu=550;fsl=280;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);
figure(3);
subplot(2,1,1);
[H2,w]=freqz(B,A,1000);
m=abs(H2);
plot(w/pi,20*log(m/max(m)));grid on; title('带通滤波损耗函数曲线'); xlabel('w');ylabel('H2');
subplot(2,1,2);
plot(t,y2t);title('带通滤波后的波形'); xlabel('t');ylabel('y2t');
Fs=10000;
fp=550;fs=900;
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);
figure(4);
subplot(2,1,1);
[H3,w]=freqz(B,A,1000);
m=abs(H3);
plot(w/pi,20*log(m/max(m)));grid on; title('高通滤波损耗函数曲线'); xlabel('w');ylabel('H3');
subplot(2,1,2);
plot(t,y3t);title('高通滤波后的波形'); xlabel('t');ylabel('y3t');
0.0020.0040.0060.008
0.010.0120.0140.0160.0180.02
-1012
3t/s
s (t )(a) s(t)的波形
200
400
600
800
10001200
1400
1600
1800
2000
00.5
1(b) s(t)的频谱
f/Hz
幅度
00.10.20.3
0.40.50.60.70.80.91
-300
-200-100
低通滤波损耗函数曲线
w
H 1
0.010.020.03
0.040.050.060.070.08
-101
2低通滤波后的波形
t
y 1t
00.10.20.3
0.40.50.60.70.80.91
-300
-200-100
带通滤波损耗函数曲线
w
H 2
0.01
0.02
0.03
0.040.05
0.06
0.07
0.08
-1-0.500.5
1带通滤波后的波形
t
y 2t
00.10.20.3
0.40.50.60.70.80.91
-300
-200-100
高通滤波损耗函数曲线
w
H 3
0.01
0.02
0.03
0.040.05
0.06
0.07
0.08
-2-101
2高通滤波后的波形
t
y 3t。