北京郵電大學DSP軟件實驗報告_第1頁
北京郵電大學DSP軟件實驗報告_第2頁
北京郵電大學DSP軟件實驗報告_第3頁
北京郵電大學DSP軟件實驗報告_第4頁
北京郵電大學DSP軟件實驗報告_第5頁
已閱讀5頁,還剩14頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、北京郵電大學DSP軟件實驗報告學院:xxx學院姓名:xxx班級:xxxxxxxxxx學號:xxxxxxxxxx目錄實驗一:數字信號的 FFT 分析21、實驗內容及要求22、實驗目的23、設計思路24、實驗代碼與實驗結果3實驗二: DTMF 信號的編碼61、實驗內容及要求62、實驗目的73、設計思路74、實驗代碼與實驗結果7實驗三:FIR 數字濾波器的設計和實現121、實驗內容及要求:122、實驗目的133、設計思路134、實驗代碼與運行結果13實驗總結17實驗一:數字信號的 FFT 分析1、實驗內容及要求(1) 離散信號的頻譜分析: 設信號 此信號的0.3pi 和 0.302pi兩根譜線相距很

2、近,譜線 0.45pi 的幅度很小,請選擇合適的序列長度 N 和窗函數,用 DFT 分析其頻譜,要求得到清楚的三根譜線。(2) DTMF 信號頻譜分析 用計算機聲卡采用一段通信系統中電話雙音多頻(DTMF)撥號數字 09的數據,采用快速傅立葉變換(FFT)分析這10個號碼DTMF撥號時的頻譜。 2、實驗目的 通過本次實驗,應該掌握:(a) 用傅立葉變換進行信號分析時基本參數的選擇。 (b) 經過離散時間傅立葉變換(DTFT)和有限長度離散傅立葉變換(DFT) 后信號頻譜上的區別,前者 DTFT 時間域是離散信號,頻率域還是連續的,而 DFT 在兩個域中都是離散的。(c) 離散傅立葉變換的基本原

3、理、特性,以及經典的快速算法(基2時間抽選法),體會快速算法的效率。(d) 獲得一個高密度頻譜和高分辨率頻譜的概念和方法,建立頻率分辨率和時間分辨率的概念,為將來進一步進行時頻分析(例如小波)的學習和研究打下基礎。(e) 建立 DFT 從整體上可看成是由窄帶相鄰濾波器組成的濾波器組的概念,此概念的一個典型應用是數字音頻壓縮中的分析濾波器,例如 DVD AC3 和MPEG Audio。3、設計思路(1)由信號xn=0.001*cos0.45n+sin0.3n-cos(0.302n-4)可知,頻譜分析以后0.3pi和 0.302pi兩根譜線相距很近,因此所用的FFT的N值要足夠大,才能保證看到兩條

4、清晰的譜線;而譜線 0.45pi 的幅度很小,所以加窗時應該適當提高幅度。在加窗的時,如若參數選取不當會產生頻譜泄漏,為了滿足題設要求得到三根清晰的譜線,根據w=2*pi/N*k可知k=w/2/pi*N(k屬于整數),得N必須是1000的倍數,在程序中設定N的值為20000.用MATLAB提供的fft函數進行DFT變換,再利用stem函數畫出頻譜圖,用axis函數限定坐標軸范圍。(2)雙音多頻信號DTMF每個數字由兩個不同頻率的正弦波組成,低頻有:697Hz,770Hz,852Hz,941Hz,高頻有:1209Hz,1336Hz,1477Hz,1633Hz,0-9這十個數字每個數字對應一個低頻

