理想滤波器、原型模拟滤波器和窗函数的特性matlab6

合集下载

信号采集与处理--MATLAB窗函数及其特征

信号采集与处理--MATLAB窗函数及其特征

信号采集与处理MATLAB 窗函数及其特征数字信号处理中通常是取其有限的时间片段进行分析,而不是对无限长的信号进行测量和运算。

具体做法是从信号中截取一个时间片段,然后对信号进行傅里叶变换、相关分析等数学处理。

信号的截断产生了能量泄漏,而用FFT算法计算频谱又产生了栅栏效应,从原理上讲这两种误差都是不能消除的。

在FFT分析中为了减少或消除频谱能量泄漏及栅栏效应,可采用不同的截取函数对信号进行截短,截短函数称为窗函数,简称为窗。

泄漏与窗函数频谱的两侧旁瓣有关,对于窗函数的选用总的原则是,要从保持最大信息和消除旁瓣的综合效果出发来考虑问题,尽可能使窗函数频谱中的主瓣宽度应尽量窄,以获得较陡的过渡带;旁瓣衰减应尽量大,以提高阻带的衰减,但通常都不能同时满足这两个要求。

频谱中的如果两侧瓣的高度趋于零,而使能量相对集中在主瓣,就可以较为接近于真实的频谱。

不同的窗函数对信号频谱的影响是不一样的,这主要是因为不同的窗函数,产生泄漏的大小不一样,频率分辨能力也不一样。

信号的加窗处理,重要的问题是在于根据信号的性质和研究目的来选用窗函数。

图1是几种常用的窗函数的时域和频域波形,其中矩形窗主瓣窄,旁瓣大,频率识别精度最高,幅值识别精度最低,如果仅要求精确读出主瓣频率,而不考虑幅值精度,则可选用矩形窗,例如测量物体的自振频率等;布莱克曼窗主瓣宽,旁瓣小,频率识别精度最低,但幅值识别精度最高;如果分析窄带信号,且有较强的干扰噪声,则应选用旁瓣幅度小的窗函数,如汉宁窗、三角窗等;对于随时间按指数衰减的函数,可采用指数窗来提高信噪比。

表1 是几种常用的窗函数的比较。

如果被测信号是随机或者未知的,或者是一般使用者对窗函数不大了解,要求也不是特别高时,可以选择汉宁窗,因为它的泄漏、波动都较小,并且选择性也较高。

但在用于校准时选用平顶窗较好,因为它的通带波动非常小,幅度误差也较小。

5.3 广义余弦窗汉宁窗、海明窗和布莱克曼窗,都可以用一种通用的形式表示,这就是广义余弦窗。

实验3 用MATLAB窗函数法设计FIR滤波器

实验3 用MATLAB窗函数法设计FIR滤波器

实验10 用MATLAB 窗函数法设计FIR 滤波器一、实验目的㈠、学习用MA TLAB 语言窗函数法编写简单的FIR 数字滤波器设计程序。

㈡、实现设计的FIR 数字滤波器,对信号进行实时处理。

二、实验原理㈠、运用窗函数法设计FIR 数字滤波器与IIR 滤波器相比,FIR 滤波器在保证幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性。

