欢迎来到天天文库
浏览记录
ID:50958519
大小:58.00 KB
页数:3页
时间:2020-03-08
《实验三FIR数字滤波器的设计和实现.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验三:FIR数字滤波器的设计和实现实验内容:录制自己的一段声音,长度为45秒,取样频率32kHz,然后叠加一个高斯白噪声,使得信噪比为20dB。请采用窗口法设计一个FIR带通滤波器,滤波噪声提高质量。请随实验报告同时提交原始加噪和滤波后的声音文件。提示:1.滤波器指标参考:通带边缘频率为4kHz,阻带边缘频率为4.5kHz,阻带衰减大于50dB;2.Matlab函数y=awgn(x,snr,'measured'),首先测量输入信号x的功率,然后对其叠加高斯白噪声;分析:整体思路为:读取声音文件——设计窗函数——将读取声音加白噪声—
2、—用设计窗函数滤波——生成滤波前后文件实验重点在于窗函数的设计,要求阻带衰减大于50dB,可以选择汉明窗或blackman窗。滤波后,我们还可以通过DFT变换观察比较滤波前后的频谱波形。matlab代码:fs=32000;bits=16;%读取文件[x,fs,bits]=wavread('C:UsersOceanDesktopsound.wav');%设计窗wp=8000*pi/fs;ws=9000*pi/fs;wdelta=ws-wp;N=ceil(11*pi/wdelta);wn=(ws+wp)/2;b=fir1(N,w
3、n/pi,blackman(N+1));%加白噪声与滤波后序列x1=awgn(x,20,'measured');x2=filter(b,1,x1);%频域X1=fft(x1,1024);X2=fft(x2,1024);%画滤波前后的频谱图f=fs*(0:511)/1024;subplot(2,1,1);plot(f,abs(X1(1:512)));title('滤波前频谱')xlabel('Hz');ylabel('幅度');subplot(2,1,2)plot(f,abs(X2(1:512)));title('滤波后频谱')xla
4、bel('Hz');ylabel('幅度');%生成滤波前后的声音文件wavwrite(x1,fs,bits,'C:UsersOceanDesktopsound1.wav');wavwrite(x2,fs,bits,'C:UsersOceanDesktopsound2.wav');运行结果:>Inwavwrite>PCM_Quantizeat287Inwavwrite>write_wavedatat309Inwavwriteat138Infir_filterat26结果分析:我们可以通过滤波前后的频谱观察到,滤波是有
5、效的,去除了音频范围外无用的噪声。通过生成的两个滤波前后的文件,我们也可以清晰地听到,滤波后噪声音量大大降低。实验总结:本次实验加深了我对窗函数法设计滤波器的理解,并更加熟悉了窗函数的设计步骤,通过具体实践,感受到了声音在滤波前后的变化,以及不同类型的窗函数对滤波效果的影响,同时也对matlab使用更加熟练。
此文档下载收益归作者所有