基于MATLAB的回聲信號產(chǎn)生器_第1頁
基于MATLAB的回聲信號產(chǎn)生器_第2頁
基于MATLAB的回聲信號產(chǎn)生器_第3頁
基于MATLAB的回聲信號產(chǎn)生器_第4頁
基于MATLAB的回聲信號產(chǎn)生器_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、DSP技術(shù)與應(yīng)用課程設(shè)計報告電子信息工程學(xué)院DSP技術(shù)及應(yīng)用課程設(shè)計報告 題 目:基于MATLAB的 回聲信號產(chǎn)生器 專業(yè)班級:通信工程專業(yè) 二一三 年 六 月 十六 日目 錄一、設(shè)計目的1二、設(shè)計要求1三、設(shè)計原理及方案1四、設(shè)計流程5五、調(diào)試分析5六、GUI界面17七、設(shè)計總結(jié). .20 1、 設(shè)計目的綜合運用我們掌握的數(shù)字信號處理知識,利用matlab語言編程進(jìn)行回聲信號產(chǎn)生器的設(shè)計再對其進(jìn)行頻譜分析,實現(xiàn)回聲的產(chǎn)生,消除和隱藏。1、首先熟練掌握對聲音采集、處理、衰減、延時等過程的理論知識。2、根據(jù)設(shè)計思路,學(xué)習(xí)資料的搜集與整理。3、通過理論與實際的結(jié)合,在理論的基礎(chǔ)結(jié)合實際情況完成課程

2、的設(shè)計。關(guān)于MATLAB軟件:MATLAB語言具備高效、可及推理能力強等特點,是目前工程界流行最廣泛的科學(xué)計算語言。MATLAB強大的運算和圖形顯示功能,可使信號與系統(tǒng)上機實驗效率大大提高。特別是它的頻譜分析和濾波器分析與設(shè)計功能很強,使數(shù)字信號處理工作變得十分簡單,直觀。關(guān)于GUI界面:圖形用戶界面GUI (Graphics User Interface) 是由各種圖形對象,如圖形窗口、圖軸、菜單、按鈕、文本框等構(gòu)建的用戶界面,是人機交流信息的工具和方法。GUI 設(shè)計即可以基本的MATLAB 程序設(shè)計為主,也可以鼠標(biāo)為主利用GUIDE 工具進(jìn)行設(shè)計。2、 設(shè)計要求首先,自己錄取一個合適的原聲

3、信號,并對其進(jìn)行頻譜分析;然后通過數(shù)字信號處理對已錄制好的原聲信號進(jìn)行延時,衰減,產(chǎn)生出回聲信號,通過圖形與原聲信號進(jìn)行比較;再把信息轉(zhuǎn)換成二進(jìn)制信號將其疊加在回聲中,通過數(shù)字信號處理實現(xiàn)信息的隱藏;最后,通過設(shè)計GUI界面將結(jié)果展示出來。1、通過計算機中的y=fft(x)傅里葉變換,對原聲信號和回聲信號進(jìn)行頻譜分析。2、通過設(shè)計FIR、IIR濾波器對原聲信號進(jìn)行衰減、延時產(chǎn)生一次、三次、六次無限次回聲。3、學(xué)習(xí)并掌握MATLAB的使用方法,用MATLAB編程和會使用MATLAB中的GUI界面設(shè)計。3、 設(shè)計原理及方案1、設(shè)計原理(1)回聲的定義:當(dāng)聲投射到距離聲源有一段距離的大面積上時,聲能

