9-1 Discrete-Time Signals (伅T)

幾乎在所有自然界的訊號都是連續的,但是在電腦世界的訊號,由於都是以位元為單位來儲存,所以這些訊號都是離散的,簡稱「離散時間訊號」(Discrete Time Signal),我們通常可以將這一列的訊號表示成 x(nT),T 是取樣週期,n 是整數,nT 則代表時間。為了簡化起見,我們也可以使用 x[n] 代表離散時間訊號在 nT 的值。以下將介紹幾個常見的離散時間訊號。

單位脈衝訊號(Unit Impulse Signal)只有在 n = 0 的時候有一個值為 1,其他都是零。可用數學式表示如下:
d[n] = 1, if n=0
d[n] = 0, otherwise
其圖形可見下列範例:

Example 1: impulse01.m% Plot an unit impulse signal n = -5:5; x = 0*n; index=find(n==0); x(index)=1; % plot stem(n, x); axis([-inf, inf, -0.2, 1.2]); xlabel('n'); ylabel('x'); title('Unit Impulse Signal \delta[n]');

如果單位脈衝訊號在時間上延遲了 k 個取樣點,就可以得到下列數學式:
d[n-k] = 1, if n=k
d[n-k] = 0, otherwise
其圖形可見下列範例:

Example 2: impulse02.m% Plot an unit impulse signal n = -5:5; x = 0*n; index=find(n==0); x(index)=1; % plot stem(n, x); axis([-inf, inf, -0.2, 1.2]); xlabel('n'); ylabel('x'); title('Delayed Unit Impulse Signal \delta[n-k]'); set(gca, 'xticklabel', {'k-5', 'k-4', 'k-3', 'k-2', 'k-1', 'k', 'k+1', 'k+2', 'k+3', 'k+4', 'k+5'});

單位脈衝訊號具有「篩選」的特性,任何訊號 x[n](n = -∞∼∞)與 d[n-k] 相乘,就只剩下第 k 項,可用數學式描述如下:
x[k] = Sn=-∞d[n-k]•x[n]
利用這個特性,我們可以將任何一個離散時間訊號表示成單位脈衝訊號的組合,在計算旋積(Convolution)時,非常便利。

單位步進訊號(Unit Step Signal)只有在 n >= 0 時其值為 1,其他都是零。可用數學式表示如下:
u[n] = 1, if n>=0
u[n] = 0, otherwise
其圖形可見下列範例:

Example 3: unitStep01.m% Plot an unit impulse signal n = -5:5; x = 0*n; index=find(n>=0); x(index)=1; % plot stem(n, x); axis([-inf, inf, -0.2, 1.2]); xlabel('n'); ylabel('x'); title('Unit Step Signal u[n]');

另外常見的離散時間訊號,還有弦波訊號等,其圖形可見下列範例:

Example 4: sinusoid01.m% Plot a sinusoidal signal n = 0:40; omega=0.3; x = sin(omega*n); % plot stem(n, x); axis([-inf, inf, -1.2, 1.2]); xlabel('n'); ylabel('x'); title('sin[\omega n]');


Audio Signal Processing and Recognition (音訊處理與辨識)