數(shù)字信號處理實驗-matlab版-離散傅里葉級數(shù)(DFS)_第1頁
數(shù)字信號處理實驗-matlab版-離散傅里葉級數(shù)(DFS)_第2頁
數(shù)字信號處理實驗-matlab版-離散傅里葉級數(shù)(DFS)_第3頁
數(shù)字信號處理實驗-matlab版-離散傅里葉級數(shù)(DFS)_第4頁
數(shù)字信號處理實驗-matlab版-離散傅里葉級數(shù)(DFS)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

實驗11離散傅里葉級數(shù)〔DFS〕(完美格式版,本人自己完成,所有語句正確,不排除極個別錯誤,特別適用于山大,勿用冰點等工具下載,否那么下載之后的word格式會讓很多局部格式錯誤,謝謝)XXXX學(xué)號姓名處XXXX一、實驗?zāi)康?/p>

1、加深對離散周期序列傅里葉級數(shù)(DFS)根本概念的理解。2、掌握用MATLAB語言求解周期序列傅里葉級數(shù)變換和逆變換的方法。3、觀察離散周期序列的重復(fù)周期數(shù)對頻譜特性的影響。4、了解離散序列的周期卷積及其線性卷積的區(qū)別。二、實驗內(nèi)容1、周期序列的離散傅里葉級數(shù)。2、周期序列的傅里葉級數(shù)變換和逆變換。3、離散傅里葉變換和逆變換的通用子程序。4、周期重復(fù)次數(shù)對序列頻譜的影響。5、周期序列的卷積和。三、實驗環(huán)境MATLAB7.0四、實驗原理用matlab進行程序設(shè)計,利用matlab繪圖十分方便,它既可以繪制各種圖形,包括二維圖形和三位圖形,還可以對圖像進行裝飾和控制。1、周期序列的離散傅里葉級數(shù)

(1)連續(xù)性周期信號的傅里葉級數(shù)對應(yīng)的第k次諧波分量的系數(shù)為無窮多。而周期為N的周期序列,其離散傅里葉級數(shù)諧波分量的系數(shù)只有N個是獨立的。(2)周期序列的頻譜也是一個以N為周期的周期序列。2、周期序列的傅里葉級數(shù)變換和逆變換例11-1一個周期性矩形序列的脈沖寬度占整個周期的1/4,一個周期的采樣點數(shù)為16點,顯示3個周期的信號序列波形。要求:

(1)用傅里葉級數(shù)求信號的幅度頻譜和相位頻譜。

(2)求傅里葉級數(shù)逆變換的圖形,與原信號圖形進行比擬。解MATLAB程序如下:N=16;xn=[ones(1,N/4),zeros(1,3*N/4)];xn=[xn,xn,xn];n=0:3*N-1;k=0:3*N-1;Xk=xn*exp(-j*2*pi/N).^(n'*k); %離散傅里葉級數(shù)變換x=(Xk*exp(j*2*pi/N).^(n'*k))/N; %離散傅里葉級數(shù) 逆變換subplot(2,2,1),stem(n,xn);title('x(n)');axis([-1,3*N,1.1*min(xn),1.1*max(xn)]);subplot(2,2,2),stem(n,abs(x)); %顯示逆變換結(jié)果title('IDFS|X(k)|');axis([-1,3*N,1.1*min(x),1.1*max(x)]);subplot(2,2,3),stem(k,abs(Xk)); %顯示序列的幅度譜title('|X(k)|');axis([-1,3*N,1.1*min(abs(Xk)),1.1*max(abs(Xk))]);subplot(2,2,4),stem(k,angle(Xk)); %顯示序列的相位譜title('arg|X(k)|');axis([-1,3*N,1.1*min(angle(Xk)),1.1*max(angle(Xk))]);運行結(jié)果如圖11-1所示。圖11-1由離散傅里葉級數(shù)逆變換圖形可見,與原信號相比,幅度擴大了32倍。這是因為周期序列為原主值序列周期的3倍,做逆變換時未做處理??梢詫⒛孀儞Q程序改為x=Xk*exp(j*2*pi/N).^(n¢*k)/(3*3*N);