设FIR 滤波器单位脉冲响应)(n h 长度为N ,其系统函数)(z H 为∑-=-=10)()(N n n zn h z H)(z H 是1-z 的)1(-N 次多项式,它在z 平面上有)1(-N 个零点,原点0=z 是)1(-N 阶重极点。

因此,)(z H 永远是稳定的。

稳定和线性相位特性是FIR 滤波器突出的优点。

FIR 滤波器的设计任务是选择有限长度的)(n h ,使传输函数)(ωj e H 满足技术要求。

主要设计方法有窗函数法、频率采样法和切比雪夫等波纹逼近法。

本实验主要介绍用窗函数法设计FIR 数字滤波器。

图7-10-1 例1 带通FIR 滤波器特性㈡、 用MATLAB 语言设计FIR 数字滤波器例1:设计一个24阶FIR 带通滤波器,通带为0.35<ω<0.65。

其程序如下b=fir1(48,[0.35 0.65]);freqz(b,1,512)可得到如图7-10-1 所示的带通FIR滤波器特性。

由程序可知,该滤波器采用了缺省的Hamming窗。

例2:设计一个34阶的高通FIR滤波器,截止频率为0.48,并使用具有30dB波纹的Chebyshev窗。

其程序如下Window=chebwin(35,30);b=fir1(34,0.48,'high',Window);freqz(b,1,512)可得到如图7-10-2 所示的高通FIR滤波器特性。

图7-10-2 例2 高通FIR滤波器特性例3:设计一个30阶的低通FIR滤波器,使之与期望频率特性相近,其程序如下 f=[0 0.6 0.6 1];m=[1 1 0 0];b=fir2(30,f,m);[h,w]=freqz(b,1,128);plot(f,m,w/pi,abs(h))结果如图7-10-3所示。

理想滤波器、原型模拟滤波器和窗函数的特性6

理想滤波器、原型模拟滤波器和窗函数的特性6

理想滤波器、原型模拟滤波器和窗函数的特性6实验六理想滤波器、原型模拟滤波器和窗函数的特性1、实验内容1、计算下列理想数字滤波器的单位冲激响应,并画出其频率响应和单位冲激响应,观察单位冲激响应波形的对称特性1)理想低通滤波器,截止频率0.3π,群延时102)理想高通滤波器,截止频率0.65 π,群延时203)理想带通滤波器,下、上截止频率0.35 π、0.7 π,群延时152、画出下列原型模拟滤波器的幅度响应特性、相位响应特性和衰减特性,频率范围0—12000Hz (调用freqs),观察它们在通带、阻带、过渡带宽度、相位特性等方面的特点。

1)巴特沃斯低通滤波器,截止频率5000π,阶数5,调用butter 2)切比雪夫I型低通滤波器,截止频率5000 π,阶数5,通带波纹0.5dB,调用cheby13)切比雪夫II型低通滤波器,截止频率5000 π,阶数5,阻带衰减50dB,调用cheby24)椭圆滤波器,截止频率5000 π,阶数5,通带波纹0.5dB,阻带衰减50dB,调用ellip3、编写程序画出下列窗函数的时域图形和频域特性(幅度dB表示和相位),与矩形窗函数相比,观察它们在阻带最小衰减、主瓣宽带等方面的特点。

1)矩形窗,长度402)三角窗,长度403)升余弦窗,长度404)Blackman,长度402、编程原理、思路和公式1、首先写出理想低通、高通、带通滤波器的频率响应,画出其频谱图,然后根据计算得到的各滤波器的脉冲响应,写出它们的Matlab表达形式,画出脉冲响应图形。

三者的程序类似,只是在具体的频率响应和脉冲响应的形式上有所差别。

低通:HLP(ej??ja??,|?|??c?1e)?? 0,??|?|c?其对应的单位脉冲响应为:?1hLP(n)??HLP(ej?)ej?nd?sin[?(n?a)]1?ja?j?n??1eed同理,高通单位脉冲响应为:sin[?(n?a)]h(n)?? HP?(n?a)n?a带通单位脉冲响应为:hBP(n)?sin[?H(n?a)]?sin[?L(n?a)] ?(n?a)2、以butterworth低通滤波器为例,其余三种只是调用的函数不同而已,原理相同。

matlab滤波函数详解 -回复

matlab滤波函数详解 -回复

matlab滤波函数详解-回复Matlab滤波函数详解在信号处理领域中,滤波是一项常用技术,用于去除噪声、平滑数据、增强信号等。

Matlab作为一种功能强大的科学计算软件,提供了丰富的滤波函数来帮助用户处理信号。

本文将详细介绍Matlab中常用的滤波函数,包括低通滤波、高通滤波、带通滤波以及无限冲激响应滤波器等。

同时,将逐步回答一系列问题,以帮助读者全面理解和使用这些滤波函数。

一、低通滤波器1. 什么是低通滤波器?低通滤波器是一种能够通过允许低频信号通过,而抑制高频信号的滤波器。

通过低通滤波器可以实现信号平滑、去噪以及降低信号带宽等目标。

2. Matlab中如何使用低通滤波?在Matlab中,可以使用函数`lowpass`来实现低通滤波。

