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

下載本文檔

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

文檔簡介

1.1市場與市場營銷1.2我國汽車市場的發(fā)展與現狀復習思考題實驗7

z變換及其應用一、實驗目的

(1)加深對離散系統變換域分析——z變換的理解。

(2)掌握進行z變換和z反變換的基本方法,了解部分分式法在z反變換中的應用。

(3)掌握使用MATLAB語言進行z變換和z反變換的常用子函數。二、實驗涉及的MATLAB子函數

1.ztrans

功能:返回無限長序列函數x(n)的z變換。

調用格式:

X=ztrans(x);求無限長序列函數x(n)的z變換X(z),返回z變換的表達式。

2.iztrans

功能:求函數X(z)的z反變換x(n)。

調用格式:

x=iztrans(X);求函數X(z)的z反變換x(n),返回z反變換的表達式。

3.syms

功能:定義多個符號對象。

調用格式:

symsabw0;把字符a,b,w0定義為基本的符號對象。

4.residuez

功能:有理多項式的部分分式展開。

調用格式:

=residuez(b,a);把b(z)/a(z)展開成(如式(7-3))部分分式。

[b,a]=residuez(rpc);根據部分分式的r、p、c數組,返回有理多項式。

其中:b,a為按降冪排列的多項式(如式(7-1))的分子和分母的系數數組;r為余數數組;p為極點數組;c為無窮項多項式系數數組。三、實驗原理

1.用ztrans子函數求無限長序列的z變換

MATLAB為我們提供了進行無限長序列的z變換的子函數ztrans。使用時須知,該函數只給出z變換的表達式,而沒有給出收斂域。另外,由于這一功能還不盡完善,因而有的序列的z變換還不能求出,z逆變換也存在同樣的問題。

例7-1

求以下各序列的z變換。

symsw0nza

x1=a^n;X1=ztrans(x1)

x2=n;X2=ztrans(x2)

x3=(n*(n-1))/2;X3=ztrans(x3)

x4=exp(j*w0*n);X4=ztrans(x4)

x5=1/n*(n-1);X5=ztrans(x5)程序運行結果如下:

X1=z/a/(z/a-1)

X2=z/(z-1)^2

X3=-1/2*z/(z-1)^2+1/2*z*(z+1)/(z-1)^3

X4=z/exp(i*w0)/(z/exp(i*w0)-1)

???Errorusing==>sym/maple←表示(x5)不能求出z變換

