【正文】
%對聲音延時2022 sound(z,fs)。 axes()。 plot(z)。 title(39。延時后的信號時域圖39。,39。fontname39。,39。宋體39。)。 %畫出延時后的信號時域圖 z=fft(x1)。 %做length(x1) 點的FFT z=fftshift(z)。 %平移,是頻率中心為0 derta_fs = fs/length(z)。 %設(shè)置頻譜的間隔,分辨率 axes()。 plot([fs/2:derta_fs:fs/2derta_fs],abs(z))。%畫出延時后的信號頻譜圖 title(39。延時后的信號頻譜圖39。,39。fontname39。,39。宋體39。)。% Executes on button press in hunxiang.function hunxiang_Callback(hObject, eventdata, handles)% hObject handle to hunxiang (see GCBO)% eventdata reserved to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)[x,fs,bits]=wavread(39。D:\39。)。 %讀取語音信號 x=x(:,1)。 %只取單聲道 z=[zeros(2022,1)。x]。 %對語音信號進行延時 x=[x。zeros(2022,1)]。 %使語音信號與延時后信號同等長度 y1=x+z。 %信號的混響 sound(y1,fs)。 %回放混響后的信號 axes()。 plot(y1)。 title(39。混響的時域圖39。,39。fontname39。,39。 宋體39。)。 %混響時域圖 Y1=fft(y1)。 %做length(y1)點的FFT Y1=fftshift(Y1)。 %平移,是頻率中心為0武漢理工大學《信息群處理課程設(shè)計》課程設(shè)計說明書20 derta_fs = fs/length(y1)。 %設(shè)置頻譜的間隔,分辨率 axes()。 plot([fs/2:derta_fs:fs/2derta_fs],abs(Y1))。%畫出混響頻譜圖 title(39。混響的頻譜圖39。,39。fontname39。,39。宋體39。)。% Executes on button press in dan.function dan_Callback(hObject, eventdata, handles)% hObject handle to dan (see GCBO)% eventdata reserved to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)[x,fs,bits]=wavread(39。D:\39。)。 %讀取語音信號 x=x(:,1)。 %只取單聲道 a=。 %a取小于等于1 z=[zeros(2022,1)。x]。 %對語音信號進行延時 x=[x。zeros(2022,1)]。 %使語音信號與延時后信號同等長度 y2=x+z*a。 %信號經(jīng)單回聲濾波 sound(y2,fs)。 %回放經(jīng)單回聲濾波器后的語音信號 axes()。 plot(y2)。title(39。單回聲濾波的信號時域圖39。,39。fontname39。,39。宋體39。)。 Y2=fft(y2)。 %做length(y2)點的FFT Y2=fftshift(Y2)。 %平移,是頻率中心為0 derta_fs = fs/length(y2)。 %設(shè)置頻譜的間隔,分辨率 axes()。 plot([fs/2:derta_fs:fs/2derta_fs],abs(Y2))。%畫出單回聲信號頻譜圖 title(39。單回聲濾波的信號頻譜圖39。,39。fontname39。,39。宋體39。)。 % Executes on button press in duo.function duo_Callback(hObject, eventdata, handles)% hObject handle to duo (see GCBO)% eventdata reserved to be defined in a future version of MATLAB武漢理工大學《信息群處理課程設(shè)計》課程設(shè)計說明書20% handles structure with handles and user data (see GUIDATA)[x,fs,bits]=wavread(39。D:\39。)。 x1=x(:,1)。 %變換為單聲道語音信號 delay_t=。 %回聲延遲時間 a=。 %衰減系數(shù) N=3。 %N階延時 Bz=[1。zeros(fs*delay_t,1)*N。a^N]。 Az=[1。zeros(fs*delay_t,1)。a]。 y=filter(Bz, Az ,x1 )。 sound(y,fs,bits)。 %回放經(jīng)多回聲濾波器后的語音信號 axes()。 plot(y)。title(39。多回聲濾波的信號時域圖39。,39。fontname39。,39。宋體39。)。 Y2=fft(y)。 %做length(y)點的FFT Y2=fftshift(Y2)。 %平移,是頻率中心為0 derta_fs = fs/length(y)。 %設(shè)置頻譜的間隔,分辨率 axes()。 plot([fs/2:derta_fs:fs/2derta_fs],abs(Y2))。%畫出多回聲信號頻譜圖 title(39。多回聲濾波的信號頻譜圖39。,39。fontname39。,39。宋體39。)。 % Executes on button press in wu.function wu_Callback(hObject, eventdata, handles)% hObject handle to wu (see GCBO)% eventdata reserved to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)[x,fs,bits]=wavread(39。D:\39。)。 %讀取語音信號 x=x(:,1)。 %只取單聲道 a=。 %a取小于等于1 Bz=[0,0,0,0,0,0,0,0,0,0,1]。 %分子的系數(shù)武漢理工大學《信息群處理課程設(shè)計》課程設(shè)計說明書20 Az=[1,0,0,0,0,0,0,0,0,0,a]。 %分母的系數(shù) yy1=filter(Bz,Az,x)。 %FIR濾波器進行濾波 sound(yy1,fs,bits)。 %回放經(jīng)無限回聲濾波器后的語音信號 axes()。 plot(yy1)。 %無限回聲信號時域波形 title(39。無限個回聲濾波的信號時域圖39。,39。fontname39。,39。宋體39。)。 YY1=fft(yy1)。 %經(jīng)無限回聲濾波器后的信號做length(yy1) 點的FFT YY1=fftshift(YY1)。 %平移,是頻率中心為0 derta_fs = fs/length(yy1)。 %設(shè)置頻譜的間隔,分辨率 axes()。 plot([fs/2:derta_fs:fs/2derta_fs],abs(YY1))。%無限個回聲信號頻譜圖 title(39。無限個回聲濾波的信號頻譜圖39。,39。fontname39。,39。宋體39。)。% Executes on button press in quan.function quan_Callback(hObject, eventdata, handles)% hObject handle to quan (see GCBO)% eventdata reserved to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)[x,fs,bits]=wavread(39。D:\39。)。 %讀取語音信號 x=x(:,1)。 %只取單聲道 a=。 %a取小于等于1 Bz1=[a,0,0,0,0,0,0,0,0,0,1]。 %分子的系數(shù) Az1=[1,0,0,0,0,0,0,0,0,0,a]。 %分母的系數(shù) yy2=filter(Bz1,Az1,x)。 %FIR濾波器進行濾波 sound(yy2,fs,bits)。 %回放經(jīng)全通結(jié)構(gòu)的混響器后的語音信號 axes()。plot(yy2)。 title(39。全通濾波信號的時域圖39。,39。fontname39。,39。 宋體39。) %全通結(jié)構(gòu)的混響器時域波形 YY2=fft(yy2)。 %經(jīng)全通濾波器后的信號做length(yy2) 點的FFT武漢理工大學《信息群處理課程設(shè)計》課程設(shè)計說明書20 YY2=fftshift(YY2)。 %平移,是頻率中心為0 derta_fs = fs/length(yy2)。 %設(shè)置頻譜的間隔,分辨率 axes() plot([fs/2:derta_fs:fs/2derta_fs],abs(YY2))。%全通濾波信號的頻譜圖 title(39。全通濾波信號的頻譜圖39。,39。fontname39。,39。宋體39。)。武漢理工大學《信息群處理課程設(shè)計》課程設(shè)計說明書20附件:本科生課程設(shè)計成績評定表姓 名 性 別 女專業(yè)、班級 通信工程 0906課程設(shè)計題目: 聲音的延時和混響仿真課程設(shè)計答辯或質(zhì)疑記錄:成績評定依據(jù):最終評定成績(以優(yōu)、良、中、及格、不及格評定)指導(dǎo)教師簽字: