資源描述:
《matlab語音信號采集與處理》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、MATLAB課程設(shè)計報告課題:語音信號采集與處理目錄一、實踐目的3二、實踐原理:3三、課題要求:3四、MATLAB仿真41、頻譜分析:42、調(diào)制與解調(diào):53、信號變化:8快放:8慢放:8倒放:8回聲:9男女變聲:94、信號加噪115、用窗函數(shù)法設(shè)計FIR濾波器12FIR低通濾波器:13FIR高通濾波器:14FIR帶通濾波:15一、實踐目的本次課程設(shè)計的課題為《基于MATLAB的語音信號采集與處理》,學會運用MATLAB的信號處理功能,采集語音信號,并對語音信號進行濾波及變換處理,觀察其時域和頻域特性,
2、加深對信號處理理論的理解,并為今后熟練使用MATLAB進行系統(tǒng)的分析仿真和設(shè)計奠定基礎(chǔ)。此次實習課程主要是為了進一步熟悉對matlab軟件的使用,以及學會利用matlab對聲音信號這種實際問題進行處理,將理論應(yīng)用于實際,加深對它的理解。二、實踐原理:利用MATLAB對語音信號進行分析和處理,采集語音信號后,利用MATLAB軟件平臺進行頻譜分析;并對所采集的語音信號加入干擾噪聲,對加入噪聲的信號進行頻譜分析,設(shè)計合適的濾波器濾除噪聲,恢復原信號。語音信號的“短時譜”對于非平穩(wěn)信號,它是非周期的,頻譜隨時
3、間連續(xù)變化,因此由傅里葉變換得到的頻譜無法獲知其在各個時刻的頻譜特性。如果利用加窗的方法從語音流中取出其中一個短斷,再進行傅里葉變換,就可以得到該語音的短時譜。三、課題要求:利用windows自帶的錄音機或者其它錄音軟件,錄制幾段語音信號(要有幾種不同的聲音,要有男聲、女聲)。對錄制的語音信號進行頻譜分析,確定該段語音的主要頻率范圍,由此頻率范圍判斷該段語音信號的特點(低沉or尖銳)。利用采樣定理,對該段語音信號進行采樣,觀察不同采樣頻率(過采樣、欠采樣、臨界采樣)對信號的影響。對采集到的語音信號進行
4、調(diào)制與解調(diào),觀測調(diào)制與解調(diào)前后信號的變化。實現(xiàn)語音信號的快放、慢放、倒放、回聲、男女變聲。對語音信號加噪,然后進行濾波,分析不同的濾波方式對信號的影響。利用MATLABGUI制作語音信號采集與分析演示系統(tǒng)。四、MATLAB仿真1、頻譜分析:用WINDOWS下的錄音機,用單聲道錄制一段音樂或聲音,時間在5S內(nèi)。然后MATLAB軟件平臺下,利用函數(shù)WAVREAD對語音信號進行采樣,記住采樣頻率和采樣點數(shù)。對語音信號進行快速傅立葉變換,在一個窗口同時畫出信號的時域波形圖和頻譜圖,分析語音信號的頻譜特點程序:
5、fs=22050;Nbits=16;[x,fs,Nbits]=wavread('D:matlab22hexian.wav');%讀聲音文件n=length(x);t=0:1/fs:(length(x)-1)/fs;%求出語音信號的長度y1=fft(x,n);%傅里葉變換y2=fftshift(y1);%對頻譜圖進行平移f=0:fs/n:fs*(n-1)/n;%得出頻點subplot(2,1,1);plot(t/2,x)%做原始語音信號的時域圖形title('原始信號時域波形圖');subplot(
6、2,1,2);plot(f,abs(y2));title('原始信號頻譜圖')仿真波形:門鈴:和弦:男女聲:2、調(diào)制與解調(diào):首先畫出語音信號的時域波形,然后對語音信號進行頻譜分析。在Matlab?中可以利用函數(shù)fft?對信號行快速傅里葉變換,得到信號的頻譜特性,從而加深對頻譜特性的理解。程序:clear;dt=1/44100;fs=44100;[f1,fs,nbits]=wavread('D:1huan.wav');figure(1);subplot(1,1,1);N=length(f1);t=0:
7、1/fs:(N-1)/fs;plot(t,f1);title('信息信號的時域波形');fy1=fft(f1);w1=0:fs/(N-1):fs;figure(2);subplot(1,1,1);plot(w1,abs(fy1));title('信息信號的頻譜');f2=cos(22000*pi*t);figure(3);subplot(1,1,1);fy2=fft(f2);N2=length(f2);w2=fs/N*[0:N-1];plot(w2,abs(abs(fy2)));title('載波信號
8、的頻譜');f1=f1(:,1);f3=f1'.*f2;figure(4);subplot(1,1,1);fy3=fft(f3);plot(w1,abs(abs(fy3)));title('已調(diào)信號的頻譜');sound(f3,fs,nbits);f4=f3.*f2;figure(5);subplot(1,1,1);fy4=fft(f4);plot(w1,abs(abs(fy4)));title('解調(diào)信號的頻譜');sound(f4,fs,nbits)