Transcription
好,我們接下來要講的是Z轉換。那Z轉換呢,是接續著我們之前的脈衝響應,這是頻率響應。然後呢,脈衝響應,那我們要提出一個叫做Z轉換。他呢,是寫成像這樣子:H(Z)。那他的目的呢,其實重點是在於說,想要簡化我們的運算。我們在我們的頻率響應裡面,我們的這一項有exponential的e^jὦ,e^jὦ,e^jὦ。那exponential就很討厭了,你還有j,這兩個同時存在,其實在我們的運算上面是非常的複雜。那Z轉換呢,其實基本上呢,想要簡化這個元素,那提出一個方式,基本上就是將新產生一種一個變數,我們叫做Z。我令Z等於Z = e^jὦ,想辦法一次呢,將exponential跟j呢,完完全全地藏起來,包入一個Z的變數裡面。
那如果是這樣的話,我們上一章講的這個頻率響應,他會等於Summation的這個對k對k做summation:H(e^jὦ) = Σ h[k]e^-jὦk。H(e^jὦ) = Σ h[k]e^-jὦk。H(e^jὦ) = Σ h[k]e^-jὦk。H(e^jὦ) = Σ h[k]e^-jὦk。這樣子的運算呢,他就會變成是H(Z)等於什麼:H(Z) = Σ h[k]Z^-k。H(Z) = Σ h[k]Z^-k。H(Z) = Σ h[k]Z^-k。H(Z) = Σ h[k]Z^-k。H(Z) = Σ h[k]Z^-k。Z等於這邊這項,這一項換成Z。基本上這一個式子喔,就是我們說的那種話,就是我們說的Z轉換,Z transform。所以Z transform,他的目的是什麼?他的目的其實就是在說我們能夠把頻率響應的運算呢,來把他簡化。
我們在這個FIR的系統,或者是我們的LTI系統裡面,我們以前之前已經講到了一個叫做Time-domain,時間的Time-domain。那我們提出了一種運算呢,就是Convolution的運算,也就是輸出訊號,他會等於就是脈衝響應跟這個輸入訊號來做Convolution。這是我們的Time-domain的運算。那我們有另外一個domain呢,叫做Frequency-domain。那我們有我們的運算是,我們可以求得一個系統的頻率響應呢,他呢會等於H(e^jὦ) = Σ,如果我有一個系統的這個,H(e^jὦ) = Σ h[k],脈衝響應,H(e^jὦ) = Σ h[k]。好,那我就可以用這個公式,H(e^jὦ) = Σ h[k]e^-jὦk。H(e^jὦ) = Σ h[k]e^-jὦk。好,這個公式來求得,我有脈衝響應,我就可以求得他的頻率響應。
那我們現在新提出來的這個,這個Z轉換呢,就是我們要能夠遊走在這。好,我們新提出一個Z-domain,Z transform的domain,或者是我們簡稱的Z-domain。那我們提出一個新的這個函數叫做H(Z)。那你看注意我們這邊是大H,所以他的概念呢,概念上事實上是比較接近頻率響應。那我們要能夠想辦法遊走,我們計算中間的能夠遊走在這三個同類之間。然後呢,我們擁有我們的系統擁有脈衝響應、頻率響應跟我們的Z-domain的響應。那其實我們不要想得太複雜,Z-domain的這個響應呢,他基本上跟頻率響應是一樣的意思,我們只是將Z呢代換成這個Z = e^jὦ,這樣子整個事情就會變簡單很多。我們的convolution運算會變得簡單,然後我們的這個頻率響應的運算也會變得簡單。那之後我們就示範說,其實我用z轉換以後啊,Convolution的計算呢,不過就是一個多項式乘,多項式的乘法而已。
好,那其實蠻容易來計算,我們會希望在這3個Domain之間換來換去。所以我們可以將我們現在等一下會練習h[n]換到H[Z]。那之後呢,我們會反過來H[Z]又換回h[n]。那這裡面不只是脈衝響應可以換,事實上我們的訊號,我們的訊號,不管是輸入訊號還是輸出,輸出訊號,他一樣都可以換成Z-domain。比如說說我們如果有一個x[n],好,我們也可以透過同樣的公式將它換成大的X,x[n] = X(Z),訊號的他也有Z轉換,然後我們的系統一樣有Z轉換。一樣我們可以從X的Z轉換再把他轉回訊號。那我們要能夠很自如地在這兩個Domain之間呢,轉來轉去,那就可以簡化蠻多運算。
所以基本上喔,我們的公式是這樣子,Z轉換的公式,Z轉換的公式是這樣子,就是H(Z),他呢就等於H(Z) = Σ,那我們可以不用k,用n就可以:H(Z) = Σ h[n]Z^(-n)。H(Z) = Σ h[n]Z^(-n)。H(Z) = Σ h[n]Z^(-n)。那全部換成k,他一樣是一樣的意思。如果你今天是,你要求訊號Z轉換呢,他的公式是完全一樣的:X(Z) = Σ x[n]Z^(-n)。X(Z) = Σ x[n]Z^(-n)。X(Z) = Σ x[n]Z^(-n)。X(Z) = Σ x[n]Z^(-n)。他基本上他的公式是一樣的。
那我們舉一個例子,如果我們有一個脈衝響應,他是怎麼樣:{2, 0, -3, 0, 2}。{2, 0, -3, 0, 2}。{2, 0, -3, 0, 2}。那如果沒有特別去強調的話,這一個通常是指n等於0,也就是我的脈衝響應是一個{2, 0, -3, 0, 2}的這樣的一個系統。那你可以寫成說h(n),h(n) = 等於這個:h(n) = 2δ[n] + 加上,h(n) = 2δ[n] + 0*δ[n-1]。h(n) = 2δ[n] + 0*δ[n-1]。h(n) = 2δ[n] + 0*δ[n-1]。h(n) = 2δ[n] + 0*δ[n-1] - 3δ[n-2]。h(n) = 2δ[n] + 0*δ[n-1] - 3δ[n-2] + 0δ[n-3]。h(n) = 2δ[n] + 0*δ[n-1] - 3δ[n-2] + 0δ[n-3]。h(n) = 2δ[n] + 0*δ[n-1] - 3δ[n-2] + 0δ[n-3]。h(n) = 2δ[n] + 0*δ[n-1] - 3δ[n-2] + 0δ[n-3] + 2δ[n-4]。h(n) = 2δ[n] + 0*δ[n-1] - 3δ[n-2] + 0δ[n-3] + 2δ[n-4]。那這一個表達法跟這一個表達法,兩個是一樣的意思。那現在要求的是這個H(Z),H(Z),那你就把公式寫出來,他呢是對所有的n來做這個summation:H(Z) = Σ h[n]Z^(-n)。H(Z) = Σ h[n]Z^(-n)。對所有的h[n]做summation,h[n]是在0的時候有值,2的時候有值,4的時候有值,所以他就會等於h[0]Z^-0。h[0]Z^-0。h[0]Z^-0。h[0]Z^-0。h[0]Z^-0 + n等於2,n等於4,h[0]Z^-0 + h[2]Z^-2。h[0]Z^-0 + h[2]Z^-2。h[0]Z^-0 + h[2]Z^-2。h[0]Z^-0 + h[2]Z^-2。h[0]Z^-0 + h[2]Z^-2 + h[4]Z^-4。h[0]Z^-0 + h[2]Z^-2 + h[4]Z^-4。h[0]Z^-0 + h[2]Z^-2 + h[4]Z^-4。然後呢,你再把他帶進去,h[0]等於2,所以是H(Z) = 2,Z^-0嘛,H(Z) = 2,0次方等於1,H(Z) = 2,不用算,加上,H(Z) = 2 + h[2],H(Z) = 2 - 3Z^-2,等於-3,H(Z) = 2 - 3Z^-2,所以減3倍的,H(Z) = 2 - 3Z^-2,Z^-2,H(Z) = 2 - 3Z^-2,然後,H(Z) = 2 - 3Z^-2,加上,H(Z) = 2 - 3Z^-2 + 2Z^-4,2倍的Z^-4,H(Z) = 2 - 3Z^-2 + 2Z^-4。其實就是一個Z轉換。
那之後我們會學到,事實上我們會,我們Z轉換,我們會把他表示成是一個Z的多項式,而且呢,他會是一個Z^-1的多項式,Z^-1的polynomial。基本上Z^-1呢,他所代表的系統就是單位延遲。那還記得我們的LTI系統,FIR系統,他的運算就是乘法、加法跟延遲三個運算。那既然延遲是一個很重要的element,我們基本上就是看延遲,Z^-1呢就是延遲1的系統,Z^-2就是延遲2的系統。那這之後就會看到,所以呢,他就會等於2 - 3(Z^-1)^2。2 - 3(Z^-1)^2。2 - 3(Z^-1)^2。2 - 3(Z^-1)^2 + 2(Z^-1)^4。2 - 3(Z^-1)^2 + 2(Z^-1)^4。2 - 3(Z^-1)^2 + 2(Z^-1)^4。2 - 3(Z^-1)^2 + 2(Z^-1)^4。基本上這裡這樣也對,然後這樣也對,兩個都是一樣的意思,我這裡只是希望能夠表達說Z^-1,他可以表示成一個的Z^-1的多項式。
那我們在練習一個題目,假設我有一個訊號x[n],他呢等於就是x[n] = {2, 4, 2。x[n] = {2, 4, 2。x[n] = {2, 4, 2。x[n] = {2, 4, 6, 4。x[n] = {2, 4, 6, 4, 2。x[n] = {2, 4, 6, 4, 2}。接下來都是0,我想要求x[n]的Z轉換。我們一樣這裡是n = 0,求得x[n]的Z轉換呢,X(Z),他就等於summation,對所有的n做summation:X(Z) = Σ x[n]Z^-n。X(Z) = Σ x[n]Z^-n。所以他就會等於x[0]Z^-0。x[0]Z^-0。012 34,加上,x[0]Z^-0 + n代1,x[0]Z^-0 + x[1]Z^-1。x[0]Z^-0 + x[1]Z^-1。x[0]Z^-0 + x[1]Z^-1。x[0]Z^-0 + x[1]Z^-1。x[0]Z^-0 + x[1]Z^-1 + x[2]Z^-2。x[0]Z^-0 + x[1]Z^-1 + x[2]Z^-2。x[0]Z^-0 + x[1]Z^-1 + x[2]Z^-2 + x[3]Z^-3。x[0]Z^-0 + x[1]Z^-1 + x[2]Z^-2 + x[3]Z^-3。x[0]Z^-0 + x[1]Z^-1 + x[2]Z^-2 + x[3]Z^-3。x[0]Z^-0 + x[1]Z^-1 + x[2]Z^-2 + x[3]Z^-3。01234,好,到4,x[0]Z^-0 + x[1]Z^-1 + x[2]Z^-2 + x[3]Z^-3 + x[4]Z^-4。x[0]Z^-0 + x[1]Z^-1 + x[2]Z^-2 + x[3]Z^-3 + x[4]Z^-4。所以把他帶進去,2,2 + 4Z^-1。2 + 4Z^-1。2 + 4Z^-1。2 + 4Z^-1 + 6Z^-2。2 + 4Z^-1 + 6Z^-2。2 + 4Z^-1 + 6Z^-2 + 4Z^-3。2 + 4Z^-1 + 6Z^-2 + 4Z^-3。2 + 4Z^-1 + 6Z^-2 + 4Z^-3。2 + 4Z^-1 + 6Z^-2 + 4Z^-3 + 2Z^-4。2 + 4Z^-1 + 6Z^-2 + 4Z^-3 + 2Z^-4。2 + 4Z^-1 + 6Z^-2 + 4Z^-3 + 2Z^-4。所以呢,這一個就是訊號的Z轉換,訊號的Z轉換。我們可以求得我們的脈衝響應h[n]可以換到Z-domain,我們的訊號呢一樣可以換到Z-domain。我們可以,我們可以把所有的訊號在Time-domain做運算,所以訊號在frequency-domain,frequency-domain做運算。那一樣我們的,我們可以把所有的訊號呢放在我們的Z-domain來做運算。
你可以看剛才的這個Z轉換,結果發現說,這一項就是時間,等於時間等,時間等於0的時候他的,他的這個訊號值,時間等於1的訊號值,時間等於2,時間等於3,時間等於4。也就是說其實我們現在已經可以得到一個大概的idea是什麼,你可以得到一個大概的idea是說,其實你要從X(Z)把他換回x[n]其實蠻簡單的,因為Z^-1,Z^-1所帶,他的係數其實就是時間為1的時候他的訊號值,Z^-2呢,他的係數就是時間為2的時候他的訊號值。也就是說啊,假設今天的題目變成這樣子,我有一個X(Z),他是等於X(Z) = 1 - 2Z^-1。X(Z) = 1 - 2Z^-1。X(Z) = 1 - 2Z^-1 + 3Z^-3。X(Z) = 1 - 2Z^-1 + 3Z^-3。X(Z) = 1 - 2Z^-1 + 3Z^-3 - Z^-5。假設我的,我的系統,我的訊號Z轉換變成是這樣子,其實我可以蠻容易的去知道我的訊號大概是什麼樣子,我的訊號好,就是x[n],x[n]他應該是長這樣子,在這個,這項是對應到Z的-0嘛,也就是說n = 0的時候,訊號呢等於1,那n等於1,1的時候,Z^-1就對應到訊號,時間為1,時間為1的訊號嘛,所以n等於1的時候,訊號為-2,n等於n等於這個,n等於3的時候,訊號為3,n等於5的時候呢,訊號為-1,對不對?也就是說我的訊號應該是一個{1, -2, 0, 3, 0, -1}。{1, -2, 0, 3, 0, -1}。{1, -2, 0, 3, 0, -1}。{1, -2, 0, 3, 0, -1}。{1, -2, 0, 3, 0, -1}。{1, -2, 0, 3, 0, -1}。好,我的如果我知道我的,我的訊號的Z轉換,我就可以求得我的訊號的本身是什麼,原來的訊號是什麼,我可以求得原來訊號的sequence是什麼。那你可以做,OK,其實啊,這個x[n],原來的x[n]呢,他會等於,你也可以寫成這樣的表示法,那你可以寫成一連串的脈衝的表示法:x[n] = δ[n]。x[n] = δ[n] - 2δ[n-1]。x[n] = δ[n] - 2δ[n-1]。我在時間為1的時候有一個-2,x[n] = δ[n] - 2δ[n-1] + 0123,x[n] = δ[n] - 2δ[n-1] + x[n] = δ[n] - 2δ[n-1] + 時間為3的這個,x[n] = δ[n] - 2δ[n-1] + 時間點呢,時間點為3有一個脈衝,x[n] = δ[n] - 2δ[n-1] + 3δ[n-3]。他的強度呢有3那麼強,x[n] = δ[n] - 2δ[n-1] + 3δ[n-3]。強度有3那麼強,x[n] = δ[n] - 2δ[n-1] + 3δ[n-3]。那時間為5的時候,x[n] = δ[n] - 2δ[n-1] + 3δ[n-3] - 有一個,x[n] = δ[n] - 2δ[n-1] + 3δ[n-3] - x[n] = δ[n] - 2δ[n-1] + 3δ[n-3] -1*δ[n-5]。這個強度的delta,x[n] = δ[n] - 2δ[n-1] + 3δ[n-3] -1*δ[n-5]。所以我們現在就已經學會說我們可以在這幾個domain之間來換來換去,一下子是這個Z-domain,然後呢一下子是這個就是x[n]的sequence,或者是我們用δ的方式呢來表達他。OK,所以我們這個是第一步的這個,這個Z轉換的狀況關係。那接下來我們就就會想要來看說我們在我們的這個應用在我們的系統裡面的時候,就是比如說我們應用在我們的FIR filter,應用在我們的LTI系統,他看起來會是怎麼樣。
比如說如果我有一個系統是這樣子,就是我有一個系統,FIR的系統,y[n] = y[n] = 6x[n]。y[n] = 6x[n]。y[n] = 6x[n] - 5x[n-1]。y[n] = 6x[n] - 5x[n-1]。y[n] = 6x[n] - 5x[n-1] + x[n-2]。y[n] = 6x[n] - 5x[n-1] + x[n-2]。那現在請問你,告訴我系統的H(Z),告訴我們系統的H(Z)。那要如何來做計算?那你要求得H(Z),你要求得大H,那你就先求小h,小h,h[n],對不對?系統的impulse response就是你把x[n]帶入impulse然後去看看impulse response。那代入impulse,h[n] = 6δ[n]。h[n] = 6δ[n]。h[n] = 6δ[n] - 5δ[n-1]。h[n] = 6δ[n] - 5δ[n-1]。h[n] = 6δ[n] - 5δ[n-1]。h[n] = 6δ[n] - 5δ[n-1] + δ[n-2]。h[n] = 6δ[n] - 5δ[n-1] + δ[n-2]。h[n] = 6δ[n] - 5δ[n-1] + δ[n-2]。這個是系統的,系統的這個脈衝響應。接下來你就可以求H(Z)啦,對不對,因為H(Z)等於什麼?對所有的n做summation:H(Z) = Σ。H(Z) = Σ h[n]Z^-n。所以H(Z),他就會等於我對所有的h[n]做summation,那哪些h[n],哪些h[n]有值呢?n代0的時候有值,n代1的時候有值,n代2的時候有值,也就是說我只有3個可能啊,一個就是h[0],H(Z) = h[0]Z^-0。H(Z) = h[0]Z^-0 + h[1]Z^-1。H(Z) = h[0]Z^-0 + h[1]Z^-1。H(Z) = h[0]Z^-0 + h[1]Z^-1 + h[2]Z^-2。H(Z) = h[0]Z^-0 + h[1]Z^-1 + h[2]Z^-2。基本上這一步是不用寫的,這只是說我們在腦海裡面去想這個Summation公式是什麼。那h[0]呢,n代0,只有這一項留著,其他這兩項都沒有,所以就是6,6 - 5Z^-1。6 - 5Z^-1。6 - 5Z^-1。6 - 5Z^-1。6 - 5Z^-1 + Z^-2。6 - 5Z^-1 + Z^-2。6 - 5Z^-1 + Z^-2。所以我可以從脈衝響應轉到Z-domain的Transform。那我們當然也可以從這個FIR系統開始,FIR的系統,我先給你,你求得小h,就是impulse response。那接下來呢,你用Z轉換的公式呢,來求得系統的Z轉換。現在我要,我要求的系統的Z轉換也很簡單。那其實我們從這裡可以看到,就是你用脈衝響應帶進去之後你把它換成Z轉換是蠻簡單的。
那假設,假設我再把這個問題呢再更簡化一點,更簡化一點,如果我的系統的是一個Delay system,Unit-delay,單位延遲系統,他是看起來像這樣子,就是我的輸入是x[n],然後呢,我輸入我的系統,單位延遲嘛,所以就是y[n] = x[n-1]。y[n] = x[n-1]。就是單位延遲系統。那接下來要你求這個系統的Impulse response或者是他的Z轉換,你當然知道說這個系統的impulse response就等於h[n] = δ[n-1]。h[n] = δ[n-1]。於是你要算出他的Z轉換H(Z),H(Z) = Σ h[n]Z^-n。H(Z) = Σ h[n]Z^-n。他呢,只有在n代1的時候有值,也就是h[1]Z^-1。h[1]Z^-1。也就是等於h[1]嘛,n代1的時候,這項是1,h[1]Z^-1 = Z^-1。所以我們這裡看到一個東西喔,如果是單位延遲系統,我的系統的就就是一個Z^-1的系統。所以畫成系統,我其實可以把單位延遲系統表達成這樣子:Z^-1,單位延遲系統。延遲兩個的系統其實就是Z^-2。所以這一個,我們有沒有講過,我們的單位就是系統就是我們的FIR的系統的一個重要的block,重要的元素。我們以後就會用Z^-1呢來表達單位延遲系統。那Z^-1之所以重要,Z^-1之所以重要,就是他,他是我們的一個元素,靠Z^-1就知道說,ok我這邊要加一個單位延遲,我加一個單位的正反器。