5、信號和一個高頻信號疊加。分別用兩個數組裝載高頻和低頻,再產生由兩個正弦波疊加成的DTMF信號,最后利用plot和fft函數畫出對應的頻譜圖。4、實驗代碼與實驗結果(1) 離散信號的頻譜分析【實驗代碼】clearclose allN=20000;n=1:1:N;x=0.001*cos(0.45*pi*n)+sin(0.3*pi*n)-cos(0.302*pi*n-pi/4);y=fft(x,N);magy=abs(y(1:1:N/2+1);k=0:1:N/2;w=2*pi/N*k;stem(w/pi,magy); axis(0.25,0.5,0,60)【實驗結果】頻譜圖如下所示:圖 1(2) D

6、TMF信號頻譜分析【實驗代碼】clearclose all column=1209,1336,1477,1633;line=697,770,852,941; fs=8000;N=1024;ts=1/fs; n=0:N-1;f=0:fs/N:fs/N*(N-1); key=zeros(10,N);key(1,:)=cos(2*pi*column(1)*ts*n)+cos(2*pi*line(1)*ts*n);key(2,:)=cos(2*pi*column(2)*ts*n)+cos(2*pi*line(1)*ts*n);key(3,:)=cos(2*pi*column(3)*ts*n)+cos(

7、2*pi*line(1)*ts*n);key(4,:)=cos(2*pi*column(1)*ts*n)+cos(2*pi*line(2)*ts*n);key(5,:)=cos(2*pi*column(2)*ts*n)+cos(2*pi*line(2)*ts*n);key(6,:)=cos(2*pi*column(3)*ts*n)+cos(2*pi*line(2)*ts*n);key(7,:)=cos(2*pi*column(1)*ts*n)+cos(2*pi*line(3)*ts*n);key(8,:)=cos(2*pi*column(2)*ts*n)+cos(2*pi*line(3)*ts

8、*n);key(9,:)=cos(2*pi*column(3)*ts*n)+cos(2*pi*line(3)*ts*n);key(10,:)=cos(2*pi*column(2)*ts*n)+cos(2*pi*line(4)*ts*n); figure;for i=1:9 subplot(3,4,i) plot(f,abs(fft(key(i,:); xlabel('頻率(Hz)');ylabel('幅值'); title(i); grid;endsubplot(3,4,10) plot(f,abs(fft(key(10,:); xlabel('頻率(H

9、z)');ylabel('幅值'); title(0); grid;【實驗結果】頻譜圖如下所示:圖 2實驗二: DTMF 信號的編碼1、實驗內容及要求(1)把您的聯系電話號碼 通過DTMF 編碼生成為一個 .wav 文件。³ 技術指標:± 根據 ITU Q.23 建議,DTMF 信號的技術指標是:傳送/接收率為每秒 10 個號碼,或每個號碼 100ms。± 每個號碼傳送過程中,信號存在時間至少 45ms,且不多于 55ms,100ms 的其余時間是靜音。± 在每個頻率點上允許有不超過 ±1.5% 的頻率誤差。任何超過給定

10、頻率 ±3.5% 的信號,均被認為是無效的,拒絕接收。(其中關鍵是不同頻率的正弦波的產生。可以使用查表方式模擬產生兩個不同頻率的正弦波。正弦表的制定要保證合成信號的頻率誤差在±1.5%以內,同時使取樣點數盡量少) (2)對所生成的DTMF文件進行解碼。³ DTMF 信號解碼可以采用 FFT 計算 N 點頻率處的頻譜值,然后估計出所撥號碼。但 FFT計算了許多不需要的值,計算量太大,而且為保證頻率分辨率,FFT的點數較大,不利于實時實現。因此,FFT 不適合于 DTMF 信號解碼的應用。³ 由于只需要知道 8 個特定點的頻譜值,因此采用一種稱為 Goert

11、zel 算法的 IIR 濾波器可以有效地提高計算效率。其傳遞函數為:³2、實驗目的(a)復習和鞏固 IIR 數字濾波器的基本概念;(b)掌握 IIR 數字濾波器的設計方法;(c)掌握 IIR 數字濾波器的實現結構;(d)能夠由濾波器的實現結構分析濾波器的性能(字長效應);(e)了解通信系統電話 DTMF 撥號的基本原理和 IIR 濾波器實現方法。3、設計思路編碼:DTMF撥號鍵盤由一個4*4行列構成,每列代表一個高頻信號,每行代表一個低頻信號,每當按下一個鍵時,產生高、低頻率的兩個正弦信號,代表一個特定的數字或符號,根據ITU Q.23頒布的國際標準,DTMF傳送或接受每個號碼的時間

12、為100ms,其中每個號碼傳送的過程中,信號存在時間至少45ms,其余時間靜音。用一個字符串變量來接受輸入的電話號碼,并將各個數字和符號的ASCII碼用一個4*4矩陣表示,每接收到一個數字就對應兩個頻率,并產生由兩個正弦波疊加的信號,完成DTMF編碼,利用MATLAB提供的fft函數畫出其頻譜,用sound函數發出聲音。 解碼:采用Goertzel算法來檢測DTMF信號,它是用IIR濾波器實現DFT算法的一種特殊方法,在實際DTMF解碼中,只需要知道輸入信號即DTMF信號的離散傅里葉變換X(k)的幅度信息,忽略相位信息,因為只要能得到8個特定頻率點的幅度值,看哪兩個頻率對應的幅度最大,就能知道

13、對應的是哪個數字,達到解碼的目的,可以利用MATLAB提供的goertzel函數來對信號解碼。4、實驗代碼與實驗結果(1) 把聯系電話號碼通過DTMF 編碼生成為一個 .wav 文件【實驗代碼】d=input('請輸入電話號碼:','s'); sum=length(d); total_x=;sum_x=;sum_x=sum_x,zeros(1,800);for a=1:sum symbol=abs(d(a); tm=49,50,51,65;52,53,54,66;55,56,57,67;42,48,35,68; for p=1:4; for q=1:4; if

14、tm(p,q)=abs(d(a);break,end end if tm(p,q)=abs(d(a);break,end end f1=697,770,852,941; f2=1209,1336,1477,1633; n=1:400; x=sin(2*pi*n*f1(p)/8000)+sin(2*pi*n*f2(q)/8000); x=x,zeros(1,400); sum_x=sum_x+x; total_x=total_x,x; endaudiowrite('soundwave.wav',total_x,8000);sound(total_x); t=(1:8800)/80

15、00;subplot(2,1,1);plot(t,total_x);axis(0,1.2,-2,2);xlabel('時間/s')title('DTMF信號時域波形')xk=fft(x);mxk=abs(xk);subplot(2,1,2);k=(1:800)*sum*8000/800;plot(k,mxk);xlabel('頻率');title('DTMF信號頻譜');disp('雙頻信號已生成并發出') 【實驗結果】如下圖圖3所示,輸入本人電話號碼按下回車鍵之后能聽到撥碼聲音,并有圖4

16、所示圖像生成。圖 3圖 4(2) 對所生成的DTMF文件進行解碼【實驗代碼】k=18 20 22 24 31 34 38 42; N=205;disp('接收端檢測到的號碼為')for a=1:sum m=800*(a-1); X=goertzel(total_x(m+1:m+N),k+1); val=abs(X); xk2=val.2; limit=80; for s=5:8 if val(s)>limit,break,end end for r=1:4 if val(r)>limit,break,end end disp(setstr(tm(r,s-4) xk2

17、end【實驗結果】在命令行窗口可以看到圖5-圖8的解碼信息,檢測到的號碼依次所得結果正確。圖 5圖 6圖 7圖 8實驗三:FIR 數字濾波器的設計和實現1、實驗內容及要求:³ 錄制自己的一段聲音,長度為 45秒,取樣頻率 32kHz,然后疊加一個高斯白噪聲,使得信噪比為 20dB。請采用窗口法設計一個 FIR 帶通濾波器,濾除噪聲提高質量。n 提示:³ 濾波器指標參考:通帶邊緣頻率為 4kHz,阻帶邊緣頻率為4.5kHz,阻帶衰減大于 50dB;³ Matlab 函數 y = awgn(x,snr,'measured')

18、,首先測量輸入信號 x 的功率,然后對其疊加高斯白噪聲;2、實驗目的³ 通過本次實驗,掌握以下知識:± FIR 數字濾波器窗口設計法的原理和設計步驟;± Gibbs 效應發生的原因和影響;± 不同類型的窗函數對濾波效果的影響,以及窗函數和長度 N 的選擇。3、設計思路首先通過audioread命令讀取指定地址的音頻文件,再利用MATLAB提供的awgn()函數為錄制的聲音信號加上高斯白噪聲,得到合成信號,通過audiowrite命令在指定地址生成新的音頻文件。要得到濾波器的沖激響應或頻率響應,首先根據濾波器的性能指標得到窗函數的寬度N,再用布萊克曼窗得到

19、濾波器的頻率響應,經過傅里葉反變換可得到濾波器的沖激相應,把合成信號通過濾波器還原出原來的聲音信號。在figure(1)窗口中顯示濾波器的幅頻、相頻特性,在figure(2)窗口中顯示濾波前后的時域波形,在figure(3)窗口中顯示濾波前后的頻譜。4、實驗代碼與運行結果【實驗代碼】fs=32000; x,fs=audioread('mysound.wav'); snr=20; x2=awgn(x,snr,'measured','db'); audiowrite('sound_noise.wav',x2,fs);t=0:1/fs:

20、(size(x2)-1)/fs;wp=8000*pi/32000; ws=9000*pi/32000;wdelta=ws-wp; N=ceil(11*pi/wdelta); wn=(ws+wp)/2; b=fir1(N,wn/pi,blackman(N+1); figure(1) freqz(b,1,512)f2=filter(b,1,x2); title('濾波器幅頻、相頻特性');figure(2)subplot(2,1,1)plot(t,x2) title('濾波前時域波形');subplot(2,1,2)plot(t,f2) title('濾波后時域波形'); F0=fft(f2,1024); f=fs*(0:511)/1024; figure(3)y2=fft(x2,1024); subplot(2,1,1)plot(f,abs(y2(1:512);title('濾波前頻譜') xlabel('Hz');ylabel('

溫馨提示

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

評論

0/150

提交評論