无限脉冲响应IIR低通滤方法 高分请高手帮忙翻译,谢谢啦~~
1.无限脉冲响应IIR低通滤波
无限脉冲响应IIR(Infinite Impulse Response)低通滤波器可借助常见的经典模拟低通滤波器加以实现。模拟低通滤波器的设计中,一般给定通带上限截止频率Ωp、阻带下限截止频率Ωs、通带允许的最大衰减αp、阻带允许的最小衰减αs,见图7-4-9。为了规范设计,通常将频率用通带截止频率Ωp进行归一化,采用相对频率A=Ω/Ωp,此时的滤波器成为标准滤波器形式(陈玉东,2005)。
图7-4-9 低通滤波器的绝对技术指标
对于经典滤波器,其设计关键是用归一化频率λ的多项式或多项式之比来逼近滤波器的幅值平方函数|H(λ)|2。n阶低通滤波器的幅值平方函数和衰减方程为:
航空重力勘探理论方法及应用
上式中ε是待定参数,Ln(λ)是一个与幅值平方函数相关的n阶多项式或有理函数。通常总是希望在通带内Ln(λ)趋于0,确保响应增益接近1;在阻带内Ln(λ)≫0,确保响应增益接近0。
根据设计指标和上面方程,可得滤波器衰减指标与幅值平方函数联系起来的关系式:
航空重力勘探理论方法及应用
通过对滤波器衰减关系式的计算,可以求得滤波器的待定参数ε和多项式阶数n,从而建立滤波器响应函数(或称传递函数)的准确表达式。
比较常用的模拟低通滤波器有巴特沃思(Butterworth)、切比雪夫(Chebyshev)等。
2.巴特沃思逼近
巴特沃思(Butterworth)低通滤波器选用多项式(陈玉东,2005):Ln(λ)=λn,则有:
航空重力勘探理论方法及应用
巴特沃思(Butterworth)滤波器也称为最平滑滤波器(Maximally Flat Filter),其幅值平方函数在0频率处的前2n-1阶导数为0,从而有最大平坦响应。
当λ由0增加到1时,
当λ>1变化时,
滤波器待定参数ε可以由通带内的最大衰减来求得:
航空重力勘探理论方法及应用
滤波器阶数n可以通过阻带最大衰减来求得:
航空重力勘探理论方法及应用
滤波器的阶数n必须取整数。通带衰减越小,ε越小,说明通带越平坦;阻带衰减越大,n越大,说明滤波过渡带越陡峭。
为了从|Ha(λ)|2中导出巴特沃思低通滤波器响应函数H(s),可令λ2=-s2,并且只取复平面左半平面的根来得出最小相位传递函数H(s)。
航空重力勘探理论方法及应用
式中
航空重力勘探理论方法及应用
为了保证所设计的滤波器是稳定的,应考虑左半平面的极点(k=1,2,3,…,n)获得:
航空重力勘探理论方法及应用
K0为归一化常数,可由传递函数的低频特性决定。代入s=0时,Ha(0)=1,可计算获得K0值。对于实际滤波器,传递函数中的s应该替换为相对频率s/Ωp。
3.切比雪夫逼近
切比雪夫(Chebyshev)低通滤波器选用多项式(陈玉东,2005):
航空重力勘探理论方法及应用
则有:
航空重力勘探理论方法及应用
Tn(λ)=cos(narccosA)为一个n次多项式,称为Chebyshev多项式。
令φ=arccosλ,则λ=cosφ,有:
航空重力勘探理论方法及应用
得:
航空重力勘探理论方法及应用
从而得到切比雪夫多项式的递推公式:
航空重力勘探理论方法及应用
根据递推公式,由T0(λ)=cos(0)=1,T1(λ)=cosφ=λ可以推出关于λ的n阶切比雪夫多项式的表达形式。其首项系数为2n-1,非零系数的符号交替变化,体现了切比雪夫多项式的摆动性,在(-1,+1)区间内,Tn(λ)关于零点上下摆动,等幅振荡;在区间(-1,+1)之外,Tn(λ)≈2n-1λn,其值剧增。
切比雪夫定理:在区间(-1,+1)内,归一化的切比雪夫多项式Tn(λ)/2n-1在所有归一化的n次多项式中,其绝对值是最小的。
与巴特沃思滤波器相比,切比雪夫滤波器在阻带的衰减更彻底,从而在相同阶数情况下,切比雪夫滤波器的过渡带更陡峭,但是以引入通带波纹为代价的。
根据通带截止频率Ωp、阻带截止频率Ωs、通带允许的最大衰减αp、阻带允许的最小衰减αs,可确定幅值平方函数中的待定参数ε和滤波器阶数n。
航空重力勘探理论方法及应用
令λ2=-s2,则s=jcosφ,φ=arccos(s/j)=φ1+jφ2。考虑左半平面的极点,其中:
航空重力勘探理论方法及应用
则归一化切比雪夫低通滤波器的传递函数:
航空重力勘探理论方法及应用
其中归一化常数:
对于实际滤波器,传递函数中的s应该替换为相对频率s/Ωp。
4.IIR数字滤波器的设计
通常可采用脉冲响应不变法、双线性变换法等方法通过模拟滤波器来设计IIR低通数字滤波器,下面简单叙述由双线性变换法设计IIR低通数字滤波器的步骤(郭志宏,2008)。
(1)将给定的数字滤波器的设计指标变换为模拟滤波器的设计指标
数字滤波器的设定指标主要包括通带截止频率ωp、阻带截止频率ω。、通带最大衰减ap、阻带最小衰减as。利用双线性变换的频率变换式将给定的ωp、ω。转换为:
(2)设计低通模拟滤波器的传递函数Ha(s)
根据用归一化频率λ的多项式或多项式之比来逼近滤波器的幅值平方函数的经典滤波器的设计思想,由式(7-4-11)至式(7-4-14)来确定低通模拟滤波器的传递函数Ha(s)。如果选定巴特沃思逼近,则可由式(7-4-15)、式(7-4-16)计算出滤波器待定参数ε、滤波器阶数n,进而由式(7-4-17)、式(7-4-18)获得相应低通滤波器的传递函数Ha(s);当s=0时,Ha(0)=1,可计算获得归一化常数K0值。如果选定切比雪夫逼近,则可由式(7-4-19)、式(7-4-20)计算出滤波器待定参数ε、滤波器阶数n,进而由式(7-4-21)、式(7-4-22)获得相应低通滤波器的传递函数Ha(s);当n为奇数时,Ha(0)=1,当n为偶数时,
对于实际滤波器,传递函数中的s应该替换为归一化相对频率s/Ωp,则有:
航空重力勘探理论方法及应用
(3)将Ha(s)转换为数字滤波器的传递函数H(z)
利用双线性变换映射公式:
航空重力勘探理论方法及应用
(4)将H(z)转换为数字滤波器的频率响应H(ejω)
令z=ejω代入H(z)可得数字滤波器的频率响应H(ejω)(郭志宏,2008):
航空重力勘探理论方法及应用
5.滤波试验
根据前面阐述的无限脉冲响应巴特沃思、切比雪夫IIR低通滤波方法及式(7-4-11)至式(7-4-23),我们研制了相应软件,并对图7-4-1的GT-1A航空原始未滤波自由空间重力测线数据分别进行了截止波长为100 s、60 s长度(按v=60m/s的航速计算,截止波长λc分别为6km、3.6km,按fc=v/λc计算的截止频率分别为0.01 Hz、0.0167 Hz)的低通滤波试验计算,试验结果见图7-4-10至图7-4-13(郭志宏,段树岭,等,2009)。为了图形对比方便,各剖面图中仍然保留了测线边部两端的各半个滤波窗口数据;这些数据由于存在边部效应,因而是不准确的,实际应用时应该去掉。
表7-4-2为图7-4-10至图7-4-13所示的IIR低通滤波波截止波长100 s、60 s长度航空自由空间重力测线数据与图7-4-2所示的GT-1A型航空重力系统100 s、60 s滤波自由空间重力测线数据(作为标准)的比较,即通过两者之差值的统计结果来衡量吻合程度。从统计表中看到,两种IIR滤波器低通滤波结果的差异值都在±1×10-5m·s-2左右,均方差值则多数在(0.3~0.4)×10-5m·s-2左右,吻合程度比较好。
图7-4-10 巴特沃思低通滤波与GT-1A系统100s滤波航空自由空间重力对比
图7-4-11 巴特沃思低通滤波与GT-1A系统60s滤波航空自由空间重力对比
图7-4-12 切比雪夫低通滤波与GT-1A系统100s滤波航空自由空间重力对比
图7-4-13 切比雪夫低通滤波与GT-1A系统60s滤波航空自由空间重力对比
表7-4-2 无限脉冲响应IIR滤波试验结果与GT-1A系统滤波结果的差值统计
帮我设计一个IIR低通滤波器?~
低通采样定理实验
1.1 实验目的
1.了解数字信号处理系统的一般构成;
2.掌握奈奎斯特抽样定理。
1.2 实验仪器
1.YBLD智能综合信号源测试仪 1台
2.双踪示波器 1台
3.MCOM-TG305数字信号处理与现代通信技术实验箱 1台
4.PC机(装有MATLAB、MCOM-TG305配套实验软件) 1台
1.3 实验原理
一个典型的DSP系统除了数字信号处理部分外,还包括A/D和D/A两部分。这是因为自然界的信号,如声音、图像等大多是模拟信号,因此需要将其数字化后进行数字信号处理,模拟信号的数字化即称为A/D转换。数字信号处理后的数据可能需还原为模拟信号,这就需要进行D/A转换。一个仅包括A/D和D/A两部分的简化数字信号处理系统功能如图1所示。
A/D转换包括三个紧密相关的过程,即抽样、量化和编码。A/D转换中需解决的以下几个重要问题:抽样后输出信号中还有没有原始信号的信息?如果有能不能把它取出来?抽样频率应该如何选择?
奈奎斯特抽样定理(即低通信号的均匀抽样定理)告诉我们,一个频带限制在0至fx以内的低通信号x(t),如果以fs≥2fx的抽样速率进行均匀抽样,则x(t)可以由抽样后的信号xs(t)完全地确定,即xs(t)包含有x(t)的成分,可以通过适当的低通滤波器不失真地恢复出x(t)。最小抽样速率fs=2fx称为奈奎斯特速率。
低通
译码
编码
量化
抽样
输入信号 样点输出 滤波输出
A/D(模数转换) D/A(数模转换)
图1 低通采样定理演示
为方便实现,实验中更换了一种表现形式,即抽样频率固定(10KHz),通过改变输入模拟信号的频率来展示低通抽样定理。我们可以通过研究抽样频率和模拟信号最高频率分量的频率之间的关系,来验证低通抽样定理。
1.4 实验内容
1.软件仿真实验:编写并调试MATLAB程序,分析有关参数,记录有关波形。
2.硬件实验:输入不同频率的正弦信号,观察采样时钟波形、输入信号波形、样点输出波形和滤波输出波形。
1.5 MATLAB参考程序和仿真内容
%*******************************************************************%
%f—余弦信号的频率
% M—基2 FFT幂次数 N=2^M为采样点数,这样取值是为了便于作基2的FFT分析
%2. 采样频率Fs
%*******************************************************************%
function samples(f,Fs,M)
N=2^M; % fft点数=取样总点数
Ts=1/Fs; % 取样时间间隔
T=N*Ts; % 取样总时间=取样总点数*取样时间间隔
n=0:N-1;
t=n*Ts;
Xn=cos(2*f*pi*t);
subplot(2,1,1);
stem(t,Xn);
axis([0 T 1.1*min(Xn) 1.1*max(Xn)]);
xlabel('t -->');
ylabel('Xn');
Xk=abs(fft(Xn,N));
subplot(2,1,2);
stem(n,Xk);
axis([0 N 1.1*min(Xk) 1.1*max(Xk)]);
xlabel('frequency -->');
ylabel('!Xk!');
%*******************************************************************%
假如有一个1Hz的余弦信号y=cos(2*π*t),对其用4Hz的采样频率进行采样,共采样32点,只需执行samples(1,4,5),即可得到仿真结果。
软件仿真实验内容如下表所示:
仿真参数
f
Fs
Wo(计算)
Xn(图形)
Xk(图形)
(1,4,5)
另外记录图形,并标图号
(1,8,5)
(2,8,6)
自 选
1.6 硬件实验步骤
本实验箱采样频率fs固定为10KHz,低通滤波器的截止频率约为4.5KHz。
1、用低频信号源产生正弦信号,正弦信号源频率f自定,并将其接至2TP2(模拟输入)端,将示波器通道一探头接至2TP6(采样时钟)端观察采样时钟波形,示波器通道二探头接至2TP2观察并记录输入信号波形。
2、将示波器通道二探头接至2TP3观察并记录样点输出波形。
3、将示波器通道二探头接至2TP4观察并记录滤波输出波形。
4、根据采样定理,分f=fs /8、f=fs/4、f=fs/2等3种情况更改正弦信号频率,重复步骤2至步骤3。
5、用低频信号源产生方波信号,重复步骤1至步骤4。
1.7 思考题
1、 讨论在仿真实验中所计算的数字域频率Wo和Xk的图形中非零谱线位置之间的对应关系。
2、 讨论在仿真实验中自选参数的意义。
3、将在2TP2端加方波信号后的恢复波形,与相同频率的正弦信号的恢复波形相比,能够得出哪些结论?
2 FFT频谱分析实验
2.1 实验目的
1.通过实验加深对快速傅立叶变换(FFT)基本原理的理解。
2.了解FFT点数与频谱分辨率的关系,以及两种加长序列FFT与原序列FFT的关系。
2.2 实验仪器
1.YBLD智能综合信号源测试仪 1台
2.双踪示波器 1台
3.MCOM-TG305数字信号处理与现代通信技术实验箱 1台
4.PC机(装有MATLAB、MCOM-TG305配套实验软件) 1台
2.3 实验原理
离散傅里叶变换(DFT)和卷积是信号处理中两个最基本也是最常用的运算,它们涉及到信号与系统的分析与综合这一广泛的信号处理领域。实际上卷积与DFT之间有着互通的联系:卷积可化为DFT来实现,其它的许多算法,如相关、滤波和谱估计等都可化为DFT来实现,DFT也可化为卷积来实现。
对N点序列x(n),其DFT变换对定义为:
在DFT运算中包含大量的重复运算。FFT算法利用了蝶形因子WN的周期性和对称性,从而加快了运算的速度。FFT算法将长序列的DFT分解为短序列的DFT。N点的DFT先分解为2个N/2点的DFT,每个N/2点的DFT又分解为2个N/4点的DFT。按照此规律,最小变换的点数即所谓的“基数(radix)。”因此,基数为2的FFT算法的最小变换(或称蝶形)是2点DFT。一般地,对N点FFT,对应于N个输入样值,有N个频域样值与之对应。一般而言,FFT算法可以分为时间抽取(DIT)FFT和频率抽取(DIF)两大类。
在实际计算中,可以采用在原来序列后面补0的加长方法来提高FFT的分辨率;可以采用在原来序列后面重复的加长方法来增加FFT的幅度。
2.4 实验内容
1.软件仿真实验:分别观察并记录正弦序列、方波序列及改变FFT的点数后的频谱;分别观察并记录正弦序列、方波序列及2种加长序列等信号的频谱。
2.硬件实验:分别观察并记录正弦信号、方波信号及改变FFT的点数后的频谱。
2.5 MATLAB参考程序和仿真内容
%*******************************************************************%
function[x]=ffts(mode,M)
Nfft=2^M;
x=zeros(1,Nfft); %定义一个长度为Nfft的一维全0数组
if mode= =1 for n=0:Nfft-1 x(n+1)=sin(2*pi*n/Nfft); end
end %定义一个长度为Nfft的单周期正弦序列
if mode= =2 for n=0:Nfft-1 x(n+1)=sin(4*pi*n/Nfft); end
end %定义一个长度为Nfft的双周期正弦序列
if mode= =3 for n=0:Nfft/2-1 x(n+1)=sin(4*pi*n/Nfft); end
end %定义一个长度为Nfft/2的正弦序列,后面一半为0序列。
if mode= =4 for n=0:Nfft-1 x(n+1)=square(2*pi*n/Nfft); end
end
if mode= =5 for n=0:Nfft-1 x(n+1)=square(2*pi*n/Nfft); end
end
if mode= =6 for n=0:Nfft/2-1 x(n+1)=square(4*pi*n/Nfft); end
end
n=0:Nfft-1;
subplot(2,1,1);
stem(n,x);
axis([0 Nfft-1 1.1*min(x) 1.1*max(x)]);
xlabel('Points-->');
ylabel('x(n)');
X=abs(fft(x,Nfft));
subplot(2,1,2);
stem(n,X);
axis([0 Nfft-1 1.1*min(X) 1.1*max(X)]);
xlabel('frequency-->');
ylabel('!X(k)!');
%*******************************************************************%
假设需观察方波信号的频谱,对一个周期的方波信号作32点的FFT,则只需在MATLAB的命令窗口下键入:[x]=ffts(21,5) ,程序进行模拟,并且输出FFT的结果。
关于软件仿真实验内容,建议在完成大量仿真例子的基础上,选择能够体现实验要求的4个以上的例子进行记录。例如要观察后面补0的加长方法来提高FFT的分辨率的现象,可以仿真ffts(4,5)和ffts(6,6)两个例子。
2.6 硬件实验步骤
1.将低频信号源输出加到实验箱模拟通道1输入端,将示波器探头接至模拟通道1输出端。
2.在保证实验箱正确加电且串口电缆连接正常的情况下,运行数字信号处理与DSP应用实验开发软件,在“数字信号处理实验”菜单下选择“FFT频谱分析”子菜单,出现显示FFT频谱分析功能提示信息的窗口。
3.用低频信号产生器产生一个1KHz的正弦信号。
4.选择FFT频谱分析与显示的点数为64点,开始进行FFT运算。此后,计算机将周期性地取回DSP运算后的FFT数据并绘图显示
5.改信号源频率,观察并记录频谱图的变化。
6.选择FFT的点数为128点,观察并记录频谱图的变化。
7.更改正弦信号的频率,重复步骤4 ~步骤6。
8.用低频信号产生器产生一个1KHz的方波信号,重复步骤4 ~步骤7。注意:应根据实验箱采样频率fs为10KHz和方波信号的频带宽度选择方波信号的频率。
本硬件实验要进行两种信号,每个信号两种频率,每个信号两种点数等共8次具体实验内容,性质能够体现实验要求的4个以上的例子进行记录。
2.7 思考题
1.对同一个信号,不同点数FFT观察到的频谱图有何区别?
2.序列加长后FFT与原序列FFT的关系是什么,试推导其中一种关系。
3.用傅立叶级数理论,试说明正弦信号频谱和方波信号频谱之间的关系。
3 IIR滤波器设计实验
3.1 实验目的
1.通过实验加深对IIR滤波器基本原理的理解。
2.学习编写IIR滤波器的MATLAB仿真程序。
3.2 实验仪器
1.YBLD智能综合信号源测试仪 1台
2.双踪示波器 1台
3.MCOM-TG305数字信号处理与现代通信技术实验箱 1台
4.PC机(装有MATLAB、MCOM-TG305配套实验软件) 1台
3.3 实验原理
IIR滤波器有以下几个特点:
1.IIR数字滤波器的系统函数可以写成封闭函数的形式。
2.IIR数字滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。
3.IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。
4.IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。
在MATLAB下设计IIR滤波器可使用Butterworth函数设计出巴特沃斯滤波器,使用Cheby1函数设计出契比雪夫I型滤波器,使用Cheby2设计出契比雪夫II型滤波器,使用ellipord函数设计出椭圆滤波器。下面主要介绍前两个函数的使用。
与FIR滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等),由软件设计出满足这些参数的最低滤波器阶数。在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择。
一、巴特沃斯IIR滤波器的设计
在MATLAB下,设计巴特沃斯IIR滤波器可使用butter函数。
Butter函数可设计低通、高通、带通和带阻的数字和模拟IIR滤波器,其特性为使通带内的幅度响应最大限度地平坦,但同时损失截止频率处的下降斜度。在期望通带平滑的情况下,可使用butter函数。
butter函数的用法为:
[b,a]=butter(n,Wn,/ftype/)
其中n代表滤波器阶数,Wn代表滤波器的截止频率,这两个参数可使用buttord函数来确定。buttord函数可在给定滤波器性能的情况下,求出巴特沃斯滤波器的最小阶数n,同时给出对应的截止频率Wn。buttord函数的用法为:
[n,Wn]= buttord(Wp,Ws,Rp,Rs)
其中Wp和Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至1之间。当其值为1时代表采样频率的一半。Rp和Rs分别是通带和阻带区的波纹系数。
不同类型(高通、低通、带通和带阻)滤波器对应的Wp和Ws值遵循以下规则:
1.高通滤波器:Wp和Ws为一元矢量且Wp>Ws;
2.低通滤波器:Wp和Ws为一元矢量且Wp<Ws;
3.带通滤波器:Wp和Ws为二元矢量且Wp<Ws,如Wp=[0.2,0.7],Ws=[0.1,0.8];
4.带阻滤波器:Wp和Ws为二元矢量且Wp>Ws,如Wp=[0.1,0.8],Ws=[0.2,0.7]。
二、契比雪夫I型IIR滤波器的设计
在期望通带下降斜率大的场合,应使用椭圆滤波器或契比雪夫滤波器。在MATLAB下可使用cheby1函数设计出契比雪夫I型IIR滤波器。
cheby1函数可设计低通、高通、带通和带阻契比雪夫I型滤IIR波器,其通带内为等波纹,阻带内为单调。契比雪夫I型的下降斜度比II型大,但其代价是通带内波纹较大。
cheby1函数的用法为:
[b,a]=cheby1(n,Rp,Wn,/ftype/)
在使用cheby1函数设计IIR滤波器之前,可使用cheblord函数求出滤波器阶数n和截止频率Wn。cheblord函数可在给定滤波器性能的情况下,选择契比雪夫I型滤波器的最小阶和截止频率Wn。
cheblord函数的用法为:
[n,Wn]=cheblord(Wp,Ws,Rp,Rs)
其中Wp和Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至1之间。当其值为1时代表采样频率的一半。Rp和Rs分别是通带和阻带区的波纹系数。
3.4 实验内容
1.软件仿真实验:编写并调试MATLAB程序,选择不同形式,不同类型的4种滤波器进行仿真,记录幅频和相频特性,对比巴特沃斯滤波器和契比雪夫滤波器。
2.硬件实验:设计IIR滤波器,在计算机上观察冲激响应、幅频特性和相频特性,然后下载到实验箱。用示波器观察输入输出波形,测试滤波器的幅频响应特性。
3.5 MATLAB参考程序和仿真内容
%*******************************************************************%
%mode: 1--巴特沃斯低通;2--巴特沃斯高通;3--巴特沃斯带通;4--巴特沃斯带阻
% 5--契比雪夫低通;6--契比雪夫高通;7--契比雪夫带通;8--契比雪夫带阻
%fp1,fp2: 通带截止频率,当高通或低通时只有fp1有效
%fs1, fs2: 阻带截止频率,当高通或低通时只有fs1有效
%rp: 通带波纹系数
%as: 阻带衰减系数
%sample: 采样率
%h: 返回设计好的滤波器系数
%*******************************************************************%
function[b,a]=iirfilt(mode,fp1,fp2,fs1,fs2,rp,as,sample)
wp1=2*fp1/sample;wp2=2*fp2/sample;
ws1=2*fs1/sample;ws2=2*fs2/sample;
%得到巴特沃斯滤波器的最小阶数N和3bd频率wn
if mode<3[N,wn]=buttord(wp1,ws1,rp,as);
elseif mode<5[N,wn]=buttord([wp1 wp2],[ws1 ws2],rp,as);
%得到契比雪夫滤波器的最小阶数N和3bd频率wn
elseif mode<7[N,wn]=cheb1ord(wp1,ws1,rp,as);
else[N,wn]=cheblord([wp1 wp2],[ws1 ws2],rp,as);
end
%得到滤波器系数的分子b和分母a
if mode= =1[b,a]=butter(N,wn);end
if mode= =2[b,a]=butter(N,wn,/high/);end
if mode= =3[b,a]=butter(N,wn);end
if mode= =4[b,a]=butter(N,wn,/stop/);end
if mode= =5[b,a]=cheby1(N,rp,wn);end
if mode= =6[b,a]=cheby1(N,rp,wn,/high/);end
if mode= =7[b,a]=cheby1(N,rp,wn);end
if mode= =8[b,a]=cheby1(N,rp,wn,/stop/);end
set(gcf,/menubar/,menubar);
freq_response=freqz(b,a);
magnitude=20*log10(abs(freq_response));
m=0:511;
f=m*sample/(2*511);
subplot(3,1,1);plot(f,magnitude);grid; %幅频特性
axis([0 sample/2 1.1*min(magnitude) 1.1*max(magnitude)]);
ylabel('Magnitude');xlabel('Frequency-->');
phase=angle(freq_response);
subplot(3,1,2);plot(f,phase);grid; %相频特性
axis([0 sample/2 1.1*min(phase) 1.1*max(phase)]);
ylabel('Phase');xlabel('Frequency-->');
h=impz(b,a,32); %32点的单位函数响应
t=1:32;
subplot(3,1,3);stem(t,h);grid;
axis([0 32 1.2*min(h) 1.1*max(h)]);
ylabel('h(n)');xlabel('n-->');
%*******************************************************************%
假设需设计一个巴特沃斯低通IIR滤波器,通带截止频率为2KHz,阻带截止频率为3KHz,通带波纹系数为1,阻带衰减系数为20,采样频率为10KHz,则只需在MATLAB的命令窗口下键入:
[b,a]=iirfilt(1,2000,3000,2400,2600,1,20,10000)
程序进行模拟,并且按照如下顺序输出数字滤波器系统函数
的系数
b= b0 b1 ……bn
a= a0 a1 ……an
关于软件仿真实验内容,建议在完成大量仿真例子的基础上,选择能够体现实验要求的4个例子进行记录,系统函数只要记录系统的阶数。
3.6 硬件实验步骤
1.根据实验箱采样频率fs为10KHz的条件,用低频信号发生器产生一个频率合适的低频正弦信号,将其加到实验箱模拟通道1输入端,将示波器通道1探头接至模拟通道1输入端,通道2探头接至模拟通道2输出端。
2.在保证实验箱正确加电且串口电缆连接正常的情况下,运行数字信号处理与DSP应用实验开发软件,在“数字信号处理实验”菜单下选择“IIR滤波器”子菜单,出现提示信息。
3.输入滤波器类型、滤波器截止频率等参数后,分别点击“幅频特性”和“相频特性”按钮,在窗口右侧观察IIR滤波器的幅频特性和相频特性。此时提示信息将消失,如需查看提示信息,可点击“设计说明”按钮。
4.点击“下载实现”按钮,IIR滤波器开始工作,此时窗口右侧将显示IIR滤波器的幅频特性。
5.根据输入滤波器类型,更改低频信号源的频率,观察示波器上输入输出波形幅度的变化情况,测量IIR滤波器的幅频响应特性,看其是否与设计的幅频特性一致。
6.更改滤波器类型、滤波器截止频率等参数(共4种),重复步骤3至步骤5。所选择的例子参数最好和MATLAB仿真程序的例子一样。
7.用低频信号产生器产生一个500Hz的方波信号,分别设计3种滤波器,完成如下表要求的功能,并且记录参数和波形。
功 能
滤波器类型
参 数
输出波形
fp1
fp2
fs1
fs2
通过3次及以下次数的谐波
另外记录图形,并标图号
滤除5次及以下次数的谐波
通过3次到5次的谐波
3.7 思考题
1.在实验箱采样频率fs固定为10KHz的条件下,要观察方波信号频带宽度内的各个谐波分量,方波信号的频率最高不能超过多少,为什么?
2.硬件实验内容7中输出信号各个谐波分量,与原来方波信号同样谐波分量相比,有没有发生失真?主要发生了什么类型的失真?为什么?
4 窗函数法FIR滤波器设计实验
4.1 实验目的
1.通过实验加深对FIR滤波器基本原理的理解。
2.学习使用窗函数法设计FIR滤波器,了解窗函数的形式和长度对滤波器性能的影响。
4.2 实验仪器
1.YBLD智能综合信号源测试仪 1台
2.双踪示波器 1台
3.MCOM-TG305数字信号处理与现代通信技术实验箱 1台
4.PC机(装有MATLAB、MCOM-TG305配套实验软件) 1台
4.3 实验原理
数字滤波器的设计是数字信号处理中的一个重要内容。数字滤波器设计包括FIR(有限单位脉冲响应)滤波器与IIR(无限单位脉冲响应)滤波器两种。
与IIR滤波器相比,FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性。设FIR滤波器单位脉冲响应h(n)长度为N,其系统函数H(z)为:
H(z)是z-1的N-1次多项式,它在z平面上有N-1个零点,原点z=0是N-1阶重极点,因此H(z)是永远稳定的。稳定和线性相位特性是FIR滤波器突出的优点。
FIR滤波器的设计任务是选择有限长度的h(n)。使传输函数H( )满足技术要求。FIR滤波器的设计方法有多种,如窗函数法、频率采样法及其它各种优化设计方法,本实验介绍窗函数法的FIR滤波器设计。
窗函数法是使用矩形窗、三角窗、巴特利特窗、汉明窗、汉宁窗和布莱克曼窗等设计出标准响应的高通、低通、带通和带阻FIR滤波器。
一、firl函数的使用
在MATLAB下设计标准响应FIR滤波器可使用firl函数。firl函数以经典方法实现加窗线性相位FIR滤波器设计,它可以设计出标准的低通、带通、高通和带阻滤波器。firl函数的用法为:
b=firl(n,Wn,/ftype/,Window)
各个参数的含义如下:
b—滤波器系数。对于一个n阶的FIR滤波器,其n+1个滤波器系数可表示为:b(z)=b(1)+b(2)z-1+…+b(n+1)z-n。
n—滤波器阶数。
Wn—截止频率,0≤Wn≤1,Wn=1对应于采样频率的一半。当设计带通和带阻滤波器时,Wn=[W1 W2],W1≤ω≤W2。
ftype—当指定ftype时,可设计高通和带阻滤波器。Ftype=high时,设计高通FIR滤波器;ftype=stop时设计带阻FIR滤波器。低通和带通FIR滤波器无需输入ftype参数。
Window—窗函数。窗函数的长度应等于FIR滤波器系数个数,即阶数n+1。
二、窗函数的使用
在MATLAB下,这些窗函数分别为:
1.矩形窗:w=boxcar(n),产生一个n点的矩形窗函数。
2.三角窗:w=triang(n),产生一个n点的三角窗函数。
当n为奇数时,三角窗系数为w(k)=
当n为偶数时,三角窗系数为w(k)=
3.巴特利特窗:w=Bartlett(n),产生一个n点的巴特利特窗函数。
巴特利特窗系数为w(k)=
巴特利特窗与三角窗非常相似。巴特利特窗在取样点1和n上总以零结束,而三角窗在这些点上并不为零。实际上,当n为奇数时bartlett(n)的中心n-2个点等效于triang(n-2)。
4.汉明窗:w=hamming(n),产生一个n点的汉明窗函数。
汉明窗系数为w(k+1)=0.54-0.46cos( ) k=0,…,n-1
5.汉宁窗:w=hanning(n),产生一个n点的汉宁窗函数。
汉宁窗系数为w(k)=0.5[1-cos( )] k=1,…,n
6.布莱克曼窗:w=Blackman(n),产生一个n点的布莱克曼窗函数。
布莱克曼窗系数为w(k)=0.42-0.5cos(2π )+0.8cos(4π )] k=1,…,n
与等长度的汉明窗和汉宁窗相比,布莱克曼窗的主瓣稍宽,旁瓣稍低。
7.凯泽窗:w=Kaiser(n,beta),产生一个n点的凯泽窗数,其中beta为影响窗函数旁瓣的β参数,其最小的旁瓣抑制α与β的关系为:
0.1102(α-0.87) α>50
β= 0.5842(α-21)0.4+0.07886(α-21) 21≤α≤50
0 α<21
增加β可使主瓣变宽,旁瓣的幅度降低。
8.契比雪夫窗:w=chebwin(n,r)产生一个n点的契比雪夫窗函数。其傅里叶变换后的旁瓣波纹低于主瓣r个db数。
4.4 实验内容
1.软件仿真实验:编写并调试MATLAB程序,观察不同窗,不同类型滤波器不同点数等共4种FIR滤波器的h(n),并记录幅频特性和相频特性。
2.硬件实验:用窗函数法设计标准响应的FIR滤波器,在计算机上观察窗函数幅频特性、幅频特性和相频特性,然后下载到实验箱。用示波器观察输入输出波形,测试滤波器的幅频响应特性。
4.5 MATLAB参考程序和仿真内容
%*******************************************************************%
%mode: 模式(1--高通;2--低通;3--带通;4--带阻)
%n: 阶数,加窗的点数为阶数加1
%fp: 高通和低通时指示截止频率,带通和带阻时指示下限频率
%fs: 带通和带阻时指示上限频率
%window:加窗(1--矩形窗;2--三角窗;3--巴特利特窗;4--汉明窗;
% 5--汉宁窗;6--布莱克曼窗;7--凯泽窗;8--契比雪夫窗)
%r: 代表加chebyshev窗的r值和加kaiser窗时的beta值
%sample: 采样率
%h: 返回设计好的FIR滤波器系数
%*******************************************************************%
%mode: 模式(1--高通;2--低通;3--带通;4--带阻)
%n: 阶数,加窗的点数为阶数加1
%fp: 高通和低通时指示截止频率,带通和带阻时指示下限频率
%fs:
哦,这个是DSP的课程实验吧
我做过的...
IIR是无限脉冲响应的滤波器,实际中不存在,因为对于任意一个输入信号,响应时间都是无限长.FIR是有限长脉冲响应滤波器,输出脉冲长度有限.
在无限脉冲响应(IIR)数字滤波器设计中,先根据给定要求的数字滤波器的技术指标(例如带宽,通带宽度,阻带宽度等等),转换为模拟低通滤波器的技术指标(请查阅书籍,课程上应该讲过的,有冲激响应不变法和双线性变换法,把数字指标标变换成模拟指标),再进行模拟低通滤波器原型的设计(根据上一步的所得参数设计模拟滤波器),然后进行模-数转换(变到数字信号,用于机器仿真),后进行滤波器的频带转换,得到达到要求的IIR数字滤波器。(好复杂啊,这个不会也是正常的,我们学校DSP最后考试时候牛难啊,做的郁闷死了)
在有限脉冲响应(FIR)数字滤波器设计中,讨论了FIR线性滤波器的特点,并使用理想滤波器加窗函数的方法进行设计(理想的就是IIR无限长脉冲响应滤波器,要变成有限长的,必须对信号加窗,即乘以窗函数,常用的有矩形窗,汉明窗,海宁床,blackman窗,具体表示请查阅书籍),在设计中,介绍了8类比较常用的窗函数,并分析各自的时域和频域特点,根据各自特点以及给定滤波器的技术指标,选用合适的窗函数以及不断修正阶次来设计出符合要求的FIR滤波器。
就是这个样子,DSP确实太难了
matlab的仿真也是比较复杂的
基于dsp的 f.i.r低通滤波器设计
答:式中, 是脉冲响应系数,这里 …, ,…, 。一般来说,FIR数字滤波器输出 的Z变换形式 与输入 的Z变换形式之间的关系如下: 实现结构如下图所示:Z变换结构图从上面的Z变换和结构图可以很容易得出FIR滤波器的差分方程表示形式,即对上式进行反Z变换得: 上式为FIR数字滤波器的时域表示方法,其中x(n)是在时间n的滤...
低通滤波器在线设计方法-已知Wp,Ws,Ap,As,列出窗函数法设计列线性相位FI...
答:第三步:用离散傅里叶逆变换求得要设计的实际滤波器的单位脉冲响应h(n):第四步:根据傅里叶变换的定义求得实际滤波器的频率响应,验证是否满足滤波器技术指标的要求,主要验证滤波器的阻带衰减是否能够满足阻带的要求。借助于Matlab软件,按照以上4个步骤设计出低通滤波器的仿真结果如图2所示。由仿真结果图...
为什么脉冲响应不变法不能用于设计数字高通滤波器和带阻滤波器?_百度...
答:可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。脉冲响应不变法和双线性变换法都是将模拟滤波器变换为数字滤波器,但前者不可避免的存在频谱混叠,后者能克服这一缺点,不能用脉冲响应不变法将模拟高通和带阻滤波器转换为数字滤波器。
基于matlab数字滤波器的设计
答:IIR数字滤波器的设计步骤:(1) 按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标;(2) 根据模拟滤波器技术指标设计为响应的模拟低通滤波器;(3) 很据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器;(4) 如果要设计的滤波器是高通、带通或带阻滤波器,则首先...
matlab 脉冲响应不变法 低通滤波器
答:[bs,as]=lp2lp(bp,ap,wc); % 将模拟低通滤波器原型 (传递函数为bp(s)/ap(s),截止频率为1),转换为模拟低通滤波器(截止频率为wc,传递函数为bs(s)/as(s) )[bz,az]=impinvar(bs,as,Fs); % 采用脉冲响应不变法,将上面的模拟低通滤波器,转换为数字低通滤波器,传递函数为...
数字与信号系统习题
答:IIR:无限长单位脉冲响应。FIR:有限长单位脉冲响应。DFT:离散傅立叶变换.FFI快速傅立叶变换。LTI:线性时不变。LPF:低通滤波器。 8.什么是线性系统?对模拟信号进行抽样量化和乘法运算的系统是否为线性系统?为什么?答:如果一个系统满足可加性和比例性则为线性系统。例如,x1(n),x2(n)为输入,系统的对应输出用y1(...
matlab 如何消除信号的高频分量
答:2。双线性变换法设计IIR数字滤波器的脉冲响应的主要缺点是,以同样的方式混叠失真的频率响应。这是因为多个值的映射?导致从S-Z平面的平面中。为了克服这个缺点,非线性频率压缩方法可用于在整个频率范围内,在频率轴上之内被压缩时,-π/ T?裨/ T,则z =东部时间转换到Z-平面。即,被压缩的第一步,整个S平面S1-...
请问用matlab设计语音信号的低通滤波器是使用iir filter还是fir filte...
答:其实都可以的,就是一个是无限长,一个是有限长,出来的参数是不一样的,fir能得到线性相位的滤波器,但iir有现成的滤波器,切比雪夫,巴特沃斯都是iir的,实习拿起来简单些,现在用iir的比较多。
用双线性变换法设计原型低通为椭圆型的数字IIR带阻滤波器
答:1>用双线性变换法设计IIR数字滤波器脉冲响应不变法的主要缺点是产生频率响应的混叠失真。这是因为从S平面到Z平面是多值的映射关系所造成的。为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-π/T~π/T之间,再用z=esT转换到Z平面上。也就是说,第一步先将整个S平面压缩映射到S1...
脉冲响应不变法的小结
答:脉冲响应不变法的最大缺点:有频谱周期延拓效应,因此只能用于带限的频响特性,如衰减特性很好的低通或带通。而高频衰减越大,频响的混淆效应越小,至于高通和带限滤波器,由于它们在高频部分不衰减,因此将完全混淆在低频响应中。所以用脉冲响应不变法实现高通和带限滤波器时,应增加一保护滤波器,滤掉...