理想滤波器、原型模拟滤波器和窗函数的特性matlab6
信号采集与处理--MATLAB窗函数及其特征

信号采集与处理MATLAB 窗函数及其特征数字信号处理中通常是取其有限的时间片段进行分析,而不是对无限长的信号进行测量和运算。
具体做法是从信号中截取一个时间片段,然后对信号进行傅里叶变换、相关分析等数学处理。
信号的截断产生了能量泄漏,而用FFT算法计算频谱又产生了栅栏效应,从原理上讲这两种误差都是不能消除的。
在FFT分析中为了减少或消除频谱能量泄漏及栅栏效应,可采用不同的截取函数对信号进行截短,截短函数称为窗函数,简称为窗。
泄漏与窗函数频谱的两侧旁瓣有关,对于窗函数的选用总的原则是,要从保持最大信息和消除旁瓣的综合效果出发来考虑问题,尽可能使窗函数频谱中的主瓣宽度应尽量窄,以获得较陡的过渡带;旁瓣衰减应尽量大,以提高阻带的衰减,但通常都不能同时满足这两个要求。
频谱中的如果两侧瓣的高度趋于零,而使能量相对集中在主瓣,就可以较为接近于真实的频谱。
不同的窗函数对信号频谱的影响是不一样的,这主要是因为不同的窗函数,产生泄漏的大小不一样,频率分辨能力也不一样。
信号的加窗处理,重要的问题是在于根据信号的性质和研究目的来选用窗函数。
图1是几种常用的窗函数的时域和频域波形,其中矩形窗主瓣窄,旁瓣大,频率识别精度最高,幅值识别精度最低,如果仅要求精确读出主瓣频率,而不考虑幅值精度,则可选用矩形窗,例如测量物体的自振频率等;布莱克曼窗主瓣宽,旁瓣小,频率识别精度最低,但幅值识别精度最高;如果分析窄带信号,且有较强的干扰噪声,则应选用旁瓣幅度小的窗函数,如汉宁窗、三角窗等;对于随时间按指数衰减的函数,可采用指数窗来提高信噪比。
表1 是几种常用的窗函数的比较。
如果被测信号是随机或者未知的,或者是一般使用者对窗函数不大了解,要求也不是特别高时,可以选择汉宁窗,因为它的泄漏、波动都较小,并且选择性也较高。
但在用于校准时选用平顶窗较好,因为它的通带波动非常小,幅度误差也较小。
5.3 广义余弦窗汉宁窗、海明窗和布莱克曼窗,都可以用一种通用的形式表示,这就是广义余弦窗。
实验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实验六理想滤波器、原型模拟滤波器和窗函数的特性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中常用的滤波函数,包括低通滤波、高通滤波、带通滤波以及无限冲激响应滤波器等。
同时,将逐步回答一系列问题,以帮助读者全面理解和使用这些滤波函数。
一、低通滤波器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函数简表

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关于滤波器的程序以及函数解析