例如,若要对信号`x`进行低通滤波,可以使用以下代码:matlabfs = 1000; 采样率Hzfc = 100; 截止频率Hzorder = 4; 滤波器阶数filtered_x = lowpass(x, fc, fs, order);上述代码中,`fs`表示信号的采样率,`fc`表示低通滤波器的截止频率,`order`表示滤波器阶数。

函数`lowpass`返回滤波后的信号`filtered_x`。

二、高通滤波器1. 什么是高通滤波器?高通滤波器是一种能够通过允许高频信号通过,而抑制低频信号的滤波器。

通过高通滤波器可以实现丢弃信号中的低频成分、突出信号中的高频特征等目标。

2. Matlab中如何使用高通滤波?在Matlab中,可以使用函数`highpass`来实现高通滤波。

以下代码演示了如何对信号`x`进行高通滤波:fs = 1000; 采样率Hzfc = 100; 截止频率Hzorder = 4; 滤波器阶数filtered_x = highpass(x, fc, fs, order);上述代码中,`fs`表示信号的采样率,`fc`表示高通滤波器的截止频率,`order`表示滤波器阶数。

关于滤波器设计的matlab函数简表

关于滤波器设计的matlab函数简表
高斯窗
chebwin
切比雪夫窗
tukeywin
Tukey窗
巴特沃斯滤波器设计
cheby1
切比雪夫Ⅰ型滤波器设计
cheby2
切比雪夫Ⅱ型滤波器设计
ellip
椭圆滤波器设计
besself
贝塞尔滤波器设计
模拟滤波器频带变换
lp2bp
低通→带通
lp2bs
低通→带阻
lp2hp
低通→高通
lp2lp
低通→低通
滤波器离散化(由模拟滤波器得到数字滤波器)
bilinear
脉冲响应不变法
关于滤波器设计、实现的
(求幅频、相频响应)
abs
求模值
angle
求相角
freqs
模拟滤波器的频率响应
freqz
数字滤波器的频率响应
grpdelay
群延迟
impz
脉冲响应(离散的)
zplane
画出零极点图
fvtool
滤波器可视化工具
滤波器实现(求输入信号通过滤波器的响应)
关于滤波器设计实现的matlab函数分类函数名功能说明滤波器分析求幅频相频响应absangle求相角freqs模拟滤波器的频率响应freqz数字滤波器的频率响应grpdelay群延迟impz脉冲响应离散的zplane画出零极点图fvtool滤波器可视化工具滤波器实现求输入信号通过滤波器的响应convconv2卷积二维卷积filter求信号通过滤波器的响应iir滤波器阶数估算buttord巴特沃斯滤波器阶数估算cheb1ord切比雪夫型滤波器阶数估算cheb2ord切比雪夫型滤波器阶数估算ellopord椭圆滤波器阶数估算iir数字滤波器设计求系统函数hzbuttercheby1cheby2ellip模拟低通滤波器原型归buttap模拟低通巴特沃斯滤波器原型cheb1ap模拟低通切比雪夫型滤波器原型cheb2ap模拟低通切比雪夫型滤波器原型ellipap模拟低通椭圆滤波器原型besselap模拟低通贝塞尔滤波器原型模拟低通滤波器设计求系统函数hsbutter巴特沃斯滤波器设计cheby1切比雪夫型滤波器设计cheby2切比雪夫型滤波器设计ellip椭圆滤波器设计besself贝塞尔滤波器设计模拟滤波器频带变换lp2bp滤波器离散化由模拟滤波器得到数字滤波器bilinear脉冲响应不变法impinvar双线性变换法fir滤波器设计fir1基于窗函数的fir滤波器设计fir2基于窗函数的任意响应fir滤波器设窗函数boxcar矩形窗rectwin矩形窗bartlett三角窗triang三角窗hanningblackman布莱克曼窗kaisergausswin高斯窗chebwintukeywintukey

matlab关于滤波器的程序以及函数解析

matlab关于滤波器的程序以及函数解析

