《數(shù)字信號處理實驗》課件第11章_第1頁
《數(shù)字信號處理實驗》課件第11章_第2頁
《數(shù)字信號處理實驗》課件第11章_第3頁
《數(shù)字信號處理實驗》課件第11章_第4頁
《數(shù)字信號處理實驗》課件第11章_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1.1市場與市場營銷1.2我國汽車市場的發(fā)展與現(xiàn)狀復習思考題實驗11離散傅里葉級數(shù)(DFS)一、實驗目的

(1)加深對離散周期序列傅里葉級數(shù)(DFS)基本概念的理解。

(2)掌握用MATLAB語言求解周期序列傅里葉級數(shù)變換和逆變換的方法。

(3)觀察離散周期序列的重復周期數(shù)對頻譜特性的影響。

(4)了解離散序列的周期卷積及其與線性卷積的區(qū)別。二、實驗涉及的MATLAB子函數(shù)

1.mod

功能:模除求余。

調用格式:

mod(x,m);x整除m取正余數(shù)。

2.floor

功能:向-∞舍入為整數(shù)。

調用格式:

floor(x);將x向-∞舍入為整數(shù)。三、實驗原理

1.周期序列的離散傅里葉級數(shù)

離散時間序列x(n)滿足x(n)=x(n+rN),稱為離散周期序列,用 表示。其中,N為信號的周期,x(n)稱為離散周期序列的主值。

周期序列 可以用離散傅里葉級數(shù)(DFS)表示:

其中, 是周期序列離散傅里葉級數(shù)第k次諧波分量的系數(shù),也稱為周期序列的頻譜,可表示為

由上面兩式可以看出,它們也是周期序列的一對傅里葉級數(shù)變換對。

令 ,以上傅里葉級數(shù)變換對又可以寫成:

(11-1)

(11-2)與連續(xù)性周期信號的傅里葉級數(shù)相比較,周期序列離散傅里葉級數(shù)有著如下特點:

(1)連續(xù)性周期信號的傅里葉級數(shù)對應的第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));%顯示逆變換結果

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))]);

運行結果如圖11-1所示。

圖11-1例11-1周期序列與傅里葉級數(shù)變換和逆變換結果由離散傅里葉級數(shù)逆變換圖形可見,與原信號相比,幅度擴大了32倍。這是因為周期序列為原主值序列周期的3倍,做逆變換時未做處理??梢詫⒛孀儞Q程序改為

x=Xk*exp(j*2*pi/N).^(n¢*k)/(3*3*N);

3.離散傅里葉級數(shù)變換和逆變換的通用子程序

由例11-1可見,周期序列進行傅里葉級數(shù)變換和逆變換,是依據(jù)變換公式進行程序編寫的,無論信號序列如何變化,求解的公式總是一樣的。因此,可以將其編寫成通用子程序。

(1)離散傅里葉級數(shù)變換通用子程序dfs.m:

function=dfs(xn,N)

n=0:N-1;

k=0:N-1;

WN=exp(-j*2*pi/N);

nk=n¢*k;

Xk=xn*WN.^nk;

(2)離散傅里葉級數(shù)逆變換通用子程序idfs.m:

function=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。

解由于需要調用子程序,其中通用子程序僅適用于對主值區(qū)間進行傅里葉級數(shù)變換和逆變換,周期次數(shù)無法傳遞給通用子程序,因此程序執(zhí)行的結果僅顯示圖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));%顯示逆變換 結果

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)|¢);

4.周期重復次數(shù)對序列頻譜的影響

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

下面舉例說明信號采用不同的重復周期次數(shù)對序列頻譜的影響。

例11-3

已知一個矩形序列的脈沖寬度占整個周期的1/2,一個周期的采樣點數(shù)為10點,用傅里葉級數(shù)變換求信號的重復周期數(shù)分別為1、4、7、10時的幅度頻譜。

解MATLAB程序如下:

xn=[ones(1,5),zeros(1,5)];%建立一個周期 的時域信號

Nx=length(xn);

Nw=1000;dw=2*pi/Nw;%把2p分為Nw份,頻率 分辨率為dw

k=floor((-Nw/2+0.5):(Nw/2+0.5));%建立關于0 軸對稱的頻率向量

forr=0:3

K=3*r+1;

nx=0:(K*Nx-1);%周期延拓后的時間向量

x=xn(mod(nx,Nx)+1);%周期延拓后的時間信號x

Xk=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

程序運行結果如圖11-2所示。

圖11-2周期重復次數(shù)對序列頻譜的影響注意mod函數(shù)的用法,由于MATLAB中變量的下標由1開始,而mod函數(shù)的結果卻從零開始,因此語句中加1。

由圖11-2可以看出,信號序列的周期數(shù)越多,則頻譜越是向幾個頻點集中。當信號序列的周期數(shù)趨于無窮大時,頻譜轉化為離散譜。

*5.周期序列的卷積和

時域周期序列的卷積和與頻域周期序列的積相互對應。若 ,則

注意:周期序列的卷積和與非周期序列的卷積和有所區(qū)別。

(1) 和 均為變量為m,周期為N的周期序列,故它們的乘積也是周期序列。

(2)卷積求和是在一個周期內進行的,即從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; %建立時間向量n

xn1=[0,1,2,3,0,0];%建立xn1序列主值

xn2=[1,1,1,0,0,0];%建立xn2序列主值

N=length(xn1);

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=xn12(mod(nx,Nx)+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;%使輸入和翻轉移位的脈沖過渡函數(shù)逐項 相乘

yk=sum(y1);%相加

y([k+1,k+N+1,k+2*N+1,k+3*N+1])=y(tǒng)k;[KG*2]%將結果放入數(shù)組y

subplot(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ū)每 一次卷積的結果

axis([-1,3*N,0,6.6]);holdon[KG-1]%在圖 形窗上保留每一次運行的圖形結果

ylabel(¢主值區(qū)¢);

subplot(4,1,4);stem(nx,y);

axis([-1,3*N,0,6.6]);ylabel

溫馨提示

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

評論

0/150

提交評論