資源簡介
本設計利用計算機Windows下的錄音機錄入一句語音信號,然后在Matlab軟件平臺下,利用函數audioread對語音信號進行采樣,記住采樣頻率和采樣點數,后利用函數FFT對信號進行快速傅里葉變換,得到信號的頻譜特性,然后加入一固定頻率干擾信號,再畫出語音信號干擾前后的時域波形,并對其頻譜進行分析。最后采用雙線性變換法設計幾種類型的數字濾波器并對混合語音信號進行濾波、FFT快速傅里葉變換并分析各種濾波器的特點及優劣性。

代碼片段和文件信息
clear;close?all;clc;
%================原始語音信號===========================%
figure(1);
[musicFs]?=?audioread(‘pei.wav‘);???????????????????%模數轉換?對語音信號進行采樣
y1=music(:1);???????????????????????????????????????%取單聲道
y2=music(:2);
%?sound(y1Fs);
Ns=length(y1);???????????????????????????????????????%采樣點數Ns
t=(0:Ns-1)/Fs;???????????????????????
subplot(231);
plot(ty1);title(‘原始音頻信號波形‘);xlabel(‘time/s‘);ylabel(‘幅度‘);
Y1=fft(y1);??????????????????????????????????????????%對y1做快速傅里葉變換
magY1=abs(Y1);???????????????????????????????????????%取絕對值?即模值
magY1(1)=magY1(1)/Ns;????????????????????????????????%0頻率點的信號幅值=fft變換后的幅值/Ns
magY1(2:Ns)=magY1(2:Ns)/Ns*2;????????????????????????%其他頻率點信號的幅值=fft變換后的幅值*2/Ns
subplot(234);
f=(0:Ns-1)*Fs/Ns;????????????????????????????????????%Fs/Ns為頻率分辨率?fft的每一點乘以分辨率代表此點的頻率
plot(fmagY1);title(‘幅頻特性曲線‘);xlabel(‘frequency/Hz‘);ylabel(‘幅度‘);axis([0?1e+4??0?0.03]);
%================噪聲====================================%
t=(0:Ns-1)/Fs;?????????????
noise=sin(2*pi*7500*t);??????????????????????????????%噪聲為正弦波?幅值為1?頻率為7500Hz
subplot(232);
plot(tnoise);title(‘噪聲信號波形‘);xlabel(‘time/s‘);ylabel(‘幅度‘);
Noise=fft(noise);
magN=abs(Noise);
magN(1)=magN(1)/Ns;
magN(2:Ns)=magN(2:Ns)/Ns*2;
subplot(235);
f=(0:length(Noise)-1)*Fs/Ns;
plot(fmagN);title(‘幅頻特性曲線‘);xlabel(‘frequency/Hz‘);ylabel(‘幅度‘);axis([0?1e+4??0?0.03]);
%===============加性噪聲================================%
y1n=y1+noise‘;??????????????????????????????????????
%?sound(y1nFs);
t=(0:length(y1n)-1)/Fs;
subplot(233);
plot(ty1n);title(‘加噪后音頻信號波形‘);xlabel(‘time/s‘);ylabel(‘幅度‘);
Xn=fft(y1n);
magXn=abs(Xn);
magXn(1)=magXn(1)/Ns;
magXn(2:Ns)=magXn(2:Ns)*2/Ns;
subplot(236);
f=(0:length(Xn)-1)*Fs/length(Xn);
plot(fmagXn);title(‘幅頻特性曲線‘);xlabel(‘frequency/Hz‘);ylabel(‘幅度‘);axis([0?1e+4??0?0.03]);
%==================巴特沃斯低通濾波器======================%
fp=4900;fs=7450;As=100;Rp=1;???????????????????????????????%缺點:過渡帶要求較寬?階數高?26階
OmegaP=2*pi*fp;OmegaS=2*pi*fs;?????????????????????????????%模擬角頻率
wp=OmegaP/Fs;ws=OmegaS/Fs;?????????????????????????????????%數字頻率
wp1=2*Fs*tan(wp/2);????????????????????????????????????????%頻率預矯正
ws1=2*Fs*tan(ws/2);
[Nwc]=buttord(wp1ws1RpAs‘s‘);?????????????????????????%切比雪夫II型階數與截止頻率
[ba]=butter(Nwc‘s‘);????????????????????????????????????%模擬切比雪夫濾波器分子、分母系數
[bzaz]=bilinear(baFs);??????????????????????????????????%雙線性變換AF到DF
w0=[wpws];
Hx1=freqz(bzazw0);????????????????????????????????????????%計算在矢量w0中指定頻率處的得頻率響應
[Hw]=freqz(bzaz);
dbHx1=-20*log10(abs(Hx1)/max(abs(H)));???????????????????????%求濾波器截止頻率處的衰減
figure(4);
plot(w/(2*pi)*Fs/100020*log10(abs(H)));
title(‘巴特沃斯低通數字濾波器幅頻特性‘);
xlabel(‘f(KHz)‘);ylabel(‘dB‘);
%----濾波后音頻信號----%
figure(2);
out=filter(bzazy1n);
t=(0:length(out)-1)/Fs;
subplot(221);
plot(tout);title(‘巴特沃斯低通濾波后音頻信號波形‘);xlabel(‘time/s‘);ylabel(‘幅度‘);
OUT=fft(out);
magOUT=abs(OUT);
magOUT(1)=magOUT(1)/Ns;
magOUT(2:Ns)=magOUT(2:Ns)/Ns*2;
subplot(223);
f=(0:length(OUT)-1)*Fs/length(OUT);
plot(fmagOUT);title(‘幅頻特性曲線‘);xlabel(‘freq
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????61440??2016-12-21?20:22??16171課程設計資料\16171課程設計資料\數字信號處理課程設計教學日歷.doc
?????文件??????86528??2015-12-24?16:57??16171課程設計資料\16171課程設計資料\數字信號課設教案.doc
?????文件?????222720??2015-12-24?17:03??16171課程設計資料\16171課程設計資料\語音信號濾波課程設計指導書.doc
?????目錄??????????0??2016-12-26?09:30??16171課程設計資料\16171課程設計資料
?????目錄??????????0??2016-12-26?09:30??16171課程設計資料
-----------?---------??----------?-----??----
???????????????370688????????????????????5
評論
共有 條評論