3、離散傅里葉級數(shù)變換和逆變換的通用子程序由例11-1可見,周期序列進行傅里葉級數(shù)變換和逆變換,是依據(jù)變換公式進行程序編寫的,無論信號序列如何變化,求解的公式總是一樣的。因此,可以將其編寫成通用子程序。離散傅里葉級數(shù)變換通用子程序dfs.m:function[Xk]=dfs(xn,N);n=0:N-1;k=0:N-1;WN=exp(-j*2*pi/N);nk=n'*k;Xk=xn*WN.^nk;離散傅里葉級數(shù)逆變換通用子程序idfs.m:Function[xn]=idfs(Xk,N)n=0:N-1;k=0:N-1;WN=exp(j*2*pi/N);nk=n'*k;xn=(Xk*WN.^nk)/N;例11-2利用上述兩個子程序,再做一遍例11-1。

解由于需要調(diào)用子程序,其中通用子程序僅適用于對主值區(qū)間進行傅里葉級數(shù)變換和逆變換,周期次數(shù)無法傳遞給通用子程序,因此程序執(zhí)行的結(jié)果僅顯示圖11-1中一個周期的情況。N=16;xn=[ones(1,N/4),zeros(1,3*N/4)];n=0:N-1;Xk=dfs(xn,N); %離散傅里葉級數(shù)變換xn1=idfs(Xk,N); %離散傅里葉級數(shù) 逆變換subplot(2,2,1),stem(n,xn);axis([0,N-1,0,1.1*max(xn)]);title('x(n)');subplot(2,2,2),stem(n,abs(xn1)); %顯示逆變換結(jié)果axis([0,N-1,0,1.1*max(abs(xn1))]);title('idfs|X(k)|');subplot(2,2,3),stem(n,abs(Xk)); %顯示序列的幅度譜title('|X(k)|');subplot(2,2,4),stem(n,angle(Xk)); %顯示序列的相位譜title('arg|X(k)|');運行結(jié)果如圖11-2所示。

圖11-24、周期重復(fù)次數(shù)對序列頻譜的影響理論上講,周期序列不滿足絕對可積條件,因此不能用傅里葉級數(shù)變換來表示。要對周期序列進行分析,可以先取K個周期進行處理,然后再讓K無限增大,研究其極限情況。由這一分析思路,可以觀察信號序列由非周期到周期變化時,頻譜由連續(xù)譜逐漸向離散譜過渡的過程。

