信号与系统课程设计-滤波器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大作业之滤波器设计
目录
一、实验背景
二、实验目的与要求
三、实验设计与思路
四、实验分析与结果
五、实验发挥
六、实验总结与体会
七、附件
一、实验背景
通过对信号与系统这门课的学习,随着课程学习到了尾声,有必要对这门课进行一次比较彻底的认识,因此完成课程实践的最后一项内容——滤波器的设计。
二、实验目的与要求
设计三个滤波器,实现单独提取单个频率分量的功能,即实现低通、带通和高通,并撰写大作业实验报告。
三、实验设计与思路
滤波器原理:滤波器是一种选频装置,可以使信号中特定的频率成分通过,而极大地衰减其它频率成分。由于该功能可以由许多种方式完成,而我设计的是FIR数字滤波器,使用hamming窗实现信号的筛选。根据已知模拟信号表达式:
x(t)=cos(2*pi*500*t)+cos(2*pi*1000*t)+cos(2*pi*2000*t);从中知道我的实现频率为
f1=500,f2=1000,f3=2000;再根据定义的采样频率fs=500*(5+7)=6000;
根据滤波器的选频作用分类,
⑴低通滤波器
从0~f2频率之间,幅频特性平直,它可以使
信号中低于f2的频率成分几乎不受衰减地通过,而
高于f2的频率成分受到极大地衰减。但是在实际设
计滤波器时f2处为0.707A处,要使滤波成功,就必
f1.须在通带到过渡带和过渡带到阻带处设两个两个截止频率,是fc=[440,580];根据自己的要求
⑵高通滤波器
与低通滤波相反,从频率f1~∞,其幅频
特性平直。它使信号中高于f1的频率成分几乎
不受衰减地通过,而低于f1的频率成分将受到极大
地衰减。同理,在设计时同样要根据自己的要求定
义过渡带的截止频率fn=[1890,1980];
⑶带通滤波器
~f2之间。它使信号中高于f1而
低于f2的频率成分可以不受衰减地通过,而其
它成分受到衰减。
即fc=[890,910,1090,1130];
注:MATLAB中fir1函数使用说明:fir1是用窗函数法设计线性相位RIRDF的工具箱函数,以实现线性相位FIRDF的标准窗函数法设计。●hn=fir1(M,wc),返回6dB截止频率为wc的M阶(单位脉冲响应h(n)长度N=M+1)FIR低通(wc为标量)滤波器系数向量hn,默认选用哈明窗。滤波器单位脉冲响应h(n)与向量hn的关系为h(n)=hn(n+1),n=0,1,2,3,……,M 而且满足线性相位条件:h(n)=h(N-1-n)。其中wc为对π归一化的数字频率,0= ●hn=fir1(M,wc,window),可以指定窗函数向量window。默认为哈明窗。例如,hn=fir1(M,wc,bartlett(M+1)),使用Bartlett窗设计。hn=fir1(M,wc,blackman(M+1)),使用blackman窗设计。hn=fir1(M,wc,'ftype',window),通过选择wc,ftype和window参数(含义同上),可以设计各种加窗滤波器。这里我才用的是默认的hanming窗滤波法。 四、实验分析与结果 1、原信号显示 clear; fs=6000;% 采样频率为6000 Hz t=(1:128)/fs;%定义时间轴长度 x=cos(2*pi*500*t)+cos(2*pi*1000*t)+cos(2*pi*2000*t); L=length(x);N=2^(nextpow2(L));Hw=fft(x,N); 运行结果(频谱只表示一半): 2、% 设计低通滤波器进行滤波 fc=[440*2/fs,580*2/fs];% 归一化的截止频率 n=64; %设置短时傅里叶变换的长度,同时也是汉明窗的长度window=hamming(n+1);%设置汉明窗,hamming窗函数调用 b=fir1(n,fc,window); x_1=filter(b,1,x); % 滤波 x_1(1:ceil(n))=[]; % 群延时n,删除无用信号部分 L=length(x_1); %得到x_1信号的长度 N=2^(nextpow2(L)); %对信号进行快速的Fouriers变换(FFT) Hw_1=fft(x_1,N); 低通滤波器滤波后的x_1信号及频谱: 2、% 设计带通滤波器进行滤波 fc=[890*2/fs,910*2/fs,1090*2/fs,1130*2/fs];% 归一化的截止频率n=64;%定义阶数 window=hamming(n+1);%hamming窗函数调用 b=fir1(n,fc,window); x_2=filter(b,1,x);% 滤波 % 群延时n,删除无用信号部分 x_2(1:ceil(n))=[]; L=length(x_2);N=2^(nextpow2(L)); Hw_2=fft(x_2,N); 带通滤波器滤波后的x_1信号及频谱: