- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字滤波器设计与仿真程序
MATLAB 的数字滤波器设计与仿真
任淑萍,王欣峰
最优化设计方法:利用 rmezord 函数设计一个最小阶次的低通滤波器, 其通带截止频率为 500Hz,阻带截止频率为 600 Hz,采样频率为 2 000 Hz,最小阻带衰减为 40 db,通带纹波小于 3 db,其 MATLAB实现程序如下:
clear all;
rp=3;
rs=40;
fs=2000;
f=[500 600];
a=[1 0];
dev=[(10^(rp/20)-1)/(10^(rp/20)+1) 10^(-rs/20)];
[n,fo,ao,w]=remezord(f,a,dev,fs);
b=remez(n,fo,ao,w);
freqz(b,1,1024,fs);
clear all;
rp=3;
rs=40;
fs=2000;
f=[500 600];
a=[1 0];
dev=[(10^(rp/20)-1)/(10^(rp/20)+1) 10^(-rs/20)];
[n,fo,ao,w]=remezord(f,a,dev,fs);
b=remez(n,fo,ao,w);
t=(0:100)/fs;
x=sin(2*pi*t*300)+sin(2*pi*t*800);
x1=filter(b,1,x);
figure;
subplot(211);plot(t,x);grid;
subplot(212);plot(t,x1);grid;
FIR 数字滤波器的 Matlab 实现
许书云
2.2 FIR低通滤波器的设计
以设计一个FIR低通滤波器,实现100 Hz正弦波信
号的滤波为例,设计过程如下。
首先,根据设计要求和FDATOOL工具箱的工作界
面,确定FIR数字滤波器的设计指标,其中设置采样频
率和选择窗函数最为关键。
根据采样定理,当采样频率大于信号中最高频率
的2倍时,则采样之后的数字信号完整地保留了原始
信号中的信息,一般实际应用中保证采样频率为信最高频率的5~10倍,在此例中,F
pass
= 100 Hz,F
stop
= 800 Hz,
因此,采样频率选定为F
s
= 10 kHz。
为了获得较高的信噪比减少频谱能量泄漏,使设
计的滤波器满足工程需要,常选用不同的窗函数来改
善滤波器的幅频特性。由于频谱能量泄漏与窗函数频
谱的两侧旁瓣有关,旁瓣幅度越小且幅度下降速度越
快,过渡带越窄,阻带衰减越大则能量越集中在主瓣,
滤波器的性能越好。在实际应用时要综合考虑以上的
指标选择窗函数。
设计FIR滤波器常用的窗函数有:矩形窗函数、三
角窗函数、汉宁窗函数、海明窗函数、凯泽(Kaiser)窗
函数。具体指标如表1所示
[8]
。
基于 MATLAB 的 FIR 数字滤波器的窗函数法设计与仿真
*
徐 欢
clear all;
wls=0.2*pi;
wlp=0.35*pi;
whp=0.65*pi;
wc=[wlp/pi,whp/pi];
B=wlp-wls;
N=ceil(8/0.15);
n=0:N-1;
window=hanning(N);
[h1,w]=freqz(window,1);
subplot(2,2,1);
stem(window);
axis([0 60 0 1.2]);
grid;
xlabel(n);
title(Hanning 窗函数);
subplot(2,2,2);plot(w/pi,20*log(abs(h1)/abs(h1(1))));
axis([0 1 -350 0]);
grid;
xlabel(w/pi);
ylabel(幅度(db));
title(Hanning 窗函数频谱);
hn=fir1(N-1,wc,hanning(N));
[h2,w]=freqz(hn,1,512);
subplot(2,2,3);stem(n,hn);
axis([0 60 -0.25 0.25]);
grid;
xlabel(n);
ylabel(h(n));
title(Hanning 窗函数的单位脉冲响应);
subplot(2,2,4);
plot(w/pi,20*log(abs(h2)/abs(h2(1))));grid;
grid;
xlabel(w/pi);
ylabel(幅度(db));
title(Hanning 窗设计带通滤波器的幅频响应);
基于 MATLAB 的 FIR 数字滤波器设计高 峰 徐献灵
wp=0.3*pi;ws=0.45*pi;
wdelta=ws-wp;N=ceil(8*pi/wdelta);
Nw=N;
wc=(wp+ws)/2;
win=hamming(Nw);
b=f
文档评论(0)