[ZK(]Error,(inconvert/hypergeom)Summandissin

gularatn=0intheintervalofsummation

Errorin==>C:\MATLAB6p1\toolbox\symbolic\@sym\ztrans.m

Online81==>F=maple(¢map¢,¢ztrans¢,f,n,z);

2.用iztrans子函數求無限長序列的z反變換

MATLAB還提供了進行無限長序列的z反變換的子函數iztrans。

例7-2

求下列函數的z反變換。

symsnza

X1=z/(z-1);x1=iztrans(X1)

X2=a*z/(a-z)^2;x2=iztrans(X2)

X3=z/(z-1)^3;x3=iztrans(X3)

X4=(1-z^-n)/(1-z^-1);x4=iztrans(X4)

程序運行結果如下:

x1=1

x2=n*a^n

x3=-1/2*n+1/2*n^2

x4=iztrans((1-z^(-n))/(1-1/z),z,n)

3.用部分分式法求z反變換

部分分式法是一種常用的求解z反變換的方法。當z變換表達式是一個多項式時,可以表示為

(7-1)

將該多項式分解為真有理式與直接多項式兩部分,即得到:

(7-2)

當式中M<N時,式(7-2)的第二部分為0。對于X(z)的真有理式部分存在以下兩種情況。

情況1X(z)僅含有單實極點,則部分分式展開式為

(7-3)

X(z)的z反變換為

情況2X(z)含有一個r重極點。這種情況處理起來比較復雜,本實驗不做要求,僅舉例7-4供使用者參考。

例7-3

已知 ,|z|>1,試用部分分式法求z反變換,并列出N=20點的數值。

解由表達式和收斂域條件可知,所求序列x(n)為一個右邊序列,且為因果序列。將上式按式(7-1)的形式整理得:

求z反變換的程序如下:

b=[1,0,0];

a=[1,-1.5,0.5];

[rpc]=residuez(b,a)

在MATLAB命令窗將顯示:

r=

2

-1

p=

1.0000

0.5000

c=

[]

由此可知,這是多項式M<N的情況,多項式分解后表示為

可寫出z反變換公式:

x(n)=2u(n)-(0.5)nu(n)

如果用圖形表現x(n)的結果,可以加以下程序:

N=20;n=0:N-1;

x=r(1)*p(1).^n+r(2)*p(2).^n;

stem(n,x);

title(¢用部分分式法求反變換x(n)¢);

其中x的數值為

x=

[1.00001.50001.75001.87501.93751.96881.98441.9922

1.99611.99801.99901.99951.99981.99991.99992.0000

2.00002.00002.00002.0000]

程序執(zhí)行的結果如圖7-1所示。

圖7-1用部分分式求解例7-3的z反變換

*例7-4

用部分分式法求解函數

的z反變換,寫出h(n)的表示式,并用圖形與impz求得的結果相比較。

解求z反變換的程序如下:

b=[0,1,0];a=[1,-12,36];

[rpc]=residuez(b,a)

在MATLAB命令窗將顯示:

r=

-0.1667-0.0000i

0.1667+0.0000i

p=

6.0000+0.0000i

6.0000-0.0000i

c=

[]

由此可知,這個多項式含有重極點。多項式分解后表示為

根據時域位移性質,可寫出z反變換公式:

如果要用圖形表現h(n)的結果,并與impz子函數求出的結果相比較,可以在前面已有的程序后面加以下程序段:

N=8;n=0:N-1;

h=r(1)*p(1).^n.*[n>=0]+r(2).*(n+1).*p(2).^n.*[n-1>=0];

subplot(1,2,1),stem(n,h);

title(¢用部分分式法求反變換h(n)¢);

h2=impz(b,a,N);

subplot(1,2,2),stem(n,h2);

title(¢用impz求反變換h(n)¢);

執(zhí)行結果如圖7-2所示。

圖7-2用部分分式法和impz子函數求解例7-4的z反變換

注意:impz是一個求解離散系統沖激響應的子函數,在實驗中我們已使用過。如果把H(z)看成是一個系統的系統函數,則H(z)的z反變換就等于這個系統的沖激響應。因此,可以用impz的結果來檢驗用部分分式法求得的z反變換結果是否正確。

例7-5

用部分分式法求解例4-2系統函數的z反變換,并用圖形與impz求得的結果相比較。

解由上式可知,該函數表示一個6階系統。其程序如下:

a=[1,0,0.34319,0,0.60439,0,0.20407];

b=[0.1321,0,-0.3963,0,0.3963,0,-0.1321];

[rpc]=residuez(b,a)此時在MATLAB命令窗將顯示:

r=

-0.1320-0.0001i

-0.1320+0.0001i

-0.1320+0.0001i

-0.1320-0.0001i

0.6537+0.0000i

0.6537-0.0000i

p=

-0.6221+0.6240i

-0.6221-0.6240i

0.6221+0.6240i

0.6221-0.6240i

0+0.5818i

0-0.5818i

c=

-0.6473由于該系統函數分子項與分母項階數相同,符合M≥N,因此具有沖激項。可以由r、p、c的值寫出z反變換的結果。

如果要求解z反變換的數值結果,并用圖形表示,同時與impz求解的沖激響應結果進行比較,可以在上述程序加:

N=40;n=0:N-1;

h=r(1)*p(1).^n+r(2)*p(2).^n+r(3)*p(3).^n+r(4)*p(4).^n

+r(5)*p(5).^n+r(6)*p(6).^n+c(1).*[n==0];

subplot(1,2,1),stem(n,real(h),'k');title('用部分分式法求反變換h(n)');

h2=impz(b,a,N);

subplot(1,2,2),stem(n,h2,'k');

title('用impz求反變換h(n)');

由該圖7-3顯示的結果可以看出,系統函數的z反變換與impz求解沖激響應的圖形相同??梢姡貌糠址质角笙到y函數的z反變換,也是一種求解系統的沖激響應的有效方法。

4.從變換域求系統的響應

在實驗4中,我們用圖4-1表示了離散系統的響應與激勵的關系。由圖可知,系統的響應既可以用時域分析的方法求解,也可以用變換域分析法求解。當已知系統函數H(z),又已知系統輸入序列的z變換X(z),則系統響應序列的z變換可以由Y(z)=H(z)X(z)求出。

例7-6

已知一個離散系統的函數

,輸入序列 ,求系統在變換域的響應Y(z)及時間域的響應y(n)。

解根據實驗4、5、6和本實驗已掌握的方法,我們可以采用各種方法求解。本例僅采用先從變換域求解Y(z),再用反變換求y(n)的方法,以鞏固本實驗所學習的內容。

MATLAB程序如下:

symsz

X=z./(z-1);

H=z.^2./(z.^2-1.5*z+0.5);

Y=X.*H

y=iztrans(Y)

程序運行后,將顯示以下結果:

Y=

z^3/(z-1)/(z^2-3/2*z+1/2)

y=

2*n+2^(-n)如果要觀察時域輸出序列y(n),可以在上面的程序后編寫以

溫馨提示

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

評論

0/150

提交評論