信号的采集程序[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设计滤波器

用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仿真分析各种滤波器的频率特性

《信号与系统》综合训练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 。
MATLAB技术滤波器设计教程

MATLAB技术滤波器设计教程引言:滤波器是数字信号处理中非常重要的部分,它可以用来改变信号的频率响应,滤除噪声,增强信号的特定频段等。
MATLAB作为一种强大的数学计算和工程仿真软件,在滤波器设计上也提供了丰富的工具和函数。
本文将介绍MATLAB中滤波器的基本概念,以及如何利用MATLAB进行滤波器设计。
一、滤波器基础知识1.1 数字滤波器和模拟滤波器数字滤波器和模拟滤波器是两种不同领域的滤波器。
数字滤波器处理数字信号,信号的采样点是离散的;而模拟滤波器处理模拟信号,信号是连续的。
在本文中,我们主要关注数字滤波器。
1.2 滤波器类型常见的滤波器类型包括低通滤波器、高通滤波器、带通滤波器和带阻滤波器。
低通滤波器允许低于截止频率的信号通过,滤除高于截止频率的信号。
高通滤波器则相反,允许高于截止频率的信号通过,滤除低于截止频率的信号。
带通滤波器允许特定频段的信号通过,滤除其他频率的信号。
带阻滤波器则相反,只允许除了特定频段之外的信号通过。
1.3 滤波器设计参数滤波器的设计需要考虑几个重要参数,包括截止频率、通带增益、阻带衰减和滤波器阶数。
截止频率决定了滤波器的工作范围,通带增益决定了信号通过滤波器时的增益,阻带衰减表示滤波器抑制某一频段的能力,滤波器阶数表示滤波器的复杂度和性能。
二、MATLAB中的滤波器设计函数MATLAB提供了多种函数用于滤波器设计,其中最常用的是fir1和butter函数。
fir1函数用于设计FIR滤波器,butter函数用于设计IIR滤波器。
以下分别介绍这两个函数的使用方法。
2.1 fir1函数fir1函数是一种针对FIR滤波器设计的函数。
其基本语法为:h = fir1(N, Wn, 'type')其中,N是滤波器阶数,Wn是归一化的截止频率,'type'为滤波器类型,可以是'low'、'high'、'bandpass'或'bandstop'。
FIR滤波器窗函数设计法详细步骤以及Matlab代码

FIR滤波器窗函数设计法详细步骤以及Matlab代码采⽤窗函数法设计理想低通,⾼通滤波器,参考北京交通⼤学陈后⾦主编的【数字信号处理】5.2节窗函数法设计线性相位FIR数字滤波器P164,和P188。
设计步骤如下:1)确定滤波器类型,不同的FIR类型可设计不同类型的滤波器,I型可设计LP(低通滤波器),HP(⾼通滤波器),BP(带通滤波器),BS(带阻滤波器)。
Fir I型Fir II型Fir III型Fir IV型LP,HP,BP,BS LP,BP BP HP,BP,BS2)确定设计的滤波器的参数Eg:若要设计⼀个低通滤波器,fp=20,fs=30;Ap=1,As=40,则3db截频Wc = 2*pi*(fs-fp)/Fs;Fs为采样频率。
3)确定窗函数窗的类型主瓣宽度近似过渡带宽度δp,δs Ap(dB)As(dB)矩形窗4pi/N 1.8pi/N0.090.8221Hann8pi/N 6.2pi/N0.00640.05644Hamming8pi/N7pi/N0.00220.01953Blackman12pi/N11.4pi/N0.00020.001774Kaiser可调窗,需要确定β值 50<A , β = 0.1102(A-8.7); 21<=A<=50, β=0.5842(A-21)^0.4 + 0.07886(A-21); A<21, β = 0;4) 确定滤波器的阶数M,⾸先确定滤波器的长度N。
对于除凯撒窗以外的窗函数,N值由以下公式确定:N>=(窗函数近似过渡带宽度)/(Wp-Ws)Fir I型Fir II型Fir III型Fir IV型脉冲响应h[k]为偶对称h[k]为偶对称h[k]为奇对称h[k]为奇对称窗函数长度:N=mod(N+1,2)+N N=mod(N,2)+N N=mod(N+1,2)+N N=mod(N,2)+N阶数M=N-1为偶数M=N-1为奇数M=N-1为偶数M=N-1为奇数若采⽤Kaiser窗,则M≈(A-7.95)÷ 2.285*|Wp-Ws|,A>21。
Matlab设计模拟滤波器