信号的采集程序[y,Fs,Nbits]=wavread('福建工程学院.wav');%读出信号,采样率,采样位数wavplay(y,Fs);s1=wavread('福建工程学院.wav');y=resample(s1,80,441); %在Windows 下录制的语音信号的采样频率为44100Hz,为了能够更好的分析语音信号,将语音信号的频率重采样为8000HzsigLength=length(y);%语音信号长度Y = fft(y,sigLength);%快速福利叶变换Pyy = Y.* conj(Y) / sigLength;%conj复数共轭halflength=floor(sigLength/2);%负无穷取整f=8000*(0:halflength)/sigLength;figure;plot(f,Pyy(1:halflength+1));axis([0 1000 0 0.02]);xlabel('Frequency(Hz)');%画出频域波形t=(0:sigLength-1)/Fs;figure;plot(t,y);xlabel('Time(s)');噪音信号在MA TLAB中的频谱分析程序s1=wavread('福建工程学院.wav');y=resample(s1,80,441);sigLength=length(y); %语音信号长度for k=1:1:sigLengthfs=8000;noise(k)=0.005*sin(2*pi*900*k/fs);%正弦函数的噪声信号x(k)=y(k)+noise(k);%噪声叠加endY = fft(x,sigLength);%快速福利叶变换Pyy = Y.* conj(Y) / sigLength; %conj复数共轭halflength=floor(sigLength/2); %负无穷取整f=8000*(0:halflength)/sigLength;figure;plot(f,Pyy(1:halflength+1));axis([0 1000 0 0.02]);xlabel('Frequency(Hz)'); %画出频域波形t=(0:sigLength-1)/fs;figure;plot(t,x);xlabel('Time(s)');%画出时域波形MATLAB中低通滤波器仿真程序Fs=8000; %采样频率N=35; %取样点数tao=(N-1)/2;wc=2*600/8000; %N是奇数h(n)为偶数,采用N为奇数的I型,取样化归一频率m=fix(wc/(2/N)+1);%取整omega=[0:N-1]*2*pi/N; %取N个采样点ABS_H=[ones(1,m),0.2,zeros(1,N-2*m-1),0.2,ones(1,m-1)];H=ABS_H.*exp(-j*tao.*omega);h=ifft(H); %ifft函数实现由频域抽样点计算其对应时域序列figure(1); %打开窗口1subplot(2,1,1);%图形显示分割窗口stem(omega,abs(H));%绘制低通频谱采样图title('理想低通频谱取样点')subplot(2,1,2);stem([0:N-1],real(h));%绘出低通脉冲响应图title('频率取样法设计的低通脉冲响应')Hh=fft(h,512);%对信号进行傅立叶变换Hh_db=20*log10(abs(Hh));figure(2);omega=[0:255]*pi/256;plot(omega,Hh_db(1:256));title('滤波器的低通衰耗特性')set(gca,'ytick',[(-120:20:-20),-3,0]);s1=wavread('福建工程学院.wav');y=resample(s1,80,441);sigLength=length(y);for k=1:1:sigLengthfs=8000;noise(k)=0.005*sin(2*pi*900*k/fs);x(k)=y(k)+noise(k);%噪声信号的叠加endY = fft(x,sigLength);%对信号进行傅立叶变换Pyy = Y.* conj(Y) / sigLength;halflength=floor(sigLength/2);f=8000*(0:halflength)/sigLength;figure;plot(f,Pyy(1:halflength+1));axis([0 1000 0 0.02]);xlabel('Frequency(Hz)');a=conv(x,h); %相乘运算sigLength=length(a);Y = fft(a,sigLength); %对信号进行傅立叶变换Paa = Y.* conj(Y) / sigLength;halflength=floor(sigLength/2);f1=8000*(0:halflength)/sigLength;figure;plot(f1,Paa(1:halflength+1));axis([0 1000 0 0.02]);xlabel('Frequency(Hz)');。

(完整word版)用MATLAB设计滤波器

(完整word版)用MATLAB设计滤波器

用MATLAB 设计滤波器1 IIR 滤波器的设计freqz功能:数字滤波器的频率响应。

