資源簡介
本人課程設(shè)計所編寫的程序——用窗函數(shù)法、雙線性變換法分別設(shè)計低通、高通、帶通濾波器(包含主界面設(shè)計程序),程序檢測運行后完全正確,你只要記得修改一下所讀入的音頻文件路徑即可。

代碼片段和文件信息
%FIR帶通濾波器
fb1=1200fb2=3000fc1=1000fc2=3200As=100;Ap=1;fs=22050;
x1=wavread(‘D:\yuyin.wav‘);
wb1=2*pi*fb1/fs;wb2=2*pi*fb2/fs;
wc1=2*pi*fc1/fs;wc2=2*pi*fc2/fs;
wc=pi*(fb1+fc1)/fs;wb=pi*(fb2+fc2)/fs;
wn=wb-wc;
N=ceil((As-7.95)/(2.286*wn))+1;
beta=0.1102*(As-8.7);???????????????
Win=Kaiser(Nbeta);??????????????????
b=fir1(N[wcwb]);
figure(1);
freqz(b1512);
title(‘FIR帶通濾波器‘);
f2=filter(b1x1);
figure(2)
subplot(211)
plot(x1)
title(‘FIR帶通濾波器濾波前的時域波形‘);
subplot(212)
plot(f2);
title(‘FIR帶通濾波器濾波后的時域波形‘);
sound(f244100);????????????????????%播放濾波后的語音信號
F0=fft(f21024);????????????????????%對信號做1024點FFT變換
f=fs*(1:512)/1024;??????????????????%f的范圍
figure(3)
y2=fft(x11024);
subplot(211);
plot(fabs(y2(1:512)));?????????????%作原始語音信號的FFT頻譜圖??畫出濾波前的頻譜圖
title(‘FIR帶通濾波器濾波前的頻譜‘)
xlabel(‘頻率/Hz‘);
ylabel(‘幅值‘);
subplot(212)
plot(fabs(F0(1:512)));?????????????%畫出濾波后的頻譜圖
title(‘FIR帶通濾波器濾波后的頻譜‘)
xlabel(‘頻率/Hz‘);
ylabel(‘幅值‘);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????888??2009-12-31?17:53??matlab設(shè)計濾波器程序\FIR_gaotong.m
?????文件???????1413??2009-12-31?18:15??matlab設(shè)計濾波器程序\IIR_daitong.m
?????文件???????1314??2009-12-31?18:15??matlab設(shè)計濾波器程序\IIR_ditong.m
?????文件???????1320??2009-12-31?17:25??matlab設(shè)計濾波器程序\IIR_gaotong.m
?????文件????????973??2009-12-31?17:05??matlab設(shè)計濾波器程序\jiemian.m
?????文件????????372??2010-01-02?22:54??matlab設(shè)計濾波器程序\yuyin.m
?????文件????????440??2010-01-02?22:54??matlab設(shè)計濾波器程序\yuyinchuli.m
?????文件???????1087??2010-01-02?23:10??matlab設(shè)計濾波器程序\FIR_daitong.m
?????文件????????964??2009-12-31?17:17??matlab設(shè)計濾波器程序\FIR_ditong.m
?????目錄??????????0??2010-03-30?09:46??matlab設(shè)計濾波器程序
-----------?---------??----------?-----??----
?????????????????8771????????????????????10
- 上一篇:S變換 matlab源碼
- 下一篇:小球沿空間螺旋線運動的動畫
評論
共有 條評論