數(shù)字信號處理實驗二用FFT進行譜分析_第1頁
數(shù)字信號處理實驗二用FFT進行譜分析_第2頁
數(shù)字信號處理實驗二用FFT進行譜分析_第3頁
數(shù)字信號處理實驗二用FFT進行譜分析_第4頁
數(shù)字信號處理實驗二用FFT進行譜分析_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗二實驗二 用用FFTFFT進行譜分析進行譜分析 實驗目的實驗目的 (1)進一步加深DFT算法原理和基本性質(zhì)的理解(因為FFT只是DFT的一種快速算法,所以FFT的運算結(jié)果必然滿足DFT的基本性質(zhì))。熟悉FFT程序結(jié)構(gòu)及編程方法。 (2)熟悉應用FFT對確定信號進行譜分析方法,熟悉FFT算法原理和FFT子程序的應用。 (3)學習用FFT對連續(xù)信號和時域離散信號進行譜分析的方法,了解可能出現(xiàn)的分析誤差及其原因,以便在實際中正確應有FFT。 實驗原理及方法實驗原理及方法 dtetxjXtjaa)(xa(t)的頻譜 deeXeXIDTFTnxdeTkjXTkTdejXtxnxtjjjknjanTj

2、anTta 212121221| )(取樣x(t)x(n)序列tkT12T23T34T4幅度量化幅度量化信號信號 nnjjenxeX)(X(k)是X(ej)在0,2區(qū)間上的N個等間隔采樣點 102NnnkNkNjWnxeXkX一個序列x(n)的離散時間傅里葉變換就是它的頻譜函數(shù)。實驗內(nèi)容及步驟實驗內(nèi)容及步驟(Matlab DFT) (Matlab DFT) function y=mydft(x)% y=mydft(x)% x為給定時間序列% y為x的離散傅立葉變換N=length(x); % 輸入序列的長度n=0:N-1; k=n; % 確定時域位置序列n和頻域位置序列kWN=exp(-j*2

3、*pi/N); % 計算DFT所需的旋轉(zhuǎn)因子nk=n*k; WNnk=WN.nk; % 構(gòu)成旋轉(zhuǎn)因子矩陣Xk=x*WNnk;y=Xk; % 按DFT定義計算x的傅立葉變換 NjNNnnkNeWWnxkX210實驗內(nèi)容及步驟實驗內(nèi)容及步驟(Matlab FFT)(Matlab FFT)function y=myditfft(x)% y=myditfft(x)% 本程序?qū)斎胄蛄?x 實現(xiàn)DIT-FFT基2算法,點數(shù)取大于等于x長度的2的冪次% x為給定時間序列% y為x的離散傅立葉變換m=nextpow2(x);N=2m; % 求x的長度對應的2的最低冪次mif length(x)N % 若x的

4、長度不是2的冪,補零到2的整數(shù)冪 x=x,zeros(1,N-length(x); end nxd=bin2dec(fliplr(dec2bin(1:N-1,m)+1; % 求1:2m數(shù)列的倒序y=x(nxd); % 將x倒序排列作為y的初始值實驗內(nèi)容及步驟實驗內(nèi)容及步驟(Matlab FFT)(Matlab FFT)for mm=1:m % 將DFT作m次基2分解,從左到右,對每次分解作DFT運算Nmr=2mm;u=1; % 旋轉(zhuǎn)因子u初始化為WN0=1WN=exp(-i*2*pi/Nmr); % 本次分解的基本DFT因子WN=exp(-i*2*pi/Nmr) for j=1:Nmr/2 %

5、 本次跨越間隔內(nèi)的各次蝶形運算 for k=j:Nmr:N % 本次蝶形運算的跨越間隔為Nmr=2mm kp=k+Nmr/2; % 確定蝶形運算的對應單元下標 t=y(kp)*u; % 蝶形運算的乘積項 y(kp)=y(k)-t; % 蝶形運算 y(k)=y(k)+t; % 蝶形運算 end u=u*WN; % 修改旋轉(zhuǎn)因子,多乘一個基本DFT因子WN endend算法時間比較算法時間比較K=inputK=input(K=K= ); %; %設定數(shù)據(jù)長度的設定數(shù)據(jù)長度的2 2的冪次的冪次K Kx=randn(1,2K); %x=randn(1,2K); %先生成一個先生成一個x x向量向量ti

6、c,X=fft(x),toc %tic,X=fft(x),toc %測試測試fftfft子程序所需運行時間子程序所需運行時間tic,X=myditfft(x),toc %tic,X=myditfft(x),toc %測試測試myditfft子程序所需運行時間子程序所需運行時間tic,X=mydft(x),toc %tic,X=mydft(x),toc %測試測試mydft子程序所需運行時間子程序所需運行時間例:已知序列例:已知序列x(n)=2sin(/3n)+3cos(0.25 n),0n 127,試繪制x(n)及它的離散傅里葉變換譜圖。及它的離散傅里葉變換譜圖。clear allN=128;

7、n=0:N-1;xn=2*sin(pi/3)*n)+3*cos(0.25*pi*n);XK=fft(xn,N);magXK=abs(XK); phaXK=angle(XK);subplot(2,1,1);stem(n,xn);xlabel(n);ylabel(x(n);k=0:length(magXK)-1;subplot(2,1,2);stem(k,magXK);xlabel(k);ylabel(|X(k)|);實驗內(nèi)容及步驟實驗內(nèi)容及步驟 (1 1)用matlab編程產(chǎn)生并畫出信號x1(n)、x2(n)、x3(n)、x4(n)、x5(n)。nnnnnnxnRnx其它,074,830, 1)()()(241nnnnnnx其它, 074, 330,4)(3nnx4cos)(4nnx8sin)(5(2 2)用matlabmatlab編制FFT函數(shù)對上述信號進行頻譜分析,并畫出上述信號譜圖。 實驗報告要求實驗報告要求 1. 簡述實驗原理及目的。 2. 對上述的信號逐個進行譜分析。給出所編制的實驗程序清單,并附上必要的說明,給出實驗信號序列的時域和頻域波形,說明FFT長度N改變對頻譜的影響。 3.簡要回答以下問題: 在N=8時

溫馨提示

  • 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

提交評論