格式:[h ,w ]=freqz (b ,a,n )[h ,f]=freqz(b ,a ,n ,Fs)[h ,w ]=freqz(b ,a,n ,’whole')[h ,f ]=freqz(b,a ,n ,'whole ’,Fs )h=freqz (b ,a ,w)h=freqz (b,a ,f ,Fs)freqz(b ,a)说明:freqz 用于计算由矢量"和b 构成的数字滤波器H (z)=A(z)B(z)= n-1--n -1 l)z a(n ....a(2)z l l)z b(n .... b(2)z b(l)++++++++ 的复频响应H (j ω).[h ,w]=freqz (b,a ,n )可得到数字滤波器的n 点的幅频响应,这n 个点均匀地分布在上半单位圆(即0~π),并将这n 点频率记录在w 中,相应的频率响应记录在h 中。

至于n值的选择没有太多的限制,只要n 〉0的整数,但最好能选取2的幂次方,这样就可采用FFT 算法进行快速计算。

如果缺省,则n=512。

[h ,f ]二freqz(b,a,n ,Fs)允许指定采样终止频率Fs (以Hz 为单位),也即在0~Fs/2频率范围内选取n 个频率点(记录在f 中),并计算相应的频率响应h 。

[h,w]=freqz(b,a,n,’whole’)表示在0~2π之间均匀选取n个点计算频率响应.[h,f]=freqz(b,a,n,'whole',Fs)则在O~Fs之间均匀选取n个点计算频率响应.h=freqz(b,a,w)计算在矢量w中指定的频率处的频率响应,但必须注意,指定的频率必须介于0和2π之间.h=freqz(b,a,f,Fs)计算在矢量f中指定的频率处的频率响应,但指定频率必须介于0和Fs之间。

butter功能:Butterworth(比特沃思)模拟和数字滤波器设计。

信号与系统综合训练MATLAB仿真分析各种滤波器的频率特性

信号与系统综合训练MATLAB仿真分析各种滤波器的频率特性

《信号与系统》综合训练2报告一.训练要求1.利用现有电路知识,设计低通、带通、高通、带阻滤波器,2.写出滤波器的频率响应函数。

3.在MATLAB中,绘制滤波器的频谱图,指出滤波器主要参数,4.说明对所设计的滤波器要提高这些参数该如何改进。

写出改进后滤波器的频率响应函数,绘制改进后的滤波器频谱图二.训练目的1.练习设计低通、带通、高通、带阻滤波器,学会分析滤波器的频率响应函数。

2.学会利用MATLAB仿真分析各种滤波器的频率特性。

三.训练步骤A.低通滤波器1.低通滤波器电路图通过Multisim仿真对电路进行检验,检查电路是否具有低通滤波器的‘通低频,阻高频’的特性输入信号频率为10HZ时,通过滤波器的输出波形如下图输入信号频率为100HZ时,通过滤波器的输出波形如下图通过对比输入频率为10HZ 和100HZ 的输出波形,可以看出该电路具有低通滤波器的‘通低频,阻频’的特性。

2.滤波器的频率响应函数通过对电路进行分析,根据KVL 定理,可得dtdv RCv v cc s += (1) 假定系统初始松弛,这该系统就是线性时不变系统。

