- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字信号处理课程设计- 有限冲激响应滤波器(FIR)的设计
数字信号处理
有限冲激响应FIR)的设计
姓 名:
学 号:
系 别:
班 级:
指导老师:
完成时间:
题目二:有限冲激响应滤波器(FIR)的设计
1. 设计内容:
利用MATLAB编程,分别用窗函数法和等波纹滤波器法设计两种FIR数字滤波器,指标要求如下:
通带边缘频率:,通带峰值起伏:。
阻带边缘频率:,最小阻带衰减:。
2. 设计原理:
图1 一个典型数字低通滤波器的结构
低通滤波器的常用指标:
(1)通带边缘频率;
(2)阻带边缘频率;
(3)通带起伏;
(4)通带峰值起伏;
(5)阻带起伏,最小阻带衰减。
3. 设计报告要求:
简述有限冲激响应滤波器的基本原理;
单位脉冲响应h(n)是一个有限长序列。FIR滤波算法实际上是一种乘法累加运算它不断地输入样本x(n)经延时做乘法累加再输出滤波结果y(n)。 进行z变换整理后可得FIR滤波器的传递函数。
FIR滤波器是指系统的单位脉冲响应h[k]仅在有限范围内有非零值的滤波器。M阶FIR数字滤波器的系统函数H(z)课表示为
完成以上设计内容并对结果进行分析;
可以看出,采用特殊的窗函数,可以减小Gibbs效应,但同时也会使滤波器的过度带变宽。波动幅度取决于窗函数幅度频谱旁瓣的相对幅度, 而波纹的多少取决于窗函数旁瓣的多少。以上两点是就是窗函数直接截断Hd(n)引起的截断效应在频域的反映, 截断效应直接影响滤波器的性能, 因为通带内的波动会影响滤波器痛带中的平稳性, 阻带内的波动则影响阻带最小衰减,因此,减少截断效应也是FIR数字滤波器设计的关键之一。
打印程序清单并画出信号波形(实验仿真截图);
等波纹设计法源程序:
Fp=0.65;%通带频率
Fs=0.75;%阻带频率
ds=0.0079;%求出阻带范围的波动值
dp=0.1087;%求出通带范围的波动值(本设计As=42 DB,Ap=1 DB)
f=[0.3 0.45 0.65 0.75];%通带-阻带范围
a=[0 1 0];%通带范围幅度为1,阻带范围幅度为0
dev=[ds dp ds];%包括了通带波动、阻带波动
[M,fo,ao,w]=remezord(f,a,dev);%调用f\a\dev,通过函数得到所设计滤波器的4项参数
h=remez(M,fo,ao,w);%调用等波纹设计函数,得到所需的滤波器单位脉冲响应
w=linspace(0,pi,1000);%创建数组
H=freqz(h,[1],w);%得到所设计滤波器的幅频
plot(w/pi,20*log10(abs(H)))%画出所设计滤波器的增益
grid on
axis([0 1 -80 5])
结果图:
结果分析:从图中可以看出通带截频为0.4到0.65左右,阻带截频为0.3和0.75,阻带衰减为40,阻带波动为0.1087左右,通带衰减为1,波动较大,基本符合要设计的指标。
窗函数法设计:
代码:
Rs=0.01;
fs=8000;%采样频率
f=[0.3 0.45 0.65 0.75];%待设计的滤波器起始到终点
a=[0,1,0];%通带幅度为1,阻带位置为0
dev=Rs*ones(1,length(a));%阻带波动0.01,通带长度为0—0.65
[M,Wc,beta,ftype]=kaiserord(f,a,dev)%调用凯泽窗函数,得到阶数、截止频率、窗调整因子beta,窗类型
h=fir1(M,Wc,ftype,kaiser(M+1,beta));%调用凯泽函数,得到设计所需的滤波器单位脉冲响应
omega=linspace(0,pi,512);%创建数组,长度0—pi,取值512个点
mag=freqz(h,[1],omega);%得到滤波器幅频函数
plot(omega/pi,20*log10(abs(mag)));%画出所得滤波器的增益图
axis([0 1 -80 5])
grid on
xlabel(频率/赫兹);
ylabel(增益/分贝);
title(滤波器的增益响应);
f1=500;f2=1000;f3=2000;f4=3000;%待滤波正弦信号频率
t=(0:200)/fs;%定义时间的步长
s=sin(2*f1*pi*t)+sin(2*f2*pi*t)+sin(2*f3*pi*t)+sin(2*f4*pi*t);%滤波前信号
sf=filter(h,1,s);%使用filter函数对信号进行滤波
figure(2)
subplot(211)
原创力文档


文档评论(0)