![《數(shù)字信號處理實驗》課件第14章_第1頁](http://file4.renrendoc.com/view14/M0B/01/1D/wKhkGWdOiwGARjPBAAOLZ5DkI8Y208.jpg)
![《數(shù)字信號處理實驗》課件第14章_第2頁](http://file4.renrendoc.com/view14/M0B/01/1D/wKhkGWdOiwGARjPBAAOLZ5DkI8Y2082.jpg)
![《數(shù)字信號處理實驗》課件第14章_第3頁](http://file4.renrendoc.com/view14/M0B/01/1D/wKhkGWdOiwGARjPBAAOLZ5DkI8Y2083.jpg)
![《數(shù)字信號處理實驗》課件第14章_第4頁](http://file4.renrendoc.com/view14/M0B/01/1D/wKhkGWdOiwGARjPBAAOLZ5DkI8Y2084.jpg)
![《數(shù)字信號處理實驗》課件第14章_第5頁](http://file4.renrendoc.com/view14/M0B/01/1D/wKhkGWdOiwGARjPBAAOLZ5DkI8Y2085.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1.1市場與市場營銷1.2我國汽車市場的發(fā)展與現(xiàn)狀復(fù)習(xí)思考題實驗14快速傅里葉變換(FFT)一、實驗?zāi)康?/p>
(1)加深對快速傅里葉變換(FFT)基本理論的理解。
(2)了解使用快速傅里葉變換(FFT)計算有限長序列和無限長序列信號頻譜的方法。
(3)掌握用MATLAB語言進(jìn)行快速傅里葉變換時常用的子函數(shù)。二、實驗涉及的MATLAB子函數(shù)
1.fft
功能:一維快速傅里葉變換(FFT)。
調(diào)用格式:
y=fft(x);利用FFT算法計算矢量x的離散傅里葉變換,當(dāng)x為矩陣時,y為矩陣x每一列的FFT。當(dāng)x的長度為2的冪次方時,則fft函數(shù)采用基2的FFT算法,否則采用稍慢的混合基算法。
y=fft(x,n);采用n點FFT。當(dāng)x的長度小于n時,fft函數(shù)在x的尾部補零,以構(gòu)成n點數(shù)據(jù);當(dāng)x的長度大于n時,fft函數(shù)會截斷序列x。當(dāng)x為矩陣時,fft函數(shù)按類似的方式處理列長度。
2.ifft
功能:一維快速傅里葉逆變換(IFFT)。
調(diào)用格式:
y=ifft(x);用于計算矢量x的IFFT。當(dāng)x為矩陣時,計算所得的y為矩陣x中每一列的IFFT。
y=ifft(x,n);采用n點IFFT。當(dāng)length(x)<n時,在x中補零;當(dāng)length(x)>n時,將x截斷,使length(x)=n。
3.fftshift
功能:對fft的輸出進(jìn)行重新排列,將零頻分量移到頻譜的中心。
調(diào)用格式:
y=fftshift(x);對fft的輸出進(jìn)行重新排列,將零頻分量移到頻譜的中心。當(dāng)x為向量時,fftshift(x)直接將x中的左右兩半交換而產(chǎn)生y。
當(dāng)x為矩陣時,fftshift(x)同時將x的左右、上下進(jìn)行交換而產(chǎn)生y。三、實驗原理
1.用MATLAB提供的子函數(shù)進(jìn)行快速傅里葉變換
從理論學(xué)習(xí)可知,DFT是唯一在時域和頻域均為離散序列的變換方法,它適用于有限長序列。盡管這種變換方法是可以用于數(shù)值計算的,但如果只是簡單的按照定義進(jìn)行數(shù)據(jù)處理,當(dāng)序列長度很大時,則將占用很大的內(nèi)存空間,運算時間將很長??焖俑道锶~變換是用于DFT運算的高效運算方法的統(tǒng)稱,F(xiàn)FT只是其中的一種。FFT主要有時域抽取算法和頻域抽取算法,基本思想是將一個長度為N的序列分解成多個短序列,如基2算法、基4算法等,大大縮短了運算的時間。
MATLAB中提供了進(jìn)行快速傅里葉變換(FFT)的子函數(shù),用fft計算DFT,用ifft計算IDFT。
例14-1
已知一個長度為8點的時域離散信號,n1=0,n2=7,在n0=4前為0,n0以后為1。對其進(jìn)行FFT變換,作時域信號及DFT、IDFT的圖形。
解程序如下:
n1=0;n2=7;n0=4;
n=n1:n2;N=length(n);
xn=[(n-n0)>=0];%建立時域信號
subplot(2,2,1);stem(n,xn);
title(¢x(n)¢);
k=0:N-1;
Xk=fft(xn,N);%用FFT計算信號的DFT
subplot(2,1,2);stem(k,abs(Xk));
title(¢Xk=DFT(x(n))¢);
xn1=ifft(Xk,N);%用IFFT計算信號的IDFT
subplot(2,2,2);stem(n,xn1);
title(¢x(n)=IDFT(Xk)¢);
運行結(jié)果如圖14-1所示。
圖14-1
例14-1用FFT求有限長序列的傅里葉變換
例14-2
將例13-5已知的兩個時域周期序列分別取主值,得到x1=[1,1,1,0,0,0],x2=[0,1,2,3,0,0],求時域循環(huán)卷積y(n)并用圖形表示。
解本例將例13-5使用DFT處理的計算,改為用FFT和IFFT進(jìn)行循環(huán)卷積。
程序如下(作圖程序部分省略):
xn1=[0,1,2,3,0,0];%建立x1(n)序列
xn2=[1,1,1,0,0,0]; %建立x2(n)序列
N=length(xn1);
n=0:N-1;k=0:N-1;
Xk1=fft(xn1,N);%由x1(n)的FFT求X1(k)
Xk2=fft(xn2,N);%由x2(n)的FFT求
Yk=Xk1.*Xk2;%Y(k)=X1(k)X2(k)
yn=ifft(Yk,N);%由Y(k)的IFFT求y(n)
yn=abs(yn)
運行結(jié)果如圖13-5所示,與例13-5用DFT計算的結(jié)果一致。
2.用FFT計算有限長序列的頻譜
1)基本概念
一個序號從n1到n2的時域有限長序列x(n),它的頻譜X(ejw)定義為它的離散傅里葉變換,且在奈奎斯特(Nyquist)頻率范圍內(nèi)有界并連續(xù)。序列的長度為N,則N=n2-n1+1。計算x(n)的離散傅里葉變換(DFT)得到的是X(ejw)的N個樣本點X(ejwk)。其中數(shù)字頻率為
式中:dw為數(shù)字頻率的分辨率;k取對應(yīng)-(N-1)/2到(N-1)/2區(qū)間的整數(shù)。
在實際使用中,往往要求計算出信號以模擬頻率為橫坐標(biāo)的頻譜,此時對應(yīng)的模擬頻率為
式中:D為模擬頻率的分辨率或頻率間隔;Ts為采樣信號的周期,Ts=1/Fs;定義信號時域長度L=NTs。
在使用FFT進(jìn)行DFT的高效運算時,一般不直接用n從n1到n2的x(n),而是取 的主值區(qū)間(n=0,1,…,N-1)的數(shù)據(jù),經(jīng)FFT將產(chǎn)生N個數(shù)據(jù),定位在k=0,1,…,N-1的數(shù)字頻率點上,即對應(yīng)[0,2p]。如果要顯示[-p,p]范圍的頻譜,則可以使用fftshift(X)進(jìn)行位移。
2)頻譜的顯示及分辨率問題
例14-3
已知有限長序列x(n)=[1,2,3,2,1],其采樣頻率Fs=10Hz。請使用FFT計算其頻譜。
解
MATLAB程序如下:
Fs=10;
xn=[1,2,3,2,1];N=length(xn);
D=2*pi*Fs/N;%計算模擬頻率分辨率
k=floor(-(N-1)/2:(N-1)/2);%頻率顯示范圍對應(yīng) [-p,p]
X=fftshift(fft(xn,N));%作FFT運算且移位p
subplot(1,2,1);plot(k*D,abs(X),¢o:¢);%橫軸化 成模擬頻率作幅度譜
title(¢幅度頻譜¢);xlabel(¢rad/s¢);
subplot(1,2,2);plot(k*D,angle(X),¢o:¢);%橫軸 化成模擬頻率作相位譜
title(¢相位頻譜¢);xlabel(¢rad/s¢);
程序運行結(jié)果:
absX=
0.38202.61809.00002.61800.3820
angleX=
-1.25662.5133[KG*4/5]0-2.51331.2566
運行結(jié)果如圖14-2所示。
圖14-2例14-3有限長序列的頻譜由圖14-2可知,當(dāng)有限長序列的長度N=5時,頻譜的頻率樣本點數(shù)也為5,如圖上用“”表示的點位。頻率點之間的間距非常大,即分辨率很低。即使使用了plot命令的插值功能,顯示出的曲線仍是斷斷續(xù)續(xù)的,與真實曲線有較大的誤差。
改變分辨率的基本方法是給輸入序列補零,即增加頻譜的密度。注意,這種方法只是改善了圖形的視在分辨率,并不增加頻譜的細(xì)節(jié)信息。
將上述有限長序列x(n)=[1,2,3,2,1]末尾補0到N=1000點,將程序改為:
Fs=10;N=1000;
xn=[1,2,3,2,1];Nx=length(xn);
xn=[1,2,3,2,1,zeros(1,N-Nx-1)];
D=2*pi*Fs/N;%計算模擬頻率分辨率
k=floor(-(N-1)/2:(N-1)/2);%頻率顯示范圍對應(yīng) [-p,p]
X=fftshift(fft(xn,N));%作FFT運算且移位p
subplot(1,2,1);plot(k*D,abs(X));%橫軸化成模擬頻率作幅度譜
title(¢幅度頻譜¢);xlabel(¢rad/s¢);
subplot(1,2,2);plot(k*D,angle(X));%橫軸化成模擬頻率作相位譜
title(¢相位頻譜¢);xlabel(¢rad/s¢);
此時程序執(zhí)行的結(jié)果如圖14-3所示。由圖可以看出,圖形的分辨率提高,曲線幾乎是連續(xù)的頻譜了。
圖14-3將例14-2有限長序列末尾補0到N=1000時的頻譜
3)實偶序列如何補0
例14-4
已知一個矩形窗函數(shù)序列為
采樣周期Ts=0.5s,要求用FFT求其頻譜。
解由于該序列是一個實的偶序列,因而補0時需要仔細(xì)分析。假定按N=32補0,則主值區(qū)域在n=0~31,F(xiàn)FT的輸入應(yīng)為即原來n=[-5:-1]的前五個點移到n=[27:31]中去了。
下面考慮分別用N=32,64,512,觀察不同N值代入對頻譜的影響。
程序如下,
Ts=0.5;C=[32,64,512];
%輸入不同的N值
forr=0:2;
N=C(r+1);
xn=[ones(1,6),zeros(1,N-11),ones(1,5)]; %建立x(n)
D=2*pi/(N*Ts);
k=floor(-(N-1)/2:(N-1)/2);
X=fftshift(fft(xn,N));
subplot(3,2,2*r+1);plot(k*D,abs(X));%幅度頻譜
subplot(3,2,2*r+2);stairs(k*D,angle(X));%相位 頻譜
end
注意:此處相位頻譜使用了stairs,因為該相位頻譜變化率比較陡峭。
程序執(zhí)行結(jié)果如圖14-4所示。
圖14-4將例14-4有限長序列補0到N=32、64、512時的頻譜如果將x(n)的輸入寫成
xn=[ones(1,11),zeros(1,N-11)];%建立x(n-5)
相當(dāng)于起點不是取自n=0而是n=-5,計算的是x(n-5)的頻譜。幅度頻譜不受影響,相位頻譜引入一個線性相位-5w,如圖14-5所示。
圖14-5將有限長位移序列x(n-5)補0到N=512時的頻譜
3.用FFT計算無限長序列的頻譜
用FFT進(jìn)行無限長序列的頻譜計算,首先要將無限長序列截斷成一個有限長序列。序列長度的取值對頻譜有較大的影響,帶來的問題是引起頻譜的泄漏和波動。
例14-5
已知一個無限長序列為
采樣頻率Fs=20Hz,要求用FFT求其頻譜。
解
MATLAB程序如下:
Fs=20;C=[8,16,128];%輸入不同的N值
forr=0:2;
N=C(r+1);
n=0:N-1;
xn=exp(-0.5*n);%建立x(n)
D=2*pi*Fs/N;
k=floor(-(N-1)/2:(N-1)/2);
X=fftshift(fft(xn,N));
subplot(3,2,2*r+1);plot(k*D,abs(X));
axis([-80,80,0,3]);
subplot(3,2,2*r+2);stairs(k*D,angle(X));
axis([-80,80,-1,1]);
end
運行結(jié)果如圖14-6所示。
圖14-6將無限長序列截斷為N=8,16,128時的頻譜由圖14-6可見,N值取得越大,即序列保留得越長,曲線精度越高。
例14-6
用FFT計算下列連續(xù)時間信號的頻譜,并觀察選擇不同的Ts和N值對頻譜特性的影響。
xa(t)=e-0.01t(sin2t+sin2.1t+sin2.2t)t≥0
解該題選擇了三個非常接近的正弦信號,為了將各頻率成分區(qū)分出來,在滿足奈奎斯特定理的條件下確定采樣周期,選擇三組數(shù)據(jù),分別是Ts=0.5s、0.25s和0.125s;再確定N值,分別選擇N=256和2048。觀察不同Ts和N的組合對頻譜的影響。程序如下:
T0=[0.5,0.25,0.125,0.125];%輸入不同的Ts值
N0=[256,256,256,2048];%輸入不同的N值
forr=1:4;
Ts=T0(r);N=N0(r);%賦Ts和N值
n=0:N-1;
D=2*pi/(Ts*N);%計算模擬頻率分辨率
xa=[ZK(]exp(-0.01*n*Ts).*(sin(2*n*Ts)+sin(2.1*n*Ts)+sin(2.2*n*Ts));
k=floor(-(N-1)/2:(N-1)/2);
Xa=Ts*fftshift(fft(xa,N));
[r,Xa(1)]%輸出Xa(1)的數(shù)值,供誤差計算用
subplot(2,2,r);plot(k*D,abs(Xa),¢k¢);
axis([1,3,1.1*min(abs(Xa)),1.1*max(abs(Xa))]);
end
運行結(jié)果如圖14-7所示。
圖14-7用FFT計算三個很靠近的諧波分量的頻譜圖由圖14-7可以得出以下結(jié)論:
(1)N同樣取256(如前三個圖形),當(dāng)Ts越大時,時域信號的長度L=NTs保留得越長,則分辨率越高,頻譜特性誤差
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年金屬表面油漆行業(yè)深度研究分析報告
- 2025年乙酰乙酰芳胺類行業(yè)深度研究分析報告
- 農(nóng)行理財合同范例
- 農(nóng)村建筑材料租賃合同范例
- 農(nóng)村宗祠建筑合同范例
- 公司土地入股合同范本
- 2025年度酒店客房用品租賃與售后服務(wù)合同范本
- 農(nóng)村地基賣合同范例
- 公益贈與合同范本
- 創(chuàng)建三甲醫(yī)院宣傳合同范本
- 島津氣相色譜培訓(xùn)
- 2024年03月四川農(nóng)村商業(yè)聯(lián)合銀行信息科技部2024年校園招考300名工作人員筆試歷年參考題庫附帶答案詳解
- 睡眠專業(yè)知識培訓(xùn)課件
- 臨床思維能力培養(yǎng)
- 人教版高中物理必修第三冊第十章靜電場中的能量10-1電勢能和電勢練習(xí)含答案
- 《工程勘察設(shè)計收費標(biāo)準(zhǔn)》(2002年修訂本)
- 中國宗教文化 中國古代宗教文化的特點及現(xiàn)代意義
- 2024年四川省巴中市級事業(yè)單位選聘15人歷年高頻難、易錯點練習(xí)500題附帶答案詳解
- 演出經(jīng)紀(jì)人培訓(xùn)
- 蓋房四鄰簽字協(xié)議書范文
- 2024年新人教版七年級上冊數(shù)學(xué)教學(xué)課件 第六章 幾何圖形初步 數(shù)學(xué)活動
評論
0/150
提交評論