4、的一部分被吸收,而另一部分聲能要反射回來,如果聽者聽到由聲源直接發(fā)來的聲和由反射回來的聲的時間間隔超過十分之一秒,它就能分辨出兩個聲音這種反射回來的聲叫“回聲”。(2)回聲信號產(chǎn)生:根據(jù)回聲的定義,回聲信號可以是原始信號通過延時、衰減來生成。(3)回聲信號消除:數(shù)字濾波器的作用是濾除信號中某一部分頻率分量。可以將回聲信號消除。(4)回聲信號隱藏:回聲隱藏利用了人耳的聽覺掩蔽效應(yīng),是一種有效的音頻信息隱藏方法。(5)處理單元原理:假設(shè)x(n)為原始信號,y(n)為經(jīng)過延時、衰減迭加后產(chǎn)生的“回聲信號” ,聲音信號和經(jīng)延遲R個周期,衰減系數(shù)(<1)的單個回聲的差分方程有如下表示:y(n)=x

5、(n)+ ·x(n-R)上述差分方程可用系統(tǒng)函數(shù)表示為:H(z)=1+·z-R 此濾波器為FIR濾波器,其結(jié)構(gòu)圖如下: 在實際生活中,往往不止存在一重回聲,因此,需要實現(xiàn)多重回聲的設(shè)計,關(guān)于均勻間隔的多重回聲的實現(xiàn),是將每一級回聲相對于上一級回聲依次衰減和延時R個周期,此時不能再用FIR濾波器來實現(xiàn),應(yīng)該用IIR濾波器設(shè)計。IIR濾波器設(shè)計的系統(tǒng)函數(shù)如下: 當(dāng)回聲次數(shù)很多時多重回聲的系統(tǒng)函數(shù)如下:IIR濾波器結(jié)構(gòu)圖:IIR濾波器結(jié)構(gòu)隱藏目的是以添加回聲的方式在原有音頻信息中嵌入新信息,實現(xiàn)信息隱藏。它的數(shù)學(xué)模型可以表示為:典型的回聲核脈沖嵌入回聲的聲音可表示為和的卷積,和,

6、分別為原始聲音信號和回聲核的單位脈沖響應(yīng)?;芈曅盘栍梢氲皆悸曇舢?dāng)中,其中,d為延遲時間,為衰減系數(shù)。嵌入回聲后的聲音信號可以表示為2、設(shè)計方案(1)讀取語音信號與回放錄制一段合適的原聲信號,用“x,fs,bits=wavread('y',1 40000)”來讀取錄制好的語音信號,這是以采樣頻率fs、采樣位數(shù)bits從1 40000來讀取語音,并將采樣值放在x中。用sound(5*x,fs,bits)對聲音信號進(jìn)行回放,乘以5以加強信號,便于聽取。(2)傅里葉變換FFT傅里葉變換調(diào)用格式:y=-fft(x)其中,x是序列,y是序列的FFT,,x可以為一向量或矩陣,若x為一向量

7、,y是x的FFT。且和x相同長度。若x為一矩陣,則y是對矩陣的每一列向量進(jìn)行FFT。如果x長度是2的冪次方,函數(shù)fft執(zhí)行高速基-2FFT算法;否則fft執(zhí)行一種混合基離散傅里葉變換算法,計算速度較慢。(3)函數(shù)filter函數(shù)filter的調(diào)用格式為:y=filter(b,a,x)該格式采用數(shù)字濾波器對數(shù)據(jù)進(jìn)行濾波,既可以用于IIR濾波器,也可以用于FIR濾波器。其中向量b和a分別表示系統(tǒng)函數(shù)的分子、分母多項式的系數(shù),若a1,此時表示FIR濾波器,否則就是IIR濾波器。該函數(shù)是利用給出的向量b和a,對x中的數(shù)據(jù)進(jìn)行濾波,結(jié)果放入向量y。(4)函數(shù)zearos函數(shù)的一種調(diào)用格式為:B 

8、;= zeros(n) 返回一個n*n的矩陣,其元素都為零,如果參數(shù)n不是一個標(biāo)量就會報錯。函數(shù)的另一種調(diào)用格式為:B = zeros(m,n) 或 B = zeros(m n)返回一個m*n的零矩陣。函數(shù)的另一種調(diào)用格式為:B = zeros(m,n,p,)或 B = zeros(m n p )返回一個m*n*p*的零矩陣。注意:參數(shù)m,n,p都是非負(fù)整數(shù),負(fù)整數(shù)都會看成零。四、設(shè)計流程 五、調(diào)試與分析1、原始信號分析讀取一段語音信號,畫出其時域波形,用