VS
滤波器分类
根据不同的分类标准,滤波器可以分为多 种类型。常见的分类包括按照工作原理可 以分为低通滤波器、高通滤波器、带通滤 波器和带阻滤波器;按照处理信号可以分 为模拟滤波器和数字滤波器;按照实现方 式可以分为无限冲激响应(IIR)滤波器和 有限冲激响应(FIR)滤波器。
滤波器的频率响应
频率响应定义
02
03型 和性能参数
选择或设计滤波 器原型
归一化滤波器参 数
应用变换规则
验证和优化
首先需要确定滤波器的类 型(如低通、高通、带通 、带阻)以及期望的性能 参数,如通带波动、阻带 衰减等。
根据性能参数选择合适的 滤波器原型,或者根据特 定需求设计新的滤波器原 型。
对滤波器参数进行归一化 处理,以便在后续步骤中 方便地实现不同频率和阻 抗的滤波器。
滤波器的频率响应是指在各个频率点上,滤波器对信号的幅度和相位处理能力。
频率响应特性
频率响应可以描述为通过滤波器的信号在各个频率点上的增益和相位偏移。对于不同类型的滤波器, 其频率响应特性也不同。例如,低通滤波器允许低频信号通过,而对高频信号进行抑制;高通滤波器 则相反。
滤波器的设计方法
经典设计法
经典设计法是根据给定的技术指标,如通带、阻带边缘频率、通带波动和阻带衰减等,通过理论计算得到滤波器 的系数或元件值。这种方法设计出的滤波器性能较好,但计算过程较为复杂。
算法开发
Matlab支持各种算法开发,包括信号处理、 图像处理、机器学习等。
交互式编程
Matlab采用简洁的语法和交互式编程环境, 方便用户快速编写和调试代码。
Matlab的应用领域
科学研究
Matlab广泛应用于数学、物理、工程等领域的研究工作。
matlab窗函数法设计数字滤波器

matlab窗函数法设计数字滤波器
好的,下面为你介绍使用matlab窗函数法设计数字滤波器的步骤:
1. 确定指标:确定需要设计的滤波器的指标,如滤波器的类型、过渡带宽度、阻带最小衰减等。
2. 选择窗函数:根据滤波器指标选择合适的窗函数,常见的窗函数有矩形窗、汉宁窗、海明窗等。
3. 计算滤波器系数:根据选择的窗函数和滤波器指标,计算滤波器的系数。
4. 编写matlab代码:使用matlab编写代码,实现数字滤波器的设计。
5. 验证滤波器性能:使用设计好的数字滤波器对信号进行滤波处理,验证滤波器的性能是否符合指标要求。
窗函数法是一种简单实用的设计数字滤波器的方法,你可以根据实际需求选择合适的窗函数和滤波器指标,设计出满足要求的数字滤波器。
MATLAB中的数字滤波器设计方法详解

MATLAB中的数字滤波器设计方法详解一、引言数字滤波器是数字信号处理中常用的工具,用于去除信号中的噪声或干扰,以提高信号质量。
MATLAB作为一种强大的数学计算和编程环境,提供了多种数字滤波器设计方法。
本文将详细介绍MATLAB中常用的数字滤波器设计方法及其原理,包括FIR和IIR两种类型。
二、FIR数字滤波器设计方法FIR(Finite Impulse Response)数字滤波器是一种线性时不变系统,其特点是稳定性好、相位线性且易于实现。
MATLAB提供了三种常用的设计方法,分别是频率采样法、窗函数法和最小均方误差法。
1. 频率采样法频率采样法是一种直观且易于理解的设计方法。
其基本思想是在频域上等间距地采样滤波器的幅频响应,并根据要求的通带和阻带特性插值得到滤波器的冲激响应。
MATLAB中,可以使用fir1函数来实现频率采样法设计FIR滤波器,其参数包括滤波器阶数和频域特性。
2. 窗函数法窗函数法是一种常用的FIR滤波器设计方法。
它的基本思想是选取一个窗函数,在时域上将窗函数与理想低通滤波器的冲激响应卷积,得到实际滤波器的冲激响应。
MATLAB中,可以使用fir1函数结合窗函数来实现FIR滤波器的设计,其参数包括滤波器阶数、截止频率和窗函数类型。
3. 最小均方误差法最小均方误差法是一种优化设计方法。
其基本思想是在均方误差最小的条件下,通过对滤波器的系数进行优化来设计滤波器。
MATLAB中,可以使用firls函数来实现最小均方误差法设计FIR滤波器,其参数包括滤波器阶数、频域特性和频率与幅度的对应关系。
三、IIR数字滤波器设计方法IIR(Infinite Impulse Response)数字滤波器是一种递归系统,其特点是节省存储空间,但相对于FIR滤波器更难稳定且相位非线性。
MATLAB提供了两种常用的设计方法,分别是巴特沃斯滤波器设计和脉冲响应不变法。
1. 巴特沃斯滤波器设计巴特沃斯滤波器是一种常见的IIR滤波器,其特点是幅频响应在通带具有最小衰减斜率,在阻带具有最大衰减斜率。
MATLAB窗函数

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函数的使用 在MA TLAB 下设计标准响应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窗函数法滤波器提取人声

