天天看點

《MATLAB信号處理超級學習手冊》——第2章 時間信号與系統 2.1 離散序列

本節書摘來自異步社群《matlab信号處理超級學習手冊》一書中的第2章,第2.1節,作者:matlab技術聯盟 , 史潔玉著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

一個離散時間信号是一個整數值變量n的函數,表示為x(n)或{x(n)}。盡管獨立變量n不一定表示“時間”(例如,n可以表示溫度或距離),但x(n)一般被認為是時間的函數。因為離散時間信号x(n)對于非整數值n是沒有定義的。

離散時間信号的波形繪制在matlab中一般用stem函數。stem函數的基本用法和plot函數一樣,它繪制的波形圖的每個樣本點上有一個小圓圈,預設是空心的。如果需要實心,需使用參數“fill”、“filled”,或者參數“.”。

由于matlab中矩陣元素的個數有限,是以matlab隻能表示一定時間範圍内有限長度的序列;而對于無限序列,也隻能在一定時間範圍内表示出來。

matlab信号處理超級學習手冊

離散時間信号是指在離散時刻才有定義的信号,簡稱離散信号,或者序列。離散序列通常用x(n)來表示,自變量必須是整數。

離散時間信号(discrete-time signal)是指在時間上取離散值,幅度取連續值的一類信号,可以用序列(sequence)來表示。

序列是指按一定次序排列的數值x(n)的集合,表示為:

《MATLAB信号處理超級學習手冊》——第2章 時間信号與系統 2.1 離散序列

注意:其中n為整數,x(n)表示序列,對于具體信号,x(n)也代表第n個序列值。特别應當注意的是,x(n)僅當n為整數時才有定義,對于非整數,x(n)沒有定義,不能錯誤地認為x(n)為零。

2.1.1 機關取樣序列

機關取樣序列(也稱機關脈沖序列)δ(n),定義為:

《MATLAB信号處理超級學習手冊》——第2章 時間信号與系統 2.1 離散序列

機關取樣序列δ(n)的特點是僅在時序列n=0時值為1,n取其他值時,序列值為0。它的地位與連續信号中的機關沖激函數δ(t)相當。不同的是n=0時δ(n)=1,而不是無窮大。

在matlab中,沖激序列可以用zeros函數實作,如要産生n點的機關取樣序列,可以通過以下指令實作:

【例2-1】編制程式産生機關取樣序列δ(n)及δ(n-20),并繪制出圖形。運作程式如下:

運作結果如圖2-1所示。

《MATLAB信号處理超級學習手冊》——第2章 時間信号與系統 2.1 離散序列

2.1.2 機關階躍序列

機關階躍序列(unit step sequence)u(n),定義如下:

《MATLAB信号處理超級學習手冊》——第2章 時間信号與系統 2.1 離散序列

在matlab中,階躍序列可以用ones函數實作,如要産生n點的機關階躍序列,可以通過以下指令實作:

x=ones(1,n);

【例2-2】編制程式産生機關階躍序列u(n)及u(n-20),并繪制出圖形。運作程式如下:

運作結果如圖2-2所示。

《MATLAB信号處理超級學習手冊》——第2章 時間信号與系統 2.1 離散序列

2.1.3 矩形序列

矩形序列(rectangular sequence)定義為:

《MATLAB信号處理超級學習手冊》——第2章 時間信号與系統 2.1 離散序列

式中的n稱為矩形序列的長度。符号r n(n)的下标n表示矩形序列的長度,如r 4(n)表示長度n=4的矩形序列。

機關取樣序列δ(n),機關階躍序列u(n)和矩形序列r n(n)之間的關系如下:

《MATLAB信号處理超級學習手冊》——第2章 時間信号與系統 2.1 離散序列

一般地,若序列y(n)與序列x(n)之間滿足y(n)=x(n-k)的關系,則稱y(n)為x(n)的移位(或延遲)序列。

2.1.4 正弦序列

正弦序列的定義如下:

《MATLAB信号處理超級學習手冊》——第2章 時間信号與系統 2.1 離散序列

式中ω稱為正弦序列的數字域頻率,機關為弧度,它表示序列變化的速率,或者表示相鄰兩個序列值之間相差的弧度數。

如果正弦序列是由連續信号采樣得到的,那麼:

《MATLAB信号處理超級學習手冊》——第2章 時間信号與系統 2.1 離散序列

因為在數值上序列值等于采樣值,可以得到數字域頻率與模拟角頻率的關系為:

《MATLAB信号處理超級學習手冊》——第2章 時間信号與系統 2.1 離散序列

上式具有普遍意義,它表明由連續信号采樣得到的序列,模拟角頻率Ω與數字域頻率ω成線性關系。再由采樣頻率f s與采樣間隔t互為倒數,上式也可以寫成下列形式:

《MATLAB信号處理超級學習手冊》——第2章 時間信号與系統 2.1 離散序列

上式表示數字域頻率ω可以看作模拟角頻率Ω對采樣頻率f s的歸一化頻率。

【例2-3】試用matlab指令繪制正弦序列x(n) = sin (frac{{npi }}{6}) 的波形圖。運作程式如下:

運作結果如圖2-3所示。

《MATLAB信号處理超級學習手冊》——第2章 時間信号與系統 2.1 離散序列

2.1.5 實指數序列

實指數序列定義如下:

《MATLAB信号處理超級學習手冊》——第2章 時間信号與系統 2.1 離散序列

運作程式如下:

運作程式如圖2-4所示。

《MATLAB信号處理超級學習手冊》——第2章 時間信号與系統 2.1 離散序列

2.1.6 複指數序列

複指數序列定義為:

x(n) = e^{(a + jomega _0 )n}

(2-13)

當a=0時,得到虛指數序列x(n) = e^{jomega _0 n} ,式中ω 0是正弦序列的數字域頻率。由歐拉公式知,複指數序列可進一步表示為:

《MATLAB信号處理超級學習手冊》——第2章 時間信号與系統 2.1 離散序列

與連續複指數信号一樣,下面将複指數序列實部和虛部的波形分開讨論,得出如下結論:

(1)當a>0時,複指數序列x(n)的實部和虛部分别是按指數規律增長的正弦振蕩序列;

(2)當a<0時,複指數序列x(n)的實部和虛部分别是按指數規律衰減的正弦振蕩序列;

(3)當a=0時,複指數序列x(n)即為虛指數序列,其實部和虛部分别是等幅的正弦振蕩序列。

【例2-5】用matlab指令畫出複指數序列x(n) = 2e^{( - frac{1}{{10}} + jfrac{pi }{6})n} 的實部、虛部、模及相角随時間變化的曲線,并觀察其時域特性。

運作結果如圖2-5所示。

《MATLAB信号處理超級學習手冊》——第2章 時間信号與系統 2.1 離散序列

2.1.7 周期序列

如果對所有的n,關系式x(n)=x(n+n)均成立,且n為滿足關系式的最小正整數,則定義x(n)為周期序列,其周期為n。

例如,對于正弦序列,設x(n) = asin (omega _0 n + varphi ) ,那麼x(n + n) = asin [omega _0 (n + n) + varphi ] = asin (omega _0 n + varphi + omega _0 n)

如果x(n)=x(n+n),則要求omega _0 n = 2pi k 或n = (2pi /omega _0 )k 。式中n和k均取整數,而且k的取值要保證n是最小的正整數。

對于具體的正弦序列周期(包括餘弦序列及複指數序列)有以下3種情況:

(1)當2π/ω 0為整數時,k=1,該序列是以2π/ω 0為周期的周期序列。例如序列sin(πn/4),ω 0=π/4,2π/ω 0=8,該正弦信号的周期為8。

(2)當2π/ω 0不是整數,是一個有理數時,設2π/ω 0=p/q,式中p、q是整數,并且p/q為最簡分數;取k=q,則該序列的周期n=p。例如sin(5πn/8),ω 0=5π/8,2π/ω 0=16/5,取k=5,該正弦信号的周期為16。

(3)當2π/ω 0是一個無理數時,任何整數都不能使n為正整數,則該序列不是周期序列。例如sin(2n/5),ω 0=2/5,2π/ω 0=5π,該正弦信号不是周期序列。

【例2-6】已知xleft( n right) = 0.8^n r_8 left( n right) ,利用matlab生成并圖示x(n), x(n-m),x((n))8 r n(n),其中n=24,0

運作結果如圖2-6所示。

《MATLAB信号處理超級學習手冊》——第2章 時間信号與系統 2.1 離散序列

運作過程中用到的子程式為:

繼續閱讀