Kapitel 7 Diskreta signaler och system I detta kapitel diskuteras grundläggande teori för diskreta signaler och system. För diskreta signaler introduceras z-transformen, som ligger som grund för representationen av linjära diskreta system med hjälp av överföringsfunktioner. Överföringsfunktionen beskriver på ett mycket kompakt sätt frekvenssvaret hos ett system, och den är därför oumbärlig vid syntes av filter. 7.1 Diskreta linjära tidsinvarianta system Ett diskret system H transformerar en diskret signal {x(n)} till en annan diskret signal {y(n)}, jämför figur 7.1. Ett diskret system är linjärt, om elementen i utsignalsekvensen beror linjärt av elementen i insignalsekvensen, y(n) = k= h(k)x(n k), n =..., 1, 0, 1,... (7.1) Sekvensen {h(k)} kallas systemets impulssvar, eftersom h(k) anger hur en impuls x(n k) = 1 vid tiden n k påverkar systemets utsignal y(n) k tidpunkter senare. Om systemets egenskaper ej förändras med tiden, dvs impulssvaret h(k) är en funktion av k endast och ej av tidpunkten vid vilken impulsen sker, kallas systemet tidsinvariant. Termen skiftinvariant används som en alternativ benämning för diskreta tidsinvarianta system. För linjära tidsinvarianta system används allmänt förkortningen LTI system (eng. Linear Time Invariant system). Ett system vars utsignal y(n) är en funktion av endast tidigare insignaler x(n), x(n 1),..., men ej av framtida insignaler x(n + 1), x(n + 2),..., kallas kausalt. Hos ett kausalt system försvinner impulssvaret för negativa k; h(k) = 0, k < 0, och utsignalen ges av y(n) = h(k)x(n k) = h(0)x(n) + h(1)x(n 1) + h(2)x(n 2) + (7.2) 97
{x(n)} H {y(n)} Figur 7.1: Diskret system. Vid realtidstillämpningar förekommer nästan uteslutande kausala system. Däremot kan icke-kausala system mycket väl förekomma i samband med off-line beräkningar, såsom bildbehandling m.m. Operationerna i ekvationerna (7.1) och (7.2) kallas diskret faltning eller konvolution (eng. convolution). Faltningen av sekvenserna h = {h(k)} och x = {x(k)} ges av (7.1), och brukar betecknas med en asterisk, y = h x (7.3) Problemet att beräkna utsignalen från ett linjärt system uppstår i flera signalbehandlingstillämpningar. Beräkningen av faltningen av två sekvenser utgör därför en av de viktigaste numeriska beräkningsoperationerna i signalbehandling. 7.2 z-transformen Det visar sig att analysen av diskreta signaler och system blir enklare om man representerar signaler och system med hjälp av en speciell transform, den s.k. z-transformen. För en sekvens {x(n)} definierad för alla heltal n definieras z-transformen Z({x(n)}) enligt ˆX(z) = Z({x(n)}) = x(n)z n (7.4) n= där z är en komplex variabel. Transformen i ekvation (7.4) är en s.k. dubbelsidig z-transform. I flera sammanhang är det ändamålsenligt att studera signaler som försvinner för negativa tider, x(n) = 0, n < 0. Transformen reduceras då till den enkelsidiga z-transformen ˆX(z) = x(n)z n n=0 = x(0) + x(1)z 1 + x(2)z 2 + (7.5) Ekvationen (7.5) definierar z-transformen som den komplexa funktion ˆX(z), vars potensserie utvecklad i potenser av z 1 har koefficienterna i sekvensen {x(n)}. Funktionen ˆX(z) är definierad för de värden på variablen z, för vilka summan i (7.5) konvergerar. Mängden av z-värden för vilka summan konvergerar beror givetvis av egenskaperna hos sekvensen 98
{x(n)}. Vi observerar från definitionen (7.5), att summan i allmänhet ej konvergerar för godtyckligt små z, utan z bör vara tillräckligt stor för att ge konvergens. Det vore i flera avseenden naturligare att i stället för (7.5) definiera en transform med hjälp av en Taylorserieutveckling i potenser av z. En orsak till att z-transformen definieras enligt (7.4) och (7.5) är att sambandet mellan z-transformen och Fouriertransformen på detta sätt blir speciellt enkelt. Från definitionen (4.23) av Fouriertransformen av diskreta signaler har vi att Fouriertransformen X(ω) kan uttryckas som X(ω) = x(n)e jωn = x(n)(e jω ) n n= n= = ˆX(z) (7.6) z=e jω z-tranformen kan således uppfattas som en generalisering av Fouriertransformen. Varje sekvens som har en Fouriertransform har även en z-transform. Däremot har endast de signaler vars z-transform konvergerar för z = e jω en Fouriertransform vid ifrågavarande frekvens. z-transformen är den diskreta motsvarigheten till Laplace-transformen för kontinuerliga signaler. I det kontinuerliga fallet existerar ett liknande samband mellan Fouriertransformen och Laplacetransformen, jämför ekvation (3.73). I enlighet med Laplacetransformen kan z-transformen utnyttjas för att studera egenskaperna hos diskreta system. z-transformerna för ett antal vanliga sekvenser ges i tabell 7.1. Exempel 7.1. Betrakta stegfunktionen { 0, n < 0 u(n) = 1, n 0 Enligt definitionen har vi att stegfunktionens z-transform ges av Û(z) = Z({u(n)}) = 1 z n n=0 = 1 + z 1 + z 2 + 1 = 1 z 1 = z z 1 (7.7) (7.8) Vi observerar att serien konvergerar om z > 1. T.ex. för z = e j0 = 1 divergerar serien, och Fouriertransformen existerar således ej vid frekvensen noll. Exempel 7.2. Exponentialfunktionen x(n) = { 0, n < 0 c n, n 0 99 (7.9)
har z-transformen ˆX(z) = c n z n n=0 = 1 + cz 1 + c 2 z 2 + = 1 + cz 1 + (cz 1 ) 2 + 1 = 1 cz 1 = z z c (7.10) Resultatet kan jämföras med den tabellerade z-transformen för c = e a, jämför tabell 7.1. I detta fall konvergerar summan om cz 1 < 1, dvs z > c. Speciellt gäller att z-transformen existerar också för divergerande sekvenser med c > 1. Däremot har sådana sekvenser ingen Fouriertransform, eftersom summan divergerar för alla z = e jω om c > 1. Vi skall till slut notera några viktiga egenskaper hos z-transformen. Linjäritet. Om ˆX 1 (z) = Z({x 1 (n)}) och ˆX 2 (z) = Z({x 2 (n)}) så har sekvensen {y(n)} = {c 1 x 1 (n) + c 2 x 2 (n)} transformen Ŷ (z) = Z({c 1 x 1 (n) + c 2 x 2 (n)}) = c 1 ˆX1 (z) + c 2 ˆX2 (z) (7.11) Resultatet följer direkt ur definitionen. Inverkan av tidsförskjutning. Låt ˆX(z) = Z({x(n)}). Definera den tidsförskjutna sekvensen {x l (n)} = {x(n l)}, där vi antar l > 0. Sekvensen {x l (n)} fås således genom att låta sekvensen {x(n)} fördröjas med l tidsintervall. Den tidsförskjutna sekvensens z-transform ˆX l (z) ges då av Detta följer direkt ur definitionen, ty ˆX l (z) ges av ˆX l (z) = ˆX l (z) = Z({x(n l)}) = z l ˆX(z) (7.12) = n= m= = z l x(n l)z n x(m)z m l [m = n l] m= x(m)z m = z l ˆX(z) (7.13) Här har den dubbelsidiga z-tranformen använts, men resultatet gäller givetvis på analogt sätt för den enkelsidiga transformen. 100
På analogt sätt fås att transformen för sekvensen {x l (n)} = {x(n + l)} ges av ˆX l (z) = Z({x(n + l)}) = z l ˆX(z) (7.14) I detta fall förskjutes den ursprungliga sekvensen till l tidsintervall tidigare (antas l > 0). Detta samband gäller även för den enkelsidiga transformen, förutsatt att den tidsförskjutna sekvensen {x l (n)} = {x(n + l)} försvinner för negativa n, dvs x(0) = x(1) = = x(l 1) = 0 bör gälla. Enligt sambandet (7.12) är z en s.k. skiftoperator; multiplikation av transformen med z skiftar den motsvarande sekvensen med en tidsenhet; ˆX 1 (z) = z ˆX(z) {x 1 (n)} = {x(n + 1)} (7.15) P.g.a. denna egenskap används z ofta som en operator som opererar direkt på sekvensens element, dvs zx(n) = x(n + 1) och z 1 x(n) = x(n 1) (7.16) Det kan också nämnas att skiftoperatorer utgör en generell klass av operatorer, med flera speciella egenskaper. 7.3 Diskreta överföringsoperatorer En av de viktigaste tillämpningsområdena för z-transformen är inom analysen av linjära system. Speciellt gäller att faltningen (7.2) av två sekvenser är produkten av sekvensernas z-transformer. Analysen av linjära diskreta system är därför i flera avseenden betydligt enklare att göra i z-transformplanet än i tidsplanet. Detta är analogt med situationen i det kontinuerliga fallet, där lösningen av differentialekvationer med hjälp av Laplacetransformen reduceras till en multiplikation av komplexa funktioner. Betrakta det kausala linjära tidsinvarianta systemet definierad av ekvation (7.2), vars impulssvar ges av sekvensen {h(n)} = {h(0), h(1),...}. Låt H(z) beteckna z- transformen av impulssvaret, Då har vi följande viktiga resultat. H(z) = h(n)z n (7.17) n=0 Ett linjärt systems inverkan på z-transformen. Utsignalsekvensen {y(n)} i ekvation (7.2) har z-transformen där H(z) ges av (7.17) och ˆX(z) = Z({x(n)}). Ŷ (z) = H(z) ˆX(z) (7.18) Ett sätt att se hur sambandet (7.18) uppstår baserar sig på observationen att systemets utsignal i ekvation (7.2) kan uppdelas enligt y(n) = y 0 (n) + y 1 (n) + y 2 (n) + (7.19) 101
där y k (n), k = 0, 1, 2,... definieras enligt y k (n) = h(k)x(n k) (7.20) Från egenskapen (7.12) följer att z-transformen av sekvensen {y k (n)} är och (7.19) och z-transformens linjäritet implicerar Ŷ k (z) = h(k)z k ˆX(z) (7.21) Ŷ (z) = Ŷ0 + Ŷ1 + Ŷ2 + = [h(0) + h(1)z 1 + h(2)z 2 + ] ˆX(z) = H(z) ˆX(z) (7.22) vilket är (7.18). Ett linjärt systems inverkan på en sekvens kan således i z-transformplanet uttryckas i form av en multiplikation av sekvensens transform med funktionen H(z). Funktionen H(z) kallas systemets överföringsfunktion eller överföringsoperator. En speciellt viktig klass av system är de vars överföringsfunktion består av kvoten av två polynom i z 1 (en s.k. rationell funktion i z 1 ), eller analogt, H(z) = b 0 + b 1 z 1 + + b M z M 1 + a 1 z 1 + + a N z N (7.23) H(z) = b 0z N + b 1 z N 1 + + b M z N M z N + a 1 z N 1 + + a N (7.24) Denna typ av överföringsoperator motsvaras i tidsplanet av en differensekvation av ordningen N. Detta kan ses genom substitution av uttrycket (7.23) i (7.22), vilket ger eller Ŷ (z) = b 0 + b 1 z 1 + + b M z M ˆX(z) (7.25) 1 + a 1 z 1 + + a N z N (1 + a 1 z 1 + + a N z N )Ŷ (z) = (b 0 + b 1 z 1 + + b M z M ) ˆX(z) (7.26) Om vi beaktar egenskapen (7.12) fås att (7.26) är ekvivalent med vilket är detsamma som {y(n) + a 1 y(n 1) + + a N y(n N)} = {b 0 x(n) + b 1 x(n 1) + + b M y(n M)} (7.27) y(n) + a 1 y(n 1) + + a N y(n N) = b 0 x(n) + b 1 x(n 1) + + b M x(n M), n =..., 1, 0, 1,... (7.28) 102
Detta är en linjär differensekvation av ordningen N. Vi har alltså visat att ett system som beskrivs av en linjär differensekvation av ordningen N representeras av en överföringsfunktion vars nämnarpolynom har ordningen N. Sådana system säges helt enkelt ha ordningen N. Anmärkning 7.1. Sambandet (7.18) ger en effektiv metod för beräkning av faltningen (7.3) av två sekvenser. Enligt ovan motsvaras faltningen av en multiplikation av sekvensernas z- transformer enligt (7.18). Å andra sidan har vi sambandet (7.6) mellan z-transformen och Fouriertransformen. Det följer att om H(ω) och X(ω) är Fouriertransformerna av sekvenserna {h(k)} och {x(k)}, så ges Fouriertransformen av sekvensen {y(n)} av Y (ω) = H(ω)X(ω) (7.29) En numeriskt effektiv metod för beräkning av faltningen av två sekvenser består således av att beräkna diskreta Fouriertransformen av sekvenserna med hjälp av FFT, multiplicera transformerna elementvis, och till slut bestämma den sökta faltningen genom beräkna inversa diskreta Fouriertransformen av produkten med hjälp av IFFT. Följande exempel illustrerar hur z-transformen kan användas för att analysera och förenkla linjära diskreta system. Exempel 7.3. Vi skall bestämma utsignalsekvensen {y(0), y(1), y(2),...} från ett diskret system som beskrivs av differensekvationen y(n) 0.9y(n 1) + 0.5y(n 2) = x(n) 0.2x(n 1) (7.30) då y(n) = x(n) = 0, n < 0 och x(0) = x(1) = = 1. Sambandet mellan in- och utsignalerna z-transformer är enligt (7.25) Ŷ (z) = 1 0.2z 1 1 0.9z 1 + 0.5z 2 ˆX(z) (7.31) I detta fall är insignalen en stegfunktion, vars transform är (jämför exempel 7.1) så att Ŷ (z) = ˆX(z) = 1 1 z 1 (7.32) 1 0.2z 1 (1 0.9z 1 + 0.5z 2 )(1 z 1 ) (7.33) För att bestämma den sökta sekvensen {y(0), y(1), y(2),...} bör z-transformen Ŷ (z) inverteras. På detta sätt kan en analytisk lösning av differensekvationen bestämmas. Metoder för invertering av z-transformer beskrivs i avsnitt 7.5. 103
{x(n)} + {e(n)} G {y(n)} {r(n)} K Figur 7.2: Diskret systemkoppling. Problem 7.1. Betrakta systemkopplingen i figur 7.2, där systemet G definieras av differensekvationen och K definieras av y(n) 0.8y(n 1) = e(n) (7.34) r(n) 0.5r(n 1) = y(n 1) + 0.1y(n 2) (7.35) Visa att utsignalens z-transform ges av Ŷ (z) = 1 0.5z 1 1 0.3z 1 + 0.5z 2 ˆX(z) (7.36) 7.4 Stabiliteten hos linjära diskreta system Vid syntes av diskreta system och filter är det viktigt att garantera systemets stabilitet. I signalbehandlingstillämpningar brukar stabiliteten hos ett system defineras på följande sätt: Ett system H säges vara stabilt om varje begränsad insignalsekvens ger upphov till en begränsad utsignalsekvens. Med en begränsad insignalsekvens avses i detta sammanhang att {x(n)} skall satisfiera x(n) < M x <, alla n, och {y(n)} skall på samma sätt satisfiera y(n) < M y <, alla n. Denna definition av stabilitet brukar kallas BIBO-stabilitet ( Bounded-Input-Bounded-Output stabilitet). Stabiliteten hos ett system kan enkelt karakteriseras med hjälp av systemets impulssvar och överföringsfunktion. Vi har att ett system är stabilt om och endast om impulssvaret {h(k)} satisfierar olikheten h(k) < (7.37) 104
Vi har nämligen att (7.37) implicerar att för varje begränsad insignalsekvens x(n) < M x satisfierar utsignalen olikheten y(n) = h(k)x(n k) h(k)x(n k) h(k) x(n k) h(k) M x < (7.38) Om å andra sidan villkoret (7.37) inte gäller, ger den begränsade insignalsekvensen x(n k) = { h(k), h(k) om h(k) 0 0, om h(k) = 0 (7.39) en oändlig utsignal, ty y(n) = h(k)x(n k) = h(k) = (7.40) Stabilitetsvillkoret kan ges en speciellt enkel form med hjälp av överföringsfunktionen H(z). Speciellt gäller att stabiliteten kan uttryckas med hjälp av polerna hos funktionen H(z). Överföringsfunktionen är en funktion av den komplexa variabeln z. De värden z = p i för vilka H(p i ) = kallas funktionens poler. Polerna hos en rationell överföringsfunktion av formen (7.23) eller (7.24) är helt enkelt nämnarpolynomets nollställen. Vi har följande stabilitetsresultat. Stabiliteten hos linjära diskreta system. Ett linjärt diskret system som representeras av överföringsfunktionen H(z) är stabilt om och endast om alla poler p i hos H(z) är till absoluta beloppet mindre än ett, p i < 1, dvs de befinner sig innanför enhetscirkeln. Resultatet följer direkt ur stabilitetskriteriet (7.37), ty ur överföringsfunktionens definition (7.17) har vi att för alla z 1 gäller H(z) h(n)z n n=0 h(n) z n n=0 h(n) [ z 1] (7.41) n=0 105
Det följer att för ett stabilt system är H(z) begränsad för alla z 1, och kan därför ej ha poler utanför enhetscirkeln. Det omvända kan visas enligt liknande argument. Problem 7.2. Undersök stabiliteten hos ett system som beskrivs av differensekvationen y(n) + cy(n 1) = dx(n) (7.42) Bestäm stabilitetsvillkor med hjälp av såväl impulssvaret som överföringsoperatorn. 7.5 Invertering av z-transformen Vi har ovan sett att utsignalen från diskreta system för olika insignaler på ett kompakt sätt kan uttryckas med hjälp av z-transformen. Det är då av intresse att bestämma den diskreta signal som motsvarar den erhållna z-transformen. Detta är ekvivalent med problemet att beräkna inversen av z-transformen; {x(n)} = Z 1 [ ˆX(z)]. Såsom vi sett har z-transformerna ofta formen av en rationell funktion i z 1, ˆX(z) = b 0 + b 1 z 1 + + b M z M 1 + a 1 z 1 + + a N z N (7.43) Vi skall i det följande diskutera systematiska metoder för beräkning av den inversa z-transformen av rationella funktioner. A. Metod baserad på serieutveckling och lång division. Den enklaste proceduren för invertering av z-transformer baserar sig direkt på definitionen (7.5). Från definitionen följer att z-transformen i (7.43) kan utvecklas enligt ˆX(z) = b 0 + b 1 z 1 + + b M z M 1 + a 1 z 1 + + a N z N = x(0) + x(1)z 1 + x(2)z 2 + x(3)z 3 + (7.44) Den sökta sekvensen {x(n)} kan således bestämmas genom att utföra divisionen med hjälp av s.k. lång division. Ekvationen kan skrivas i formen [1 + a 1 z 1 + + a N z N ][x(0) + x(1)z 1 + x(2)z 2 + x(3)z 3 + ] = b 0 + b 1 z 1 + + b M z M (7.45) Kravet att koefficienterna för de olika potenserna av z skall överensstämma ger ekvationerna z 0 -termen: z 1 -termen: z 2 -termen:. b 0 = x(0) b 1 = a 1 x(0) + x(1) b 2 = a 2 x(0) + a 1 x(1) + x(2). 106
från vilka den sökta sekvensen x(0), x(1), x(2),... kan bestämmas rekursivt. I denna metod fås den sökta sekvensen rekursivt, och metoden är ekvivalent med att i tidsplanet direkt lösa en differensekvation som motsvaras av överföringsfunktionen ˆX(z) och vars insignal är en impuls vid tidpunkten n = 0 (vars z-transform är lika med 1). Mera intressanta metoder för att bestämma inversa z-transformen är sådana som ger lösningen analytiskt. Problem 7.3. Använd lång division för att bestämma utsignalsekvensen {y(0), y(1), y(2),...} från systemet i exempel 7.3, vars transform gavs av (7.33). B. Residymetoden. Från sambandet (7.6) mellan z-transformen och Fouriertransformen samt det faktum att inversen av Fouriertransformen ges av (4.22) har vi x(n) = 1 2π = 1 2πj 2π ω=0 z =1 ˆX(e jω )e jωn dω ˆX(z)z n dz z [z = e jω ] (7.46) där vi infört substitutionen z = e jω och utnyttjat det faktum att dz = je jω dω = jzdω. Enligt teorin för analytiska komplexa funktioner kan integraler av denna form uttryckas med hjälp av integrandens residyer evaluerade vid polerna innanför integrationsområdet. Eftersom invertering av z-transformen med hjälp av partialbråksuppdelning och tabellerade z-transformer i de flesta sammanhang är lika användbar och dessutom enklare att tillämpa än residymetoden, kommer denna inte att diskuteras mera ingående här. För mera detaljer hänvisas till t.ex. Ifeachor och Jervis (1993). C. Användning av partialbråksuppdelning och tabellerade z-transformer. Betrakta funktionen ˆX(z) i (7.43). Om nämnarpolynomet har enbart nollställen av första ordning z = p i, så att det kan faktoriseras enligt 1 + b 1 z 1 + + b N z N = (1 p 1 z 1 ) (1 p 2 z 1 )... (1 p N z 1 ) (7.47) så kan funktionen ˆX(z) partialbråkuppdelas enligt ˆX(z) = C 0 + C 1 1 p 1 z + C 2 1 1 p 2 z + + C N 1 1 p N z 1 = C 0 + C 1z z p 1 + C 2z z p 2 + + C Nz z p N (7.48) Den inversa transformen kan då bestämmas med hjälp av kända inverser för de enskilda termerna i utvecklingen. Från exempel 7.2 har vi att z/(z p i ) är transformen av sekvensen {x i (n)} = {p n i }. Vi får således att den sökta sekvensen {x(n)} vars transform är ˆX(z) ges av x(n) = C 0 + C 1 p n 1 + C 2 p n 2 + + C N p n N (7.49) 107
Formeln gäller även i det fall att det finns komplexkonjugerade nollställen, p k = p l, varvid bidragen från dessa kan kombineras ihop till en reell term, jämför problem 7.4. Ifall nämnarpolynomet i (7.43) har ett nollställe p k av ordningen m, kommer partialbråksuppdelningen att innehålla termer av formen m i=1 D i (z p k ) i (7.50) med olika potenser upp till m av faktorn z p k i nämnaren. Den inversa z-transformen av dessa kan bestämmas med hjälp av de tabellerade z-transformerna. Problem 7.4. Visa att utsignalsekvensen {y(0), y(1), y(2),...} från systemet i exempel 7.3, vars transform gavs av 1 0.2z 1 Ŷ (z) = (7.51) (1 0.9z 1 + 0.5z 2 )(1 z 1 ) är y(n) = 4 3 0.5 3 ( )( ) n 0.5( )( ) n 1 + 2.8418j 0.45 + 0.5454j 1 2.8418j 0.45 0.5454j 3 (7.52) vilket, uttryckt med hjälp av endast reella tal, är ekvivalent med y(n) = 4 3 2 1) n/2 3 1.5063( cos(0.88098 n + 1.2324) (7.53) 2 Verifiera att den erhållna sekvensen är samma som erhölls i problem 7.3. Exempel 7.4. Fibonacci introducerade år 1202 en berömd talsekvens, som beskriver antalet kaniner under en följd av år. Det antas att varje kaninpar producerar ett nytt kaninpar varje år, och att det tar ett år för ungarna att bli vuxna. Om man startar med ett par kaninungar år noll, har man alltså ett fullvuxet kaninpar år nummer ett, år nummer två har man två kaninpar (det ursprungliga plus ett nytt par ungar), år nummer tre har man tre kaninpar (de två från år två plus ett nytt par ungar), osv så att antalet kaninpar y(n) år nummer n är lika med antalet y(n 1) från året tidigare plus antalet ungar som produceras av de fullvuxna kaninerna föregående år, vilka är y(n 2) stycken. Sekvensen beskrivs således av differensekvationen y(n) = y(n 1) + y(n 2) med starttillståndet y(0) = y(1) = 1. Vi skall bestämma ett analytiskt uttryck för y(n) med hjälp av de tidigare presenterade metoderna för lösning av differensekvationer. 108
Starttillståndet för differensekvationen kan beaktas på ett bekvämt sätt genom att införa en lämpligt vald insignalsekvens {x(n)}, och skriva differensekvationen i standardformen y(n) y(n 1) y(n 2) = x(n) där y(n) = 0, n < 0. Insignalsekvensen x(n) = { 1, n = 0 0, n 0 ger då det korrekta starttillståndet för y(0) och y(1). Enligt (7.18) har Ŷ (z) = H(z) ˆX(z). Sekvensen {x(n)} har z-transformen ˆX(z) = 1, så vi får Ŷ (z) = Här kan nämnarpolynomet faktoriseras enligt 1 1 z 1 z 2 = z 2 z 2 z 1 z 2 z 1 = (z p 1 )(z p 2 ) där p 1 = 1 2 (1 + 5), p 2 = 1 2 (1 5) är rötterna till z 2 z 1 = 0. En partialbråksuppdelning ger z 2 ( Ŷ (z) = (z p 1 )(z p 2 ) = A1 z2 + A ) 2 z p 1 z p 2 där A 1 och A 2 satisfierar (enligt förlängning) A 1 (z p 2 ) + A 2 (z p 1 ) = 1 vilket ger Vi kan skriva Ŷ (z) i formen A 1 = 1 5, A 2 = A 1 Ŷ (z) = z ( A1 z z p 1 + A 2z z p 2 ) Jämförelse med tabell 7.1 visar att den första termen inom parentesen är z-transformen till sekvensen {A 1 p n 1}, medan den andra termen är z-transformen till sekvensen {A 2 p n 2}. Vi kan således skriva A 1 z ( = A 1 1 + p1 z 1 + p 2 z p 1z 2 + p 3 1z 3 +... ) 1 109
och vilket ger A 2 z ( = A 2 1 + p2 z 1 + p 2 z p 2z 2 + p 3 2z 3 +... ) 2 Ŷ (z) = za 1 ( 1 + p1 z 1 + p 2 1z 2 + p 3 1z 3 +... ) +za 2 ( 1 + p2 z 1 + p 2 2z 2 + p 3 2z 3 +... ) = (A 1 + A 2 )z + (A 1 p 1 + A 2 p 2 ) + (A 1 p 2 1 + A 2 p 2 2)z 1 + (A 1 p 3 1 + A 2 p 3 2)z 2 Beaktande av att A 1 + A 2 = 0 (jfr ovan) får vi att Ŷ (z) är z-trasformen av sekvensen eller {y(n)} = {A 1 p 1 + A 2 p 2, A 1 p 2 1 + A 2 p 2 2, A 1 p 3 1 + A 2 p 3 2,...} y(n) = A 1 p n+1 1 + A 2 p n+1 2, n = 0, 1, 2,... Introduktion av de numeriska värdena för A 1, A 2 och p 1, p 2 ger till slut sökta sekvensen y(n) = 1 ( ) n+1 1 + 5 1 ( ) n+1 1 5, n = 0, 1, 2,... 5 2 5 2 Anmärkning 7.2. Observera att lösningen av en linjär differensekvation för en stor mängd av insignaler har en z-transform av formen (7.43). Den presenterade metoden ger således en enkel procedur för att bestämma en analytisk lösning till en linjär differensekvation. Metoden är analog med proceduren att lösa differentialekvationer med hjälp av Laplacetransformen. 110
Sekvens z-transform Konvergens- {x(n)}, n 0 ˆX(z) område cδ(n) c Alla z cz c z > 1 z 1 cz cn (z 1) 2 z > 1 cn 2 cz(z + 1) (z 1) 3 z > 1 cz z e α z > e α cze α (z e α ) 2 z > e α ce αn cne αn 1 e αn z(1 e α ) z 2 z(1 + e α ) + e α z > e α cos(αn) z(z cos α) z 2 2z cos α + 1 z > 1 sin(αn) z sin α z 2 2z cos α + 1 z > 1 e αn sin(αn) ze α sin α z 2 2e α z cos α + e 2α z > e α e αn cos(αn) ze α (ze α cos α) z 2 2e α z cos α + e 2α z > e α cosh(αn) z(z cosh α) z 2 2z cosh α + 1 z > cosh α z sinh α sinh(αn) z 2 z > sinh α 2z cosh α + 1 cα n cz z > α z α cnα n cαz (z α) 2 z > α Tabell 7.1: z-transformerna av några vanliga sekvenser. Här är c och α reella konstanter, och δ(n) är impulsfunktionen; δ(n) = 0, n 0 och δ(0) = 1. 111