matlab窗函数法滤波器提取人声摘要:1.引言2.MATLAB 窗函数法滤波器的原理3.人声提取的步骤4.结果与分析5.结论正文:1.引言在音频信号处理领域,滤波器技术被广泛应用。
其中,MATLAB 窗函数法滤波器在人声提取方面有着显著的效果。
本文将介绍如何使用MATLAB 窗函数法滤波器提取人声。
2.MATLAB 窗函数法滤波器的原理窗函数法滤波器是一种模拟人耳听觉特性的滤波器,其原理是按照人耳的听觉频率响应特性设计滤波器。
MATLAB 提供了多种窗函数,如汉宁窗、汉明窗、布莱克曼窗等。
这些窗函数可以有效地降低旁瓣,提高滤波器的选择性。
3.人声提取的步骤(1)音频信号预处理:对输入的音频信号进行预处理,包括预加重、分帧等操作,以便后续的滤波处理。
(2)选择合适的窗函数:根据音频信号的特性,选择合适的窗函数,如汉宁窗、汉明窗或布莱克曼窗。
(3)设计滤波器:根据所选窗函数和音频信号的采样率,设计出相应的滤波器。
(4)滤波处理:将滤波器应用于音频信号,得到滤波后的信号。
(5)后处理:对滤波后的信号进行后处理,如幅度限幅、峰值削顶等,以提高人声的音质。
4.结果与分析经过上述步骤,可以得到提取后的人声信号。
通过对比原始音频信号和提取后的人声信号,可以发现MATLAB 窗函数法滤波器在人声提取方面的效果显著。
不仅能够有效地去除背景噪声,还能保留人声的清晰度。
5.结论MATLAB 窗函数法滤波器在人声提取方面具有较高的应用价值。
通过合理的窗函数选择和滤波器设计,可以实现较好的人声提取效果。
matlab窗函数设计数字滤波器及信号的分频滤波设计要点

目录目录 (1)摘要 (2)1 MATLAB的概况 (2)2 MATLAB结合窗函数设计法原理 (3)3 各类窗函数简介 (6)3.1 基本窗函数 (6)3.2 矩形窗函数 (6)3.3汉宁窗(升余弦窗) (7)4 方案设计 (8)5 编程实现 (8)5.1信号的编程实现 (8)5.2 带通滤波器的设计 (10)5.3 高通滤波器的设计 (12)5.4 信号的分离 (13)实验总结 (16)致谢 (17)参考文献 (18)摘要现在数字滤波器广泛用于通信与信号处理领域同时MATLAB也在信号处理和仿真开发中,发挥着越来越重要的地位。
此次设计正是基于MATLAB数字滤波器的分频滤波设计。
关键字:MATLAB 数字滤波器分频滤波1 MATLAB的概况MATLAB是矩阵实验室(Matrix Laboratory)之意。
除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多.应用MATLAB这一软件来设计滤波器,与传统的设计思路相比是非常的简便的.具体来说主要有以下几点:1) MATLAB的GUID可以提供给使用者一个进行人机交换的环境,在此环境中,使用者没有必要了解程序内部具体的编写情况,在这个界面上他只要输入他所期望的滤波器的性能指标就可以了。
2) 利用MATLAB可以进行系统仿真,也就是说,使用者可以通过计算机进行对数字滤波器的频率响应图据的处理和波形的检测,不像以前必须借助一定的实验器材才可以得到。
3) MATLAB内部有丰富的函数可供调用,使用者只需要根据自己的需要查到所需要的函数名,那就可以直接调用使用了.不需要自己把函数详细的编写出来.使编写内部程序变的简单。
MATLAB包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类.开放性使MATLAB广受用户欢迎.除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包.2 MATLAB结合窗函数设计法原理数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。
matlab中关于数字滤波器的函数介绍