假定输入为st e ,这该系统的响应就为)(s H .将输入与输出代入(1)式中。

)2(*********************1111)1()()()()()()()()(RCsH e RCs e H se RC H e s e RCH e H e dte H d RCe H e s stst s st s st st s st s st st s st s st +=+=+=+=+=从2式中可以看出,当s 趋于0时,)(s H 趋于1,此时输入电压等于输出电压。

当s 趋于∞时,)(s H 趋于0,此时输出电压几乎为0。

3.MATLAB 仿真分析频率特性根据频率响应函数RCsH s +=11)( 可以得到系数向量b=[0,1],a=[r*c;1]。

利用MATLAB 求幅度频率响应与相位频率响应程序如下 r=1000;c=1e-8; b=[0,1]; a=[r*c;1];w1=1/(r*c); %c f 的横坐标 w=0:200000;h=freqs(b,a,w); %使用filter 指令实现该滤波器subplot(2,1,1),plot(w,abs(h),w1,0.707,'*r');grid %作系统的幅度频率响图 ylabel('幅度');subplot(2,1,2),plot(w,angle(h)/pi*180);grid %作系统的相位频率响图ylabel('相位');xlabel('角频率/(rad/s)');00.20.40.60.81 1.2 1.4 1.6 1.82x 1050.40.60.81幅度00.20.40.60.81 1.2 1.4 1.6 1.82x 105-80-60-40-200相位角频率/(rad/s)通过上面仿真得到系统的幅度频率响图和相位频率响图,可以清楚的看出该系统为一个低通滤波器,截止频率c f =100KHZ 。

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

实验六《理想滤波器、原型模拟滤波器和窗函数的特性》1、实验内容1、计算下列理想数字滤波器的单位冲激响应,并画出其频率响应和单位冲激响应,观察单位冲激响应波形的对称特性1)理想低通滤波器,截止频率0.3π,群延时102)理想高通滤波器,截止频率0.65 π,群延时203)理想带通滤波器,下、上截止频率0.35 π、0.7 π,群延时152、画出下列原型模拟滤波器的幅度响应特性、相位响应特性和衰减特性,频率范围0—12000Hz (调用freqs),观察它们在通带、阻带、过渡带宽度、相位特性等方面的特点。

1)巴特沃斯低通滤波器,截止频率5000π,阶数5,调用butter2)切比雪夫I型低通滤波器,截止频率5000 π,阶数5,通带波纹0.5dB,调用cheby1 3)切比雪夫II型低通滤波器,截止频率5000 π,阶数5,阻带衰减50dB,调用cheby2 4)椭圆滤波器,截止频率5000 π,阶数5,通带波纹0.5dB,阻带衰减50dB,调用ellip 3、编写程序画出下列窗函数的时域图形和频域特性(幅度dB表示和相位),与矩形窗函数相比,观察它们在阻带最小衰减、主瓣宽带等方面的特点。

1)矩形窗,长度402)三角窗,长度403)升余弦窗,长度404)Blackman,长度402、编程原理、思路和公式1、首先写出理想低通、高通、带通滤波器的频率响应,画出其频谱图,然后根据计算得到的各滤波器的脉冲响应,写出它们的Matlab表达形式,画出脉冲响应图形。

三者的程序类似,只是在具体的频率响应和脉冲响应的形式上有所差别。

低通单位脉冲响应:1,||()0,||jaj c LPceH eωωωωωωπ-⎧⎪⎨⎪⎩≤=<≤对应的单位脉冲响应为:1()()2sin[()] 112()j j nLP LPja j n ch n H e e dn ae e dn aπωωππωωπωπωωππ---=-==-⎰⎰高通单位脉冲响应为:sin[()] ()()n an ach nHP n aωπ=-=--对应的单位脉冲响应为:sin[()]sin[()] ()()H Ln a n a h nBP n aωωπ---=-2、以butterworth低通滤波器为例,其余三种只是调用的函数不同而已,原理相同。

首先写出滤波器的阶数、截至频率,然后调用butter函数得到滤波器的系统函数,再调用freqs函数得到0-12000Hz范围内的频谱函数,最后画出幅度响应特性、相位响应特性和衰减特性的图形。

3、首先调用各种窗的Matlab函数生成各自的时域函数并画出时域图形,然后进行fft变换得到频谱特性,再转化为幅度特性(db表示)和相位特性。

各种窗的Matlab 函数是:矩形窗rectwin,三角窗triang,升余弦窗hanning,blackman窗blackman。