9、fft對讀取的語音信號進(jìn)行傅里葉變換,并畫出其相位與幅值。x,fs,bits=wavread('y',1 40000); %讀取語音信號n1=0:2000; figure(1)subplot(2,1,1);plot(x); %原始信號時域波形title('原始信號時域波形'); X=fft(x); %對原始信號做FFT變換 subplot(2,1,2);plot(n1(1:1000),X(1:1000); %原始信號頻譜圖title('原始信號頻譜圖');figure(2)subplot(2,1,1);plot(abs(X);%經(jīng)傅里葉變換之后的

10、信號的幅值title('幅值');subplot(2,1,2);plot(angle(X);%經(jīng)傅里葉變換之后的信號的相位title('相位');sound(5*x,fs,bits); %原始語音信號,乘以5是為了加強信號2、回聲信號的產(chǎn)生對原始信號取出單聲道信號,并用filter函數(shù)對其進(jìn)行衰減和延時,得到回聲信號。(1)FIR濾波器產(chǎn)生一次回聲x,fs,bits=wavread('y',1 40000); %讀取語音信號n1=0:2000; b=x(:,1);%取單聲道信號yy1=filter(1,zeros(1,12000),0.7,1,b

11、',zeros(1,30000); %FIR濾波器進(jìn)行濾波figure(1)subplot(2,1,1);plot(yy1); %單回聲濾波器時域波形title('單回聲濾波器時域波形'); YY1=fft(yy1); %對單回聲信號做2001點的FFT變換 subplot(2,1,2);plot(n1(1:1000),YY1(1:1000); %單回聲濾波器頻譜圖title('單回聲濾波器頻譜圖 ');figure(2)subplot(2,1,1);plot(abs(YY1);%經(jīng)傅里葉變換之后的信號的幅值title('幅值');sub

12、plot(2,1,2);plot(angle(YY1);%經(jīng)傅里葉變換之后的信號的相位title('相位');sound(5*yy1,fs,bits); %經(jīng)單次回聲濾波器后的語音信號,乘以5是為了加強信號(2)IIR濾波器產(chǎn)生多次回聲:yy2=filter(1,1,zeros(1,80000/(N+1),0.7,b',zeros(1,40000);通過改變式中N的數(shù)值可設(shè)置回聲的次數(shù),三次回聲:x,fs,bits=wavread('y',1 40000); %讀取語音信號 n1=0:2000; b=x(:,1);%產(chǎn)生單聲道信號N=3;yy2=filt

13、er(1,1,zeros(1,80000/(N+1),0.7,b',zeros(1,40000); %IIR濾波器進(jìn)行濾波figure(3)subplot(2,1,1);plot(yy2); %三次回聲濾波器時域波形title('三次回聲濾波器時域波形'); YY2=fft(yy2); %對三次回聲信號做FFT變換 subplot(2,1,2);plot(n1(1:1000),YY2(1:1000); %三次回聲濾波器頻譜圖title('三次回聲濾波器頻譜圖 ');figure(4)subplot(2,1,1);plot(abs(YY2);%經(jīng)傅里葉變換

14、之后的信號的幅值title('幅值');subplot(2,1,2);plot(angle(YY2);%經(jīng)傅里葉變換之后的信號的相位title('相位');sound(5*yy2,fs,bits); %經(jīng)三次回聲濾波器后的語音信號,乘以5是為了加強信號使用疊加法產(chǎn)生三次回波:x,fs=wavread(ding.wav);x1=x(1:40000); %產(chǎn)生40000行1列矩陣x2=x(1:40000); x3=x(1:40000);x4=x(1:40000);x1=x1,zeros(1,18000); %x1為x1的轉(zhuǎn)置,zero是(1,18000)產(chǎn)生1行18

15、000列全零矩陣并加到x1的后面x2=zeros(1,6000),0.7*x2,zeros(1,12000);x3=zeros(1,12000),0.4*x3,zeros(1,6000);x4=zeros(1,18000),0.2*x4;yy1=x1+x2+x3+x4;figure(3)subplot(2,1,1);plot(yy1); %三次回聲時域波形title(三次回聲濾波器時域波形); YY1=fft(yy1); %三次回聲信號做FFT變換 subplot(2,1,2);plot(n1(1:1000),YY1(1:1000); %三次回聲頻譜圖title(三次回聲濾波器頻譜圖 );fi

16、gure(4)subplot(2,1,1);plot(abs(YY1);%經(jīng)傅里葉變換之后的信號的幅值title(幅值);subplot(2,1,2);plot(angle(YY1);%經(jīng)傅里葉變換之后的信號的相位title(相位');sound(5*yy1,fs);六次回聲:x,fs,bits=wavread('y',1 40000); %讀取語音信號n1=0:2000; b=x(:,1);%產(chǎn)生單聲道信號N=6;yy2=filter(1,1,zeros(1,70000/(N+1),0.7,b',zeros(1,40000); %IIR濾波器進(jìn)行濾波figur

17、e(3)subplot(2,1,1);plot(yy2); %六次回聲濾波器時域波形title('六次回聲濾波器時域波形'); YY2=fft(yy2); %對六次回聲信號做FFT變換 subplot(2,1,2);plot(n1(1:1000),YY2(1:1000); %三次回聲濾波器頻譜圖title('六次回聲濾波器頻譜圖 ');figure(4)subplot(2,1,1);plot(abs(YY2);%經(jīng)傅里葉變換之后的信號的幅值title('幅值');subplot(2,1,2);plot(angle(YY2);%經(jīng)傅里葉變換之后的信

18、號的相位title('相位');sound(5*yy2,fs,bits); %經(jīng)六次回聲濾波器后的語音信號,乘以5是為了加強信號(3)IIR濾波器產(chǎn)生無限次回聲函數(shù)yy1=filter(B,A,x)利用給出的向量b和a,對x中的數(shù)據(jù)進(jìn)行濾波,結(jié)果放入向量yy1。x,fs,bits=wavread('y',1 40000); %讀取語音信號n1=0:2000; a=0.7; %a取小于等于1B=1,a; %分子的系數(shù)A=1; %分母的系數(shù)yy1=filter(B,A,x); %IIR濾波器進(jìn)行濾波figure(11)subplot(2,1,1);plot(yy1)

19、; %無限回聲濾波器時域波形title('無限個回聲濾波器時域波形'); YY1=fft(yy1); %經(jīng)無限回聲濾波器后的信號做FFT變換 subplot(2,1,2);plot(n1(1:1000),YY1(1:1000); %無限回聲濾波器頻譜圖title('無限個回聲濾波器頻譜圖 ');figure(12)subplot(2,1,1);plot(abs(YY1);title('幅值');subplot(2,1,2);plot(angle(YY1);title('相位');sound(5*yy1,fs,bits); %回放經(jīng)

20、無限回聲濾波器后的語音信號3、回聲信號的濾除 數(shù)字信號濾波器的作用是濾除一部分頻率分量,利用y=filter(B,A,x)函數(shù),設(shè)計出回聲信號消除濾波器。y =x?(1)單回聲消除:產(chǎn)生回聲過程:yy1=filter(1,zeros(1,12000),0.7,1,b',zeros(1,30000);回聲濾除過程:z=filter(1,1,zeros(1,12000),0.7,yy1);x,fs,bits=wavread('y',1 40000);%讀取語音信號n1=0:2000; b=x(:,1);%取單聲道信號yy1=filter(1,zeros(1,12000),0

21、.7,1,b',zeros(1,30000);subplot(3,1,1);plot(yy1); %單回聲濾波器時域波形title('單回聲濾波器時域波形'); YY1=fft(yy1); %對單回聲信號做2001點的FFT變換 subplot(3,1,2);plot(n1(1:1000),YY1(1:1000); %單回聲濾波器頻譜圖title('單回聲濾波器頻譜圖 ');z=filter(1,1,zeros(1,12000),0.7,yy1);subplot(3,1,3);plot(z);title('濾波后信號波形');sound(

22、z,fs);(2)多重回聲消除產(chǎn)生回聲:yy2=filter(1,1,zeros(1,80000/(N+1),0.7,b',zeros(1,40000);回聲消除:z=filter(1,zeros(1,80000/(N+1),0.7,1,yy2);通過改變N的數(shù)值,實現(xiàn)多次回聲的消除。三次回聲消除:x,fs,bits=wavread('y',1 40000); %讀取語音信號n1=0:2000; N=3; b=x(:,1);yy2=filter(1,1,zeros(1,80000/(N+1),0.7,b',zeros(1,40000); %IIR濾波器進(jìn)行濾波s

23、ubplot(3,1,1);plot(yy2); %三次回聲濾波器時域波形title('三次回聲濾波器時域波形'); YY2=fft(yy2); %對三次回聲信號做FFT變換 subplot(3,1,2);plot(n1(1:1000),YY2(1:1000); %三次回聲濾波器頻譜圖title('三次回聲濾波器頻譜圖 ');z=filter(1,zeros(1,80000/(N+1),0.7,1,yy2);subplot(3,1,3);plot(z);title('濾波后信號波形');sound(z,fs);六次回聲消除:x,fs,bits=w

24、avread('y',1 40000); %讀取語音信號n1=0:2000; N=6; b=x(:,1);yy2=filter(1,1,zeros(1,70000/(N+1),0.7,b',zeros(1,40000); %IIR濾波器進(jìn)行濾波subplot(3,1,1);plot(yy2); %六次回聲濾波器時域波形title('六次回聲濾波器時域波形'); YY2=fft(yy2); %對六次回聲信號做FFT變換 subplot(3,1,2);plot(n1(1:1000),YY2(1:1000); %六次回聲濾波器頻譜圖title('六次回

25、聲濾波器頻譜圖 ');z=filter(1,zeros(1,70000/(N+1),0.7,1,yy2);subplot(3,1,3);plot(z);title('濾波后信號波形');sound(z,fs);(3)無限次回聲濾波器函數(shù)yy1=filter(B,A,x)利用分子B,分母A的設(shè)置對回聲信號進(jìn)行濾除。產(chǎn)生回聲:yy1=filter(B,A,x); 濾除回聲:z=filter(B,A,yy1);x,fs,bits=wavread('y',1 40000); %讀取語音信號 n1=0:2000; a=0.7; %a取小于等于1B=1,a; %分子

26、的系數(shù)A=1; %分母的系數(shù)yy1=filter(B,A,x); %IIR濾波器進(jìn)行濾波subplot(3,1,1);plot(yy1); %無限回聲濾波器時域波形title('無限個回聲濾波器時域波形'); YY1=fft(yy1); %經(jīng)無限回聲濾波器后的信號做FFT變換 subplot(3,1,2);plot(n1(1:1000),YY1(1:1000); %無限回聲濾波器頻譜圖title('無限個回聲濾波器頻譜圖 ');z=filter(B,A,yy1);subplot(3,1,3);plot(z);title('濾波后信號波形');so

27、und(z,fs); %回放經(jīng)無限回聲濾波器后的語音信號4、回聲隱藏s,fs,bits=wavread('goinghome3.wav');row, col = size(s);if(row > col) s= s'end; %把矩陣轉(zhuǎn)換msgfid=fopen('hidden.txt','r');msg,count=fread(msgfid);msg = str2mat(msg);msg = uint8(msg)'len = length(s);i=0;fragment=56;N = floor(len / fragment);lend = length(msg);atten=0.9;d0=100;d1=200;s0 = atten * zeros(1, d0), s(1:len - d0);%backward echo with delay 0s1 = atten * zeros(1, d1), s(1:len - d1);%backward echo with delay 1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論