下面舉例說明信號采用不同的重復(fù)周期次數(shù)對序列頻譜的影響。例11-3一個矩形序列的脈沖寬度占整個周期的1/2,一個周期的采樣點數(shù)為10點,用傅里葉級數(shù)變換求信號的重復(fù)周期數(shù)分別為1、4、7、10時的幅度頻譜。解MATLAB程序如下:xn=[ones(1,5),zeros(1,5)]; %建立一個周期的時域信號Nx=length(xn);Nw=1000;dw=2*pi/Nw; %把2p分為Nw份,頻率分辨率為dwk=floor((-Nw/2-0.5):(Nw/2+0.5)); %建立關(guān)于0軸對稱的頻率向量forr=0:3K=3*r+1;nx=0:(K*Nx-1); %周期延拓后的時間向量x=xn(mod(nx,Nx)+1); %周期延拓后的時間信號xXk=x*(exp(-j*dw*nx'*k))/K; %進行傅里葉級數(shù)變換subplot(4,2,2*r+1),stem(nx,x);axis([0,K*Nx-1,0,1.1]);ylabel('x(n)');subplot(4,2,2*r+2),plot(k*dw,abs(Xk));axis([-4,4,0,1.1*max(abs(Xk))]);ylabel('X(k)');end程序運行結(jié)果如圖11-3所示。圖11-3注意mod函數(shù)的用法,由于MATLAB中變量的下標(biāo)由1開始,而mod函數(shù)的結(jié)果卻從零開始,因此語句中加1。

由圖11-3可以看出,信號序列的周期數(shù)越多,那么頻譜越是向幾個頻點集中。當(dāng)信號序列的周期數(shù)趨于無窮大時,頻譜轉(zhuǎn)化為離散譜。5、周期序列的卷積和時域周期序列的卷積和與頻域周期序列的積相互對應(yīng)。注意:周期序列的卷積和與非周期序列的卷積和有所區(qū)別。和均為變量為m,周期為N的周期序列,故它們的乘積也是周期序列。 (2)卷積求和是在一個周期內(nèi)進行的,即從m=0到m=N-1。

(3)如果x1(n)和x2(n)的周期長度不同,那么卷積和的長度取N=max[N1,N2]。

下面舉例說明。例11-4兩個周期序列分別為 =[1,1,1,0,0,0], =[0,1,2,3,0,0],用圖形表示它們的周期卷積和。解為了討論問題的方便,例題選擇兩個序列均以N=6為周期,以動態(tài)圖形演示其卷積和的過程。程序如下:clf; %圖形窗清屏n=0:5; %建立時間向量nxn1=[0,1,2,3,0,0]; %建立xn1序列主值xn2=[1,1,1,0,0,0];N=length(xn1); %建立xn2序列主值nx=(-N:3*N-1);hxn2=xn2(mod(nx,N)+1); %將xn2序列周期延拓u=[zeros(1,N),xn2,zeros(1,2*N)]; %按xn2周期延拓后的長度重建主值信號xn12=fliplr(xn1); %將xn1作左右反折hxn1=xn1(mod(nx,N)+1); %將xn1反折后的序列周期延拓N1=length(hxn1);y=zeros(1,4*N); %將y存儲單元初始化fork=0:N-1 %動態(tài)演示繪圖開始p=[zeros(1,k+1),hxn1(1:N1-k-1)]; %使 hxn1向右循環(huán)移位y1=u.*p; %使輸入和翻轉(zhuǎn)移位的脈沖過渡函數(shù)逐項相乘yk=sum(y1); %相加y([k+1,k+N+1,k+2*N+1,k+3*N+1])=yk; %將結(jié)果放入數(shù)組ysubplot(4,1,1);stem(nx,hxn2);axis([-1,3*N,0,1.1]);ylabel('x2(n)');subplot(4,1,2);stem(nx,p);axis([-1,3*N,0,3.3]);ylabel('x1(n)');subplot(4,1,3);stem(k,yk); %作圖表示主值區(qū)每一次卷積的結(jié)果axis([-1,3*N,0,6.6]);holdon%在圖形窗上保存每一次運行的圖形結(jié)果ylabel('主值區(qū)');subplot(4,1,4);stem(nx,y);axis([-1,3*N,0,6.6]);ylabel('卷積結(jié)果');pause(2); %停頓2秒end程序運行結(jié)果如圖11-4所示。圖11-4五、實驗過程(2)一個信號序列的主值為x(n)=[0,1,2,3,2,1,0],顯示2個周期的信號序列波形。要求:

①用傅里葉級數(shù)變換求信號的幅度頻譜和相位頻譜,用圖形表示。

②求傅里葉級數(shù)逆變換的圖形,并與原信號圖形進行比擬。解程序如下:>>N=7;>>n=0:2*N-1;>>k=0:2*N-1;>>xn=[0,1,2,3,2,1,0];>>xn=[xn,xn];>>Xk=xn*exp(-j*2*pi/N).^(n'*k);>>x=Xk*exp(j*2*pi/N).^(n'*k)/N;>>subplot(2,2,1),stem(k,abs(Xk));>>title('|X(k)|幅度譜');>>subplot(2,2,2),stem(k,angle(Xk));>>title('arg|X(k)|相位譜');>>subplot(2,2,3),stem(n,abs(x));>>title('IDFS|Xk|逆變換結(jié)果');>>subplot(2,2,4),stem(n,xn);>>title('原信號圖形');程序運行結(jié)果如圖11-5所示。圖11-5(3)一個信號序列的主值為x(n)=R2(n),。要求:

①顯示x(n)和圖形。

②用傅里葉級數(shù)變換求 ,并顯示圖形。解程序如下:>>clf;>>xn=[1,0,0,0];>>n=0:3;>>N=length(xn);>>nx=(-N:3*N-1);>>hxn=xn(mod(nx,N)+1);>>k=(-N:3*N-1);>>Xk=hxn*exp(-j*2*pi/N).^(nx'*k);>>subplot(2,2,1);stem(n,xn);>>title('x(n)');>>subplot(2,2,2);stem(nx,hxn);

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論