3、程序脚本,并注释1、理想数字滤波器的频率响应和脉冲响应程序:w=linspace(-pi,pi,10^4);delay=10; %确定数字角频率w的取值范围和群延时belta=exp(-j*delay*w);Hjw_abs=zeros(1,10^4);Hjw_abs(find(w>-0.3*pi&w<0.3*pi))=1;%频率响应的幅度取值Hjw=Hjw_abs.*belta;%频率响应Hjw_real=real(Hjw);Hjw_imag=imag(Hjw);Hjw_abs=abs(Hjw);Hjw_angle=angle(Hjw);figure,subplot(2,2,1),plot(w,Hjw_real); %画出实部grid on;xlabel('数字角频率w');title('理想低通滤波器频谱实部');subplot(2,2,2),plot(w,Hjw_imag); %画出虚部grid onxlabel('数字角频率w');title('理想低通滤波器频谱虚部');subplot(2,2,3),plot(w,Hjw_abs); %画出幅度grid on;xlabel('数字角频率w');title('理想低通滤波器频谱幅度');axis([-4 4 -0.1 1.1])subplot(2,2,4),plot(w,Hjw_angle); %画出相角grid on;xlabel('数字角频率w');title('理想低通滤波器频谱相角');%下面给出理想滤波器的脉冲响应n=-20:40;%确定序号n的取值范围使图形具有对称性h_n=0.3*(sin((n-10)*0.3*pi)+eps)./(0.3*(n-10)*pi+eps);%脉冲响应figure,stem(n,h_n);grid onxlabel('序号n');title('理想低通滤波器单位冲激响应');2、四种原型模拟滤波器的程序:%下面是butterworth低通滤波器的特性N=5;W=5000*pi/(2*pi);%确定滤波器阶数和截至频率[b,a]=butter(N,W,'s');%butterworth模拟低通滤波器f=0:12000; %确定频率范围H=freqs(b,a,f);H_abs=abs(H); %butterworth低通滤波器幅度响应H_phase=angle(H);%butterworth低通滤波器相位响应H_decay=20*log10(abs(H));%butterworth低通滤波器衰减响应figure,subplot(311),plot(f,H_abs);%幅度响应grid onxlabel('模拟频率Hz');title('butterworth低通滤波器幅度响应');subplot(312),plot(f,H_decay);%衰减响应grid onxlabel('模拟频率Hz');title('butterworth低通滤波器衰减响应');subplot(313),plot(f,H_phase);%相位响应grid onxlabel('模拟频率Hz');title('butterworth低通滤波器相位响应');%下面是cheby1型低通滤波器的特性N=5;W=5000*pi/(2*pi);R=0.5;%确定滤波器阶数、截至频率和衰减特性[b,a]=cheby1(N,R,W,'s');%cheby1模拟低通滤波器f=0:12000; %确定频率范围H=freqs(b,a,f);H_abs=abs(H); %cheby1低通滤波器幅度响应H_phase=angle(H);%cheby1低通滤波器相位响应H_decay=20*log10(abs(H));%cheby1低通滤波器衰减响应figure,subplot(311),plot(f,H_abs);%幅度响应grid onxlabel('模拟频率Hz');title('cheby1低通滤波器幅度响应');subplot(312),plot(f,H_decay);%衰减响应grid onxlabel('模拟频率Hz');title('cheby1低通滤波器衰减响应');subplot(313),plot(f,H_phase);%相位响应grid onxlabel('模拟频率Hz');title('cheby1低通滤波器相位响应');%下面是cheby2型低通滤波器的特性N=5;W=5000*pi/(2*pi);R=50;%确定滤波器阶数、截至频率和衰减特性[b,a]=cheby2(N,R,W,'s');%cheby2模拟低通滤波器f=0:12000; %确定频率范围H=freqs(b,a,f);H_abs=abs(H); %cheby2低通滤波器幅度响应H_phase=angle(H);%cheby2低通滤波器相位响应H_decay=20*log10(abs(H));%cheby2低通滤波器衰减响应figure,subplot(311),plot(f,H_abs);%幅度响应grid onxlabel('模拟频率Hz');title('cheby2低通滤波器幅度响应');subplot(312),plot(f,H_decay);%衰减响应grid onxlabel('模拟频率Hz');title('cheby2低通滤波器衰减响应');subplot(313),plot(f,H_phase);%相位响应grid onxlabel('模拟频率Hz');title('cheby2低通滤波器相位响应');%下面是椭圆低通滤波器的特性N=5;W=5000*pi/(2*pi);Rp=0.5;Rs=50;%确定滤波器阶数、截至频率和衰减特性[b,a]=ellip(N,Rp,Rs,W,'s');%椭圆模拟低通滤波器f=0:12000; %确定频率范围H=freqs(b,a,f);H_abs=abs(H); %椭圆低通滤波器幅度响应H_phase=angle(H);%椭圆低通滤波器相位响应H_decay=20*log10(abs(H));%椭圆低通滤波器衰减响应figure,subplot(311),plot(f,H_abs);%幅度响应grid onxlabel('模拟频率Hz');title('椭圆低通滤波器幅度响应');subplot(312),plot(f,H_decay);%衰减响应grid onxlabel('模拟频率Hz');title('椭圆低通滤波器衰减响应');subplot(313),plot(f,H_phase);%相位响应grid onxlabel('模拟频率Hz');title('椭圆低通滤波器相位响应');3、四种窗函数的时域图形和频域特性程序:x=-20:19; %确定坐标范围a=rectwin(40);%长度40的矩形窗b=triang(40);%长度40的三角窗c=hanning(40);%长度40的升余弦(汉宁)窗d=blackman(40);%长度40的blackman窗subplot(2,2,1),plot(x,a);%画出矩形窗xlabel('n');title('矩形窗');grid onsubplot(2,2,2),plot(x,b);%画出三角窗xlabel('n');title('三角窗');grid onsubplot(2,2,3),plot(x,c);%画出升余弦(汉宁)窗xlabel('n');title('升余弦(汉宁)窗');grid onsubplot(2,2,4),plot(x,d);%画出blackman窗xlabel('n');title('blackman窗');grid ona_fft=fftshift(fft(a,512));%矩形窗的频谱特性a_db=20*log10(abs(a_fft));%矩形窗的幅度特性(db表示)a_phase=angle(a_fft);%矩形窗的相位特性b_fft=fftshift(fft(b,512));%三角窗的频谱特性b_db=20*log10(abs(b_fft));%三角窗的幅度特性(db表示)b_phase=angle(b_fft);%三角窗的相位特性c_fft=fftshift(fft(c,512));%升余弦窗的频谱特性c_db=20*log10(abs(c_fft));%升余弦窗的幅度特性(db表示)c_phase=angle(c_fft);%升余弦窗的相位特性d_fft=fftshift(fft(d,512));%blackman窗的频谱特性d_db=20*log10(abs(d_fft));%blackman窗的幅度特性(db表示) d_phase=angle(d_fft);%blackman窗的相位特性xw=-255.5/512:1/512:255.5/512;%归一化频率范围figure,subplot(211),plot(xw,rectwindow_db)grid onxlabel('归一化频率');title('矩形窗的幅度特性(db表示)');subplot(212),plot(xw,rectwindow_phase)grid onxlabel('归一化频率');title('矩形窗的相位特性');figure,subplot(211),plot(xw,trianglewindow_db)grid onxlabel('归一化频率');title('三角窗的幅度特性(db表示)');subplot(212),plot(xw,trianglewindow_phase)grid onxlabel('归一化频率');title('三角窗的相位特性');figure,subplot(211),plot(xw,hanningwindow_db)grid onxlabel('归一化频率');title('升余弦窗的幅度特性(db表示)');subplot(212),plot(xw,hanningwindow_phase)grid onxlabel('归一化频率');title('升余弦窗的相位特性');figure,subplot(211),plot(xw,blackmanwindow_db)grid onxlabel('归一化频率');title('blackman窗的幅度特性(db表示)');subplot(212),plot(xw,blackmanwindow_phase)grid onxlabel('归一化频率');title('blackman窗的相位特性');4、仿真结果、图形1、理想数字滤波器的频率响应和脉冲响应:理想低通滤波器的频率响应理想低通滤波器的脉冲响应理想高通滤波器的频率响应理想高通滤波器的脉冲响应理想带通滤波器的频率响应理想带通滤波器的脉冲响应2、四种原型模拟滤波器的幅度特性、相位特性和衰减特性:Butterworth低通滤波器:Cheby1低通滤波器:Cheby2低通滤波器:椭圆低通滤波器:四种窗函数的时域图形:矩形窗的频域图形:三角窗的频域特性:升余弦窗的频域图形:Blackman窗的频域图形:5、结果分析和结论1、从图形中可以看出理想低通滤波器的脉冲响应关于n=10对称,理想高通滤波器的脉冲响应关于n=20对称,理想带通滤波器的脉冲响应关于n=15对称,这是群延时的结果。

相关文档
最新文档