dsp-軟件實驗報告_第1頁
dsp-軟件實驗報告_第2頁
dsp-軟件實驗報告_第3頁
dsp-軟件實驗報告_第4頁
dsp-軟件實驗報告_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、-數(shù)字信號處理 MATLAB仿真實驗報告學院: 電子工程學院 班級: 2021211203 *: 2021210876 : 月鵬 班序號: 04 一、實驗一:數(shù)字信號的 FFT 分析1、實驗容及要求(1) 離散信號的頻譜分析:設(shè)信號此信號的0.3pi 和 0.302pi兩根譜線相距很近,譜線 0.45pi 的幅度很小,請選擇適宜的序列長度 N 和窗函數(shù),用 DFT 分析其頻譜,要求得到清楚的三根譜線。(2) DTMF 信號頻譜分析用計算機聲卡采用一段通信系統(tǒng)中雙音多頻DTMF撥號數(shù)字 09的數(shù)據(jù),采用快速傅立葉變換FFT分析這10個DTMF撥號時的頻譜。2、 實驗結(jié)果 *(n)的時域圖與頻譜:

2、得到三根清晰的譜線 9的頻譜 8的頻譜 7的頻譜 6的頻譜3、實現(xiàn)代碼及分析(1)第一小題:k=1000; %DFT點數(shù)n=1:1:k; %對時域信號進展采樣*=0.001*cos(0.45*n*pi)+sin(0.3*n*pi)-cos(0.302*n*pi-pi/4);subplot(2,1,1);stem(n,*,.); %用.畫出時域圖title(時域序列);*label(n);ylabel(*(n);*k=fft(*,k); %進展K點DFT變換w=2*pi/k*0:1:k-1; %數(shù)字角頻率subplot(2,1,2);stem(w/pi,abs(*k); %畫出頻譜圖 a*is(

3、0.2,0.5,0,2); %設(shè)置窗函數(shù)的寬度與限幅title(1000點dft);*label(數(shù)字頻率);ylabel(|*k(k)|);% 此題關(guān)鍵在于DFT點數(shù)N確實定。經(jīng)過計算和實驗,當N=1000時能滿足題目要求,看到3條清晰地譜線(2) 第二小題clear;close all;f=941 1336;697 1209;697 1336;697 1477; 770 1209;770 1336; 770 1477;852 1209; 852 1336;852 1477 %0-9的頻率n=1:400;fs=4000; %取樣頻率為4000hzfprintf(請輸入數(shù)字(0 to 9):n

4、)k=input ()f1=f(k+1,1); %因為從0開場計算,+1得輸 f2=f(k+1,2); %入數(shù)字的兩個頻率N=400; *1=sin(2*pi*f1*n/fs)+sin(2*pi*f2*n/fs); %DTMF的輸入信號時域*n=*1,zeros(1,400); %補零subplot(2,1,1);plot(*n) %畫出時域圖*label(n)ylabel(*n)subplot(2,1,2);fn=fs*n/N; %取樣點的頻率plot(fn,abs(fft(*n(1:400); %400點fft變換,畫出頻譜圖a*is(0,4000,0,300) *label(f)ylab

5、el(FFT)二、實驗二: DTMF 信號的編碼1、實驗容及要求1把您的聯(lián)系通過DTMF 編碼生成為一個 .wav 文件。 技術(shù)指標: 根據(jù) ITU Q.23 建議,DTMF 信號的技術(shù)指標是:傳送/接收率為每秒 10 個,或每個 100ms。 每個傳送過程中,信號存在時間至少 45ms,且不多于 55ms,100ms 的其余時間是靜音。 2對所生成的DTMF文件進展解碼。 由于只需要知道 8 個特定點的頻譜值,因此采用一種稱為 Goertzel 算法的 IIR 濾波器可以有效地提高計算效率。其傳輸函數(shù)為2、實驗結(jié)果 輸入界面 生成的時域圖占空比為50% 的FFT圖:每個數(shù)字都有兩條主譜線顯示

6、檢測到的3) 實驗代碼及分析%第一局部,產(chǎn)生編碼clc;tm=49,50,51,65; 52,53,54,66;55,56,57,67;42,48,35,68; %DTMF表中的ASCII碼f1=697,770,852,941; %行頻率向量f2=1209,1336,1477,1633; %列頻率向量d=input(please enter number: ,s) %輸入sum=length(d); %長度total_*=; %信號sum_*=; sum_*=sum_*,zeros(1,800);for a=1:sum %循環(huán)sum次 symbol=abs(d(a); %求輸入的ASCII碼f

7、or p=1:4;for q=1:4;if tm(p,q)=abs(d(a); break,end%檢測碼相符的列號qendif tm(p,q)=abs(d(a);break,end%檢測碼相符的行號pendn=1:400;*=sin(2*pi*n*f1(p)/8000)+sin(2*pi*n*f2(q)/8000);%構(gòu)成雙頻信號*=*,zeros(1,400); %加長序列,增加靜音sum_*=sum_*+*;total_*=total_*,*; %將所有編碼連接起來endsound(total_*); %播放聲音t=total_*/2;wavwrite(t,我的手機); %生成聲音文件p

8、lot(total_*);title(DTMF信號 時域波形);%代碼主要分成三局部,即根據(jù)輸入的數(shù)字確定雙頻率、產(chǎn)生正弦信號和生成文件以及繪圖。在產(chǎn)生正弦信號的過程中有增加靜音和連接運算。整體上用循環(huán)對的每一位進展一樣處理。%第二局部,檢測端k=18,20,22,25,32,35,38;N=210;tm=49,50,51;52,53,54;55,56,57;0,48,0;for i=1:sum j=800*(i-1); *=goertzel(total_*(j+1:j+N),k+1); %算法公式 value=abs(*); figure(2) subplot(2,6,i); stem(k,

9、value,.,r); %畫出FFT頻譜 title(FFT *(n);*label(k);ylabel(|*(k)|); limit=20;for i1=5:7 %判決,確定頻率if value(i1)limit break;endendfor j1=1:4if value(j1)limit break;endendbuffer(i)=tm(j1,i1-4); %根據(jù)頻率確定 enddisp(接收端檢測到的)disp(setstr(buffer) %顯示檢測到的%檢測端編碼首先要根據(jù)goertzel公式算出FFT,再利用判決的方法找出頻率的分布,從而確定輸入的。三、實驗三:FIR 數(shù)字濾波器

10、的設(shè)計和實現(xiàn)1、實驗容及要求: 錄制自己的一段聲音,長度為 45秒,取樣頻率 32kHz,然后疊加一個高斯白噪聲,使得信噪比為 20dB。請采用窗口法設(shè)計一個 FIR 帶通濾波器,濾除噪聲提高質(zhì)量。n 提示: 濾波器指標參考:通帶邊緣頻率為 4kHz,阻帶邊緣頻率為4.5kHz,阻帶衰減大于 50dB; Matlab 函數(shù) y = awgn(*,snr,measured) ,首先測量輸入信號 * 的功率,然后對其疊加高斯白噪聲;2、 實驗結(jié)果原始聲音時域圖與頻譜圖疊加白噪聲的時域圖與頻譜圖但明顯聲音信號太弱,被白噪聲蓋過去了 濾波器的幅頻特性濾波后的時域圖與頻譜特性可以看到45Khz以后的頻譜

11、都被濾掉了3、 代碼及分析%產(chǎn)生原始聲音及頻譜clear allclose ally1,fs,bits=wavread(record-1.wav); %按照采樣頻率取得y1y2=y1(:,1);fs=32000;k=1:4096;yk1=fft(y2,4096);figure (1)subplot(2,1,1);plot(y2);title(原始聲音時域);subplot(2,1,2);plot(32/4096*k,abs(yk1);a*is(0,17,0,0.05);*label(f/kHZ);title(原始聲音頻域);wavplay(y1,42000)%加噪及其頻譜y3=awgn(y2,

12、20,measured,db);%awgn為加性高斯白噪聲yk2=fft(y3,4096);figure (2)subplot(2,1,1);plot(y3);title(加噪后聲音時域);subplot(2,1,2);plot(32/4096*k,abs(yk2);*label(f/KHZ);title(加噪后聲音頻域);wavplay(y3,42000);%濾波器設(shè)計fp=4000;fr=4500;wp=2*pi*fp/fs;wr=2*pi*fr/fs;tr_width=wr-wp;N=ceil(6.6*pi/tr_width)+1;n=0:1:N;wc=(wr+wp)/2;alpha=(

13、N-1)/2;n=0:1:N-1;m=n-alpha+eps;hd=sin(wc*m)./(pi*m);b=fir1(N,wc/(4*pi/3.65);w_ham=(hamming(N);h=hd.*w_ham;H,w=freqz(h,1,1000,whole);H=(H(1:1:501);w=(w(1:1:501);mag=abs(H);db=20*log10(mag+eps)/ma*(mag);pha=angle(H);delta_w=2*pi/1000;*=filter(b,1,y3);figure(3)subplot(1,1,1);plot(w/pi,db);title(濾波器幅頻響應

14、);*=conv(h,y3);%濾除噪聲后頻譜figure(4)subplot(2,1,1);plot(*);title(濾除噪聲后時域圖);*k=fft(*,4096);subplot(2,1,2);plot(32/4096*k,abs(*k);a*is(0,16,0,5)title(濾除噪聲后頻域圖)*label(f/KHZ);wavplay(*,42000);%根據(jù)要求,所求的濾波器是一個低通濾波器%因為衰減大于50DB,窗函數(shù)選擇了漢明窗4、 錯誤分析與總結(jié) 問題主要出在第三道題目上:1) 實驗要求的聲音文件格式為wav,但錄音軟件的的格式wma,所以需要格式轉(zhuǎn)換。首先實驗的是直接更改

15、格式名,盡管在播放器中可以播放,但仍然不可以識別;其次實驗的是用matlab直接錄音,但頻譜集中在錄音的采樣頻率附近,仍不能做正常的分析;最后用的是格式工廠的轉(zhuǎn)換,盡管感覺頻譜仍有改變,但并不影響實驗結(jié)果。2) 用matlab對聲音進展波形提取后,再用一樣的fs播放,會發(fā)現(xiàn)聲音的頻率變低,進過實驗,必須用比fs高一些的頻率播放,才能聽到正確的聲音。3) 比照其他同學的頻譜,發(fā)現(xiàn)我的原始聲音的頻譜的幅度就很低,參加白噪聲之后,就很難看到聲音的頻譜了。但聲音的播放就沒有什么問題。直到最后也沒有想明白為什么。5、 心得與體會 在這次實驗中,我們分別用MATLAB實現(xiàn)了簡單的FFT變換、IIR濾波器設(shè)計與FIR濾波器設(shè)計,真切的感受到了MATL

溫馨提示

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

最新文檔

評論

0/150

提交評論