MATLAB下的数字信号处理实现示例一信号、系统和系统响应1、理想采样信号序列(1)首先产生信号x(n),0<=n<=50n=0:50; %定义序列的长度是50A=444.128; %设置信号有关的参数a=50*sqrt(2.0)*pi;T=0.001; %采样率w0=50*sqrt(2.0)*pi;x=A*exp(-a*n*T).*sin(w0*n*T); %pi是MATLAB定义的π,信号乘可采用“.*”close all %清除已经绘制的x(n)图形subplot(3,1,1);stem(x); %绘制x(n)的图形title(‘理想采样信号序列’);(2)绘制信号x(n)的幅度谱和相位谱k=-25:25;W=(pi/12.5)*k;X=x*(exp(-j*pi/12.5)).^(n’*k);magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title(‘理想采样信号序列的幅度谱’);angX=angle(X); %绘制x(n)的相位谱subplot(3,1,3);stem(angX) ; title (‘理想采样信号序列的相位谱’)(3)改变参数为:1,0734.2,4.0,10==Ω==TAαn=0:50; %定义序列的长度是50A=1; %设置信号有关的参数a=0.4;T=1; %采样率w0=2.0734;x=A*exp(-a*n*T).*sin(w0*n*T); %pi是MATLAB定义的π,信号乘可采用“.*”close all %清除已经绘制的x(n)图形subplot(3,1,1);stem(x); %绘制x(n)的图形title(‘理想采样信号序列’);k=-25:25;W=(pi/12.5)*k;X=x*(exp(-j*pi/12.5)).^(n’*k);magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title(‘理想采样信号序列的幅度谱’);angX=angle(X); %绘制x(n)的相位谱subplot(3,1,3);stem(angX) ; title (‘理想采样信号序列的相位谱’)2、单位脉冲序列在MatLab中,这一函数可以用zeros函数实现:n=1:50; %定义序列的长度是50x=zeros(1,50); %注意:MATLAB中数组下标从1开始x(1)=1;close all;subplot(3,1,1);stem(x);title(‘单位冲击信号序列’);k=-25:25;X=x*(exp(-j*pi/12.5)).^(n’*k);magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title(‘单位冲击信号的幅度谱’);angX=angle(X); %绘制x(n)的相位谱subplot(3,1,3);stem(ang X) ; title (‘单位冲击信号的相位谱’)3、矩形序列n=1:50x=sign(sign(10-n)+1);close all;subplot(3,1,1);stem(x);title(‘单位冲击信号序列’);k=-25:25;X=x*(exp(-j*pi/25)).^(n’*k);magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title(‘单位冲击信号的幅度谱’);angX=angle(X); %绘制x(n)的相位谱su bplot(3,1,3);stem(angX) ; title (‘单位冲击信号的相位谱’)4、特定冲击串:)3()2(5.2)1(5.2)()(−+−+−+=nnnnnxδδδδn=1:50; %定义序列的长度是50x=zeros(1,50); %注意:MATLAB中数组下标从1开始x(1)=1;x(2)=2.5;x(3)=2.5;x(4)=1;close all;subplot(3,1,1);stem(x);title(‘单位冲击信号序列’);k=-25:25;X=x*(exp(-j*pi/12.5)).^(n’*k);magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title(‘单位冲击信号的幅度谱’);angX=angle(X); %绘制x(n)的相位谱subplot(3,1,3);stem(angX) ; title (‘单位冲击信号的相位谱’)5、卷积计算:Σ+∞−∞=−=∗=mmnhmxnhnxny)()()()()(在MATLAB中。
基于matlab的滤波器特性分析与比较

基于Matlab 的滤波器特性分析与比较1、简述滤波器的原理、分类及应用。
答:滤波器原理:滤波器是一种能使有用的信号通过而同时抑制无用频率信号的电子装置。
滤波器分类:低通滤波器、高通滤波器、带通滤波器、带阻滤波器。
应用:工程上通常用来处理信号、数据传输和抑制干扰等。
2、以一阶、二阶无源和有源低通〔或高通/带通〕滤波器为例,编制Matlab 程序绘制其频率特性曲线并进展分析和比较,得出相应结论。
解:〔1〕一阶无源滤波器〔RC 低通〕:传递函数为 F (S )=U 2(S)U 1(S)=1RCs+1 F(f)=1√1+(2πRCf)2e −jarctan(2πRCf)分析:以f=12πRC ,前面低频可以通过,后面的高频就很难通过,特别是频率很高。
f=0:0.01:3;F=1./sqrt(1+f.^2)plot(f,F);title('幅频')xlabel('2πRC f');ylabel('|F(f)|')〔2〕二阶无源滤波器〔RC 低通〕:传递函数为F (S )=U 2(S)U 1(S)=1(RCs)2+RCs +1 |F (f )|=1√1+4πRCf +(2πRCf)20.51 1.52 2.530.20.40.60.81幅频2πRCf |F (f )|f=1/2πRCC R u 1 u 2C R C Ru 1 u 2分析:以f =√5−24πRC 〔|F(f)|〕,前面低频可以通过,后面的高频就很难通过。
f=0:0.01:3; F=1./sqrt(1+2.*f+f.^2)plot(f,F);title('幅频')xlabel('2πRC f');ylabel('|F(f)|') 〔3〕二阶有源滤波器〔RC 低通〕:为了计算方便电阻都设为R ,传递函数为F (S )=U 2(S)U 1(S)=2R 2Cs+R2(RCs)2+(R 3C+4R 2C+3RC )s+2R+1F (S )=U 2(S)U 1(S)=2s +12s 2+8s +3 假设RC =1,F(S)=(2s +1)/(2s^2+8s +3)分析:图和RC 的选择有关,有源低通滤波器也能实现低通滤波功能,假设单纯从上图看边界频率是比无源的要大,这和RC 选择有关,由于程度有限我只能做到这!w=0:1:30;F=sqrt(4.*w.^2+1)./sqrt(64.*w.^2+(3-2.*w.^2).^2)plot(w,F);title('幅频')xlabel('w');ylabel('|F(w)|') 00.51 1.52 2.530.20.40.60.81幅频2πRCf |F (f )|f=(sqrt5-2)/(4πRC)05101520253000.10.20.30.4幅频w |F (w )|R R u 2Cu 1 CR R。
MATLABGUI设计FIR滤波器(窗函数)

1 数字滤波器的概括................................................................................................ 错误 ! 不决义书签。
FIR 数字滤波器设计原理错误 !不决义书签。
FIR 数字滤波器的特征错误 ! 不决义书签。
窗函数的介绍错误 !不决义书签。
2 FIR 数字滤波器设计及实现错误 !不决义书签。
低通滤波器的设计错误 ! 不决义书签。
高通滤波器的设计错误 ! 不决义书签。
带通滤波器的设计错误 ! 不决义书签。
带阻滤波器的设计错误 ! 不决义书签。
3 鉴于 MATLAB GUI 的 FIR 滤波器的仿真错误 !不决义书签。
FIR 数字滤波器设计所实现的任务错误 ! 不决义书签。
FIR 数字滤波器界面设计错误 !不决义书签。
FIR 数字滤波器函数的编写错误 !不决义书签。
菜单 FilterType 的回调函数错误 !不决义书签。
显示种类 DispType 的函数错误 !不决义书签。
阶数 N 和最小阶数N 按钮的函数错误 ! 不决义书签。
文本编写框的回调函数错误 !不决义书签。
滤波器波形按钮的回调函数错误 !不决义书签。
文本框 Rp 和 Rs 的函数错误 !不决义书签。
产生信号按钮的回调函数错误 !不决义书签。
滤波后的信号按钮的回调函数错误 !不决义书签。
按钮 Quit 的回调函数错误 ! 不决义书签。
总程序的编写错误 !不决义书签。
4 实验结果与显示错误 !不决义书签。
5结束语错误 !不决义书签。
6感谢错误 !不决义书签。
7参照文件错误 !不决义书签。
附录错误 ! 不决义书签。
鉴于 MATLAB 的 FIR数字滤波器的设计与仿真李宏华湛江师范学院信息科学与技术学院,湛江524048摘要:本文从 FIR 数字滤波器的设计原理和特征下手,实现了用MATLAB 设计 FIR 数字滤波器的功能,要点论述了经过MATLAB GUI 实现了 FIR 数字滤波器的仿真。
滤波器的性能指标及MATLAB仿真-Read

滤波器的性能指标及MATLAB 仿真常见的FIR 数字滤波器有带阻、带通、低通和高通四种,这里选择低通滤波器为例,具体性能指标包括:通带截止频率0.2p ωπ=,阻带截止频率0.3s ωπ=,实际通带波动0.25p R dB =,最小阻带衰减50s A dB =,抽样频率10000Fs Hz =。
根据上述的性能指标,我们采样窗函数设计法,常见的窗函数有很多,例如汉明窗、布莱克曼窗及凯塞窗等等,MATLAB 提供了几个子程序用于实现这些窗函数,以下为子程序:(1) w=boxcar(M)在数组w 中产生M 点的矩形窗函数;(2) w=triang(M)在数组w 中产生M 点的Bartlett (三角形)窗函数;(3) w=hanning(M)在数组w 中产生M 点的Hanning 窗函数;(4) w=hamming(M)在数组w 中产生M 点的Hamming 窗函数;(5) w=Blackman(M)在数组w 中产生M 点的Blackman 窗函数;(6) w=Kaiser(M,beta)在数组w 中产生beta 值的M 点矩形窗函数;利用这些子程序就能用MATLAB 设计基于窗函数法的FIR 数字滤波器,当然也要求一个理想低通脉冲响应()d h n 。
因此,有一个单一的子程序创建()d h n 是方便的,该子程序如下给出:Function hd=ideal_lp(wc,M);%Ideal LowPass filter computation%---------------------------------%[hd]=ideal_lp(wc,M)%hd=ideal impulse response between 0 to M-1%wc=cutoff frequency in radians%M=length of the ideal filter%alpha=(M-1)/2;n=[0:1:(M-1)];m=n-alpha+eps;%add smallest number to avoid divide by zerohd=sin(wc*m)./ (pi*m);接下来进行滤波器的程序设计,在窗函数的选择方面,选择凯塞窗作为对信号进行截断的窗函数,凯塞窗是一种适应性比较强的窗,其窗函数的表示式为:0()w n =0≤n ≤N-1 (3-1) 其中0()I 是第一类变形零阶贝塞尔函数,β是一个可自由选择的参数,它可以同时调整主瓣宽度与旁瓣电平,β越大,则()w n 窗越窄,而频谱的旁瓣越小,但主瓣宽度也相应增加。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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对称,这是群延时的结果。