最小阻带衰减AS没有影响。在确定窗函数类型以后,可根据过渡带宽小于给定指标确定所拟用的窗函数的窗口长度N。设待求滤波器的过渡带宽为△ω,它与窗口长度N近似成反比。窗函数类型确定后,其计算公式也确定了,不过这些公式是近似的,得出的窗口长度还要在计算中逐步修正。原则是在保证阻带衰减满足要求的情况下,尽量选择较小的N。在N和窗函数类型确定后,即可调用MATLAB中的窗函数求出窗函数Wd(n)。
2.根据待求滤波器的理想频率响应求出理想单位脉冲响应hd(n)。如果给出
j?H(e),则理想的单位脉冲响应可以用傅里叶反变换d待求滤波器的频率响应为
式得到,在一般情况下,
hd(n)是不能用封闭公式表示的,需要采用数值方法表
示。从ω=0到ω=2π采样N点,采用离散傅里叶反变换(IDFT)即可求出
3.计算滤波器的单位脉冲响应h(n)。它是理想单位脉冲响应和窗函数的乘积,即h(n)?hd(n)?wd(n),在MATLAB中用点乘命令表示为h?hd?wd。
4.验算技术指标是否满足要求。为了计算数字滤波器在频域中的特性,可调用freqz子程序,如果不满足要求,可根据具体情况,调整窗函数类型或长度,直到满足要求为止。
4.设计思路
4.1 设计步骤
1、通过傅立叶变换活得理想滤波器的单位脉冲响应hd(n)。
1 h(n)?2??ax?axej?nd??sin[??(n?a)]
?(n?a)2、由性能指标确定窗函数W(n)和窗口长度N。
3、求的市级滤波器的单位脉冲响应h(n),h(n)即为所设计FIR滤波器系数向量a(n)。
h(n)?hd(n)W(n) 4、检验滤波器性能。
6
4.2 设计流程图
结束 图4-1 FIR数字滤波器流程图
开始 读入数字滤波器技术指标 将指标转换成模拟滤波器的指标 选择合适的窗函数设计滤波器 将语音信号输入滤波器中 对信号进行FFT变换并显示相应结果 5.实验程序及结果
5.1 实验程序
clear;
N=33; n=0:N-1;
hd=(sin(0.6*pi*(n-16))-sin(0.3*pi*(n-16)))./(pi*(n-16)); hd(17)=0.35; win=hamming(N); h=win'.*hd;
figure; stem(n,h);
xlabel('n'); ylabel('h(n)'); grid; title('FIR带通滤波单位脉冲响应h(n)'); [H,w]=freqz(h,1); H=20*log10(abs(H)); figure;
7
plot(w/pi,H);
axis([0 1 -100 10]);
xlabel('\\omega/\\pi'); ylabel('幅度/dB'); grid; title('FIR带通滤波器,hamming窗,N=33');
5.2 实验结果
FIR带通滤波单位脉冲响应h(n)0.40.30.20.1h(n)0-0.1-0.2-0.3051015n20253035
FIR带通滤波器,hamming窗,N=33100-10-20-30幅度/dB-40-50-60-70-80-90-10000.10.20.30.40.5?/?0.60.70.80.91
图5-1 FIR带通滤波器的单位脉冲响应图及窗图
8
6.心得体会
在课程设计过程中,我也熟悉了MATLAB的工作环境,可以熟练的对MATLAB进行常规的操作,快速进行程序编辑和仿真。滤波器的设计工作完成后,可以借助于MATLAB的export操作导出所设计滤波器的系统函数H(z)。由于MATLAB具有强大的接口功能,仿真后的结果可以很方便的移植到 DSP、CPLD。在实际应用中,只需按要求修改滤波器参数,并对程序作较少的改动,即可实现不同截止频率的FIR滤波器,实用性较强。这次课程设计的主要目的是基于MATLAB的语音信号分析及滤波。经过了课程设计,我发现了自己的很多不足。通过自己的动手动脑,既增加了知识,又给了我专业知识以及专业技能上的提升,我也会更加努力,认真学习,争取在以后的课程中做得更好!
7.参考资料
[1]《数字信号处理》丁玉美,高西全等编著,西安:西安电子科技大学出版社 [2]《数字信号处理》A.V.奥本海姆,R.W.谢弗著,北京:科学出版社 [3]《MATLAB仿真在通信与电子工程中的应用》徐远明,邵玉斌编著,西安: 西
安电子科技大学出版社
9