Grundläggande systemmodeller Klas Nordberg Datorseende Institutionen för systemteknik Linköpings universitet Version: 0.11 – 9 september 2015 2 Innehåll 1 2 3 Signaler och system 1.1 Signaler . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1 Signaler som representerar fysikaliska storheter 1.1.2 Signaler som representerar information . . . . 1.1.3 Innan vi går vidare . . . . . . . . . . . . . . . 1.2 System . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 System och delsystem . . . . . . . . . . . . . 1.2.2 Flera nivåer av system . . . . . . . . . . . . . 1.2.3 Innan vi går vidare . . . . . . . . . . . . . . . 1.3 Tidsdiskret och tidskontinuerligt . . . . . . . . . . . . 1.3.1 Tidsdiskreta och tidskontinuerliga signaler . . 1.3.2 Binära signaler och meddelanden . . . . . . . 1.3.3 Tidsdiskreta och tidskontinuerliga system . . . 1.4 Enkla system . . . . . . . . . . . . . . . . . . . . . . 1.5 Härnäst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 8 8 9 9 11 12 14 14 14 15 15 19 19 Modeller för signaler och system 2.1 Signalmodeller . . . . . . . . . . . . 2.1.1 Signalrum . . . . . . . . . . . 2.1.2 Begränsade signaler . . . . . 2.2 Systemmodeller . . . . . . . . . . . . 2.2.1 Systemoperator . . . . . . . . 2.2.2 Exempel på systemoperatorer 2.2.3 Kaskadkoppling . . . . . . . 2.2.4 Differentialekvationer . . . . 2.2.5 Linjära ODE . . . . . . . . . 2.2.6 Innan vi fortsätter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 21 21 22 22 23 23 27 29 31 32 LTI-system 3.1 Linjära system . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Definition av linjärt system . . . . . . . . . . . . . 3.1.2 Hur visa att ett system är linjärt respektive olinjärt? 3.1.3 Exempel på linjära system . . . . . . . . . . . . . 3.1.4 Exempel på olinjära system . . . . . . . . . . . . 3.1.5 Linearisering . . . . . . . . . . . . . . . . . . . . 3.2 Tidsinvarianta system . . . . . . . . . . . . . . . . . . . . 3.2.1 Definition av tidsinvariant system . . . . . . . . . 3.2.2 Hur visa att ett system är tidsinvariant . . . . . . . 3.2.3 Exempel på tidsinvarianta system . . . . . . . . . 3.2.4 Exempel på tidsvarianta system . . . . . . . . . . 3.3 Definiton av LTI-system . . . . . . . . . . . . . . . . . . 3.3.1 Kaskadkoppling av LTI-system . . . . . . . . . . 3.3.2 Linjärkombination av två LTI-system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 33 33 33 34 36 37 38 38 38 39 41 42 42 42 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 3.5 3.6 LTI-system kommuterar med tidsderivata Stegsvar . . . . . . . . . . . . . . . . . . Impulssvar . . . . . . . . . . . . . . . . . 3.6.1 Definition av impulssvar . . . . . 3.7 Faltning . . . . . . . . . . . . . . . . . . 3.7.1 Tillämpning på LTI-system . . . . 3.8 Kausala system . . . . . . . . . . . . . . 3.9 Stabila system . . . . . . . . . . . . . . . 3.10 Exempel . . . . . . . . . . . . . . . . . . 3.10.1 Förstärkare . . . . . . . . . . . . 3.10.2 Fördröjning . . . . . . . . . . . . 3.10.3 Deriverare . . . . . . . . . . . . . 3.10.4 Linjär ODE . . . . . . . . . . . . 3.11 Tidsdiskreta LTI-system . . . . . . . . . 3.11.1 Faltning . . . . . . . . . . . . . . 3.11.2 Impulssvar . . . . . . . . . . . . 3.12 Innan vi går vidare . . . . . . . . . . . . 3.12.1 I praktiken . . . . . . . . . . . . 3.12.2 Tidsinvarians . . . . . . . . . . . 4 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 43 45 45 46 47 47 48 49 49 50 50 50 52 52 53 53 53 54 Cosinusfunktioner 4.1 Definition av cosinusfunktioner . . . . . . . . . . . . . . . . . . . . 4.1.1 Innan vi fortsätter . . . . . . . . . . . . . . . . . . . . . . . 4.2 Cosinus in - cosinus ut . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Amplitudkarakteristik . . . . . . . . . . . . . . . . . . . . 4.2.2 Faskarakteristik . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Frekvensfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Från impulssvar till frekvensfunktion . . . . . . . . . . . . 4.3.2 Från frekvensfunktion till impulssvar . . . . . . . . . . . . 4.3.3 Frekvens eller vinkelfrekvens? . . . . . . . . . . . . . . . . 4.3.4 Kaskadkopplade system . . . . . . . . . . . . . . . . . . . 4.3.5 Linjärkombinationer av system . . . . . . . . . . . . . . . . 4.3.6 Det inversa systemet . . . . . . . . . . . . . . . . . . . . . 4.3.7 Exempel på frekvensfunktioner . . . . . . . . . . . . . . . 4.4 Generella signaler . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1 Linjärkombination av cosinussignaler med samma frekvens 4.4.2 Linjärkombination av cosinussignaler med olika frekvens . . 4.4.3 Bandbegränsade signaler . . . . . . . . . . . . . . . . . . . 4.5 Det tidsdiskreta fallet . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.1 Från impulssvar till frekvensfunktion . . . . . . . . . . . . 4.5.2 Finns negativa frekvenser? . . . . . . . . . . . . . . . . . . 4.5.3 Vikning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.4 H(ω) är periodisk för ett tidsdiskret system . . . . . . . . . 4.5.5 Från frekvensfunktion till impulssvar . . . . . . . . . . . . 4.5.6 Innan vi går vidare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 55 56 56 58 58 58 59 60 61 61 61 62 62 64 64 65 66 66 67 67 68 69 69 70 . . . . . 73 73 74 78 79 81 Filter 5.1 Frekvensselektiva filter 5.1.1 Typer av filter . 5.2 Tidsdiskreta filter . . . 5.2.1 FIR-filter . . . 5.3 Filter för detektion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Sampling och rekonstruktion 6.1 Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1 Kvantiseringsbrus . . . . . . . . . . . . . . . . . . . . . 6.1.2 Innan vi går vidare . . . . . . . . . . . . . . . . . . . . . 6.2 Rekonstruktion . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.1 Approximativ rekonstruktion . . . . . . . . . . . . . . . . 6.2.2 Ideal rekonstruktion (teori) . . . . . . . . . . . . . . . . . 6.3 Samplingsteoremet . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.1 Formulering av samplingsteoremet . . . . . . . . . . . . . 6.3.2 Ideal rekonstruktion (praktik) . . . . . . . . . . . . . . . 6.4 Omsampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.1 Uppsampling . . . . . . . . . . . . . . . . . . . . . . . . 6.4.2 Nedsampling . . . . . . . . . . . . . . . . . . . . . . . . 6.5 Tidskontinuerliga system implementerade med tidsdiskreta system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 85 87 87 88 88 90 92 92 94 95 96 96 97 A Saker vi minns från tidigare kurser A.1 Linjär algebra . . . . . . . . . . A.1.1 Vektorrum . . . . . . . A.1.2 Linjärkombination . . . A.1.3 Linjära transformationer A.1.4 Baser och koordinater . A.1.5 Skalärprodukt och norm A.1.6 Minsta kvadratproblem . A.2 Trigonometri . . . . . . . . . . A.3 Komplexa tal . . . . . . . . . . A.4 Analys . . . . . . . . . . . . . . A.4.1 Definition av derivata . . A.4.2 Några nyttiga uttryck . . A.4.3 Generaliserade integraler A.4.4 Specifika integraler . . . A.4.5 Differentialekvationer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 99 99 99 99 100 100 101 101 102 103 103 103 103 104 104 B Roliga funktioner B.1 Arcus tangens med två argument B.2 Enhetssteget . . . . . . . . . . . B.3 Enhetspulsen . . . . . . . . . . B.4 Sinc-funktionen . . . . . . . . . B.5 Ideala impulsfunktionen . . . . B.5.1 Som ett gränsvärde . . . B.5.2 Som en derivata . . . . . B.5.3 Som en funktional . . . B.6 Diskreta Impulsfunktionen . . . B.7 Användbara samband . . . . . . B.8 Gaussfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 105 105 106 107 108 108 109 109 110 110 111 C Transmissionssystem C.1 Kanalen . . . . . . C.2 Digital transmission C.2.1 Sändaren . C.2.2 Mottagaren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 114 115 115 118 . . . . . . . . . . . . . . . . . . . . . . . . . . . . D Prediktion 123 D.1 Tillämpningar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 D.1.1 Digital överföring av ljud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 D.1.2 I praktiken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 5 Index 131 6 Kapitel 1 Signaler och system Två begrepp kommer att dyka upp ofta i den här berättelsen: signaler respektive system. Vi ska därför ägna detta kapitel åt förklara dessa två begrepp och, framförallt, se hur de hänger ihop. Det gör vi med hjälp av de formella definitioner som kan hittas i litteraturen, men också med praktiska exempel. Vi börjar med att titta på signaler. 1.1 Signaler Nationalencyklopedins ordbok förklarar begreppet signal, bland annat, som: “en fysisk företeelse som är bärare av ett budskap från en sändare till en mottagare” [2] och påpekar också att signal har sin rot i det latinska ordet signum som betyder tecken eller märke. Ovanstående definition kan fungera bra som utgångspunkt, men den är inte riktigt på pricken när det gäller denna framställning. Framförallt kommer vi ibland att använda signaler i en lite mer abstrakt form, som inte nödvändigtvis har en koppling till fysiska företeelser. De behöver inte heller vara relaterade på något uppenbart sätt till sändare eller mottagare, även om så ibland är fallet. En för våra ändamål mer precis beskrivning av begreppet signal erbjuds av litteraturen inom området, där en signal kan beskrivas som: “en funktion som innehåller information om beteendet av eller egenskaperna för något fenomen”. [3] Begreppet funktion som förekommer här syftar på en matematisk funktion, dvs. (ofta) en avbildning från reella tal till reella tal. En alternativ definition, om man inte vill trycka på signalens informationsbärande egenskaper, är: “Generellt sett är en signal en tidsvariabel fysisk kvantitet” [4] Lite mer konkreta exempel på vad signaler kan vara ges av den amerikanska organisationen IEEE, vars medlemmar är ingenjörer som arbetar med signaler, när de säger att signaler inkluderar, bland annat: ”ljud, video, tal, bilder, sonar, radar, och signaler för kommunikation, geofysik, medicin och musik” [1] I detta kompendium kommer vi att använda signal i följande betydelse: Definition 1.1: Signal En signal är en funktion av tiden som representerar information eller en fysikalisk kvantitet. Låt oss illustrera med några exempel på signaler som faller inom denna definition. 7 1.1.1 Signaler som representerar fysikaliska storheter Given ovanstående definition av signaler, så kan vi börja med att titta på signaler som utgår från fysikaliska storheter. Här är några exempel på fysikaliska storheter som kan representeras som signaler: • Lufttryck (ljud) • Ljusstyrka • Koncentrationen av ett ämne • Elektrisk spänning eller ström • Temperatur • Position eller hastighet • Elektriskt eller magnetiskt fält • Antalet solfläckar ett visst år • Rotationshastighet De storheter som nämns här handlar inte om, exempelvis, lufttryck eller temperatur i största allmänhet; de flesta storheter är kopplade till någon specifik punkt i rummet. Vad gäller de tre sista storheterna så är de snarare kopplade till specifika objekt, som position och hastighet för ett visst fordon eller rotationshastigheten för en viss motoraxel. Alla dessa storheter ska ses som funktioner av tiden, som fortsättningsvis betecknas t. Eller snarare, det är när vi betraktar storheterna som funktioner av tiden som de blir signaler. Vi kan göra enstaka mätningar av hastigheten på ett fordon, men det ger inte en signal. Om vi däremot utgår från att hastigheten hela tiden har ett bestämt värde så blir den en signal när vi betraktar alla dessa värden sammantagna, i form av funktionen v(t) som anger hastigheten v som funktion av tiden t. Redan här har vi gjort ett grundläggande antagande om en signal. En signal är alltså inte ett värde, exempelvis hastigheten 42 km/h eller temperaturen 800 grader, utan en beskrivning av ett värde som funktion av tiden. Signalen är funktionen och ska inte sammanblandas med signalens, dvs. funktionens, värde vid en viss tidpunkt t. Denna distinktion mellan signalen som en funktion och dess värde vid en viss tidpunkt kan tyckas filosofiskt, men har konsekvenser lite längre fram när vi ska införa matematiska beskrivningar för signaler. För att utgöra en signal är det är inte nödvändigt att en fysikalisk storhet har ett känt numeriskt värde, som observerats med en mätning. Så länge som fysikens lagar säger att storheten existerar och det finns någon slags modell av hur dess värde bestäms vid olika tidpunkter kan vi betrakta den som en signal. Vi behöver inte mäta, till exempel, temperaturen i en punkt för att den ska kunna ses som en signal. De signaler som vi använder i detta kompendium är i huvudsak funktioner av tiden och vars värdemängd är R, de reella talen. Anledningen är att de flesta praktiska exempel på fysikaliska storheter kan representeras med ett reellt tal, exempelvis temperatur, tryck eller elektrisk spänning. Det finns emellertid ingen anledning att vi måste begränsa oss till reellvärda funktioner; exempelvis det elektriska och det magnetiska fältet i en punkt beskrivs bäst med 3-dimensionella vektorer som representerar styrkan och riktningen på respektive fält. Även position och hastighet kan i vissa fall behöva representeras med vektorer. För dessa fysikaliska storheter är det naturligt att signalens värde istället är en vektor med reella tal. Vi kommer även se att det kan finnas anledning att utöka den reella värdemängden till komplexa tal. Det beror inte på att motsvarande fysikaliska storhet har ett komplext värde, utan på att den matematiska beskrivningen av signaler i vissa fall kan förenklas om reella signaler på ett systematiskt sätt översätts till komplexvärda signaler. Det blir alltså enklare när det blir komplext , 1.1.2 Signaler som representerar information Ovanstående exempel på signaler är baserade på fysikaliska storheter, men signaler kan även representera information. En lite mer utförlig definition av begreppet information faller utanför ramen för denna presentation, men låt oss konstatera att det inte enbart är fysikaliska storheter som kan ha ett värde som varierar med tiden. Inom ekonomi och logistik finns det gott om exempel på storheter som låter sig observeras eller har bestämda värden och som varierar som funktioner av tiden, exempelvis: • Priset på en specifik vara • Medelinkomsten eller BNP i ett land • Saldot på ett konto • Arbetslösheten i ett land eller i en yrkeskategori • Antalet producerade enheter av en viss typ • Växelkursen mellan två valutor • Antalet lagrade enheter av en viss typ • Veteskörden globalt ett visst år I dessa exempel är informationen en variabel som, i princip, kan ses som ett reellt tal. 8 1.1.3 Innan vi går vidare Hur är det med tiden, vilken enhet använder vi för tidsvariabeln t? För att använda signaler i praktiken är det viktigt att vi specificerar vilket tidsenhet som används för t, exempelvis sekunder. Det är ofta bra att tänka sig att t anges i sekunder, det är ju en standardiserad enhet för tid, men det är i princip inget som hindrar att t anges i milli- eller mikrosekunder, eller i timmar, dagar eller veckor. Det viktiga är att tidsenheten har definierats när en signal väl ska användas praktiskt och att alla signaler som på något sätt ska kombineras använder samma tidsenhet för sin variabel. Om inget annat anges antar vi att t anges i sekunder. I definition 1.1 på sidan 7 beskrivs en signal som en funktion av tiden. En rimlig fråga att ställa här är: varför kan inte vilken funktion som helst vara en signal? Vi kan t.ex. observera att det finns ett visst samband mellan priset på en vara och efterfrågan på samma vara, där (ofta) efterfrågan kan beskrivas som funktion av priset. Varför är inte denna funktion en signal? Eller funktionen som beskriver sambandet mellan fotoners våglängd och sannolikheten att de ska absorberas av ett visst material, kan inte den vara en signal? Svaret på denna frågeställning har två delar. För det första är den definition som valts här något snäv, den är inte universell. Exempelvis kan en bild ses som en funktion av två rumskoordinater, en horisontell och en vertikal, och faller då inom ramarna för en bredare definition av vad vi menar med signaler. Ett annat exempel på en signal som inte hamnar inom vår definition är om du lyssnar på en radio där du kan ställa in stationen med en ratt. Normalt hör du ljudet som sänds ut av den radiostation som radion är inställd på och ljudet är en signal som egentligen representeras av en fysikaliska kvantitet i form av tryckförändringar i luften. Vrider du ratten så att du hamnar “mellan stationerna” så hörs (ibland) istället ett brus i högtalaren. Bruset representerar varken information eller ljud som vi är vana att höra det, men kan likväl kallas för en signal. För det andra är det inte så att varje funktion som beskriver någon aspekt av verkligheten är en signal. För att utgöra en signal behöver funktionen kopplas till något vi kallar system, vilket beskrivs i nästa avsnitt. 1.2 System När vi studerar signaler är det sällan de förekommer enskilt och isolerade från allting annat. Exempelvis, om vi studerar en signal i form av temperaturen i en viss punkt så är vi förmodligen också intresserad av den process som påverkar denna temperatur. Eller tvärtom, vi vill studera en viss process och det gör vi genom att undersöka de signaler den ger upphov till. För att ta fram en modell av hur vädret förändras över tiden, och över ett större område, kan vi studera hur temperatur, lufttryck, vind, luftfuktighet, etc. varierar över tiden och på olika platser i området. Alla dessa storheter motsvaras av signaler som genereras av den vädermodell vi studerar. Om vi stället vill beskriva en modell för ett lands ekonomi kan vi studera signaler som priser, löner, räntor, och inflation. Baserat på denna beskrivning av sambandet mellan signaler och system, kan vi presentera en första ansats till definition av vad ett system är och hur det relaterar till signaler: Definition 1.2: System Ett system genererar signaler, signaler påverkar system. Påverkan kan vara momentant men kan även ske över tiden. Vi kommer att behöva förfina denna beskrivning av ett system, men den låter oss göra några viktiga observationer. Den innehåller ett explicit samband mellan signaler och system. Det som är upphovet till en signal är ett system, vi skulle till och med säga att till varje signal finns ett system som är orsaken till att signalen varierar som funktion av tiden. Denna ståndpunkt bygger emellertid på vilken del av verkligheten som studeras. För att förstå hur temperaturen i en viss punkt varierar som funktion av tiden kan vi se temperaturen som en aspekt av ett vädersystem. Om punkten istället befinner sig inne i en vattenfylld kastrull är det snarare den energi som tillförs kastrullen genom elektriciteten som värmer plattan den står på som är det relevanta systemet. Dessa två exempel på system, väder respektive en vattenfylld kastrull på en platta, illustrerar att begreppet system kan te sig på en mångfald olika sätt. En del system är stora och komplexa, andra är små och enkla. En del är konkreta objekt som vi hålla i handen och stoppa i fickan, som en mobiltelefon, andra är mer diffusa eller abstrakta och behöver inte ens ha en fysiskt form, som en nationalekonomisk modell av ett land. 9 Ovanstående samband säger också att ett system är något som kan påverkas av signaler. Ett sätt att beskriva ett system är utgå från att det har ett inre tillstånd, en uppsättning tidsvariabla parametrar (signaler) som beskriver samtliga aspekter av systemet som krävs för att det ska kunna generera de signaler som vi observerar. När vi säger att en signal påverkar ett system så menar vi att det är systemets inre tillstånd som påverkas. Systemets inre tillstånd kan ses som ett slags minne som återspeglar hur vissa signaler påverkat systemet, dess inte tillstånd, vilket i sin tur påverkar de signaler som systemet genererar. För att hålla lite mer ordning i denna diskussion, behöver vi skilja mellan olika typer av signaler, från ett specifikt systems perspektiv: Definition 1.3: Insignaler och utsignaler De signaler som påverkar ett system är systemets insignaler. De signaler som genereras av ett system är systemets utsignaler. Låt oss titta på några konkreta exempel på system och försöka identifiera dess in- och utsignaler: • Högtalare: ofta ett membran som sätts i rörelse av ett magnetiskt fält genererat av en elektrisk spole. Insignal är den elektriska strömmen genom spolen och utsignal är lufttrycket framför membranet. Notera att lufttrycksförändringarna fortplantas från högtalaren som en ljudvåg. • Radio: kan i enklaste fallet beskrivas som en apparat som omvandlar en elektromagnetisk (radio)våg som träffar antennen till (ofta) ljudvågor som genereras av en högtalare. Insignal är radiovågen och utsignal är ljudvågen. En radio har ofta en möjlighet att variera vilken station som den är inställd på, liksom styrkan på ljudet (volymen). Även dessa inställningar kan ses som insignaler till radion, exempelvis i form av vinklar på rattar som anger station respektive volym. Om radion har en utgång som kan kopplas till en extern förstärkare eller högtalare motsvarar det ytterligare en utsignal, i form av en spänning som varierar på samma sätt som ljudet. • Bankkonto: som ofta kan vara räntebärande. Systemets insignal är de insättningar, med minustecken om det är uttag, som görs till kontot vid olika tidpunkter. Utsignalen är summan av alla insättningar, inklusive ränta, som gjorts sedan det öppnades, också de som funktion av tiden. Normalt är även räntan en funktion av tiden och blir då ytterligare en insignal till systemet. • Nervcell: en speciell typ av cell, kopplad till andra nervceller, som karakteriseras av den kan generera en elektrokemisk puls som fortplantas längs ett utskott från cellen (axonen). Hur stark pulsen är och hur ofta den genereras beror på hur cellen stimuleras via en annan typ av cellutskott (dendriter) som är kopplade till andra nervcellers axoner och hur starka dessa kopplingar är. Axonen är nervcellens utsignal och dendriterna dess insignaler. • Farthållare: som försöker hålla bilens hastighet relativt konstant genom att jämföra dess verkliga hastighet med den önskade och påverka motorns gasreglage så att motorn ges ett gaspådrag när hastigheten är för låg, och vice versa. Systemets insignaler är dels den verkliga hastigheten liksom dels den önskade hastigheten, båda kan variera över tiden oberoende av varandra, och utsignal är gaspådraget. • Hörapparat: i enklaste fallet kan en hörapparat helt enkelt vara en förstärkare som förstärker ljudet i örats hörselgång innan det når trumhinnan. Moderna hörapparater kan även dela upp ljudet i olika frekvensområden och förstärka varje frekvensintervall olika mycket, vilket ska kompensera för att örat tappat känslighet på motsvarande sätt. Insignal är de ljudvågor som träffar hörapparatens utsida och utsignal är de ljudvågor som genereras av en liten högtalare nära trumhinnan. I mer avancerad fall kan de utgående ljudvågorna ersättas av en utsignal i form av en rent mekanisk vibration i närliggande ben. • Styrsystemet i en helikopter: ett relativt komplext system som kan användas både till att hålla helikoptern svävande i luften och för att flyga framåt, eller utföra mer avancerad förflyttningar. Insignaler är pilotens utslag av både fotpedaler, en central styrspak och ett par styrspakar vid sidan om piloten. Tillsammans styr de utsignaler i form av rotationshastighet på främre och bakre rotorer, rotorernas lutning mot helikopterns kropp, liksom rotorbladens vinklar och hur dessa varierar under ett rotorvarv. 10 Observera att en del system är enkla i den meningen att de enbart har en insignal och en utsignal, medan andra har flera insignaler och/eller flera utsignaler. 1.2.1 System och delsystem Om vi åter konsulterar Nationalencyklopedin får vi reda på att ett system är “en samling element som hänger samman med varandra så att de bildar en ordnad helhet”. [2] Denna beskrivning av system gör inte någon koppling alls till signaler, på det sätt som gjorts ovan, och antyder att vi i denna framställning använder begreppet system i en snäv bemärkelse. Även om detta stämmer, är definition 1.2 på sidan 9 en mycket vanlig ansats inom studiet av system, framförallt när det gäller ingenjörsämnet signaler och system inom elektroteknik. Som vi ska se, är emellertid de matematiska modeller som då används för signaler och system även tillämpbara inom flera andra vetenskapsområden, såsom ekonomi, logistik, fysik, biologi och medicin. Nationalencyklopedins definition är intressant eftersom den pekar på att ett system består av element som på något sätt fogas samman till en helhet, även om den inte säger något om vad dessa element består av eller hur de fogas samman. I denna framställning gör vi en specifik tolkningen av denna definition. Ett system S kan bestå av enheter som i sig själva är system, eller delsystem, och dessa “hänger samman” genom att utsignaler från ett delsystem kopplas som insignaler till andra delsystem, och insignaler till ett delsystem kopplas som utsignaler från andra delsystem. En utsignal från ett delsystem kan kopplas som insignal till flera andra delsystem, men en insignal till ett delsystem måste härröra till enbart en utsignal från ett annat delsystem.1 Även systemet S har ett antal insignaler och utsignaler. Insignalerna är kopplade till en eller flera delsystem, och utgör deras insignaler utan att det är tydligt specificerat var de kommer ifrån. Utsignalerna för S är utsignaler från en eller flera delsystem som kan “hänga lösa”, utan specificerad koppling till en enhet i S eller utanför S . Figur 1.1 illustrerar hur ett system S består av ett antal delsystem, A, B, C, D. Kopplingen av ut- till insignaler anges av pilar på kopplingarna. Systemet S har två insignaler, x(t) och u(t), kopplade som insignaler till delsystemen A, B respektive D. Det har även två utsignaler y(t) och z(t) som är utsignaler från delsystemen A respektive D. Internt har systemet en signal w(t) som är utsignal från delsystem B och insignal till C och D. Ett lite mer konkret exempel på ett system illustreras i figur 1.2, som visar hur temperaturen för luften i ett rum kan kontrolleras av en regulator som styr ett element. Regulatorn är baserad på en sensor som mäter temperaturen i rummet och en önskad temperatur som kan ställas in av dem som vistas i rummet. I enklaste fallet kopplar regulatorn på elementet (eller ökar mängden varmvatten som flödar genom det) om rummets temperatur är lägre än den önskade och, tvärtom, den stänger av elementet (eller minskar flödet) om rummets temperatur är högre än önskat. Rummets temperatur påverkas av elementet, men även av rummets avkylning mot utomhusluften (som i sin tur beror av yttertemperaturen), av solen som kan lysa in genom fönstret och av hur många människor som finns i rummet. När det gäller systemet i figur 1.2 så är dess funktion relativt klar. Men hur är det med systemet S i figur 1.1, har det verkligen någon mening? Det finns ju både insignaler och utsignaler som inte är specificerade var de kommer ifrån eller hur de är kopplade. Systemet S är någon mening en låda som “hänger i luften”. Ett system utmärks emellertid alltid av att utföra en funktion, inte nödvändigtvis i matematisk mening, utan att det svarar på ett behov att generera vissa önskade utsignaler. Enligt definition 1.1 på sidan 7 utgörs de utsignaler som S har av funktioner av tiden som antingen representerar information eller fysikaliska storheter. Det betyder att vi alltid kan göra en tolkning av vad S gör: det genererar dessa utsignaler som har en meningsfull tolkning i termer av information eller fysikaliska storheter. Även insignalerna går att tolka i termer av: det som påverkar hur utsignalerna genereras. Alternativt kan ett system tjäna som modell eller förklaring till observerade mätningar, exempelvis ett vädersystem i form av en matematisk modell som beskriver hur temperatur, lufttryck, luftfuktighet, etc. hänger samman. Det räcker ofta med att veta hur systemet S kan påverkas av andra system och vilken funktion det har, dvs. vilka utsignaler det genererar, för att förstå hur det ska vara uppbyggt. Exempelvis kan vi beskriva konstruktionen av en högtalare utan att behöva veta hur det system fungerar som ska generera strömmen som högtalaren drivs av. Ett exempel så ett system är drivlinan i en bil. Motorn ger en utsignal i form av ett moment på motoraxeln, det omvandlas av växellådan till ett (ofta) högre moment på drivaxeln, som i sin tur driver hjulen som omvandlar momentet till kraft. Växellådan har även som insignal en växelförare, vilken kan ses som en variabel faktor som 1 Här gör vi en förenkling anpassad till denna framställning. Det går att beskriva system där utsignaler från flera delsystem kopplas samman som gemensamma insignaler, så kallade bussar. 11 Figur 1.1: Ett system S , bestående av fyra delsystem (A, B, C, D). Systemet S har två insignaler x(t) och u(t), två utsignaler y(t) och z(t), samt en intern signal W(t). De fyra delsystemen är sammankopplade med varandra och bildar ett framåtkopplat system. anger momentförhållandet mellan växellådans in- och utgående axlar. Motorn har en insignal från föraren i form av gaspådraget, exempelvis hur mycket gaspedalen tryckts ned. Den har även en insignal i form av bilens last (luftmotstånd, vägens lutning, friktion, etc) som omvandlas till ett visst varvtal på motoraxeln. I exemplet med bilens drivlina innebär “hänger samman” att de olika delsystemen är mekaniskt kopplade till varandra, via axlar, kugghjul eller wirar. I allmänhet kan in- och utsignaler i ett system kopplas via elektriska ledningar, trycksatta vätskor eller gaser, akustiska eller elektromagnetiska vågor som utbreder sig i ett lämpligt medium, eller som ett flöde av pengar, varor, eller människor. Delsystemen måste inte befinna sig i fysisk närhet till varandra för att hänga samman, det räcker med att utsignalen som genereras av ett delsystem A kan påverka ett annat system B, och därmed vara en insignal till B, för att A och B ska hänga samman. Framåtkopplade och återkopplade system System kan ibland delas in i två huvudtyper: framåtkopplade respektive återkopplade system. I ett framåtkopplat system2 S finns det ett “flöde” av signaler som går från systemets insignaler, via systemets delsystem, till dess utsignaler utan att det finns “slingor” där utsignalen från ett delsystem A kopplas tillbaka till ett delsystem B som i sin tur påverkar A. Systemet S i figur 1.1 är ett exempel på ett framåtkopplat system. I ett återkopplat system3 finns det delsystem som är återkopplade, deras utsignaler kopplas tillbaka till tidigare enheter i systemet. Figur 1.2 illustrerar ett återkopplat system. Det finns en slinga av signaler från regulatorn, till elementet, till sensorn och tillbaka till regulatorn. 1.2.2 Flera nivåer av system När vi pratar om system i termer av delsystem som är sammankopplade via sina in- och utsignaler kan vi utgå från två olika, och motsatta, perspektiv som båda är relevanta för en ingenjör som arbetar med system. Det första skulle kunna kallas “uppifrån-och-ned” eller “utifrån-och-in”.4 Vi börjar med helheten, exempelvis en bil eller en mobil2 Engelska: feed forward system feedback system 4 Englska: top down eller outside-in. 3 Engelska: 12 Figur 1.2: Ett system som beskriver en regulator som påverkar ett värmeelement som i sin tur påverkar värmen i ett rum. Rummets temperatur mäts av en sensor som påverkar regulatorn. telefon, och frågar oss vad den består av. Svaret på denna fråga är en samling element eller delsystem tillsammans med en beskrivning av hur de hänger samman i form av hur utsignaler och insignaler är sammankopplade. Varje element/delsystem kan vi sedan betrakta som ett nytt system, ett system på en lägre nivå av komplexitet. Detta system kan vi sedan analysera på samma sätt och beskriva i termer av delsystem kopplade till varandra. Om vi väljer att betrakta människokroppen som ett system kan vi se att den har ett nervsystem, ett matsmältningssystem, ett system för syreförsörjning av kroppens celler, osv. Varje sådan system kan delas upp i delsystem, till exempel olika organ, som påverkar varandra. Organen kan delas upp i mindre och enklare delorgan eller vävnader. Till slut kommer vi ned på cellnivån, och kan sedan fortsätta till cellernas organeller (cellkärna, mitokondrier, membran, osv.) och vidare ned till enskilda molekyler. På varje nivå ser vi system som består av enheter som i sig själva är system. Enheterna, delsystemen, påverkar varandra på olika sätt: genom nervimpulser, genom att sända hormoner genom blodet, genom elektriska potentialer, genom att röda blodkroppar binder syremolekyler till sitt hemoglobin, osv. Signalerna som de olika kroppssystemen påverkar varandra med handlar om fysikaliska storheter av typen elektrisk spänning eller koncentration av olika typer av molekyler, ofta proteiner. Signalerna kan även vara mekaniska i form av muskler som dras samman eller slappnar av, exempelvis för att öppna eller stänga klaffar i hjärtat eller ändra buktigheten för ögonens linser. Ett alternativt perspektiv på system är att utgå från de enklaste komponenterna. Ofta, men inte alltid, har de en generell funktion som kan användas i många olika system. En pump skapar ett tryck i en vätska och kan användas i flera sammanhang, pumpa upp vatten till ett vattentorn, pumpa bränsle in i en bilmotor eller spolarvätskan som ska göra ren vindrutan. Samma sak med en fläkt, ett batteri, en säkring eller ett relä. I kroppen finns ett fåtal celltyper som kan fås att “hänga samman” till alla de olika typer av vävnader och organ som kroppen består av. Det finns många olika sätt att koppla samman dessa och andra komponenter till mer och mer komplexa system Vi kan då använda ett “nedifrån-och-upp” eller “inifrån-och-ut” perspektiv,5 där vi börjar med de enklaste och mest generella enheterna, som sedan kopplas samma till ett mer komplext system. Detta system är i sin tur ett delsystem som kopplas samman med andra delsystem till ett än mer komplext system. Till slut bildar alla dessa enheter, till exempel, en dator, en bil eller en mobiltelefon. Varje gång två delsystem kopplats samman så innebär det, precis som tidigare, att det ena påverkar det andra. En ingenjör behöver ofta kunna använda båda dessa perspektiv för att konstruera och använda komplexa tekniska system. Vissa delsystem behöver endast beskrivas på en översiktlig nivå: vilka in- och utsignaler det har och de senare beror av de förra, vilket motsvarar den funktion som delsystemet utför. Andra delsystem behöver analyseras ända från högsta till lägsta nivå av komplexitet, vilket kan leda till en konstruktionsriktning för ett mekaniskt system eller ett kopplingsschema för en elektroniskt system. Från dessa beskrivningar kan sedan delsystemen massproduceras och säljas. I denna framställning är emellertid perspektivet nedifrån-och-upp det vanligaste. Vi kommer att studera olika typer av relativt enkla enheter som kan användas för att bygga upp mer komplicerade system. Vi gör inte en strikt 5 Englska: bottom up eller inside-out. 13 distinktion mellan vad som är ett system och vad som är dess enheter eller delsystem, eftersom även de senare är system fast på en lägre nivå av komplexitet. Istället kommer båda att helt enkelt kallas system. 1.2.3 Innan vi går vidare Den beskrivning av system som presenteras i definition 1.2 på sidan 9 gör en explicit koppling mellan signaler och system. Den innebär ett slags orsakssammanhang som säger att signaler inte existerar isolerade utan uppstår som en konsekvens av ett eller flera bakomliggande system. Det som gör att värdet av ett systems utsignal eller utsignaler ändrar sig från en tidpunkt till en annan tidpunkt är att det inre tillståndet hos systemet har ändrat sig. Det som åstadkommer denna ändring i det inre tillståndet är systemets insignaler, återigen ser vi här ett orsakssamband som verkar över tiden. Det är denna explicita koppling till system och de orsakssamband som finns i dessa relationer som gör att det är specifikt funktioner av tiden som kommer i fråga som signaler. Andra typer av funktioner, med andra typer av variabler, har helt enkelt inte dessa orsakssamband i relation till system. 1.3 Tidsdiskret och tidskontinuerligt Om vi återvänder till avsnitt 1.1.2, till listan med exempel på signaler som representerar information, kan vi göra en viktig observation för i alla fall några av de storheter som nämns. Även om det i princip skulle gå att bestämma deras värde vid varje möjligt värde på tiden t, så är det i praktiken ofta så att de inte varierar (eller har ett bestämt värde) under vissa tidsperioder. Exempelvis bestäms ofta medelinkomst och BNP års- eller kvartalsvis och arbetslösheten på månadsbasis. Priset på en vara i närbutiken ändras normalt högst en gång per dygn, liksom bankernas ränta, medan priset på en aktie visserligen kan variera mellan bråkdelar av en sekund, men även här finns ett kortaste tidsintervall för prisförändring som de datoriserade systemen för aktiehandel kan hantera. Även signalen som anger antalet solfläckar under ett år kan sägas vara av denna typ. 1.3.1 Tidsdiskreta och tidskontinuerliga signaler Vissa storheter som kan representeras i form av en signal förändrar sitt värde endast vid bestämda tidpunkter som är separerade av ett konstant tidsintervall T . Det betyder att tidsvariabeln t, vid de tidpunkter när en förändring sker, kan skrivas på formen t = k · T, k ∈ Z, (1.1) dvs. k är ett heltal. För denna typ av signal finns det ingen anledning att hålla rätt på vad den har för värde vid alla tidpunkter t, det räcker med att ange dess värde just vid de tidpunkter som beskrivs av (1.1). Vi skulle till och med kunna representera denna signal med en ny funktion som tar heltalet k som variabel och som returnerar värdet av signalen s vid tidpunkten t = k · T . Denna typ av signal kommer i fortsättningen att kallas för en tidsdiskreta signal och för att skilja dessa från signaler som är funktioner av godtyckliga värden på t ∈ R kallas den senare typen för tidskontinuerlig signal6 . För att enklare skilja tidskontinuerliga signaler från tidsdiskreta kommer vi att använda heltalet k som variabel för den senare typen av signal, och vi kommer dessutom att beteckna signalen s som funktion av k med s[k], för att skilja den från motsvarande signal som funktion av tiden t, vilken som vanligt betecknas med s(t). Given sambandet i (1.1) kan vi då skriva s[k] = s(k · T ). (1.2) I dessa exempel är sambandet mellan den tidskontinuerliga signalen s(t) och motsvarande tidsdiskreta signal s[k] baserat på att s(t) inte varierar, eller inte har ett bestämt värde, mellan bestämda tidpunkter som ligger på avståndet T från varandra. Det är ett sätt att se på tiddiskreta signaler, men det är inte det enda. Ett annat synsätt bygger på att s(t) verkligen varierar hela tiden och har bestämda värden för alla t. I det fallet kan s[k] snarare ses som en slags approximativ beskrivning av s(t), i alla fall om T är tillräckligt liten. Det innebär att om s[k] är känd så kan s(t) återskapas ur s[k], åtminstone approximativt. Ju mindre T är, desto bättre approximation av s(t) kan vi erhålla. I det sammanhanget kallas de enskilda värdena i den tidsdiskreta signalen s[k] för sampel, de kan ses som “prov” tagna ur den tidskontinuerliga signalen s(t). Den process som skapar den tidsdiskreta signalen s[k] från den 6 I vissa texter kallas de två typerna av signaler ibland för analog respektive digital signal. Vi kommer emellertid att konsekvent kalla dem för tidskontinuerliga respektive tidsdiskreta. 14 tidskontinuerliga signalen s(t) kallas sampling och den motsatta processen som återskapar/approximerar s(t) från s[k] kallas rekonstruktion. Vi återkommer till motivet för denna approximation i avsnitt 1.3.3. Eftersom heltalsvariabeln k i dessa fall har ett linjärt beroende med tiden t, enligt (1.1), kommer vi tänka på k som “tiden” eller som en tidsvariabel. I nästa avsnitt dyker emellertid en tredje variant av tidsdiskreta signaler upp, där k inte behöver ha en explicit koppling till tiden, dvs. s(t) som uppfyller (1.2) existerar inte. I det fallet är k snarare en variabel som “räknar upp” signalens värden, utan att beskriva tidpunkter för varje sampel. 1.3.2 Binära signaler och meddelanden Information behöver inte vara begränsad till värden som varierar över tiden, utan kan även handla om text, bilder, ljud, video, web-sidor eller datorprogram, vilket generellt skulle kunna kallas digital information. För var och en av de nämnda informationstyperna finns flertalet standarder för hur de kan representeras i digital form, som sekvenser av nollor och ettor, eller bitar. Genom att dela in bitarna i sekvensen, exempelvis i grupper om 8, 16 eller fler bitar7 , kan grupperna användas till att representera i stort sett vilken typ av information som helst. Det faller emellertid utanför ramen av denna framställning att gå in i hur detta görs för olika typer av digital information. Figur 1.3 visar ett exempel på hur bokstäver, siffror och andra tecken kan representeras i form av grupper om sju bitar. Att bitarna formar en sekvens betyder att de ska lagras eller överföras i en specifik ordning: det finns en första bit, en andra bit, osv. Vi kan se digital information som en funktion vars värdemängd består av symbolerna “noll” och “ett”, och vars variabel är ett heltal k. Det betyder att vi kan representera digital information med en tidsdiskret signal s[k] som har värdemängden {0, 1}, en binär signal. Det som gör en binär signal lite speciell är att den ofta inte har en explicit koppling mellan heltalsvariabeln k och tiden t, som i (1.2). Om vi vill skicka informationen som den binära signalen representerar, från ett ställe till ett annat, får det gärna ta så liten tid som möjligt att göra detta. Hur lång tid det tar beror emellertid inte enbart på den binära signalen, hur många bitar den innehåller, utan även av hur många bitar per tidsenhet som kan överföras, bithastigheten. Om vi känner bithastigheten så ger dess invers hur många tidsenheter varje bit tar, vilket motsvarar T . Denna parameter beror på den utrustning som ska utföra överföringen av den binära signalen, inte på hur vi tolkar informationen som ska sändas. I praktiken kan det vara lite mer komplicerat än vad som beskrivs ovan: bithastigheten (som anger 1/T ) behöver inte vara en konstant. Om bitarna ska skickas över internet kommer bithastigheten att bero på hur många andra användare som nyttjar samma överföringskanal vid just det tillfället, liksom vilken av ofta flera möjliga vägar som informationen tar från sändare till mottagare. Denna observationer innebär att det inte alltid är meningsfullt göra en explicit koppling mellan den tidsdiskreta binära signalen s[k] och en tidskontinuerlig signal s(t), det är enbart s[k] som egentligen existerar som signal. Denna signal är då relativt abstrakt i den meningen att den inte måste ha en fysik motsvarighet som går att mäta eller observera, det viktiga för tolkningen av innehåller i den binära signalen är i vilken ordning bitarna kommer i sekvensen, vilket anges av heltalet k, inte exakt vilka tidpunkter som bitarna kan hänföras till. På grund av sin speciella natur kommer vi i fortsättningen att ibland kalla binära signaler för meddelanden. Ett meddelande s[k] utgörs av en sekvens med symboler som inte nödvändigtvis uppträder vid vissa tidpunkter utan snarare kommer i en specifik ordning, en ordning som specificeras av k ∈ Z. När ett meddelande ska skickas från en sändare till en mottagare måste emellertid meddelandet omvandlas till någon typ av signal som kan överföras. Symbolerna i ett meddelande kan i enklaste fallet vara binära, dvs. “noll” eller “ett”, men kan i princip även tillhöra en större mängd symboler. Exempelvis är morsesignaler uppbyggda av symbolerna “kort”, “lång” och olika långa pauser mellan bokstäver och ord. 1.3.3 Tidsdiskreta och tidskontinuerliga system Uppdelningen av signaler i tidskontinuerliga respektive tidsdiskreta signaler motiveras inte enbart av att de skiljer sig åt i hur de tillåter att signalen varierar. Eftersom signaler och system är nära relaterade återspeglas denna uppdelning även för de system vi ska studera och då blir skillnaden ännu tydligare. Vi kan klassificera system baserat på om de är tidskontinuerliga eller tidsdiskreta. Ett tidskontinuerligt system genererar tidskontinuerliga utsignaler och påverkas av tidskontinuerliga insignaler. Ett tidsdiskret system genererar tidsdiskreta utsignaler och påverkas av tidsdiskreta insignaler. Det är även möjligt att tänka sig hybridvarianter: system som har in- och utsignaler som är en mix av tidskontinuerliga och tidsdiskreta signaler. 7 En grupp om 8 bitar kallas för en byte, vilket är en vanlig enhet för att beskriva en mängd digital information. 15 0100000 0100001 0100010 0100011 0100100 0100101 0100110 0100111 0101000 0101001 0101010 0101011 0101100 0101101 0101110 0101111 0110000 0110001 0110010 0110011 0110100 0110101 0110110 0110111 0111000 0111001 0111010 0111011 0111100 0111101 0111110 0111111 SPACE ! " # $ % & ’ ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 1000000 1000001 1000010 1000011 1000100 1000101 1000110 1000111 1001000 1001001 1001010 1001011 1001100 1001101 1001110 1001111 1010000 1010001 1010010 1010011 1010100 1010101 1010110 1010111 1011000 1011001 1011010 1011011 1011100 1011101 1011110 1011111 @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ˆ _ 1100000 1100001 1100010 1100011 1100100 1100101 1100110 1100111 1101000 1101001 1101010 1101011 1101100 1101101 1101110 1101111 1110000 1110001 1110010 1110011 1110100 1110101 1110110 1110111 1111000 1111001 1111010 1111011 1111100 1111101 1111110 ´ a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ∼ Figur 1.3: Siffror, bokstäver och en del andra användbara tecken representerade som sekvenser av binära symboler (bitar) enligt ASCII-standarden. Den ursprungliga standarden definierades enbart för engelsk text och använder sju bitar, men har senare utökats till fler bitar för att kunna hantera skrivtecken som används utanför det engelska språket. 16 Figur 1.4: Ett tidskontinuerligt system, med tidskontinuerliga insignaler x(t) och y(t) samt utsignal z(t), kan implementeras som ett tidsdiskret system med tidsdiskreta insignaler x[k] och y[k] samt utsignal z[k]. De tidskontinuerliga insignalerna x(t) och y(t) behöver då konverteras till tidsdiskret form, x[k] och y[k], via en speciell typ av delsystem (ADC). På motsvarande sätt behöver den tidsdiskreta utsignalen z[k] omvandlas till en tidskontinuerlig form, z(t), via ett speciellt delsystem (DAC). Som vi har sett kan tidskontinuerliga system implementeras på en mängd olika sätt, exempelvis mekaniskt, akustiskt, hydrauliskt, pneumatiskt eller elektriskt. De behöver inte ens vara konstgjorda system utan kan handla om fysikaliska system i form av väder och vind. I tekniska sammanhang är tidsdiskreta system nästan alltid är implementerade i form av digitala system uppbyggda av digital elektronik. Ett sådant system har en intern “klocka” som med jämna mellanrum, motsvarande tidsintervallet T , levererar en plus till alla de delar i systemet som utför beräkningar och lagrar resultaten i minnen som då låser det senaste sampelvärdet för en tidsdiskret signal till det värde det ska ha fram tills att nästa puls kommer. Inom ekonomi och logistik uppstår de tidsdiskreta signalerna istället genom att vissa parametrar, exempelvis priser, inte ändras annat efter bestämda intervall, eller att mätningen av vissa storheter görs över bestämda intervall. Många av de exempel på system som har presenterats hittills, inklusive de på sidan 10, är tidskontinuerliga: alla in- och utsignaler är tidskontinuerliga. Eller i alla fall, de verkar vara tidskontinuerliga just för att in- och utsignaler är tidskontinuerliga. Moderna tekniska system är ofta uppbyggda internt av tidsdiskreta delsystem. De tidskontinuerliga insignalerna blir omvandlade till tidsdiskreta signaler, som i sin tur blir insignaler till olika interna tidsdiskreta delsystem. På motsvarande sätt blir de tidsdiskreta utsignaler som genereras av olika interna tidsdiskreta delsystem omvandlade till tidskontinuerliga utsignaler från systemet. Ett tidskontinuerligt system uppbyggt på detta sätt illustreras i figur 1.4. Orsaken till att system med tidskontinuerliga in- och utsignaler internt konstrueras med tidsdiskreta system är just att dessa kan implementeras med digital elektronik, vilket har många fördelar. Den är billig, tar liten plats, förbrukar lite energi och kan i vissa fall till och med modifieras för att passa nya tekniska standarder eller ge nya funktioner. I stort sett all konsumentelektronik, exempelvis mobiltelefoner, radio, TV och för ljud är uppbyggd internt av tidsdiskreta system, trots att in- och utsignaler kan vara tidskontinuerliga. Finns det då system som är genuint tidsdiskreta, som inte enbart försöker se ut som ett tidskontinuerligt system? I stort sett all digital elektronik är tidsdiskret, och här är signalerna ofta av den binära typ som beskriv i avsnitt 1.3.2. Exempel på sådana system är datorer av alla de slag, TV-spel, eller något så enkelt som fjärrkontrollen till din TV. Vi kommer emellertid inte att behandla denna typ av system här, digitala system är ett mycket specialiserat område med helt egen teori och praktik som mycket sällan använder de modeller av signaler och system som presenteras här. Däremot kan vi notera att vissa av de system som presenteras i denna framställning med fördel kan implementeras med hjälp av digitala system, dock utan att gå in på i detalj hur detta görs. På liknande sätt kan även ett varulager ses som ett tidsdiskret system. Systemets insignal skulle kunna vara skillnaden mellan de enheter som inkommit (eller tillverkats) under en viss tidsperiod T och de som skickats 17 Figur 1.5: Vänster: Ett varulager kan beskrivas som ett tidsdiskret system vid regelbundna tidpunkter t = k·T lagrar ett saldo i ett “minne” (D) som består av föregående saldo uppräknat med skillnaden mellan tillverkade och sålda enheter under perioden. Insignalen x[t] är antalet tillverkade minus sålda enhet och utsignalen y[t] är lagersaldot. Höger: På liknande sätt kan ett bankkonto beskrivas som ett tidsdiskret system, men här räknas saldot även upp med räntan r för den aktuella perioden. vidare (eller sålts) under samma period. Utsignalen är totala antalet enheter i lagret, saldot. Här är T ofta i storleksordningen av dygn, veckor eller månad. Andra exempel på tidsdiskreta system finns inom ekonomi och logistik. Ett varulager kan ses som ett tidsdiskret system, där insignalen exempelvis är skillnaden mellan de enheter som inkommit (eller tillverkats) under en viss tidsperiod T och de som skickats vidare (eller sålts) under samma period. Här är T ofta i storleksordningen av dygn, veckor eller månad. Ett tidsdiskret system som representerar ett varulager illustreras i figur 1.5, vänster. På liknande sätt kan ett bankkonto kan ses som ett tidsdiskret system, där insignalen exempelvis är summan av insättningar och uttag som gjorts under en dag, och utsignalen är dagens saldo. I denna modell kan vi sätta T = ett dygn, vilket fungerar i det enklaste fallet. I princip skulle samma modell även kunna användas om T = 1 µs om vi dessutom låter insignalen vara = 0 vid alla tidpunkter när inga kontoförändringar görs. I detta fall antar vi att två insättningar eller uttag inte kan ske samtidigt, utan måste skilja sig med minst T tidsenheter. Ett tidsdiskret system som representerar ett bankkonto illustreras i figur 1.5, höger. I detta system räknas saldot upp varje tidsperiod med räntan r. Som nämnts ovan finns det vid sidan av tidskontinuerliga och tidsdiskreta system även hybrider, som har en blandning av tidskontinuerliga och tidsdiskreta in- och utsignaler. Här är några exempel på hybrider mellan tidskontinuerliga och tidsdiskreta system som förekommer i tekniska sammanhang. Ytterligare exempel på system som är hybrider mellan tidsdiskreta och tidskontinuerliga presenteras längre fram. Sampling (ADC) En samplare (eller samplingsenhet) omvandlar en tidskontinuerlig signal s(t) till en tidsdiskret signal s[k], enligt (1.2). Ett annat namn på denna på denna enhet är en analog-till-digital-omvandlare8 eller ADC. En samplare har en intern klocka som kan bestämma tidpunkterna t = k T , för ett bestämt värde på T . I enklaste fallet kan denna typ av system beskrivas som att den mäter insignalen s(t) vid dessa tidpunkter. Efter varje mätning matar den ut mätvärdet (samplet) som den den tidskontinuerliga signalen s[k]. Denna typ av system är inledningsvis tidskontinuerligt, men avslutas som ett tidsdiskret system. Rekonstruktion (DAC) En digital-till-analog-omvandlare9 eller DAC utför den motsatta omvandlingen, från en tidsdiskret signal till en tidsdiskret i enlighet med (1.2). Själva processen att omvandla den tidsdiskreta signalen till en tidskontinuerlig version kallas ibland för rekonstruktion. Ofta kan denna typ av system ansätta att utsignalen s(t) har värdet s[k] vid tidpunkterna t = k · T , men den måste även kunna bestämma rimliga värden för signalen s(t) även för de 8 Engelska: 9 Engelska: analog-to-digital-converter eller ADC digital-to-analog-converter eller DAC 18 mellanliggande tidpunkterna. Det görs ofta genom någon form av interpolation, som bestämmer de mellanliggande värdena för s genom att väga in de sampel som ligger närmast i tiden. 1.4 Enkla system Den beskrivning av system som presenterats ovan är generell och innefattar flera typer av system som kan förekomma i tekniska, ekonomiska och logistiska sammanhang. En del av dessa, som en bil eller en mobiltelefon, kan vara mycket komplicerade eftersom de kan delas upp i många nivåer av system och delsystem, och varje sådant system innehåller en mångfald olika delsystem. Eftersom denna framställning handlar om den grundläggande nivån av system kommer vi att fokusera på mycket enkla typer av system: det som här kallas enkla system. Enkla system är de som endast har en utsignal och en, eller möjligen ett par, insignaler. Ett enkelt system behöver inte vara enkelt till sin funktion, det går att beskriva mycket komplicerade sätt att generera en utsignal från bara en insignal. 1.5 Härnäst Det här kapitlet har presenterat ett stort antal exempel på signaler och system samt även gjort ett formella definitioner av vad dessa två begrepp innebär. Vi har också ett att signaler, men även system, kan delas in i två kategorier: tidskontinuerliga respektive tidsdiskreta. Den matematiska modellen som vi använder för våra signaler är som funktioner av tiden, alternativt av en heltalsvariabel som ibland kan associeras med tiden men ibland bara räknar upp värdena i en sekvens. Däremot har vi inte diskuterat någon matematisk modell för de system som vi undersöker. Vi kommer att fokusera på enkla system och i kapitel 2 presenteras ett par mycket vanliga systemmodeller tillsammans med exempel på när de är relevanta. De är emellertid inte tillräckliga för alla de system vi ska undersöka och fler matematiska modeller av system kommer att introduceras längre fram, när lite mer teori är på plats. En mycket specifik systemmodell, den för linjära och tidsinvarianta system, presenteras sedan i kapitel 3. Trots sin enkelhet är den mycket generell och samtidigt tillämpbar för många av typer av system som förekommer i den lägsta nivån av stora och komplexa system. Att förstå hur dessa enkla system fungerar, liksom de matematiska modeller som används för dom, är därför viktigt för att kunna konstruera mera komplexa system. 19 20 Kapitel 2 Modeller för signaler och system Vi inleder med en påminnelse om notationen. Formellt betecknar x(t) värdet av funktionen x när dess variabel har värdet t, d.v.s. x(t) betecknar ett funktionsvärde (t.ex. ett reellt tal). Informellt kan x(t) även användas för att ange funktionen x och samtidigt deklarera att den specifikt är en funktion av variabeln t, tiden. Det är den senare, informella, användningen som vi nyttjar här när vi pratar om ett system som har insignalen x(t) och utsignalen y(t). De är två funktioner, som egentligen skulle kunna betecknas som x respektive y, men vi vill explicit ange att de beror av en tidsvariabel t. Motsvarande diskussion gäller även för tidsdiskreta signaler: exempelvis x[k] betecknar en funktion av den diskreta tidsvariabeln k. 2.1 Signalmodeller Vi tidigare sagt att signaler utgörs av funktioner av tiden. I detta avsnitt ska vi göra en lite mer specifik tolkning av vad det betyder och definiera en rimlig begränsning i hur vi kan välja våra signaler. 2.1.1 Signalrum Begreppet vektorrum är generellt, det innefattar vektorer av typen Rn men kan användas för att beskriva alla typer av matematiska objekt som uppfyller de två egenskaperna som nämns i beskrivningen av vektorrum, avsnitt A.1.1. De två egenskaperna är vektoraddition och multiplikation mellan vektor och skalär, så länge de operationerna är väldefinierade och uppfyller övriga “normala” krav som kan ställas på sådana operationer utgör en godtycklig mängd med vektorer respektive skalärer ett vektorrum. Ett exempel på ett mer generellt vektorrum är att betrakta funktioner som vektorer och då tillsammans med de reella talen som skalärer. Att det fungerar beror på att det är helt entydigt vad vi menar med den funktion som är summan av två funktioner, liksom den funktion som blir resultatet av att multiplicera en funktion med en skalär (ett reellt tal). Det betyder inte att funktioner och element i Rn är samma sak, det betyder snarare att de uppträder på ett liknande sätt vad gäller de två grundläggande operationerna: addition av vektorer och multiplikation mellan vektor och skalär. På samma sätt som R2 och R3 är två distinkta vektorrum kan vi därför definiera en tredje typ av vektorrum det som uppstår när vi betraktar funktioner som vektorer. Eftersom de funktioner vi är intresserade av utgörs av signaler kommer vi i fortsättningen att kalla denna typ av vektorrum för ett signalrum. I princip skulle vi kunna tänka oss ett signalrum bestående av mängden av alla funktioner som avbildar reella tal till reella tal (vektorerna) tillsammans med mängden av reella tal (skalärerna). Detta signalrum är emellertid lite för stort eftersom det innehåller en del funktioner som inte går att använda praktiskt, t.ex. inte går att derivera eller integrera. Därför brukar de funktioner som får utgöra grunden för vårt signalrum begränsas på olika sätt så att de enbart innehåller funktioner som som ger väldefinierade resultat när de utsätts för, exempelvis, derivering eller integrering. Vi går inte djupare in på exakt vilket eller vilka signalrum som skulle kunna komma ifråga men utgår från att det finns ett sådan signalrum, innehållandes alla de “vanliga” funktioner som du känner till från kurser i matematisk analys. I fortsättningen antar vi att de signaler som förekommer är element i ett signalrum som betecknas med S. Eftersom signaler uppträder som vektorer, element i signalrummet S, kan vi definiera vad som menas med en linjärkombination av signaler. Om vi har n signaler s1 (t), . . . , sn (t) och n skalärer α1 , . . . , αn ∈ R så kallar vi 21 signalen s(t), som erhålls med uttrycket s(t) = α1 s1 (t) + α2 s2 (t) + . . . + αn sn (t) = n X αk sn (t), (2.1) k=1 för en linjärkombination av de nämnda signalerna och skalärerna. På motsvarande sätt kan vi definiera vad som menas med en linjär transformation på ett signalrum: en avbildning H från signalrummet till sig själv som uppfyller H{α1 s1 (t) + α2 s2 (t)} = α1 H{s1 (t)} + α2 {H s2 (t)} (2.2) för alla val av signaler s1 , s2 ∈ S och alla val av skalärer α1 , α2 ∈ R. 2.1.2 Begränsade signaler Verkliga signaler, speciellt insignaler till ett system, inte vara beskaffade hur som helst. Exempelvis kan de i praktiken (normalt) inte bli obegränsat stora, eftersom det inte går att konstruera system som kan hantera sådana signaler utan att de går sönder. Därför har vi anledning att definiera vad som menas med en begränsad signal. För en begränsad signal s(t) finns ett tal M < ∞ sådant att |s(t)| ≤ M, för alla t ∈ R. (2.3) En begränsad signal har alltså ett maxvärde som det aldrig överstiger. I det motsatta fallet har vi att göra med en obegränsad signal. Notera att M i ovanstående definition alltid är ≥ 0, men inte nödvändigtvis måste vara det minsta reella tal som går att hitta och som uppfyller (2.3). Det räcker med att vi hittat något M som uppfyller (2.3) för att signalen ska vara begränsad. Motsvarande definition gäller även för tidsdiskreta signaler. Exempel 1 Signalen s(t) = cos(t) är en begränsad signal, eftersom den uppfyller (2.3), exempelvis för M = 5. Exempel 2 stora t. Signalen s[t] = et är en obegränsad signal, eftersom den kan bli hur stor som helst för tillräckligt Sammanfattningsvis är en signal i praktiken nästan alltid begränsad. Om den kunde bli obegränsat stor skulle något sannolikt gå sönder, explodera, eller någon skulle skadas. Däremot är det inte säkert att ett system alltid genererar begränsade signaler, även om dess insignaler är begränsade. Vi ska återkomma till den frågan i avsnitt 3.9. 2.2 Systemmodeller Givet att de signaler som förkommer i denna presentation kan identifieras med funktioner av tiden, hur är det med de system som genererar signaler och som påverkas av signaler? Hur kan vi matematiskt beskriva att en funktion y(t) på något sätt beror av insignalen x(t), och att den gör det på ett mer intrikat sätt än att värdet av y vid tiden t beror enbart av x vid tiden t? De matematiska beskrivningar av system som är svaret på denna fråga kallas systemmodeller. Det finns flera systemmodeller att välja mellan och vi börjar med den enklaste. 1 En systemmodell är en matematisk beskrivning av hur ett enkelt system avbildar sin insignal (eller insignaler) till utsignalen. 22 2.2.1 Systemoperator För ett enkelt system, med en insignal x(t) och en utsignal y(t) inför vi nu en mer formell beskrivning av sambandet mellan insignalen och utsignalen genom att skriva y(t) = H{x(t)}. (2.4) Givet diskussionen ovan ska detta samband uttydas som: systemets utsignal y, som är en funktion av t, genereras av ett system som tar en insignal x, som även den är en funktion av t. Sambandet i (2.4) ska emellertid inte uttydas som att funktionsvärdet av utsignalen y vid tiden t enbart beror av funktionsvärdet av insigalen x vid samma tid. Det finns system som har ett sådant samband mellan in- och utsignal, men i det allmänna fallet gäller det inte. Kom ihåg definition 1.2 på sidan 9 som nämner att insignaler kan påverka ett system över tiden. Det betyder, i princip, att funktionsvärdet av y vid tiden t kan bero av värdet som x har vid alla tidpunkter, och det är så (2.4) ska uttolkas. Det beskriver hur en hel funktion, x(t), avbildas till en annan funktion, y(t). Ovanstående diskussion kan alltså sammanfattas med att H avbildar en funktion till en funktion, vilket förmodligen skiljer sig från andra avbildningar som du har stött på tidigare, som till exempel avbildar reella tal till reella tal. För att betona denna skillnad kommer vi att kalla denna typ av avbildning för en operator, och i detta specifika sammanhang kommer H att kallas systemoperator, dvs. den operator som beskriver hur utsignalen beror av insignalen för den enkla typ av system som vi tittar på här. Vi kan till och med säga att H är en en slags matematisk representation av själva systemet. Systemet genererar en utsignal, y(t), men exakt vilken utsignal som genereras beror av vilken insignal, x(t), som matas in i systemet och vilken operator systemet har. Det är precis detta samband mellan in- och utsignal som formaliserats i (2.4). I det fall att systemet har flera insignaler, exempelvis två insignaler x1 (t) och x2 (t), kan vi skriva y(t) = H{x1 (t), x2 (t)}. (2.5) Ovanstående notation definierar H som ett tidskontinuerligt system, med tidskontinuerliga in- och utsignaler, men fungerar även för ett tidsdiskret system med tidsdiskret insignal x[k] och utsignal y[k]: y[k] = H{x[k]}, (2.6) eller för en ADC (beskrivs i avsnitt 1.3.3) med tidskontinuerlig insignal x(t) och tidsdiskret utsignal x[k]: y[k] = H{x(t)}. 2.2.2 (2.7) Exempel på systemoperatorer För att bättre förstå hur detta med systemoperator fungerar ska vi titta närmare på ett antal vanliga typer av enkla system. De flesta exemplen illustreras enbart som tidskontinuerliga system, som enkelt kan generaliseras till motsvarande tidsdiskreta system. Adderare En adderare har två eller flera insignaler och genererar en utsignal som summan av insignalerna: y(t) = H{x1 (t), x2 (t), . . . , xn (t)} = x1 (t) + x2 (t) + . . . + xn (t). (2.8) Addition av signaler kan vara en önskad funktion som vi vill kunna åstadkomma i ett system och därför använder vi en adderare som ett delsystem i ett större system. Det kan emellertid lika gärna handla om att en analys av ett större system ger vid handen att signaler på ett naturligt sätt summeras vare sig vi vill det eller inte. Exempelvis, en mikrofon tar upp summan av de ljudvågor som träffar den, även om de kommer från olika ljudkällor. Samma sak gäller för en antenn som registrerar radiovågor. Den elektromagnetiska våg som antennen tar upp är summan av alla vågor som når fram till antennen, även om de kommer från flera olika sändare. Registrering av ljud-, ljus- eller radiovågor är exempel på ett generellt fenomen som finns i många tekniska system: superposition eller överlagring. I en specifik punkt i rummet kommer vågorna att överlagras till den kombinerade signal som kan påverka ett system. Exempelvis, de ljudvågor som sätter trumhinnan i rörelse kan komma från ett flertal olika ljudkällor i örats omgivning. Den effektiva ljudvåg som påverkar trumhinnan är summan (eller överlagringen) av dessa ljudvågor som de uppfattas i en punkt i hörselgången. 23 Subtraherare och multiplikator På liknande sätt kan vi definiera ett system som bildar skillnaden mellan två insignaler, en subtraherare: y(t) = H{x1 (t), x2 (t)} = x1 (t) − x2 (t), (2.9) y(t) = H{x1 (t), x2 (t)} = x1 (t) · x2 (t). (2.10) eller produkten, en multiplikator: I allmänhet och vid behov kan vi givetvis utöka vår repertoar av hur två eller flera funktioner kan kombinera med hjälp av olika matematiska uttryck, men vi stannar vid dessa exempel. Fördröjning En fördröjning är en typ av system som kan beskrivas som y(t) = H{x(t)} = x(t − ∆t), (2.11) där ∆t är en konstant. En fördröjning är ett första exempel på ett system där utsignalens värde vid tiden t inte beror av insignalens värde vid samma tidpunkt. En fördröjning måste ha någon typ av minne, ett inre tillstånd, som minns värdet av insignalen en tid bakåt, motsvarande fördröjningen ∆t. Notera att det som operatorn H egentligen utför när den appliceras på insignalen är att byta ut tidsvariabeln t i insignalen mot t − ∆t i utsignalen. En fördröjning kan vara ett önskad delsystem i ett större system, som vi kommer att se behövs en eller flera sådana i en prediktor. En fördröjning kan även vara en naturlig konsekvens av hur ett system fungerar. Ett exempel är en radiovåg som skickas från en sändare till en mottagare. Det tar då tiden ∆t = L · c innan vågen når fram till mottagaren, där L är avståndet mellan sändaren och mottagaren och c är radiovågens utbredningshastighet. I många fall blir denna fördröjning så liten att den kan försummas, men om kommunikationen sker över stora avstånd och i båda riktningarna kan det vara nödvändigt att explicit ta med fördröjningen i beskrivningen av systemet. Kan fördröjningen ∆t anta vilka värden som helst? I teorin ja, men i praktiken nej. Om ∆t tillåts vara negativt skulle det innebära att utsignalens värde vid tiden t kommer från “framtida” värden i insignalen och det skulle inte gå att konstruera ett sådant system. Därför kan vi tryggt anta att ∆t ≥ 0. I det tidsdiskreta fallet skriver vi systemoperatorn för en fördröjning som y[k] = H{x[k]} = x[k − ∆k], (2.12) där ∆k ∈ Z. Det går alltså enbart att fördröja en tidsdiskret signal med heltal relativt den diskreta tidsvariabeln k vilket, i det fall att s[k] är en samplad version av en tidskontinuerlig signal s(t), betyder att fördröjningen relativt tiden t är heltalsmultiplar av T . Även i det tidsdiskreta fallet måste vi anta att ∆k ≥ 0. Förstärkare En förstärkare har en insignal x(t) och genererar en utsignal y(t) genom att multiplicera insignalen med en konstant faktor, som vi kan beteckna med a: y(t) = H{x(t)} = a · x(t). (2.13) Notera att i detta sammanhang, för en förstärkare, antas a vara en konstant. Skulle a vara tidsvariabel så finns antingen möjligheten att detta beror på yttre påverkan på systemet, vilket motsvarar fallet med den typ av system som beskrivits ovan som en multiplikator. Vi kommer att kalla denna typ av system för en tidsvariabel förstärkare. Ytterligare en karakterisering av en förstärkare är att vi normalt antar att in- och utsignal är av samma typ, exempelvis spänning, tryck, eller moment. Förstärkaren ändrar enbart signalens styrka, inte dess typ. Detta gäller emellertid inte för nästa klass av system, transducer. En kommentar I vardagligt språkbruk brukar vi med förstärkning mena att det som blir förstärkt, i det här fallet insignalen x(t), också blir starkare, vilket antyder att a > 1. Motsvarande system där, exempelvis, a = 0, 5 skulle kanske istället kunna kallas för en dämpare eftersom det dämpar signalens styrka med en viss faktor. Både förstärkare och dämpare har emellertid samma matematiska modell av systemoperatorn, (2.13), och skiljer sig enbart åt i värdet på a. I tekniska sammanhang kallas därför systemet i (2.13) för en förstärkare oavsett värdet på a. I själv verket skulle a kunna vara negativt eller till och med ett komplext tal, (2.13) beskriver fortfarande vad som tekniskt sett är en förstärkare! 24 Transducer Ordet transducer har latinska rötter som betyder ungefär “överförare” eller “omformare” och dess funktion är ofta att omforma en fysikalisk storhet till en annan. En gammaldags kvicksilvertermometer är ett exempel på en transducer. Dess egentliga och önskade funktion är att omforma temperatur till kvicksilverpelarens längd. Anledningen är att vi har lättare att observera denna längd, exempelvis genom att mäta den med en linjal, än vi har att direkt observera temperatur med våra egna sinnen. Vår kunskap om hur kvicksilver (och andra vätskor) reagerar vid olika temperaturer säger oss att pelarens längdförändring är linjärt proportionell mot temperaturförändringen. Termometern överför en temperaturförändring till en längdförändring. Sambandets linearitet är behändigt men i sig inte nödvändigt. Det betyder bara att de olika temperaturangivelserna ligger jämnt utspridda längs skalan, dvs. en temperaturändring på en grad motsvarar samma förändring av pelarens längd oavsett vilken den ursprungliga temperaturen är, men som termometer och transducer skulle det hela fungera bra även om skalan var olinjär. Den generella idén med en transducer kan sägas vara att omvandla en fysikalisk storhet till en annan så att det finns ett enkelt samband mellan de två och ofta, men inte nödvändigtvis, handlar det om ett linjärt samband. Transducerns insignal, som vi kan kalla för x(t), är den fysikaliska storhet som vi vill omvandla från, och dess utsignal, kallad y(t), är den storhet som vi omvandlar till. Båda storheterna betraktar vi som funktioner av tiden. Det vi vill åstadkomma är alltså att det finns ett enkelt samband mellan x(t) och y(t), exempelvis att det är linjärt: y(t) = H{x(t)} = konstant · x(t). (2.14) Notera att den formella beskrivningen av en transducer är samma som för en förstärkare, (2.13). Skillnaden är att en förstärkare ändrar styrkan av en signal, in- och utsignal är av samma typ, medan en transducer överför en signal av en typ till en signal av en annan typ. Konstanten som uppträder i (2.14) är alltså egentligen inte en förstärkningsfaktor utan en proportionalitetsfaktor som anger hur förändringar i insignalen motsvaras av förändringar i utsignalen. I exemplet med termometern kan konstanten ha ett värde som mäts i millimeter per grader Celsius. I stort sett varje typ av sensor kan sägas vara en transducer. Den mäter någon fysikalisk storhet x(t) och omvandlar mätvärdet till en signal y(t), exempelvis en spänning, som sedan kan påverka någon eller några enheter i ett större system. Det finns emellertid även transducrar som inte direkt kan karakteriseras som sensorer. Ett exempel är en högtalare, som omformar en insignal x(t) i form av en elektrisk spänning (volt) till en ljudsignal y(t) i form av lufttryck (pascal eller newton per kvadratmeter). Här är sambandet mellan in- och utsignal egentligen inte att de är proportionella mot varandra, snarare är det att deras tidsderivator är proportionella: d d y(t) = konstant · x(t). dt dt (2.15) Det beror på att alla tryckförändringar som åstadkoms av högtalarens membran genererar en våg som fortplantar sig bort från högtalaren samtidigt som luften framför membranet kommer att vilja återgå till trycket hos den omgivande luften. Derivator En derivator eller deriverare tar en insignal x(t) och genererar en utsignal som är tidsderivatan av signalen: y(t) = H{x(t)} = d x(t). dt (2.16) En derivator är ännu ett exempel på ett system där utsignalens värde vid tiden t, y(t), inte beror enbart av insignalens värde vid samma tidpunkt, x(t). I detta fallet är utsignalens värde, y(t), snarare beroende hur insignalen förändrar sitt värde vid tiden t. En deriverare kan ibland vara ett önskat delsystem i ett större system, för att generera tidsderivatan av en signal. En derivator kan även uppstå naturligt, genom att fysikens lagar ibland innehåller tidsderiveringar. Som ett exempel kan vi betrakta ett system bestående av två elektriska ledare som befinner sig så nära varandra att de kan påverkar varandra genom magnetisk induktion. Vi kan mäta strömmen genom båda ledarna och antar att den ena på något sätt kan kontrolleras så att den varierar enligt funktionen i1 (t). Denna ström är insignalen till detta system. Den andra strömmen i2 (t) antar vi enbart beror av det magnetfält som induceras av strömmen i1 (t), och vi får då sambandet d (2.17) i2 (t) = H{i1 (t)} = konstant · i1 (t). dt 25 Konstanten i detta samband beror av hur de två ledarna är placerade i förhållande till varandra, och av mediet som fyller utrymmet mellan dom.1 Derivering av en signal s(t) definieras som s(t + h) − s(t) d s(t) = lim . h→0 dt h (2.18) Denna typ av gränsvärdesövergång är inte möjlig för en tidsdiskret signal s[k], där ju variabeln k är ett heltal, och därför kan vi inte derivera en tidsdiskret signal. Däremot är det möjligt att på olika sätt definiera operationer på s[k] som liknar derivering. Ett exempel på en sådant system är y[k] = H{x[k]} = x[k] − x[k − 1]. (2.19) Varför denna systemoperator liknar en derivering återkommer vi till. Integrator En integrator eller integrerare integrerar insignalen över tiden. Integrationsintervallet kan vara definierat från −∞ till tidpunkten t, som är variabeln för systemets utsignal: Z t y(t) = H{x(t)} = x(τ) dτ. (2.20) −∞ Notera att eftersom variabeln t förekommer som en av integrationsgränserna måste vi kalla funktionsvariabeln i integranden, dvs. insignalen x, för något annat och här används τ. Även för denna typ av system kommer utsignalens värde vid tiden t att inte enbart bero av insignalens värde vid samma tidpunkt. Den nedre integrationsgränsen behöver inte vara den något obestämda tidpunkten −∞, men är alltid en fix tidpunkt t0 . En annan formulering av en integrator är därför Z t y(t) = H{x(t)} = x(τ) dτ. (2.21) t0 En integrator kan ibland vara en önskat delsystem i ett större system, för att generera tidsintegralen av en signal. En integrator kan även uppstå naturligt, genom att fysikens lagar ibland innehåller tidsderiveringar. Som ett exempel kan vi betrakta en kropp med massan m som kan röra sig fritt i 3 dimensioner. Kroppen påverkas av en kraft, F(t), en 3D-vektor som är en funktion av tiden. Kraften kan komma från ett gravitationsfält eller ett elektriskt fält (om kroppen har elektrisk laddning). Enligt Newtons andra rörelselag finns det ett samband mellan kraften som kroppen utsätts för och dess acceleration a(t): F(t) = m · a(t). (2.22) Även a(t) är en 3D-vektor, som anger accelerationens riktning och styrka. Accelerationen är tidsderivatan av kroppens hastighet, v(t): d F(t) = m · v(t). (2.23) dt Vi kan se kroppen som ett system som påverkas av kraften, dvs. dess insignal är F(t), och resultatet är att den får en viss hastighet, v(t), som vi kan välja att ansätta som dess utsignal. Sambandet mellan in- och utsignal beskrivs då av differentialekvationen i (2.23), vilken i sig inte ger ett direkt uttryck för hur utsignalen v(t) beror av insignalen F(t). Det kan emellertid erhållas genom att uttrycket integreras: Z t Z t d F(τ) dτ = m · v(τ) dτ = m · v(t) − v(t0 ) , (2.24) t0 t0 dτ vilket leder till v(t) = H{F(t)} = v(t0 ) + 1 m Z t F(τ) dτ. (2.25) t0 1 I detta exempel har sambandet mellan de två strömmarna förenklats så att det enbart tar hänsyn till att strömmen i den första ledaren inducerar en ström i den andra ledare. I verkligheten kommer även den andra, inducerade, strömmen att kunna inducera en ström i den första ledaren, som i sin tur inducerar en ström i andra ledaren, osv. Här antar vi helt enkelt att dessa sekundärt inducerade strömmar kan försummas. 26 H3 x(t) H1 H2 y(t) Figur 2.1: Ett system H3 , som består av en kaskadkoppling av H1 och H2 : H3 = H2 H1 Det betyder alltså att så länge som hastigheten vid tidpunkten t0 är känd så kan hastigheten vid en godtycklig tidpunkt beräknas med hjälp av en integrator. Om vi slutligen antar att tidpunkten t0 är vald så att v(t0 ) = 0, så får vi ett system som kan beskrivas enligt Z 1 t v(t) = H{F(t)} = F(τ) dτ. (2.26) m t0 En kommentar I ovanstående exempel valde vi att ansätta kroppens hastighet som dess utsignal men det är ett godtyckligt val. Vi skulle lika gärna kunna välja att sätta kroppens acceleration som utsignal och i så fall konstatera att kroppen agerar som en transducer: den översätter kraft till acceleration med en linjärt samband, (2.23). Alternativt skulle vi kunna sätta kroppens position som dess utsignal. För att erhålla ett samband mellan position och kraft skulle vi då behöva integrera (2.26) en gång till. En tidsdiskret signal kan hanteras på liknande sätt om vi ersätter integralerna med summor: y[t] = H{x[k]} = k X x[l], (2.27) x[l], (2.28) l=−∞ eller y[t] = H{x[k]} = k X l=k0 där k0 är ett fixt heltal. I det tidsdiskreta fallet kallas detta system ibland för summator eller summerare, men det går lika ofta under beteckningen integrator. Ytterligare en kommentar Notera att ett tidsdiskret signal y[k] som bildats genom integration, exempelvis via (2.28), ger en differens med en fördröjd version av sig själv enligt: y[k] − y[k − 1] = k X x[l] − l=k0 k−1 X x[l] = x[k]. (2.29) l=k0 Vidare är denna differens just den tidsdiskreta version av derivering som föreslogs i (2.19). Motivet till detta förslag kan vi se i (2.29): den upphäver integrationsoperationen och vi kan alltså se diskret integration och diskret derivering enligt (2.19) som varandras inverser, på liknande sätt som gäller för tidskontinuerliga signaler. 2.2.3 Kaskadkoppling Låt H1 och H2 vara två enkla system, som båda har varsina in- och en utsignaler. Ett vanligt sätt att konstruera ett mer komplext system är att se dessa två system som delsystem i ett större system och koppa ihop dom. Exempelvis kan vi låta utsignalen från H1 vara insignalen till H2 . Det sammankopplade systemet kan vi beteckna med H3 , och om det får en insignal x(t) kommer det att generera en utsignal y(t): y(t) = H2 {H1 {x(t)}}. 27 (2.30) H1 ⇔ H2 H2 H1 Figur 2.2: Två system H1 och H2 är kommuterande om det inte spelar roll i vilken ordning de kaskadkopplas. Notera att (2.30) innebär att först applicerar vi systemoperator H1 på insignalen x(t), och sedan operator H2 på resultatet av detta. Denna typ av enkel systemkonstruktion kallas seriekoppling eller kaskadkoppling av de två systemen H1 och H2 . Det kaskadkopplade systemet som beskrivs i (2.30) brukar betecknas med H2 H1 . Notera ordning på hur operatorerna står här: H1 är den operator som appliceras först och den står längst till höger. Kaskadkoppling illustreras i figur 2.1. I det generella fallet kan vi kaskadkoppla tre eller flera enkla system på motsvarande sätt. En fråga som kan dyka upp i detta sammanhang är: spelar det någon roll i vilken ordning som vi kaskadkopplar två (eller flera) system? För två godtyckliga enkla system, är H2 H1 samma sak som H1 H2 ? Svaret är nej. Ett exempel är de två systemen H1 {x(t)} = a · x(t), H2 {x(t)} = x(t) + 1. (2.31) I detta fallet får vi H2 H1 {x(t)} = a · x(t) + 1, H1 H2 {x(t)} = a (x(t) + 1) = a · x(t) + a, (2.32) vilket visar att ordningen spelar roll, i alla fall om a , 1. Det finns även gott om fall när inte spelar roll i vilken ordning som systemen kopplas ihop. Exempelvis om det ena är en förstärkare och det andra en fördröjning. Vi kommer att återkomma med fler exempel längre fram, när denna fråga blir aktuell igen. Om två system kan kaskadkopplas i godtycklig ordning har vi att göra med kommuterande system. I motsatta fallet är de icke-kommuterande sysem. 2 I allmänhet spelar det roll i vilken ordning två system kaskadkopplas. Men för kommuterande system spelar det ingen roll. Innan vi går vidare Systemoperatorn kan ses som ett formellt sätt att deklarera att ett enkelt systemet har ett visst antal insignaler, och hur de betecknas, liksom hur dess utsignal betecknas. Om vi har flera olika system kommer varje typ av system att ha sin egen systemoperator. Exempelvis om vi har två olika system med respektive operatorer: y1 (t) = H1 {x1 (t)}, y2 (t) = H2 {x2 (t), x3 (t)}, (2.33) så har vi deklarerat att det första systemet har en systemoperator som tar en insignal, kallad x1 (t), och genererar en utsignal, kallad y1 (t). Det andra systemet tar två insignaler, x2 (t) och x3 (t), och genererar en utsignal y2 (t). Det ligger då nära till hands att vi kan associera ett systems operator med systemet självt, och referera till de två nyss nämnda systemen som H1 respektive H2 . I matematisk mening kan vi se det som att en systemoperator avbildar, eller verkar på, den eller de insignaler som systemet har. Det sker på liknande sätt som en vanligt funktion avbildar reella tal till reella tal, men en operator avbildar istället en eller flera funktioner (insignalerna) till en funktion (utsignalen). I ovanstående exempel, (2.33), finns ingen explicit beskrivning har hur utsignalerna genereras av respektive system. För vissa system går det att ange ett mer eller mindre enkelt uttryck för hur utsignalen beror av insignalen eller insignalerna, exempelvis (2.8) - (2.13), (2.14), (2.16) - (2.21). Detta gäller emellertid inte för alla typer av system som vi kommer att undersöka här. I dessa fall finns det ofta alternativa systemmodeller som ger en användbar beskrivning av systemets funktion, trots att de inte erbjuder ett explicit samband mellan in- och utsignal. I nästa avsnitt ska vi titta på en sådan modell. 28 Figur 2.3: Ett vattentorn består av ett vattenmagasin, med maximal volym ymax , innehållandes y(t) kubikmeter vatten, en huvudledning som förser vattenledningsnätet med x(t) kubikmeter vatten per sekund, en pump som kan fylla på magasinet från en sjö och en regulator som styr pumpen. Pumpen pumpar u(t) kubikmeter vatten per sekund in i magasinet och styrs av en elektrisk effekt p(t) från regulatorn. R Figur 2.4: Ett systemdiagramR som visar hur vattentornets delsystem och signaler är sammankopplade. P är pumpen, R regulatorn och symbolen är en integrator. 2.2.4 Differentialekvationer En omfattande klass av system beskriver sambandet mellan in- och utsignal i form av en differentialekvation. I enklaste fallet kan det handla om att utsignalen y(t) är tidsderivatan av insignalen och i det fallet har vi den typ av system som beskrivs av (2.16), som också ger ett explicit samband som beskriver hur utsignalen beror av insignalen. Alternativt är det tidsderivatan av utsignalen som är proportionell mot insignalen, exempelvis (2.23), och genom att integrera ett sådant uttryck kan vi få ett direkt samband som anger hur utsignalen beror av insignalen, som i (2.25). Det finns emellertid även differentialekvationer som är mer komplicerade att analysera vad gäller sambandet mellan in- och utsignal. Låt oss titta på ett exempel. Ett exempel: vattentorn Ett vattentorn innehållet ett högt beläget vattenmagasin som kan upprätthålla trycket för det vatten som levereras, exempelvis, till ett kommunalt vattenledningsnät. Vattentornet har en pump som pumpar vatten från en intilliggande sjö in i magasinet och en huvudledning som levererar vatten ut i ledningsnätet. Vattentornet behöver även en regulator som styr pumpen så att den pumpar vatten i magasinet för att kompensera för det vatten som levereras 29 till nätet. Se figur 2.3. Vi kan se vattentornet som ett system med ett antal signaler. Vi har x(t) som anger hur mycket vatten som flödar ut ur huvudledningen till vattennätet per tidsenhet, dvs. den totala efterfrågan på vatten per tidenhet av nätets kunder. Signalen x(t) kan mätas med en flödesmätare, exempelvis i kubikmeter per sekund. Vidare y(t) som anger mängden vatten som finns i magasinet, vilken enkelt kan erhållas i kubikmeter genom att mäta vattenytans höjd förutsatt att magasinets väggar kan antas vara vertikala. Pumpen producerar ett vattenflöde u(t) (kubikmeter per sekund) som fyller på magasinet och den styrs av en elektrisk effekt p(t) (Watt) som genereras av regulatorn. Här antar vi att u(t) = kpump · p(t), dvs. pumpen agerar som en transducer som översätter elektrisk effekt till vattenflöde med ett linjärt samband. För att förstå hur detta system fungerar kan vi även rita ett systemdiagram som visar hur de olika delsystemen och signalerna hänger samman, vilka delsystem som påverkar vilka andra delsystem och hur, se figur 2.4. Förutom pumpen och regulatorn ser vi här även en subtraherare och en integrator. Både dessa delsystem är abstrakta i den meningen att de inte motsvaras av en “apparat” och fysisk låda som gör något. Subtraheraren uppstår naturligt i och med att det totala flödet som påverkar volymen i magasinet är skillnaden mellan inflödet från pumpen, u(t), och utflödet till nätet, x(t). Den totala mängden vatten i magasinet, y(t) är integralen av denna differens, där vi antar att integreringen sker från tiden t0 då y(t0 ) = ymax . En kommentar Notera att detta schema anger att x(t) är en insignal till systemet, trots att det anger hur mycket vatten som flödar ut genom huvudledningen. Att vattnet flödar ut betyder alltså inte automatiskt att flödet är en utsignal! Att detta flöde blir en insignal är naturligt eftersom det påverkar systemets inre tillstånd, som i det är fallet är y(t), magasinets volym. Det inre tillståndet är ett “minne” som kommer ihåg differensen av hur mycket vatten som flödat in respektive ut ur magasinet, totalt sett över tiden. Motsatta orsakssambandet finns inte: det kommer inte att flöda ut mer vatten i huvudledningen om vi ökar volymen i magasinet. En kommentar till I fortsättningen kommer vi att sätta systemet utsignal som y(t), mängden vatten i magasinet. Detta är en helt godtyckligt val. Vi kunde lika gärna ha valt att betrakta ett system som har någon annan av de signaler som finns i systemet som utsignal, eller flera av dessa som utsignaler. Alternativt kunde utsignalen(erna) ha varit integraler, derivator eller olika typer av kombinationer av de olika signalerna. Eftersom vi i detta exempel är specifikt intresserade av beskriva hur x(t) påverkar y(t) väljer vi x(t) som insignal och y(t) som utsignal. För att kunna erhålla ett samband mellan x(t) och y(t) måste vi även veta hur regulatorn styr pumpen. Regulatorn har som sagt till uppgift att se till att det vatten som levereras till nätet kompenseras för genom att nytt vatten pumpas in i magasinet, med målet att hålla vattenytan så nära den maximala, vilket motsvarar volymen ymax . Det gör regulatorn genom att förse pumpen med elektrisk effekt p(t) och pumpen omvandlar den effekten linjärt till ett vattenflöde u(t) in i magasinet. Frågan är emellertid hur p(t) ska bero av y(t), möjligen i kombination med x(t). Det finns flera tänkbara varianter, en del bättre och en del sämre. Ett enkelt sätt att reglera pumpen är att starta den på full effekt så fort y(t) < ymax , och sedan stoppa pumpen när y(t) = ymax . Det skulle i princip fungera, men resultatet blir en pump som hela tiden kommer att slås av och på, och då på full effekt, så fort någon vill dricka ett vattenglas ute i nätet. Pumpen skulle sannolikt utsättas för stora mekaniskt påfrestningar under sin livstid, som därmed blir kort. Ett annat alternativ är att låta pumpeffekten vara proportionell mot x(t), dvs. mängden vatten som levereras. På så sätt skulle pumpen kompensera den mängd vatten som levereras i huvudledningen med den mängd vatten som pumpas in. Om magasinet först pumpas upp till volymen y(t) = ymax och vi sedan reglerar pumpen på detta sätt, kommer y(t) = ymax resten av tiden. I praktiken är det emellertid svårt att finna en proportionalitetskonstant mellan pumpeffekten och x(t) så att vattenflödena in och ut ur magasinet exakt balanseras. Om konstanten blir för liten kommer magasinet långsamt att tömmas, och är den för stor går pumpen på för hög effekt och måste stoppas för att inte överfylla magasinet, för att sedan startas igen om det fortfarande finns ett utflöde. Återigen utsätts pumpen för en driftssituation som inte är optimal. En tredje variant som kan användas i praktiken är en variant av den första: att tillåta volymen i magasinet att tömmas ned till en viss gräns y1 innan pumpen slås på med full effekt, varefter den stoppas när y(t) = ymax . Teoretiskt skulle då volymen pendla mellan ymax och y1 , medan pumpen enbart behöver arbeta i vissa begränsade tidsintervall. Denna typ av styrning kallas hysteresstyrning. När pumpen pumpar skulle den emellertid fortfarande arbeta med full effekt, som skulle kunna behöva vara ganska stor för att kunna hantera stora utflöden. 30 Ett lite klurigare sätt att styra pumpen är att låta den pumpa med en effekt som är proportionell mot ymax − y(t). Ju närmare magasinet är att fyllas helt, desto mindre vatten pumpas och tvärtom. På morgonen när många ska duscha och spola i toaletter kommer pumpen att behöva gå nära full effekt, medan på natten när vattenbehovet är lågt kan effekten ligga nära noll. Pumpen kommer alltså enbart att gå på full effekt under de korta perioder när det finns ett stort behöva av vatten i nätet, vilket bör vara nära en optimal driftsituation. Tidsderivatan av y(t) är i detta fallet lika med den mängd vatten som pumpas in minus den mängd som levereras ut i nätet, båda per tidsenhet: d y(t) = k · ymax − y(t) − x(t) . |{z} | {z } dt inflöde (2.34) utflöde Om funktionen x(t), dvs. efterfrågan på vatten i nätet som funktion av tiden, är känd, kan vi bestämma y(t) genom att lösa differentialekvationen i (2.34). Som vanligt i samband med lösning av differentialekvation kan vi även behöva någon typ av randvillkor för att bestämma lösningen entydigt. 2.2.5 Linjära ODE Differentialekvationen (2.34) är en systemmodell och kallas för en systembeskrivande ekvation2 . Den beskriver ett samband mellan in- och utsignaler för ett enkelt system på ett sådant sätt att för varje given insignal, i detta fallet x(t), kan vi ordna en utsignal y(t). Som redan nämnts kan det ofta krävas någon typ av randvillkor för att bestämningen av y(t) ska bli entydig. I just detta exempel kan det handla om att vi känner till att vid någon speciell tidpunkt, t0 , är magasinets volym känd, exempelvis y(t0 ) = ymax = maxvolymen. Givet detta randvillkor kan magasinets volym y(t) bestämmas entydigt så fort x(t) är känd. När differentialekvationer används som systemmodeller är det brukligt att skriva dom på en form så den okända utsignalen y(t) och dess derivator står i vänsterledet och de kända kvantiteterna står i högerledet: d y(t) + k · y(t) = k · ymax − x(t). dt (2.35) Ytterligare en åtgärd som är vanlig i detta sammanhang är att göra sig av med konstanten k · ymax . Det kan göras, exempelvis, genom att ansätta en ny utsignal z(t) = ymax − y(t). (2.36) Notera att på samma sätt som y(t) är en fysikalisk kvantitet, en vattenvolym, är även z(t) en volym, närmare bestämt den volym som återstår innan magasinet är fullt, residualvolymen. Om vi byter till en beskrivning av systemet med utsignalen z(t), kan dess differentialekvation skrivas d z(t) + k · z(t) = x(t). dt (2.37) Detta byte av utsignal är inte nödvändigt, men kan förenkla den praktiska hanteringen av systemet och dess modell i form av en differentialekvation. När väl z(t) bestämts genom att lösa differentialekvationen (2.37), kan även y(t) bestämmas ur (2.36). Differentialekvationen (2.37) är av en typ som kallas linjär ordinär differentialekvation av första ordningen, eller linjär ODE av första ordningen. Den är en differentialekvation eftersom den okända kvantiteten är en funktion, här z(t), och ekvationen innehåller z(t) och dess derivator av olika ordningar. Den är av första ordningen eftersom den okända funktionen z(t) uppträder med derivator upp till första ordningen. Den är linjär eftersom den okända funktionen uppträder enbart i form av linjära uttryck i z(t) eller dess derivator. Slutligen är den ordinär eftersom de funktioner som uppträder här är funktioner av enda variabel (här t). Egentligen skulle vi kunna lägga till att den linjära ODE:n i (2.37) har konstanta koefficienter, dvs. varje derivata av den okända funktionen z(t) är multiplicerad med en koefficient som är en tidsoberoende konstant. I fortsättningen och om inget annat anges, är det underförstått att en linjär ODE alltid har tidsoberoende koefficienter multiplicerade med de olika derivatorna som hör till den okända funktionen. Generellt kan ett enkelt system ha en systemmodell i form av en linjär ODE av n-te ordningen: an 2 Engelska: dn−1 d dn y(t) + a y(t) + . . . a1 y(t) + a0 y(t) = Uttryck i x(t), n−1 n−1 dtn dt dt governing equation. 31 (2.38) där vi antar att an , 0 och i övrigt att alla an , . . . , a0 är konstanter (oberoende av t). Ofta är även uttrycket i högerledet en linjärkombination mellan derivator av x(t), upp till en viss ordning m, och konstanter (oberoende av t) bm , . . . , b0 : an dn−1 d dm−1 d dm dn y(t) + a y(t) + . . . a x(t) + b x(t) + . . . b1 x(t) + b0 x(t) y(t) + a y(t) = b n−1 1 m−1 0 m dtn dt dtm dt dtn−1 dtm−1 (2.39) där an , bm , 0. Linjära ODE:r av den typ som beskrivs i (2.39) är mycket vanliga som modeller för enkla system och i fortsättningen kommer vi med linjär ODE att mena just denna typ av differentialekvation, där både in- och utsignalen och diverse ordningar av deras derivator uppträder tillsammans med (tidsoberoende) konstanter. De uppträder typiskt som resultatet av en analys av hur sambandet mellan in- och utsignal ser ut för mekaniska system, uppbyggda exempelvis av fjädrar och dämpare, liksom för elektriska kretsar. I nästa kapitel ska vi se att system som kan modelleras med hjälp av linjära ODE:r ingår i en ännu större klass av system, så kallade LTI-system. En kommentar Varför bråka om att konstanterna är tidsoberoende? Kan vi inte bara säga att de är konstanter? Det finns emellertid inget i hanteringen av differentialekvationer som verkligen kräver att koefficienterna an , . . . , a0 och bm , . . . , b0 måste vara konstanta i en absolut mening. Det enda som krävs i detta sammanhang är att de inte varierar som funktioner av t. De skulle kunna vara funktioner av någon annan variabel, exempelvis en funktion av skonumret för arkitekten som ritade vattentornet. Så länge dessa koefficienter har beroenden av andra variabler än t så kan lösningen av differentialekvationerna erhållas med standardmetoder för linjära ODE:r. Vi kommer att behöva använda denna möjlighet lite längre fram i berättelsen. En till kommentar Vi har här diskuterat den typ av system som kallas regulator. Vi har redan sett ett exempel på en regulator i figur 1.2 på sidan 13, som styr värmen i ett element baserat på en önskad respektive en uppmätt temperatur, men utan att närmare beskriva hur denna styrning går till. I exemplet med vattentornet och dess pump antyds att styrningen av pumpen kan baseras på skillnaden mellan ett önskat värde för volymen i magasinet, ymax , och ett verkligt värde för volymen, y(t). Denna typ av styrning (reglering) är vanlig i detta sammanhang, men kan även göras på mer sofistikerade sätt. Utformning av regulatorer för olika ändamål studeras i ämnet Reglerteknik. 2.2.6 Innan vi fortsätter I det här avsnittet har vi sett två olika systemmodeller, systemoperator respektive differentialekvation, mera specifikt linjära ODE:r. I fortsättningen kommer vi att se andra och mer specialiserade systemmodeller som är anpassade för vissa typer av system. I nästa kapitel ska vi definiera en stor klass av enkla system som kallas LTI-system och för dessa finns det flera olika systemmodeller att välja mellan. 32 Kapitel 3 LTI-system I detta och några efterföljande kapitel kommer vi att studera en specifik klass av enkla system, med en insignal ofta kallad x(t), och en utsignal ofta kallad y(t), som kallas linjära tidsinvarianta system eller kortare LTI-system. En anledningen till att just dessa är intressanta är dels att flertalet system som förekommer i tekniska, ekonomiska, logistiska, medicinska och biologiska sammanhang är LTI-system, eller i alla fall kan approximeras som sådana. När mer komplexa system bryts ned till enklare delsystem så dyker ofta LTI-system upp i en eller annan form som ett eller flera delsystem. Nästan samtliga exempel på system som har presenterats hittills är LTI-system. En annan anledning är att LTI-system erbjuder ytterligare ett flertal systemmodeller som är enkla men samtidigt kraftfulla beskrivningar av hur dessa system avbildar sin insignal till en utsignal. Det beror på att LTI-system har ett antal specifika egenskaper som gör dom relativt enkla att förstå och hantera praktiskt. I detta kapitel ska vi definiera vad LTI-system är, och även visa några av de speciella egenskaper som dessa system har. I efterföljande kapitel kommer vi sedan in på de systemmodeller som kan användas för att beskriva LTI-system. 3.1 Linjära system Ett LTI-system är ett linjärt system, en egenskap som kommer att definieras i detta avsnitt. För att göra det behöver vi först definiera vad som menas med ett signalrum, och denna definition bygger på att du har de grundläggande begrepp från linjär algebra som beskrivs i avsnitt A.1 klara för dig. 3.1.1 Definition av linjärt system Låt H vara systemoperatorn för ett enkelt system, med en insignal och en utsignal. Om systemoperatorn H uppträder som en linjär transformation på signalrummet S, dvs. uppfyller (2.2) för alla signaler s1 , s2 ∈ S och alla skalärer α1 , α2 ∈ R, då är systemet ett linjärt system. Se figur 3.1 för en illustration. Om H inte är linjärt sägs systemet vara olinjärt eller icke-linjärt. Notera att om systemet H är linjärt så räcker det med att visa (2.2), innehållandes en linjärkombination av två signaler. Denna egenskap leder i sig till att lineariteten även sträcker till linjärkombinationer av tre eller fler signaler. En mer generell definition av ett linjärt system är alltså: för ett godtyckligt antal (n) och godtyckligt valda signaler s1 (t), . . . , sn (t) ∈ S och godtyckligt val av n skalärer α1 , . . . , αn ∈ R ska gälla att H{α1 s1 (t) + . . . + αn sn (t)} = α1 H{s1 (t)} + . . . + αn H{sn (t)}, (3.1) n n X X H α s (t) = αk H{sn (t)}. k n (3.2) eller, ekvivalent, k=1 3.1.2 k=1 Hur visa att ett system är linjärt respektive olinjärt? En viktig fråga i sammanhanget är: för ett givet system H, hur kan jag veta om systemet är linjärt eller inte? Själva definitionen i avsnitt 3.1.1 är naturligtvis en ledtråd, men vad exakt är det som ska göras? 33 För det första räcker det med att använda (2.2), med en linjärkombination av endast två insignaler. För det andra väljer vi en av två möjliga strategier: antingen försöker vi visa att systemet är linjärt eller att det är olinjärt. Om vi inte vet vilken som är den rätta får vi helt prova båda och se vilken som leder till framgång. Vi tar dom i tur och ordning. Visa att systemet är linjärt Om vi antar att systemet är linjärt och ska visa detta så handlar det i grund och botten om att visa att (2.2) gäller för alla val av signaler s1 (t), s2 (t) ∈ S och alla val av skalärer α1 , α2 ∈ R. Enklast görs det genom att applicera systemoperatorn H på s1 (t), s2 (t) efter att de linjärkombineras, i vänsterledet, och före de linjärkombineras, i högerledet. Resultatet ska bli lika om systemet är linjärt. En fälla som kan vara lätt att falla i är att tänka sig att det räcker med att hitta ett eller ett par exempel på signaler s1 (t), s2 (t) för vilka (2.2) stämmer, och sedan tro att systemet är linjärt. För att fastställa att systemet är linjärt kan vi inte begränsa oss till specifika val av insignaler, utan utgå från att s1 (t), s2 (t) är godtyckliga signaler i signalrummet, och även att α1 , α2 ∈ R är godtyckliga. För att kunna genomföra ett sådant bevis måste vi på något sätt kunna bestämma hur systemet H genererar sin utsignal från godtyckliga insignaler. Det är systemmodellerna som diskuterades i kapitel 2 kommer in. Om vi inte vet något om systemet kan vi inte bevisa linearitet, men om vi har en känd systemmodell så är det i alla fall möjligt att göra det, i synnerhet om systemet verkligen är linjärt. Vi återkommer strax med ett antal exempel där vi använder denna strategi på ett antal konkreta system. Ibland måste vi använda alternativa strategier, som är modifikationer av den som föreslås här, för att demonstrera linearitet för ett system. En variant presenteras lite senare i samband med linjära ODE. Visa att systemet är olinjärt Här räcker det med att hitta ett enda exempel på två signaler, s1 (t) och s2 (t), och skalärer α1 , α2 som inte ger likhet mellan vänster- och högerledet i (2.2). För att kunna göra det måste vi återigen ha en matematisk modell av det system som undersöks, exempelvis att dess systemoperator ger ett explicit uttryck för hur utsignalen beror av insignalen, eller att in- och utsignaler är relaterade med en differentialekvation. Vi återkommer strax med ett antal exempel där vi använder denna strategi på ett antal konkreta system. 3.1.3 Exempel på linjära system Finns det då några linjära system? Vi har redan sett flera exempel på linjära system, men kanske inte noterat att de har denna egenskap. Här går vi igenom några av dom, och visar samtidigt att de är linjära. Fördröjning Systemet som utgör en fördröjning i (2.11) är ett linjärt system. Kom ihåg vad dess systemoperator gör med sin insignal: tidsvariabeln t byts ut mot t−∆t. Lineariteten kan vi visa genom att låta x1 (t) och x2 (t) vara två godtyckliga x1 (t) H y1 (t) ⇒ x2 (t) H α1 x1 (t) + α2 x2 (t) H α1 y1 (t) + α2 y2 (t) y2 (t) Figur 3.1: Ett system H genererar utsignalen y1 (t) av insignalen x1 (t) och utsignalen y2 (t) av insignalen x2 (t). Om systemet är linjärt kommer insignalen α1 x1 (t) + α2 x2 (t) att genererar utsignalen α1 y1 (t) + α2 y2 (t). 34 signaler och α1 , α2 ∈ R vara godtyckliga skalärer. Med denna ansats bestämmer vi först vänsterledet i (2.2): VL = H{α1 x1 (t) + α2 x2 (t)} = α1 x1 (t − ∆t) + α2 x2 (t − ∆t), (3.3) HL = α1 H{x1 (t)} + α2 H{x2 (t)} = α1 x1 (t − ∆t) + α2 x2 (t − ∆t). (3.4) och sedan hägerledet: Vi kan sedan konstatera att HL = VL, dvs. vänster- och högerledet är identiska för alla val av signaler x1 (t) och x2 (t) och skalärer α1 , α2 ∈ R. Alltså kan vi dra slutsatsen att systemet är linjärt. Tidsskalning Tidsskalning av en signal x(t) innebär att utsignalen y(t) är identisk med insignalen, men den “matas ut” med en annan hastighet. Formellt kan sambandet mellan in- och utsignal uttryckas som y(t) = H{x(t)} = x(a · t). (3.5) där a är en faktor som anger hastigheten i hur snabbt y(t) varierar i förhållande till x(t). En praktiskt implementering av tidsskalning är en bandspelare som spelat in ljud och som kan spela upp bandet med olika hastigheter, både framåt och bakåt. Om a > 1 spelas ljudet upp snabbare och kommer att låta som mössen i Askungen på julafton, om a = 1 spelas ljudet upp med samma hastighet som det spelades in med och låter helt naturligt, och om 0 < a < 1 spelas ljudet upp långsammare än det spelades in och kommer att låta som när Bowman drar minneskretsarna ur HAL 9000. Om a < 0 kommer ljudet att spelas upp baklänges. Förstärkare Förstärkaren i (2.13) är ett linjärt system. Här blir vänsterledet VL = H{α1 x1 (t) + α2 x2 (t)} = a · (α1 x1 (t) + α2 x2 (t)) = a α1 x1 (t) + a α2 x2 (t), (3.6) HL = α1 H{x1 (t)} + α2 H{x2 (t)} = α1 a x1 (t) + α2 a x2 (t). (3.7) och högerledet De två uttrycken är lika för alla val av signaler x1 , x2 och α1 , α2 ∈ R, och därmed är systemet linjärt. En transducer har samma matematiska representation som en förstärkare och är därmed även den ett linjärt system. En förstärkare har normalt en konstant förstärkningsfaktor: a. En förstärkare med tidsvariabel förstärkning, a(t), är fortfarande ett linjärt system, vilket visas på samma sätt som ovan. Linjära ODE I avsnitt 2.2.5 beskrivs en modell för enkla system i form av en linjär ordinära differentialekvation som beskriver ett samband mellan systemets in- och utsignal. Som antyds av modellens namn är ett system av denna typ även linjärt i den meningen som anges i avsnitt 3.1.1. En linjär ODE är en implicit systemmodell, den anger inte ett explicit uttryck för hur utsignalen bestäms av insignalen. Det gör att vi inte kan använda den strategi som beskrivits ovan för att demonstrera att ett system är linjärt. Om vi vill demonstrera att, exempelvis, det system som beskrivs av den linjära ODE:n i (2.37) är linjärt får vi istället prova en alternativ strategi. Antag att x1 (t) och x2 är två godtyckliga signaler, och skicka in dom i systemet. Var och en av dom kommer att generera en motsvarande utsignal, z1 (t) respektive z2 (t): z1 (t) = H{x1 (t)}, z2 (t) = H{x2 (t)}. (3.8) Dessa två utsignaler kommer då att uppfylla (2.37) i kombination med respektive insignal: d z2 (t) + k · z2 (t) = x2 (t). dt d z1 (t) + k · z1 (t) = x1 (t), dt 35 (3.9) Om systemet är linjärt ska vi kunna skicka in en godtycklig linjärkombination av x1 och x2 som insignal och som utsignal erhålla samma linjärkombination, fast nu av z1 och z2 . Låt α1 , α2 ∈ R vara godtyckliga skalärer och definiera en ny insignal x3 som x3 (t) = α1 x1 (t) + α2 x2 (t), (3.10) och även en signal som är samma linjärkombination av de två utsignalerna: z3 (t) = α1 z1 (t) + α2 z2 (t). (3.11) Om systemet är linjärt ska gälla att z3 (t) är den utsignal som genereras av systemet när den har x3 (t) som insignal, dvs. d z3 (t) + k · z3 (t) = x3 (t). (3.12) dt Det som återstår är alltså att visa att (3.12) följer av (3.9) samt (3.10) och (3.11). Tar vi motsvarande linjärkombination av de två vänsterleden i (3.9), respektive de två högerleden, får vi ! ! d d z1 (t) + k · z1 (t) + α2 z2 (t) + k · z2 (t) = α1 x1 + α2 x2 (t). (3.13) α1 dt dt Vi kan skriva om vänsterledet i denna ekvation för att erhålla α1 d α1 z1 (t) + α2 z2 (t) + k · α1 z1 (t) + α2 z2 (t) = α1 x1 + α2 x2 (t). dt (3.14) Nu återstår endast att sätta in de två sambanden (3.10) och (3.11) i den senaste ekvationen. Resultatet blir (3.12), vilket avslutar beviset att systemet som beskrivs av den linjära ODE:n i (2.37) är linjärt. Ett system som beskrivs av den mer generella formen av linjär ODE, (2.39), kan bevisas vara linjärt på samma sätt som ovan. 3.1.4 Exempel på olinjära system I det här avsnittet ges ett par exempel på system som är olinjära. Exempel 1 Alla system som bestämmer utsignalen y(t) som en olinjär funktion av insignalen, x(t), är olinjära system. Ett enkelt exempel är systemet vars operator ges av y(t) = H{x(t)} = x2 (t) = x(t) · x(t). (3.15) Vi sätter in denna systemoperator i vänsterledet av (2.2): VL = H{α1 x1 (t) + α2 x2 (t)} = α1 x1 (t) + α2 x2 (t) 2 = α21 x12 (t) + 2 α1 α2 x1 (t)x2 (t) + α22 x22 (t), (3.16) och i dess högerled: HL = α1 H{x1 (t)} + α2 H{x2 (t)} = α1 x12 (t) + α2 x22 (t). (3.17) Frågan är nu: kan dessa två uttryck vara lika för godtyckliga val av x1 , x2 ∈ S och godtyckliga skalärer α1 , α2 ∈ R? Prova med att sätta α1 = α2 = 1, vilket ger VL = x12 (t) + 2 x1 (t)x2 (t) + x22 (t), (3.18) HL = (3.19) x12 (t) + x22 (t). Här blir det tydligt att VL , HL för godtyckliga val av x1 , x2 , vilket innebär att systemet inte är linjärt. Ett exempel på val av insignaler och skalärer som gör att det inte är likhet i (2.2) är x1 (t) = x2 (t) = 1 tillsammans med α1 = α2 = 1. Notera att för detta exempel kan vi hitta signaler och reella tal som gör att VL = HL, men det räcker inte; alla val ska ge likhet för att systemet ska vara linjärt. 36 Exempel 2 Ett system som är nästan linjärt, men som inte uppfyller kraven på ett linjärt system, är ett som kan beskrivas med y(t) = H{x(t)} = a · x(t) + k, (3.20) där både a och k är konstanter skilda från noll. För att undersöka systemets linearitet gör vi på samma sätt som ovan: sätter in systemoperatorn i vänsterledet av (2.2): VL = H{α1 x1 (t) + α2 x2 (t)} = a · α1 x1 (t) + α2 x2 (t) + k = a α1 x1 (t) + a α2 x2 (t) + k, (3.21) och i dess högerled: HL = α1 H{x1 (t)} + α2 H{x2 (t)} = a α1 x1 (t) + a α2 x2 (t) + (α1 + α2 ) k. (3.22) Återigen ser vi att, i allmänhet, är VL , HL. I synnerhet är det endast specifika val av skalärerna α1 , α2 som ger VL = HL. Ett exempel på ett val som inte ger liket är α1 = α2 = k = 1. Exempel 3 En tröskling är ett system med insignal x(t) och en utsignal y(t), där 1 x(t) > r, y(t) = H{x(t)} = 0 x(t) < r. (3.23) Här är r en konstant parameter, en tröskel, som insignalen måste överskrida för att utsignalen ska bli = 1. I sammanhanget är det ofta inte viktigt hur fallet x(t) = r hanteras, det kan resultera i endera av de två möjliga värdena av utsignal. Det är inte heller viktigt exakt vilka två värden på utsignal som används, det viktiga är att det finns två distinkta värden på utsignalen som motsvarar att insignalen är mindre eller större än tröskeln r. En tröskling är ett olinjärt system, vilket lämnas som en uppgift att visa. 3.1.5 Linearisering Att systemet i (3.20) är “nästan linjärt” innebär att det enkelt kan göras linjärt om detta är önskvärt. Det görs genom att subtrahera konstanten k från dess utsignal, genom att koppla y(t) till en subtraherare. Resultatet blir en ny utsignal: z(t) = y(t) − k = a · x(t), (3.24) vilket vi känner igen som en förstärkare och det är ett linjärt system. Denna typ av justering av en utsignal så att det totala systemet blir linjärt kallas ibland för linearisering. Detta är samma trick som användes i avsnitt 2.2.5, (2.36), för att erhålla en linjär ODE. Ovanstående metod att göra ett system linjärt kallas linearlisering av ett system. Linearisering är inte något som måste utföras rent praktiskt, genom att koppla in en subtraherare i ett system, det kan lika gärna göras teoretiskt. Om vi vet att ett system är linjärt sånär som på en konstant, räcker det för att kunna analysera systemet, och bestämma vad det har för generella egenskaper med samma metoder som vi använder för linjära system. Linearisering kan även användas mer generellt för att beskriva ett system som är approximativt linjärt, i alla fall om signalen är begränsad, se avsnitt 2.1.2. Ett exempel illustreras i figur 3.2 som visar beroende mellan insignalen x(t) och utsignalen y(t) för det olinjära systemet y(t) = H{x(t)} = x(t)3 − 5x(t) + 2. (3.25) Vi ser här att om vi kan begränsa insignalen så att |x(t)| < 1 och dessutom subtraherar 2 från y så kommer det resulterande systemet att bli approximativt linjärt. Det betyder att det resulterande systemet approximativt har alla de egenskaper som gäller för linjära system och som vi kommer att diskutera framöver, om nämnda begränsning av insignaler gäller. 37 7 6 5 4 y(t) 3 2 1 0 -1 -2 -3 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 x(t) Figur 3.2: Utsignalen från ett olinjärt system H med insignalen x(t) som beskrivs av (3.25). x(t) H x(t − ∆τ) ⇒ y(t) H y(t − ∆τ) Figur 3.3: Ett system H genererar utsignalen y(t) från insignalen x(t). Om systemet är tidsinvariant kommer insignalen x(t − ∆τ) att generera utsignalen y(t − ∆τ). 3.2 Tidsinvarianta system Begreppet tidsinvarians har ingen direkt motsvarighet i linjär algebra, men intuitivt handlar det om ett system som avbildar en insignal till en utsignal “på samma sätt” oberoende av tiden. Lite mer konkret betyder det att: om att vi skickar in en signal x(t) i systemet och får ut en signal y(t) och jämför det med vad som händer om vi istället skickar in en fördröjd version av x(t), dvs x(t − ∆t). Om den utsignal som då produceras är lika med y(t − ∆t) är systemet tidsinvariant. 3.2.1 Definition av tidsinvariant system Den matematiska definitionen av ett tidsinvariant system, med operatorn H, innebär att y(t) = H{x(t)} ⇒ y(t − ∆τ) = H{x(t − ∆τ)} (3.26) för alla signaler x ∈ S och alla fördröjningar1 ∆τ ∈ R. Se figur 3.3 för en illustration. Ett system som inte är tidinvariant är ett tidsvariant system. Första gången denna definition dyker upp framför ögonen kan den se lite underlig ut. Måste inte ovanstående relation alltid gälla? Det enda som skiljer ekvationen till vänster från den till höger är ju att vi bytt ut t mot t − ∆τ. Det som inte syns här är att även H skulle kunna ha ett beroende på t, det skulle kunna finnas någon tidsberoende parameter som styr hur H avbildar insignalen till utsignalen. Definitionen av tidsinvariant system, (3.26), innebär att H inte har ett tidsberoende och ett nödvändigt villkor för detta är just (3.26). 3.2.2 Hur visa att ett system är tidsinvariant Att visa huruvida ett system är tidsinvariant eller inte fungerar på liknande sätt som med linearitet. Vi har två strategier, varav bara den ena kommer att vara framgångsrik: antingen visar vi att systemet är linjärt eller att det är 1 Här ska fördröjningarna verkligen vara alla möjliga reella tal, även ∆τ < 0. 38 olinjärt. Om vi inte vet vilket som ska visas, får vi helt prova båda strategierna och se vilken som leder till målet. Vi tar dom i tur och ordning. Visa att systemet är tidsinvariant Om vi antar att systemet är linjärt och ska visa detta så handlar det i grund och botten om att visa att (3.26) gäller för alla val av x(t) ∈ S och alla val av fördröjningar ∆τ ∈ R. Enklast görs det genom följande steg: 1. Antag att x(t) är en godtycklig insignal och bestämma ett uttryck för motsvarande utsignal, y(t). 2. Fördröj x(t) med godtycklig fördröjning ∆τ, motsvarande x(t − ∆τ). Bestäm vilken utsignal som genereras av denna fördröjda insignal. 3. Kontrollera om systemet är tidsinvariant vilket det är om utsignalen i steg 2 är samma om y(t − ∆τ). På samma sätt som när vi ska visa om ett system är linjärt kan det vara lätt att tänka sig att det räcker med att hitta ett eller ett par exempel på signal x(t) för vilka (3.26) är uppfylld. För att fastställa att ett system är tidsinvariant kan vi emellertid inte begränsa oss till specifika val av insignal, utan utgå från att x(t) är en godtycklig signal och att ∆τ är en godtyckligt fördröjning. För att genomföra denna typ av bevis måste vi, återigen, förlita oss på en modell för det aktuella systemet. Vi återkommer strax med ett antal exempel där vi använder denna strategi på ett antal konkreta system. Visa att systemet är tidsvariant Här räcker det med att hitta ett enda exempel på en signal, s(t), och fördröjning ∆τ som inte ger likhet mellan vänster- och högerledet i (3.26). För att kunna göra det måste vi återigen ha en matematisk modell av det system som undersöks, i enklaste fallet att dess systemoperator ger ett explicit uttryck för hur utsignalen beror av insignalen, eller att in- och utsignaler är relaterade med en differentialekvation. Vi återkommer strax med ett antal exempel där vi använder denna strategi på ett antal konkreta system. 3.2.3 Exempel på tidsinvarianta system Låt oss titta på några exempel med system och undersöka deras tidsinvarians. Fördröjning Systemet som utgör en fördröjning i (2.11) är ett tidsinvariant system. För att visa detta följer vi de tre stegen och ansätter först en godtycklig insignal som betecknas x(t). Den producerar en motsvarande utsignal y(t) som ges av y(t) = H{x(t)} = x(t − ∆t). (3.27) Nästa steg är att undersöka vilken utsignal som genereras om insignalen x(t) fördröjs med ∆τ: H{x(t − ∆τ)} = x(t − ∆t − ∆τ). (3.28) I tredje och sista steget konstaterar vi att nyss erhålla utsignal blir lika med utsignalen y(t) fördröjd med ∆τ: y(t − ∆τ) = x(t − ∆τ − ∆t) = H{x(t − ∆τ)}. (3.29) Alltså har vi visat att (3.26) gäller och därmed är systemet tidsinvariant. Förstärkare Förstärkaren som utgör systemet vars operator definieras i (2.13) är ett tidsinvariant system. För att visa det ansätter vi först en godtycklig insignal, x(t), och ser att den producerar en motsvarande utsignal y(t) som ges av y(t) = H{x(t)} = a · x(t). 39 (3.30) Nästa steg är att undersöka vilken utsignal som genereras om insignalen x(t) fördröjs med ∆τ: H{x(t − ∆τ)} = a · x(t − ∆τ). (3.31) I tredje och sista steget konstaterar vi att nyss erhålla utsignal blir lika med utsignalen y(t) fördröjd med ∆τ: y(t − ∆τ) = a · x(t − ∆τ) = H{x(t − ∆τ)}. (3.32) Alltså har vi visat att (3.26) gäller och därmed är systemet tidsinvariant. Notera att vi i detta fallet har antagit att förstärkningsfaktorn är konstant och att detta är nödvändigt för att förstärkaren ska vara tidsinvariant. Skulle förstärkningen vara tidsvariabel kommer systemet istället att vara tidsvariant. Vi kommer strax att undersöka det fallet. Linjära ODE Ett system som kan modelleras med en linjär ODE är ett tidsinvariant system. För att visa det måste vi använda en variant av den metod som beskrivs i avsnitt 3.2.2. Ett alternativt sätt att beskriva det vi vill kunna visa är att: om systemet för en godtycklig insignal x(t) genererar en viss utsignal y(t), som alltså är en lösning till en linjär ODE, så kommer samma ODE att ge lösningen y(t − ∆τ) om x(t) byts mot x(t − ∆τ). Låt oss testa denna strategi på systemet H som modelleras av den linjära ODE:n i (2.37). För att genomföra ett formellt bevis för att H är tidsinvariant kan vi tänka så här: låt x1 (t) och x2 (t) vara två insignaler, med motsvarande utsignaler z1 (t) = H{x1 (t)}, z2 (t) = H{x2 (t)}, (3.33) där första insignalen x1 (t) är helt godtycklig men den andra ges av x2 (t) = x1 (t − ∆τ). Om systemet är tidsinvariant ska då även gälla att z2 (t) = z1 (t − ∆τ) och det alltså det som ska visas. Eftersom systemet modelleras av en linjär ODE, (2.37), kan sambandet mellan insignalen x2 och motsvarande utsignal z2 skrivas som d z1 (t) + k · z1 (t) = x1 (t), dt d z2 (t) + k · z2 (t) = x2 (t) = x1 (t − ∆τ). dt (3.34) Nu gör vi ett variabelbyte, från t till τ som ges av sambandet: τ = t − ∆τ. (3.35) För att göra det variabelbytet komplett måste vi även byta ut deriveringen med avseende på t till derivering med avseende på τ: d dt d d d = · = ·1= . (3.36) dτ dt dτ dt dt Sätter vi in (3.35) och (3.36) i den andra ODE:n i (3.34) blir resultatet: d z2 (τ + ∆τ) + k · z2 (τ + ∆τ) = x1 (τ). dτ (3.37) För att tydliggöra vad som händer här kan vi definiera en tredje utsignal: z3 (τ) = z2 (τ + ∆τ), (3.38) d z3 (τ) + k · z3 (τ) = x1 (τ). dτ (3.39) vilken insatt i (3.37) ger Här kan vi se att ODE:n i (3.37) är identisk med den första ODE:n i (3.34), bortsett från att variabeln t här betecknas τ. Denna ODE vet vi redan har en lösning z1 , vilket betyder att z3 (τ) = z1 (τ). Vi har alltså visat att z3 (τ) = z2 (τ + ∆τ) = z1 (τ), Av detta kan vi dra slutsatsen att H är ett tidsinvariant system. 40 z2 (t) = z1 (t − ∆τ). (3.40) 3.2.4 Exempel på tidsvarianta system Här är några exempel på system som är tidsvarianta. Tidsvariabel förstärkare Låt H vara ett system är det operator är definierad som y(t) = H{x(t)} = a(t) · x(t), (3.41) där a(t) är en tidsvariabel förstärkningsfaktor vars variation bestäms av systemet självt. Här antar vi att a(t) inte är en konstant. För att undersöka om detta system är tidsinvariant provar vi med att bestämma vilken utsignal som genereras om, istället för x(t), insignalen är x(t − ∆τ): H{x(t − ∆t)} = a(t) · x(t − ∆t). (3.42) Detta ska jämföras med en motsvarande fördröjning av utsignalen y(t): y(t − ∆τ) = a(t − ∆τ) · x(t − ∆τ). (3.43) Eftersom (3.42) och (3.43) inte är lika för alla val av x(t) och ∆τ följer att systemet är tidsvariant. En kommentar Notera att det endast är insignalen x som fördröjs i (3.42), inte förstärkningsfaktorn a. Detta är i enlighet med definitionen av tidinvarians: vi ska undersöka vad som händer vid en tidsfördröjning enbart av insignalen, vi ska inte fördröja även systemets egen tidsvariation, vilket i detta fallet handlar om förstärkningsfaktorn a. Linjär ODE med tidsberoende konstanter Låt oss undersöka ett system vars modell är en variant av (2.37): d z(t) + t · z(t) = x(t). dt (3.44) Här har vi alltså har bytt ut konstanten k mot en tidsvariabel koefficient som är = t. Motsvarande system är tidsvariant, vi kan visa det genom att gå igenom liknande steg som gjordes i avsnitt 3.2.3. Vi matar in de två insignalerna x1 och x2 , där x1 är godtycklig medan x2 (t) = x1 (t − ∆τ), och erhåller de två utsignalerna z1 respektive z2 , (3.33). Dessa utsignaler måste vara lösningen till (3.44), för respektive insignal: d z1 (t) + t · z1 (t) = x1 (t), dt d z2 (t) + t · z2 (t) = x2 (t) = x1 (t − ∆τ). dt (3.45) Nu gör vi variabelbytet enligt (3.35), tillsammans med (3.36), och sätter in detta i den andra ODE:n i (3.45): d z2 (τ + ∆τ) + (τ + ∆τ) · z2 (τ + ∆τ) = x1 (τ). dτ (3.46) Slutligen byter vi z2 mot z3 enligt (3.38): d z3 (τ) + (τ + ∆τ) · z3 (τ) = x1 (τ). dτ (3.47) Om systemet är tidsinvariant skulle denna ODE vara identisk med den högra ODE:n i (3.45), bortsett från att t bytts mot τ. Det är den inte, i alla fall inte för godtyckliga x1 och ∆τ, och därmed har vi visat att systemet är tidsvariant. 41 3.3 Definiton av LTI-system Vi har nu definierat vad som menas med ett linjärt system respektive ett tidsinvariant system. Ett linjärt och tidsinvariant system är ett system som är både linjärt och tidsinvariant. Eftersom denna typ av system är både vanligt och användbart betecknas det ofta kortare med LTI-system. Att visa att ett system är LTI innebär att vi måste visa både linearitet och tidsinvarians, exempelvis på de sätt som demonstrerats i avsnitt 3.1.2 och avsnitt 3.2.2. För att visa att systemet inte är LTI räcker det antingen med att visa att systemet inte är linjärt eller inte tidsinvariant. Exempel på system som är LTI: • Ett tidsfördröjning. • En derivator. • En integrerare • En förstärkare (med konstant förstärkningsfaktor). • En linjär ODE (med konstanta koefficienter). Exempel på system som inte är LTI: • Ett olinjär avbildning från insignal till utsignal (är inte linjärt men kan vara tidsinvariant). • En förstärkare med tidsvariabel förstärkningsfaktor (är linjärt men inte tidsinvariant). • En linjär ODE med tidsvariabla koefficienter (är linjärt men inte tidsinvariant). Vi kommer i fortsättningen av denna berättelse att få se flera andra exempel på system, ofta LTI-system men även system som inte är LTI. Tidigare har sagts att en anledning till att vi studerar just LTI-system är att de är relativt vanliga när ett system ska konstrueras. En annan anledning är att de har specifika egenskaper, som gäller för alla LTI-system men som inte gäller generellt för andra system även om de ibland kan vara tillämpbara utanför LTI-systemens domän. I de återstående avsnitten i detta kapitel kommer vi att gå igenom några av dessa egenskaper, men också fördjupa oss i specifika metoder för LTI-system i några av de efterföljande kapitlen. 3.3.1 Kaskadkoppling av LTI-system Låt H1 och H2 vara två LTI-system, de kan vara två olika system eller möjligen av samma typ. En kaskadkoppling av de två systemen ges då av systemet H3 = H2 H1 som illustreras i figur 2.1, med insignalen kopplad till H1 och utsignalen från H2 . Om båda systemen är LTI gäller följande två observationer: 3 Även det totala systemet H3 är LTI. 4 De två systemen H1 och H2 kommuterar, dvs. det spelar ingen roll i vilken ordning de är ihopkopplade. Det första påståendet är relativt enkelt att visa och lämnas som övningsuppgift. Det andra påståendet är inte trivialt och för att visa det behöver vi först en del andra resultat, så vi ska återkomma till den frågan. 3.3.2 Linjärkombination av två LTI-system Låt H1 och H2 vara två LTI-system och definiera ett tredje system H3 enligt figur 3.4. Det betyder att H1 och H2 vart och ett är kaskadkopplad med en förstärkning, med faktor a1 respektive a2 , och slutligen ska de resulterande signalerna adderas. Systemoperatorn H3 kan alltså skrivas y(t) = H3 {x(t)} = a1 H1 {x(t)} + a2 H2 {x(t)}. 42 (3.48) H3 H1 a1 + x(t) y(t) a2 H2 Figur 3.4: Ett system H3 som utgör en linjärkombination av två andra system, H1 och H2 . Detta uttryck beskriver H3 som en linjärkombination av två LTI-system, vilket betecknas med H3 = a1 H1 + a2 H2 . Det är en enkel övning att visa att även H3 är LTI. Med induktion kan vi även enkelt visa att också en linjärkombination av ett ändligt antal LTI-system är LTI. 5 En linjärkombination av LTI-ssytem är ett LTI-system. 3.4 LTI-system kommuterar med tidsderivata Om H1 är ett godtyckligt LTI-system och H2 en tidsderivator, då kommuterar H1 och H2 . För att visa detta behöver vi demonstrera att för godtycklig insignal2 x(t) gäller att ) ( d d H1 {x(t)} = H1 x(t) . (3.49) dt dt För att visa detta kan vi ansätta y(t) = H1 {x(t)} och använda definitionen av derivata som ett gränsvärde, varvid högerledet i (3.49) kan skrivas som ( ) ( ) x(t + h) − x(t) x(t + h) − x(t) H1 {x(t + h)} − H1 {x(t)} H1 är HL = H1 lim = lim H1 = = lim = linjär h→0 h→0 h→0 h h h y(t + h) − y(t) = VL. (3.50) = H1 är = lim h→0 h TI Alltså gäller (3.49) för godtycklig x(t) ∈ S och vi har därmed visat att tidsderivata kommuterar med ett godtycklig LTI-system. 6 Ett LTI-system H kommuterar alltid med tidsderivering. Om vi deriverar insignalen till H eller utsignalen från H spelar ingen roll, det ger samma resultat. 3.5 Stegsvar Liksom andra enkla system har ett LTI-system en systemoperator, men varje LTI-system kan även karakteriseras av en (eller flera) funktioner. En sådan funktion är dess stegsvar och en annan dess impulssvar. Vi börjar med stegsvaret som är den av de två funktionerna som är enklast att beskriva. För att göra det använder vi enhetssteget (eller stegfunktionen) u(t), som definieras i avsnitt B.2. 2 Minns att x(t) ∈ S där S är ett lämpligt signalrum. I detta fallet måste det rummet bestå av funktioner för vilka deriveringsoperationerna som förkommer här ger väldefinierade resultat. 43 2 1.5 1 0.5 0 -0.5 -1 -5 0 5 10 0 5 10 1 0.5 0 -0.5 -1 -5 Figur 3.5: Övre: stegfunktionen u(t). Nedre: ett exempel på stegsvar för ett specifikt system H. 2 1.5 1 0.5 0 -0.5 -1 -5 0 5 10 0 5 10 1 0.5 0 -0.5 -1 -5 Figur 3.6: Övre: en puls som starar vid t = 0 och slutar vid t = 1. Nedre: motsvarande utsignal från samma system H som i figur 3.5. Stegsvaret för ett LTI-system H är systemets utsignal när insignalen är u(t). Vi betecknar stegsvaret med signalen ĥ(t) och den definieras alltså som ĥ(t) = H{u(t)}. (3.51) För se varför stegsvaret kan vara av intresse för ett LTI-system kan vi anta att systemet har haft en insignal x(t) som under en längre tid varit konstant och vi observerar att nu även utsignalen är konstant och kommer att fortsätta vara konstant. Vi antar vidare att det är möjligt att momentant ändra insignalen till ett nytt konstant värde och att det görs vid tiden t = t0 . Att göra denna plötsliga förändring av insignalen motsvaras av att addera stegfunktionen ∆x · u(t − t0 ) till x(t), där ∆x är förändringen i insignalen. Eftersom systemet är LTI måste den utsignal vi observerar efter t = t0 bli H{x(t) + ∆x · u(t)} = H{x(t)} + ∆x · H{u(t − t0 )} = konstant + ∆x · ĥ(t − t0 ). (3.52) Det betyder alltså att den förändring av utsignalen som vi observerar är stegsvaret multiplicerat med ∆x. Skulle vi lite senare göra en ny justering av insignalen, motsvarande en skalad och tidsfördröjd version av u(t) kommer även då en skalad tidsfördröjd version av stegsvaret att observeras som en komponent i utsignalen. Detta illustreras i figur 3.5. En annan typ av funktion vi skulle kunna prova att skicka in som insignal till systemet är en puls. Exempelvis skulle pulsen kunna starta och avslutas vid tiden t1 respektive t2 och ha höjden ∆x. En sådan puls kan realiseras 44 som en linjärkombination av två enhetssteg (se avsnitt B.3): x(t) = ∆x u(t − t1 ) − u(t − t2 ) . (3.53) Här antar vi att pulsen startar vid t = 0 och tar slut vid t = 1. Om vi skickar in denna puls i systemet kommer utsignalen att bli y(t) = H{x(t)} = H{u(t) − u(t − 1)} = ĥ(t) − ĥ(t − 1) (3.54) dvs. samma linjärkombination fast nu av stegsvaren. Se figur 3.5 för en illustration. Ett LTI-system H har ett entydigt stegsvar ĥ, dvs. två olika LTI-system kan inte ha samma stegsvar. Stegsvaret är alltså en unik och karakteristik funktion för varje LTI-system. Det betyder att stegsvaret för ett LTI-system utgör en systemmodell, som exakt talar om vilket LTI-system som avses. För att visa entydigheten måste vi emellertid har tillgång till ytterligare resultat, varför vi får återkomma till denna fråga inom kort. 3.6 Impulssvar På samma sätt som stegsvaret är impulssvaret en unik och karakteristiks funktion för varje LTI-system, och dessutom mer användbart som modell av ett system. Konstruktionen av denna funktion är emellertid mer långsökt och kräver därför lite mer bakomliggande begrepp. Ett sådant begrepp är den ideala impulsfunktionen. 3.6.1 Definition av impulssvar På liknande sätt som vi definierar stegsvaret ĥ(t) för ett LTI-system som utsignalen när insignalen är u(t), kan vi definiera impulssvaret som utsignalen när insignalen är δ(t), den ideala impulsfunktionen som definieras i avsnitt B.5. Impulssvaret för systemet H betecknas h(t) och den definieras alltså som h(t) = H{δ(t)}. (3.55) Impulssvaret för ett LTI-system H är unikt. Innan vi visar detta ska vi först se att det även har en specifik koppling till hur systemet bestämmer sin utsignal y(t) för en godtycklig insignal x(t): (Z ∞ ) y(t) = H{x(t)} = H δ(t − τ) x(τ) dτ . (3.56) −∞ Notera att det som nu står som en funktion av t, dvs. insignal till systemoperatorn H, inte längre är x(t) utan impulsfunktionen! Vidare är en integral en form av summa och det bör därför vara möjligt att se hela integralen som en slags linjärkombination av oändligt många termer som alla innehåller olika fördröjningar av δ(t). Eftersom systemet är LTI gäller då: ) (Z ∞ Z ∞ Z ∞ linjärt tidsinv. y(t) = H δ(t − τ) x(τ) dτ = H{δ(t − τ)} x(τ) dτ = h(t − τ) x(τ) dτ. (3.57) −∞ −∞ −∞ Det betyder att om vi känner impulssvaret h(t) för ett LTI-system kan vi alltid bestämma utsignalen y(t) för en godtycklig insignal x(t) ∈ S med hjälp av (3.57). Om två LTI-system har samma impulssvar innebär (3.57) att de kommer att generera identiska utsignaler för varje möjlig insignal x(t). Det betyder, med andra ord, att varje distinkt LTI-system H har ett unikt impulssvar, och att vi därmed kan identifiera ett LTI-system H med dess impulssvar h(t). För ett LTI-system är alltså impulssvaret en systemmodell som fungerar minst lika bra som dess systemoperator H. Relation mellan impulssvar h och stegsvar ĥ Vi kan även relatera impulssvar och stegsvar. Med hjälp av beskrivningen av den ideala impulsfunktionen som derivatan av stegfunktionen (B.26) kan vi utveckla uttrycket för h(t) i (3.55) till ) ( ) ( u(t + b) − u(t) u(t + b) − u(t) = lim H = (3.58) h(t) = H{δ(t)} = H lim b→0 b→0 b b = lim b→0 H{u(t + b)} − H{u(t)} ĥ(t + b) − ĥ(t) d = lim = ĥ(t). b→0 b b dt 45 (3.59) Det betyder att vi kan se h(t) som derivatan av ĥ(t) eller, alternativt, att ĥ(t) är en primitiv funktion av h(t). En konsekvens av (3.59) är att även stegsvaret är unikt för varje LTI-system. Visserligen är en primitiv funktion till h(t) inte unik, det finns en godtycklig konstant till varje primitiv funktion, men ett linjärt system kan inte innehålla konstanta termer, se avsnitt 3.1.4 på sidan 37, så det finns bara en primitiv funktion till varje impulssvar som kan vara stegsvaret för ett LTI-system. 7 Både stegsvaret ĥ och impulssvaret h för ett LTI-system H är unika funktioner som karakteriserar det H som genererar dom. Innan vi fortsätter Att varje LTI-system karakteriseras av sitt impulssvar, alternativt stegsvar, innebär i princip att vi kan specificera ett godtycklig LTI-system genom att ange en godtycklig funktion h(t) som dess impulssvar. Det här låter bra, men innebär också att vi bör begränsa vilka impulssvar som väljs. I synnerhet bör ju h(t) väljas så att integralen i högerledet av (3.57) har ett välbestämt värde för alla signaler x(t) ∈ S. Vi ska återkomma till denna fråga längre fram i samband med diskussionen om stabila system. 3.7 Faltning Att kombinera två funktioner så att resultat åter blir en funktion kan göras på många olika sätt. Exempelvis kan vi addera funktionerna, (2.8), eller multiplicera funktionerna, (2.10). Vi ska nu definiera en specifik kombination av två funktioner, f (t) och g(t), så att resultatet åter blir en funktion h(t): h(t) = Z ∞ f (t − τ) g(τ) dτ. (3.60) −∞ Denna kombination kallas faltning3 mellan f och g, och betecknas f ∗ g: h(t) = ( f ∗ g)(t). (3.61) Om vi gör variabelsubstitutionen r = t − τ och sätter in det i (3.60) får vi h(t) = − Z −∞ f (r) g(t − r) dr = Z ∞ ∞ g(t − r) f (r) dr = (g ∗ f )(t). (3.62) −∞ Slutsatsen är att f ∗ g = g ∗ f, (3.63) dvs. det spelar ingen roll i vilken ordning de två funktionerna faltas, resultatet blir samma funktion. Faltning har även en annan viktig egenskap: den associativ. Det betyder att om vi först två funktioner, f och g, och sedan tar resultatet och faltar det med funktionen h så blir det samma sak som att falta f med faltningen mellan g och h: ( f ∗ g) ∗ h = f ∗ (g ∗ h). (3.64) Beviset lämnas som en övning. Notera att associativiteten tillsammans med att faltning är kommutativ innebär: 8 Faltning mellan två eller flera funktioner kan ske i godtycklig ordnig, resultatet blir alltid detsamma. 3 Engelska: convolution. 46 3.7.1 Tillämpning på LTI-system Givet att vi nu har definierat operationen faltning, ger en noggrannare granskning av (3.57) att ett LTI-system H med impulssvaret h(t) genererar en utsignal y(t) enligt: y(t) = H{x(t)} = (x ∗ h)(t) = (h ∗ x)(t). (3.65) 9 Ett LTI-system med impulssvaret h(t) ger en utsignal som är faltningen mellan insignal och impulssvar. Impulssvar för ett kaskadkopplat LTI-system Låt B1 och H2 vara två LTI-system, med impulssvaren h1 (t) respektive h2 (t), och låt H3 = H2 H1 vara kaskadkopplingen av dessa två system, enligt figur 2.1. Impulssvaret för det första systemet ges då av H1 {δ(t)} = h1 (t). (3.66) Impulssvaret för det kaskadkopplade systemet H3 får vi om vi tar h3 som insignal till H2 och tittar på motsvarande utsignal: H2 {h1 (t)} = (h2 ∗ h1 )(t) (3.67) Vi sammanfattar det resultat med: 10 Impulssvaret för ett system som kaskadkopplar två LTI-system, med impulssvaren h1 respektive h2 , ges av h1 ∗ h2 = h2 ∗ h1 . LTI-system kommuterar I observation 4 på sidan 42 sade vi att alla LTI-system kommuterar, dvs. om H1 och H2 är två godtyckliga LTIsystem då är H1 H2 = H2 H1 . Vi har nu tillräckligt på fötterna för att visa detta påstående. Det följer direkt av att varje LTI-system genererar sin utsignal genom en faltning med dess impulssvar och att faltning är en kommutativ operation. Impulssvar för en linjärkombination av LTI-system Låt B1 och H2 vara två LTI-system, med impulssvaren h1 (t) respektive h2 (t), och låt H3 = a1 H1 + a2 H3 vara en linjärkombination av de två systemen. Impulssvaret för H3 ges då av H3 {δ(t)} = a1 H1 {δ(t)} + a2 H2 {δ(t)} = a1 h1 (t) + a2 h2 (t) (3.68) Detta resultat kan sammanfattas som: 11 En linjärkombination av LTI-system har ett impulssvar som är samma linjärkombination av respektive impulssvar. 3.8 Kausala system Impulssvaret för ett LTI-system är en funktion h(t) som, i princip, kan vara en godtycklig funktion. Men vi har även sagt att det finns ett kausalitetssamband som innebär att det är insignalen och hur den varierar över tiden som är orsaken till de variationer vi ser i utsignalen. För ett system som vi kan observera eller konstruera i verkligheten måste gälla att utsignalens värde vid tiden t endast kan bero av insignalens värden fram till och med t, men inte 47 y(t) x(t) Figur 3.7: En gunga kan ses som ett system med insignalen x(t) i form av det vridmoment som tillförs av den som gungar och utsignalen y(t) som är gungans vinkel mot vertikallinjen. senare tidpunkter. Ett system som har denna egenskap kallar vi för ett kausalt system och i motsatta fallet är det fråga om ett icke-kausalt system. I fallet med ett LTI-system, med impulssvar h(t), måste gälla att h(t) = 0, för alla t < 0 (3.69) för ett kausalt system. Om nu alla verkliga system är kausala kan det ju vara på sin plats att fundera över varför detta begrepp över huvud taget behöver nämnas? Vi har sagt att impulssvaret för ett LTI-system är en modell av systemet, dvs. vi kan välja olika typer av LTIsystem genom att välja deras impulssvar på olika sätt. Kausalitetsvillkoret innebär emellertid att vi inte kan välja impulssvaret helt godtyckligt, det måste uppfylla (3.69). Motsvarande villkor gäller även för stegsvaret. Vi kommer senare att introducera andra, relaterade, systemmodeller och även dessa påverkas av kausalitetsvillkoret i (3.69). Däremot finns det inget som hindrar att vi teoretiskt kan analysera system som är icke-kausala. Som exempel kan vi studera icke-kausala system för vilka h(t) = 0, för alla t < t0 < 0. (3.70) Ett sådan system kan enkelt göras kausalt genom att låta fördröja insignalen innan den matas in i systemet som har impulssvaret h(t) enligt (3.70). Detta kaskadkopplade system blir då kausalt och går att realisera i praktiken. 12 Alla verkliga system är kausala. Icke-kausala system kan enbart undersökas teoretiskt. 3.9 Stabila system Ett väl fungerande system utmärks ofta, men inte alltid, av att insignaler som på något sätt är begränsade genererar utsignaler som även de är begränsade. Ett system som inte har denna egenskap skulle kunna gå sönder eller generera utsignaler som inte är användbara även för normalt förekommande insignaler. Ett exempel är en vanlig gunga i en lekpark, som för enkelhets skull kan antas vara upphängd med en helt stel kedja i en balk ovanför gungan. Det kan ses som ett mekaniskt system vars utsignal y(t) är kedjans vinkeln mot 48 vertikala axeln och med en insignal x(t) i form av det vridmoment den som gungar utsätter gungan för. Se figur 3.7 för en illustration av systemet. Normalt är x(t) en periodisk funktion; genom att hela tiden tillföra lite vridmoment kan vi få gungan att fortsätta gunga fram och tillbaka. Men det spelar roll i vilken takt dessa perioder återkommer. Om periodtiden är för lång kommer gungan visserligen att rör sig fram och tillbaka men med relativt litet utslag. På samma sätt är det om vi försöker tillföra vridmoment med mycket kort periodtid: gungan gör snabba rörelser fram och tillbaka, men återigen med relativt litet utslag. Men för en specifik periodtid, som beror av längden av kedjan och vikten på den som gungar, kommer gungan att röra sig relativt lätt fram och tillbaka och vid varje nytt tillskott av vridmoment ge större och större utslag y(t). Om denna process får hålla på tillräckligt länge kan gungan till och med slå över bommen med, möjligen, oönskade konsekvenser för den som gungar. Det fenomen som illustreras ovan i exemplet med gungan kallas resonans och är ett relativt vanligt fenomen i olika typer av system. Resonans kan vara en önskad egenskap men kan även vara problematisk, om systemet eller dess användare utsätts för fara. BIBO-stabilitet Stabilitet för ett system kan definieras på flera olika sätt, men ett enkelt sätt att är säga att systemet är stabilt om alla begränsade insignaler genererar begränsade utsignaler. Ett system med denna egenskap kallas för ett BIBO-stabilt system, där BIBO står för “begränsad-insignal-begränsad-utsignal”. För ett LTI-system med impulssvar h(t) går det att visa att BIBO-stabilitet är ekvivalent med följande villkor: Z ∞ |h(t)| dt < ∞. (3.71) −∞ Det betyder alltså att systemets stabilitetsegenskap är implicit representerad i impulssvaret h(t). Notera att δ(t) inte är en begränsad signal, och därför finns det inget krav att impulssvaret h(t) måste vara en begränsad funktion för ett BIBO-stabilt system. Ett framåtkopplat system, där alla delsystem på alla nivåerna i systemet är framåtkopplade, är alltid stabilt. Det är när system uppvisar återkopplingar som det finns möjlighet till instabilitet. Alla återkopplade system är inte instabila men de kan vara det, beroende på hur de är konstruerade och på val av olika parametrar i systemet. Innan vi går vidare Det bör noteras att instabilitet inte alltid är av ondo. Ett exempel är ett bankkonto som ger ränta, det som illustreras i figur 1.5 på sidan 18. Även om det enbart görs en insättning på kontot efter att det öppnats (en begränsad insignal) kommer räntan göra att så småningom åstadkomma att saldot blir godtyckligt stort bara vi väntar tillräckligt länge. I praktiken kan det naturligtvis diskuteras om det är relevant att vänta 1000-tals år på att saldot ska växa till helt orimliga belopp, men teoretiskt är systemet inte BIBO-stabilt. Ovanstående exempel visar att en teoretisk analys av ett system vad gäller stabilitet bör göras med en viss försiktighet. Även stabila system kan vara problematiska om de uppvisar resonansfenomen som visserligen inte gör att utsignalerna blir obegränsade men ändå tillräckligt stora för att åstadkomma skada. 13 Ofta, men inte alltid, är det önskvärt att ett system är stabilt. 3.10 Exempel Vi ska här bestämma stegsvar och/eller impulssvar för några vanliga typer av LTI-system. 3.10.1 Förstärkare För en förstärkare, (2.13), kan vi direkt bestämma stegssvar och impulssvar: ĥ(t) = H{u(t)} = a u(t), h(t) = H{δ(t)} = a δ(t). Enligt avsnitt 3.6.1 ska h(t) vara derivatan av ĥ(t), vilket stämmer om vi använder oss av (B.27). 49 (3.72) 3.10.2 Fördröjning Samma motsvarande resultat kan tas fram för en fördröjning, som beskrivs av (2.11): ĥ(t) = H{u(t)} = u(t − ∆t), 3.10.3 h(t) = H{δ(t)} = δ(t − ∆t). (3.73) Deriverare När det gäller deriverare blir saken lite mer komplicerad. Vi börjar med stegsvaret, som ges av ĥ(t) = H{u(t)} = d u(t) = /(B.27)/ = δ(t). dt (3.74) Om h(t) är derivatan av ĥ(t) blir alltså impulssvaret något som skulle motsvara derivatan av δ(t). Det går att ge detta koncept en strikt matematisk definition på samma sätt som för δ(t), men det faller utanför denna framställning. Vi nöjer oss därför med att i alla fall stegsvaret är väldefinierat, vilket räcker långt i många fall. 3.10.4 Linjär ODE Ett enkelt exempel på linjär ODE är den som presenteras i avsnitt 2.2.4 där ett system i form av ett vattentorn diskuteras. Systemet har en insignal, x(t) som representerar flödet av vatten ut ur tornets magasin och en utsignal, z(t), som representerar residualvolymen som återstår innan magasinet är fyllt. Vattentornet har ett pump som pumpar in vatten i magasinet och som styrs av ett enkelt reglersystem. In- och utsignal är relaterade enligt (2.37): d z(t) + k z(t) = x(t). dt (3.75) För denna typ av system är det enklast att börja med att bestämma stegsvaret, varför vi nu ska lösa ovanstående differentialekvation för fallet x(t) = u(t) vilket ger lösningen z(t) = ĥ(t) = systemets stegsvar. Generellt löses ekvationen enligt avsnitt A.4.5 i form av en stationär lösning z s (t) = C e−kt (3.76) och en partikulärlösning z p (t), där den senare ska vara av samma typ som x(t). Insignalen är, i princip, en konstant funktion vilket betyder att även z p ska vara en konstant = C p . Men eftersom x(t) = u(t) har en diskontinuitet vid t = 0 måste vi behandla (3.75) som två differentialekvationer, en som ska lösas för t < 0 när x(t) = 0 och en som ska lösas för t > 0 när x(t) = 1. För t < 0 ska z p = C p uppfylla 0 + k C p = 0, dvs. C p = 0. Det betyder att i detta intervall består lösningen z(t) enbart av den stationära lösningen: z(t) = z s (t) = C e−kt . Här kan vi, exempelvis, hänvisa till principen om att ett verkligt system är kausalt, dvs. dess impulssvar och stegsvar är = 0 för t < 0. Det betyder i vårt fall att C = 0 och att z(t) = 0 för t < 0. För t > 0 ska partikulärlösningen istället uppfylla 0 + k C p = 1, vilket get z p (t) = u(t)/k. Den fullständiga lösningen i intervallet t > 0 kan nu formuleras som 1 z(t) = z s (t) + z p (t) = C e−kt + . k Sammanfattningsvis kan den fullständiga lösningen av (3.75) skrivas på formen ! 1 −kt z(t) = +C e u(t), k (3.77) (3.78) där C är en konstant (dvs. beror inte på t) som återstår att bestämma. För att göra det kan vi använda det randvillkor som beskrivs i avsnitt 2.2.4, dvs. att z(0) = 0. Det ger C = −1/k och, slutligen: z(t) = 1 1 − e−kt u(t) = ĥ(t). k Detta stegsvar illustreras i figur 3.8, till vänster. 50 (3.79) 1 1 k t t 0 0 Figur 3.8: Vänster: Stegsvaret ĥ(t) för ODE:n som beskriver återstående vattenvolymen innan vattentornet som beskrivs i avsnitt 2.2.4 är fyllt. Höger: Motsvarande impulssvar h(t). Nu när systemets stegsvar ĥ(t) är bestämt, (3.79), kan vi även ta fram systemets impulssvar h(t) genom att tidsderivera ĥ(t). Återigen måste vi då ta hänsyn till att ĥ(t) består av två “delar”, en del i intervallet t < 0 och en del i intervallet t > 0. I det första intervallet blir derivatan = 0. Återstår att bestämma h(t) för t > 0: d ĥ(t) = e−kt . dt (3.80) d ĥ(t) = e−kt u(t). dt (3.81) h(t) = Sammanfattningsvis, för alla t, kan h(t) skrivas h(t) = Detta impulssvar illustreras i figur 3.8, till höger. En kommentar De stegsvar och impulssvar som har bestämts här förutsätter att k , 0. Om k = 0 innebär (3.75) inget annat än att derivatan av utsignalen z(t) är lika med insignalen x(t), dvs. systemet är en integrator. Vidare måste vi för ett verkligt system anta att k > 0, eftersom k < 0 innebär att både ĥ och h är obegränsat växande funktioner, vilket innebär instabila system. 14 En linjär ODE av typen (3.75) kan vara beskrivningen av ett verkligt system endast om k > 0. Dessa resultat säger något om hur det system som vattentornet utgör kommer att fungera i en verklig situation. Om vi antar att tornets magasin är fyllt vid t = 0 och att fram tills dess är x(t) = 0, och att det just då, vid t = 0, uppstår en konstant efterfrågan på vatten i nätet motsvarande flödet ∆x så motsvarar det att systemets insignal är x(t) = ∆x u(t). Motsvarande utsignal blir då H{∆x u(t)} = ∆x ĥ(t) = ∆x 1 − e−kt . k (3.82) Eftersom z(t) representerar den volym som saknas i magasinet innan det är fullt innebär (3.82) att vid t = 0 sjunker volymen exponentiellt avtagande mot ymax − ∆x k . Denna observation är viktigt för den som konstruerar vattentornet. ∆x motsvarar den största förväntade vattenförbrukningen som förväntas inträffa i nätet, en parameter som konstruktören måste känna till. Vidare är det ∆x önskvärt att vattenmagasinet inte töms, dvs. att ymax − ∆x k > 0. Det betyder att vi måste välja k > ymax . Vidare innebär ovanstående att vid ett flöde på x(t) = ∆x u(t) ut ur magasinet kommer det att fyllas på av pumpen, men inte så att det blir fyllt utan så att det inflöde och utflöde exakt balanserar varandra när den återstående 51 volymen är ∆x/k. För att inte magasinet ska tömmas måste då ∆x/k < ymax = den maximala volymen magasinet har när det är fyllt. Det ger ett villkor på konstanten k: ∆x . ymax k> (3.83) Det innebär att den som konstruerar vattentornet måste känna den största möjliga vattenflödet ut i nätet = ∆x och välja k enligt (3.83), gärna med en god säkerhetsmarginal så att vattentornet inte riskerar att tömmas. Konstanten k I vårt exempel är z(t) en fysikalisk storhet i form av en volym, vilket betyder att tidsderivata av z(t) är ett flöde: volym/tidsenhet. Om vi tittar i den systembeskrivande ekvationen (3.75) så måste då även termen kz(t), som adderas till tidsderivatan, ha dimensionen “volym/tid”. Konsekvensen av det är att konstanten k har dimensionen 1/tid eller, ekvivalent, 1/k har dimensionen “tid”. För ett system med systembeskrivande ekvationen (3.75) kallas 1/k för systemets tidskonstant. Tidskonstanten anger hur snabbt stegsvaret når upp till nivån 1/k eller hur snabbt impulssvaret går ned mot noll, ju mindre tidskonstant desto snabbare system. 15 Ett system med en systembeskrivande ekvation i form av en linjär ODE av första ordingen, (3.75), har en tidskonstant 1/k som anger hur snabbt systemet är. 3.11 Tidsdiskreta LTI-system Så här långt i detta kapitel har vi enbart undersöka tidskontinuerliga signaler och system. Givet att diverse begrepp har blivit definierade för det tidskontinuerliga fallet är det rättframt att göra detsamma även för tidsdiskreta system. Linjärt tidsdiskret system Ett tidsdiskret H system är linjärt om H{α1 s1 [k] + . . . + αn sn [k]} = α1 H{s1 [k]} + . . . + αn H{sn [k]} (3.84) för alla signaler s1 , s2 ∈ S och skalärer α1 , α2 ∈ R. Detta är helt analogt med det tidskontinuerliga fallet. Tidsinvariant tidsdiskret system Begreppet tidsinvariant och tidsdiskret system skiljer sig från det tidskontinuerliga fallet i en liten detalj. Ett tidsdiskret system H är tidsinvariant om y[k] = H{x[k]} ⇒ y[k − ∆k] = H{x[k − ∆k]} (3.85) för alla x[k] ∈ S och alla heltal ∆k. Det betyder alltså att tidsinvarians i det tidsdiskreta fallet enbart handlar om fördröjningar i variabeln k som är heltal. Tidsdiskret LTI-system Ett tidsdiskret LTI-system är både linjärt och tidsinvariant, helt analogt med det tidskontinuerliga fallet. 3.11.1 Faltning Faltning mellan två tidsdiskreta funktioner f och g definieras som h[k] = ∞ X f [k − l] g[l], l=−∞ 52 (3.86) och betecknas som h[l] = ( f ∗ g)[k]. (3.87) På samma sätt som i det tidskontinuerliga fallet kan vi, med lämplig variabelsubstitution, enkelt visa att f ∗g=g∗ f (3.88) även i det tidsdiskreta fallet. 3.11.2 Impulssvar Helt analogt med det tidskontinuerliga fallet: ett tidsdiskret LTI-system H har ett impulssvar h[k]: h[k] = H{δ[k]}. (3.89) Denna definition leder direkt fram till den tidsdiskreta motsvarigheten av (3.57). Antag att H är ett tidsdiskret system med impulssvaret h[k], och att x[k] är en insignal med utsignal y[k]: ∞ X y[k] = H{x[k]} = H δ[k − l] x[l] = l=−∞ = ∞ X H{δ[k − l]} x[l] = l=−∞ ∞ X h[k − l] x[l]. (3.90) l=−∞ På samma sätt som i det tidskontinuerliga fallet är alltså impulssvaret h[k] viktigt om vi vill veta hur systemet genererar en utsignal från insignalen. Med hjälp av faltningsoperationen kan (3.90) formuleras som y[k] = (h ∗ x)[k] = (x ∗ h)[k], (3.91) helt analogt med det tidskontinuerliga fallet. Även i det tidsdiskreta fallet bör vi begränsa valet av impulsfunktion för ett system så att summan i högerledet av (3.90) ger en väldefinierad utsignal y[k] för alla insignaler x[k] ∈ S. 3.12 Innan vi går vidare Några reflektioner värda att ta i beaktande innan vi går vidare. 3.12.1 I praktiken Även om den ideala impulsfunktionen δ(t) känns som ett abstrakt koncept, möjligen också u(t), så är varken stegsvaret ĥ(t) eller impulssvaret h(t) abstraktioner, de kan ofta bestämmas eller åtminstone approximeras med rimlig noggrannhet för varje LTI-system. Stegsvaret erhålls på det sätt som beskrivits tidigare: genom att göra en momentan förändring ∆x av en i övrigt konstant insignal och observera responsen i utsignalen. Den förändring vi då ser är stegsvaret ĥ(t) multiplicerad med ∆x. På motsvarande sätt kan en mycket kort puls skickas in i systemet, exempelvis t ∆x · rect (3.92) ∆t som har arean A = ∆x · ∆t. Systemets respons för denna puls är approximativt dess impulssvar h(t) multiplicerad med A. Approximationen blir bättre ju mindre pulsens tidsuträckning b är. Det betyder att både ĥ och h kan skattas för ett LTI-system, kanske inte i form av ett matematiskt uttryck för respektive funktion, men i alla fall i form av en funktionsgraf på ett begränsat tidsintervall. I det tidsdiskreta fallet går det att definiera en motsvarighet till enhetssteget u(t), men den har mindre praktisk nytta varför vi hoppar över den här. Däremot kan impulssvaret h[k] för ett tidsdiskret system skattas på liknande sätt som ovan: en impuls δ[k] skickas in i systemet och utsignalen är h[k]. 53 3.12.2 Tidsinvarians Tidigare har vi pekat på att det finns flera exempel på enkla system som är tidsinvarianta, men i sig är det kanske inte är skäl nog till att bry sig om detta begrepp. Tidsinvarians har emellertid en mycket viktigt egenskap för ett system, som vi har berört tidigare: att den operation som systemet utför på insignalen inte är tidsberoende. En konsekvens av tidsinvarians är att det inte spelar någon roll vilken tidpunkt som ansätts som t = 0, den kan vara vilken fix tidpunkt som helst och vi till och med tillåta oss att vid behov flytta denna tidpunkt hur vi vill, bara det görs på ett konsekvent sätt. Om vi flyttar en impuls eller ett steg i insignalen, genom en tidsfördröjning ∆t, är det enda som händer utsignalen att motsvarande impuls eller stegsvar fördröjs lika mycket: ∆t. Så är inte fallet om systemet är tidsvariant; då måste vi bestämma en viss tidpunkt som t = 0 och sedan hålla fast vi detta för att kunna beskriva hur utsignalen beror av insignalen. 54 Kapitel 4 Cosinusfunktioner I kapitel 3 har vi dels definierat vad LTI-system är, illustrerat med några exempel och även visat några egenskaper som dessa system har. I detta kapitel ska vi först definiera en specifik klass av funktioner, cosinusfunktioner, och sedan se att de har en mycket speciell relation till LTI-system. Detta kan i sin tur användas för att ge en alternativ beskrivning av vad ett LTI-system gör med sin insignal, en systemmodell. 4.1 Definition av cosinusfunktioner De funktioner vi är intresserad av i denna berättelse är främst funktioner av tiden t. I det sammanhanget är en cosinusfunktion varje funktion som går att skriva på formen A cos(ωt + φ), (4.1) där A, ω och φ är konstanter (oberoende av t). Det betyder alltså att vi inte enbart menar funktionen cos t, utan även andra men nära relaterade funktioner. Notera att argumentet till trigonometriska funktioner alltid är en vinkel mätt i radianer. Konstanten A anger cosinusfunktionens amplitud, dvs. hur “högt” respektive “lågt” från 0 som funktionen varierar. Konstanten ω anger hur snabbt cosinusfunktionen varierar, dess vinkelfrekvens, och mäts i radianer per sekund, ju större ω är desto snabbare oscillerar cosinusfunktionen och tvärtom. Konstanten φ, slutligen, anger vilken vinkel argumentet till cosinusfunktionen har vid t = 0. Den konstant kallas cosinusfunktionens fas och kan ses som en slags tidsfördröjning av funktionen cosinus, mätt som en vinkel (radianer). Sammanfattningsvis: för att ange en specifik cosinusfunktion behöver vi ange de tre parametrarna amplitud A, vinkelfrekvens ω och fas φ. En cosinusfunktion är periodisk, med periodtiden T0 = 2π , ω (4.2) eftersom T 0 är det minsta som uppfyller A cos ω (t + k T 0 ) + φ , för alla k ∈ Z. (4.3) Ett tredje sätt att ange hur snabbt en cosinusfunktion varierar är att ange dess frekvens; hur många perioder per tidsenhet den varierar med. Enheten för frekvens är Hertz, motsvarande 1/sekund eller “cykler per sekund”. Frekvens betecknas med f och är inversen av T 0 . För att specificera en viss cosinusfunktion kan vi ange dess vinkelfrekvens, med det går alltså lika bra med frekvensen f , eller periodtiden T 0 . De tre parametrarna beror av vandra enligt följande: ω 1 2π 2π 1 = , T0 = = , ω= = 2 π f. (4.4) f = T 0 2π f ω T0 Uttrycket för en cosinusfunktion i (4.1) kan skrivas om som A cos(ωt + φ) = A cos(ω(t + φ/ω) ). |{z} :=−∆t 55 (4.5) A cos(ω t + φ) A t ∆t T0 Figur 4.1: En cosinussignal med amplituden A, en vinkelfrekvens ω som motsvarar en periodtid på T 0 , och en fas φ som motsvarar en tidsfördröjning ∆t. Det betyder, som antyddes ovan, att en generell cosinusfunktion med fasen φ motsvarar en tidsfördröjning på ∆t = − φ φ φ T0 =− =− . ω 2π f 2π (4.6) Vi kan alltså översätta fasvinkeln φ till en tidsförskjutning ∆t om vi känner cosinusfunktionens frekvens eller periodtid. Se figur 4.1 för en illustration av de olika parametrarna som diskuterats här. En kommentar Notera att tidsförskjutning och fas anges med motsatt tecken. Det betyder alltså att en liten ökning av φ motsvarar en liten minskning av tidsfördröjningen ∆t. Alternativt: när funktionskurvan för cosinusfunktionen i figur 4.1 flyttas åt höger motsvarar det att ∆t ökar och φ minskar. Från det kända trigonometriska sambandet sin α = cos α − π2 , (A.20), kan vi dra slutsatsen att π . (4.7) A sin(ωt + φ) = A cos ωt + φ − 2 Det betyder alltså att bland mängden av cosinusfunktioner hittar vi även “sinusfunktioner”; de skiljer sig åt endast med en fasförskjutning på π2 radianer. Vi skulle alltså lika gärna kunna kalla de funktioner som definieras i (4.1) för “sinusfunktioner” eller “cosinus- och sinusfunktioner”. Här väljer vi att kalla hela denna klass för enbart cosinusfunktioner. 4.1.1 Innan vi fortsätter Eftersom cosinusfunktioner är periodiska är fasen alltid obestämd vad gäller multiplar av 2 π, dvs. fasen φ och φ + 2 π k anger samma cosinusfunktion när k ∈ Z. Det är brukligt att begränsa fasen till intervallet 0 ≤ φ < 2 π, men andra intervall eller till och med en extra term 2 π k på fasen är också vanliga sätt att ange dess värde. För tillfället antar vi att amplituden A ≥ 0, där A = 0 motsvarar den konstanta funktionen som är = 0 för alla t. I detta fall är vinkelfrekvensen och fasen godtyckliga. Vi antar även att ω ≥ 0, där ω = 0 motsvarar en cosinusfunktion med det konstanta värdet A cos φ. I det här fallet är det brukligt att sätta φ = 0 om det konstanta värdet är positivt (= A) och φ = π om det konstanta värdet är negativt (= −A). 4.2 Cosinus in - cosinus ut Cosinusfunktioner har en speciell egenskapen i förhållande till LTI-system: om insignalen är en cosinusfunktion med amplitud A, vinkelfrekvens ω och fas φ är även utsignalen en cosinusfunktion med samma vinkelfrekvens ω 56 men, i den generella fallet, med annan amplitud och annan fas. För att se detta sätter vi först insignalen till x(t) = cos(ωt) och bestämmer utsignalen y(t) för en godtyckligt LTI-system H: y(t) = H{x(t)} = H{cos(ωt)} (4.8) Det vi vill göra nu är att bestämma ett uttryck för y(t) och för att göra det kan först bestämma dess tidsderivata: ( ) d d y(t) = /(3.49)/ = H cos(ωt) = −ω H {sin(ωt)} , (4.9) dt dt liksom andraderivatan: d2 y(t) = −ω2 H {cos(ωt)} = −ω2 y(t). dt2 Detta kan sammanfattas med: utsignalen y(t) är en lösning till följande ODE av andra ordningen: d2 y(t) + ω2 y(t) = 0. dt2 (4.10) (4.11) Lösningen till (4.11) kan skrivas på formen y(t) = D cos(ωt + ψ), (4.12) där D och ψ är två parametrar som på något sätt behöver bestämmas. Innan vi gör det kan vi konstatera att även utsignalen y(t) är en cosinusfunktion, men det finns ingenting i hur vi har tagit fram y(t) som säger att den måste ha samma amplitud eller fas som insignalen x(t). Däremot ska den ha samma vinkelfrekvens som insignalen! En annan viktig observation i sammanhanget är att när vi löser (4.11) behöver vi enbart anta att utsignalens amplitud och fas, D respektive ψ, inte beror av t. Vidare finns det inget i lösningen (4.12) som antyder att B och ψ måste vara oberoende av ω. Därför antar vi att både amplituden och fasen för utsignalen beror ω, insignalens vinkelfrekvens: y(t) = D(ω) cos(ωt + ψ(ω)). (4.13) En kommentar Detta resultat kan motiveras så här. Antag att insignalen har en viss vinkelfrekvens ω = ω1 och vi löser (4.11) för detta fall, det ger en lösning enligt (4.12). Om vi nu matar in en annan cosinussignal, med vinkelfrekvens ω = ω2 kan vi lösa (4.11) för detta nya fall och återigen är lösningen på formen (4.12). Dessa två fall löser vi oberoende av varandra och det finns inget som tvingar lösningarna att ha samma amplituder och faser. Den amplitud och fas som cosinusfunktionen i (4.12) får är alltså en funktion av vilken vinkelfrekvens ω som insignalen har. En till kommentar I själva verket beror D och ψ inte bara av ω de beror även av H, dvs. vilket LTI-system vi undersöker. Om vi ska lösa (4.11) för två olika LTI-system finns det inget som tvingar oss att anta att D och ψ måste bli desamma för båda systemen. Vi kommer emellertid inte explicit ange att D och ψ beror av H utan det får vara underförstått. Det vi ska göra nu är att undersöka vilken utsignal en mer generell cosinussignal av typen (4.1) genererar: φ H{A cos(ωt + φ)} = ∆t = − = H{A cos(ω(t − ∆t))} = /LTI/ = A y(t − ∆t) = ω = A D(ω) cos(ω(t − ∆t) + ψ(ω)) = A D(ω) cos(ωt + φ + ψ(ω)). (4.14) Vi kan dra tre slutsatser av detta resultat: 1. Om insignalen är en godtycklig cosinusfunktion med vinkelfrekvensen ω, A cos(ωt + φ), är även utsignalen en cosinusfunktion, med samma vinkelfrekvens ω. 2. Utsignalens amplitud ges av A D(ω), dvs. insignalens amplitud multiplicerad med D(ω). 3. Utsignalens fas ges av φ + ψ(ω), dvs. insignalens fas plus ψ(ω). Detta kallas fasförskjutning: utsignalens fas är förskjuten med ψ(ω) relativt insignalens fas. 57 16 Om ett LTI-system har en insignal i form av en cosinusfunktion, med vinkelfrekvens ω, kommer även utsignalen att vara en cosinusfunktion med vinkelfrekvens ω. Utsignalen kan ha en annan amplitud och fas jämförd med insignalens amplitud och fas. Amplituden och fasen för utsignalen beror både av insignalens vinkelfrekvens och vilket system som är aktuellt. Vi kan även sammanfatta resultaten så här långt som 17 För en cosinussignal A cos(ωt + φ) kan ett LTI-system uppfattas som en förstärkare i kaskad med en fördröjning. Systemet förstärker med faktorn D(ω) och tidsfördröjer med ∆t = − ψ(ω) ω . 4.2.1 Amplitudkarakteristik Funktionen D(ω) anger hur mycket systemet förstärker en cosinussignal med vinkelfrekvens ω. Denna funktion kallas för systemets amplitudkarakteristik. För ett specifikt LTI-system kan vi bestämma dess amplitudkarakteristik genom att mäta dess förstärkning av cosinussignaler med olika vinkelfrekvenser ω. I praktiken kan vi enbart mäta D(ω) för ett ändligt antal olika vinkelfrekvenser så denna metod kan bara erbjuda om en skattning av amplitudkarakteristiken. Om den utförs med många värden på ω som dessutom ligger tillräckligt tätt kan emellertid resultatet ändå vara en användbar beskrivning av amplitudkarakteristiken. 4.2.2 Faskarakteristik Funktionen ψ(ω) anger hur mycket systemet förskjuter fasen för (fasförskjuter) en cosinussignal som har vinkelfrekvensen ω. Denna funktion kallas systemets faskarakteristik. För ett specifikt LTI-system kan vi bestämma dess faskarakteristik genom at mäta fasförskjutningen för cosinussignaler med olika vinkelfrekvenser ω. På samma sätt som för amplitudkarakteristiken handlar det om en skattning av ψ(ω) för ett ändligt antal vinkelfrekvenser. 4.3 Frekvensfunktionen För en specifikt LTI-system är varken amplitud- eller faskarakteristikerna unika. Däremot är kombinationen av amplitud- och faskarakteristik unik för varje distinkt LTI-system, och denna kombination utgör därmed en systemmodell som vi kan använda för at specificera ett visst LTI-system. Hur kan vi kombinera de två karakteristikerna till något som är en unik funktion för varje LTI-system? Det finns flera tänkbara varianter, men vi kommer nu att definiera en funktion som kombinerar de två karakteristikerna på ett mycket specifikt sätt och som kanske inte är uppenbart till någon nytta vid första påseende1 : H(ω) = D(ω) e jψ(ω) . (4.15) Den komplexvärda funktionen H(ω) kallas LTI-systemets frekvensfunktion, och om den är känd kan bestämma amplitud- eller faskarakteristikerna genom D(ω) = |H(ω)|, ψ(ω) = arg H(ω). (4.16) 18 För ett system H som har en väldefinierad amplitud- och faskarakteristik, D(ω) och ψ(ω), motsvarande en frekvensfunktion H(ω), utgör dessa funktioner systemmodeller som entydigt karakteriserar H. 1 Som beskrivs i avsnitt A.3 använder vi här j för att beteckna den imaginära enheten. 58 4.3.1 Från impulssvar till frekvensfunktion Än så länge har amplitud- och faskarakteristikerna respektive frekvensfunktionen beskrivits som funktioner ω, men det har också antytts att de beror av vilket system H som genererar utsignalen. Än så länge har vi emellertid inte presenterar en explicit beskrivning av hur, exempelvis H(ω) beror av H. Det är detta vi ska undersöka nu. Det vi ska göra nu är en alternativ härledning av samma resultat som nyss: att cosinus som insignal ger cosinus som utsignal. Den här gången ska vi emellertid använda systemmodellen att utsignalen för ett LTI-system ges som faltningen mellan dess impulssvar h(t) och insignalen. Vi använder uttrycket i (4.1) som insignal x(t) och får då utsignalen Z ∞ Z ∞ y(t) = H{A cos(ωt + φ)} = A h(τ) cos ω(t − τ) + φ dτ = A h(τ) cos ωt + φ − ω τ dτ = −∞ −∞ Z ∞ =A h(τ) cos(ωt + φ) cos(ω τ) + sin(ωt + φ) sin(ω τ) dτ = −∞ Z Z ∞ ∞ (4.17) h(τ) cos(ω τ) dτ + sin(ωt + φ) h(τ) sin(ω τ) dτ = = A cos(ωt + φ) |−∞ {z } |−∞ {z } :=B(ω) :=−C(ω) = A B(ω) cos(ωt + φ) − C(ω) sin(ωt + φ) Notera att i ovanstående formler är ω, i princip, en konstant som anger vilken frekvens insignalen har. Det betyder att även B och C, i princip, är konstanter men de beror på valet av ω. Om vi för enkelhets skulle bortser från beroende av ω kan vi nu definiera två nya konstanter, som av en händelse betecknas med D och ψ, så att B = D cos ψ, Dessa konstanter ges av D= √ B2 + C 2 , C = D sin ψ. (4.18) ψ = atan2(B, C). (4.19) Här är atan2 den funktion som används för att bestämma argumentet av ett komplext tal som definieras i (B.1). Sätter vi in dessa två nya konstanter i (4.17) får vi y(t) = A D cos ψ cos(ωt + φ) − D sin ψ sin(ωt + φ) = A D cos(ωt + φ + ψ), (4.20) vilket visar att även utsignalen är en cosinussignal, med samma vinkelfrekvens ω som insignalen, med en amplitud som förstärkts med faktorn D och en fas som förskjutits med ψ relativt insignalens amplitud respektive fas. Men det visste vi ju redan! Samtidigt ser vi, om beroendet av ω återigen görs explicit, att Re[H(ω)] = D(ω) cos ψ(ω) = /(4.18)/ = B(ω) = Z ∞ h(τ) cos(ω τ) dτ, −∞ Im[H(ω)] = D(ω) sin ψ(ω) = /(4.18)/ = C(ω) = − Z ∞ h(τ) sin(ω τ) dτ. (4.21) −∞ Det betyder att vi kan bestämma real- och imaginärdelarna i frekvensfunktionen H(ω) via de två integralerna i (4.21). Nu blir det komplext Med ovanstående resultat i bakgrunden kan vi gå ett steg längre och teckna frekvensfunktionen H(ω) direkt som ett uttryck i systemets impulssvar h(t): H(ω) = Re[H(ω)] + j Im[H(ω)] = Z ∞ h(τ) cos(ω τ) − j sin(ω τ) dτ = /Euler/ = −∞ Z ∞ −∞ 59 h(τ) e− j ω τ dτ. (4.22) Detta uttryck ger ett explicit samband mellan systemets impulssvar h(t) och dess frekvensfunktion H(ω), i alla fall åt ena hållet. Notera att medan h(t) är en funktion av tiden är H(ω) en funktion av vinkelfrekvens. 19 Givet ett LTI-system med impulssvaret h(t) kan vi bestämma dess frekvensfunktion H(ω) via (4.21) eller (4.22). Uttrycket som bestämmer H(ω) ur h(t) i (4.22) kallas för fouriertransformen2 av h(t), eller mer specifikt för den tidskontinuerliga fouriertransformen av h(t). En kommentar Notera att det finns ett minustecken i exponenten som står i integralen i (4.22). Minustecknet beror på att fasförskjutning och tidsfördröjning går åt “olika håll”. En kommentar Det går bra att tänka på frekvensfunktionen H(ω) som en komplexvärd funktion bestående av en real- respektive en imaginärdel (B och C) som kan bestämmas från h(t) genom att beräkna de två integralerna i (4.21). På så sätt är det inte nödvändigt att blanda in komplexa storheter i integralerna som bestämmer H(ω). Detta kräver emellertid att två integraler beräknas varje gång H(ω) ska bestämmas. Genom att använda uttrycket i (4.22) behöver endast en integral beräknas, men då ingår komplexvärda funktioner i integralen. Välj själv! En kommentar Ett LTI-system har alltid ett impulssvar h(t), som i princip vara en ganska godtycklig funktion. Alla tänkbara impulssvar h(t) kan emellertid inte stoppas in i (4.22) och ge en väldefinierad funktion H(ω), eftersom integralen inte har ett bestämt värde. Ett exempel är det kausala systemet som har impulssvaret h(t) = u(t)et . En tillräcklig krav för att H(ω) ska existera är att systemet är BIBO-stabilt. Det betyder egentligen att påstående om “cosinus in - cosinus ut” stämmer för BIBO-stabila LTI-system, men inte nödvändigtvis för alla system som inte är BIBO-stabila även om de är LTI. 4.3.2 Från frekvensfunktion till impulssvar Det går även att bestämma impulssvaret h(t) om enbart frekvensfunktionen H(ω) är känd. Vi undersöker följande integral: Z ∞ Z ∞Z ∞ byt plats på jωt H(ω)e dω = /(4.22)/ = h(τ) e− jωτ dτ e jωt dω = integralerna = (4.23) −∞ Z ∞ Z ∞−∞ −∞ Z ∞ = h(τ) e jω(t−τ) dω dτ = /(B.42)/ = 2 π h(τ) δ(t − τ) dτ = (4.24) −∞ −∞ −∞ = /(B.31)/ = 2π h(t), (4.25) vilket leder oss till följande samband: h(t) = 1 2π Z ∞ H(ω)e jωt dω. (4.26) −∞ Uttrycket som bestämmer h(t) ur H(ω) i (4.26) kallas för inversa fouriertransformen av H(ω), eller mer specifikt för den tidskontinuerliga inversa fouriertransformen av H(ω). 20 Givet ett LTI-system med frekvensfunktion H(ω) kan vi bestämma dess impulssvar h(t) via (4.26). En kommentar Sambandet i (4.26) innehåller komplexa storheter. Endast ett begränsat val av frekvensfunktioner H(ω) leder till impulssvar h(t) som är reella och kausala. 2 Efter den franske matematikern Joseph Fourier. 60 4.3.3 Frekvens eller vinkelfrekvens? Så här långt har vi beskrivit cosinussignaler med en specifik vinkelfrekvens ω. Men vi har även sagt att att vinkelfrekvens ω motsvarar “vanligt” frekvens f enligt (4.4). I en teoretisk analys av de slag som vi gör här är det ofta till fördel att uttrycka hur snabbt en cosinussignal varierar med dess vinkelfrekvens ω. Om vi istället använder frekvensen f skulle det hela tiden dyka upp faktorer med 2π i alla uttryck som vi slipper om vinkelfrekvensen används. Å andra sidan är det mer naturligt att använda frekvens i praktiska sammanhang, då vi uttrycket hur många svängningar eller perioder som signalen gör per tidsenhet. En konsekvens av detta är att vi kan behöva använda både vinkelfrekvens ω och vanligt frekvens f för att beskriva en och samma cosinussignal, beroende på om det är en teoretisk diskussion eller en praktiskt. Att då kunna relationerna i (4.4) utantill är i det fallet till stor hjälp! En konsekvens av denna diskussion är att vi ibland kan vara intresserad av att uttrycka amplitud- eller faskarakteristikerna som funktion av vinkelfrekvens ω och ibland som funktion av vanlig frekvens f . Samma sak gäller för frekvensfunktionen. Formellt borde vi då definiera två olika frekvensfunktioner, en som funktion av vinkelfrekvens och en som funktion av vanlig frekvens. I praktiken blir det lite praktiskt och istället tummar vi lite på matematisk stringens genom att helt enkelt använda H(ω) för att beteckna en frekvensfunktion som beror av vinkelfrekvens ω, och H( f ) för att beteckna en frekvensfunktion som beror av vanlig frekvens f . Den senare motsvarar egentligen H(2π f ), där H(ω) är ω = 2π f . Det betyder att, formellt, är H(ω) och H( f ) två olika men relaterade funktioner. 4.3.4 Kaskadkopplade system Om vi har två olika LTI-system,H1 och H2 , med varsin frekvensfunktion, H1 (ω) och H2 (ω), kan vi ibland vara intresserade av att bestämma frekvensfunktionen för det kaskadkopplade systemet H2 H1 , som ju även det är ett LTI-system enligt observation 3 på sidan 42. Vi sätter H1 (ω) = D1 (ω) e j ψ1 (ω) , H2 (ω) = D2 (ω) e j ψ2 (ω) , (4.27) där D1 , D2 är amplitudkarakteristikerna för respektive system och ψ1 , ψ2 är faskarakteristikerna för respektive system. På motsvarande sätt sätts frekvensfunktionen för det kaskadkopplade systemet till H3 (ω) = D3 (ω) e j ψ3 (ω) , (4.28) där D3 är amplitudkarakteristiken för H3 och ψ3 är faskarakteristiken för H3 . Det är en enkel övningsuppgift att visa D3 (ω) = D1 (ω) · D2 (ω), ψ3 (ω) = ψ1 (ω) + ψ2 (ω). (4.29) Av detta följer även H3 (ω) = D1 (ω) · D2 (ω) e j ψ1 (ω)+ψ2 (ω) = D1 (ω) e j ψ1 (ω) · D2 (ω) e j ψ2 (ω) = H1 (ω) · H2 (ω). (4.30) Sammanfattningsvis kan vi alltså dra följande slutsats 21 Frekvensfunktionen för två kaskadkopplade LTI-system är produkten av de två systemens frekvensfunktioner. Eftersom produkt mellan två funktioner kommuterar följer även att LTI-system kommuterar i en kaskadkoppling, men det visste vi ju redan. 4.3.5 Linjärkombinationer av system Låt H1 och H2 vara två LTI-system, med frekvensfunktionerna H1 (ω) respektive H2 (ω). Eftersom de är LTI-system har de även varsitt impulssvar: h1 (t) respektive h2 (t) som, i enlighet med (4.22), uppfyller sambanden Z ∞ Z ∞ H1 (ω) = h1 (τ) e− j ω τ dτ, H2 (ω) = h2 (τ) e− j ω τ dτ. (4.31) −∞ −∞ 61 Vi ska nu försöka bestämma frekvensfunktionen för det LTI-system som är en linjärkombination av H1 och H2 , H3 = a1 H1 + a2 H2 . Från observation 11 på sidan 47 vet vi att impulssvaret för H3 ges av h3 (t) = a1 h1 (t) + a2 h2 (t). Dess frekvensfunktion kan då uttryckas som Z ∞ Z ∞ H3 (ω) = h3 (t)e− jωt dt = a1 h1 (t) + a2 h2 (t) e− jωt dt = (4.32) −∞ −∞ Z ∞ Z ∞ = a1 h1 (t) e− jωt dt + a2 h2 (t) e− jωt dt = a1 H1 (ω) + a2 H2 (ω). (4.33) −∞ −∞ Detta resultat kan sammanfattas som: 22 En linjärkombination av LTI-system har en frekvensfunktion som är samma linjärkombination av respektive frekvensfunktioner. 4.3.6 Det inversa systemet Antag att H är ett LTI-system som genererar utsignalen y(t) från insignalen x(t): y(t) = H{x(t)}, (4.34) och att H har frekvensfunktionen H(ω). Vi skulle då kunna fråga oss: vilket system kan ta y(t) som insignal och återskapa x(t) ur denna? Ett sådant system kallas det inversa systemet till H och betecknas med H −1 . Om ett sådant system existerar så ska gälla att kaskadkopplingen H −1 H är ett system som genererar utsignalen x(t) från insignalen x(t): H −1 H {x(t)} = x(t). (4.35) Eftersom kaskadkoppling av två LTI-system ger en frekvensfunktion som är produkten av systemens frekvensfunktioner innebär det att H −1 måste ha en frekvensfunktion som ges av 1/H(omega) för att (4.35) ska gälla för godtyckliga insignaler x(t). Av detta kan vi även dra slutsatsen att det inversa systemet inte alltid existerar. Om H−1 existerar finns ett motsvarande impulssvar hinv som ger Z ∞ 1 = hinv (t) e− jωt dt, (4.36) H(ω) −∞ men för varje väldefinierad H(ω) är det inte säkert att hinv existerar, i alla fall inte som en väldefinierad funktion. I det fallet kan inte heller H −1 existera som ett väldefinierat system. 23 Inversen till ett LTI-system med frekvensfunktionen H(ω) existerar ibland, men ibland inte. Om inversen existerar ges dess frekvensfunktion av 1/H(ω). 4.3.7 Exempel på frekvensfunktioner Frekvensfunktionen kan ofta bestämmas för de flesta av de LTI-system som har nämnts och kommer att nämnas i denna framställning. I detta avsnitt ska vi titta på några exempel och se hur motsvarande frekvensfunktion bestäms. Förstärkare Om vi skickar in signalen x(t) = A cos(ωt + φ) till en förstärkare, som beskrivs med systemoperatorn i (2.13), blir den resulterande utsignalen y(t) = a A cos(ωt + φ). (4.37) Det betyder att cosinussignalen har förstärkts med faktorn a, men inte ändrat sin fas. Det ger D(ω) = a och ψ(ω) = 0, vilket motsvarar frekvensfunktionen H(ω) = a e j·0 = a. 62 (4.38) Notera att en förstärkare med tidsvariabel förstärkning inte är LTI, specifikt är den inte tidsinvariant, och därför inte heller har en frekvensfunktion. Tidsfördröjning På motsvarande sätt kan vi skicka in en cosinussignal i en fördröjning, som fördröjer med ∆t: H{A cos(ωt + φ)} = A cos ω(t − ∆t) + φ = A cos(ωt + φ − ω∆t). (4.39) Det betyder att cosinussignalen har förstärkts med faktorn 1 och fasförskjuts med −ω ∆t. Det ger D(ω) = 1 och ψ(ω) = −ω ∆t, vilket motsvarar frekvensfunktionen H(ω) = e− jω∆t . (4.40) Notera minustecknet i exponenten som, återigen, beror på att tidsfördröjning och fasförskjutning går åt “motsatt håll”. Deriverare För en deriverare får vi H{A cos(ωt + φ)} = π d A cos ωt + φ = −ω A sin(ωt + φ) = ω A cos ωt + φ + . dt 2 (4.41) Det betyder att cosinussignalen har förstärkts med faktorn ω och fasförskjuts med − π2 . Det ger D(ω) = ω och ψ(ω) = − π2 , vilket motsvarar frekvensfunktionen π H(ω) = ω e j 2 = jω. (4.42) En konsekvens av detta resultat är att ett system som deriverar två gånger, vilket kan ses som en kaskadkoppling av två deriverare, har en frekvensfunktion som ges av (− jω)2 = −ω2 . (4.43) Linjära ODE:er Vi ska nu ta oss an ett lite mer komplicerat exempel i form av linjära ODE:er, där ett enkel exempel ges av det system H som beskrivs av följande linjära ODE: d z(t) + k z(t) = x(t). dt (4.44) Detta system studerade vi i exemplet med ett vattentornet i avsnitt 2.2.4, där x(t) är systemets insignal i form av vattenflödet ut ur vattentornen och in i vattennätet och z(t) är residualvolymen som återstår i tornet innan det är fyllt. Vattentornet har en pump som styrs av ett enkelt reglersystem, vilket leder till ett samband mellan in- och utsignal enligt (2.37). Vi har redan bestämt impulssvaret h(t) för detta system, (3.81), och skulle vi kunna bestämma dess frekvensfunktion H(ω) mha. (4.22), men vi ska istället använda en lite mer indirekt metod som i detta fall är något enklare. En närmare undersökning av (4.44) ger vid handen att x(t) kan skrivas som en summa (linjärkombination) av en derivering respektive en förstärkning med k av z(t). Med stöd av observation 23 på sidan 62 kan vi då skriva frekvensfunktionen för det inversa systemet H −1 , som återskapar x(t) från z(t), som 1 = jω + k, H(ω) ⇒ H(ω) = 1 . jω + k (4.45) Vi kan även använda (4.22), med h(t) = e−kt u(t): H(ω) = Z ∞ −∞ e−kt u(t) e− jωt dt = Z ∞ " e−( jω+k)t dt = 0 63 e−( jω+k)t −( jω + k) #t=∞ = /k > 0/ = t=0 1 . jω + k (4.46) 0 1/k 0 π 2 ω ω Figur 4.2: Vänster: amplitudkarakteristiken D(ω) för det system som beskrivs av ODE:n i (4.44). Höger: motsvarande faskarakteristik ψ(ω). Detta är samma uttryck för H(ω) som i (4.45). Notera att vi måste göra antagandet k > 0 för att erhålla detta resultat, vilket är i enlighet med diskussionen i avsnitt 3.10.4. Givet att frekvensfunktionen H(ω) för systemet är bestämd kan vi enkelt ta fram även amplitud- och faskarakteristikerna: D(ω) = |H(ω)| = 1 1 = √ , 2 | jω + k| ω + k2 ω ψ(ω) = arg H(ω) = − arg( jω + k) = − tan−1 . k (4.47) De två karakteristikerna illustreras i figur 4.2. Här ser vi att systemet som vattentornet utgör förstärker cosinussignaler som har låga frekvenser, nära ω = 0, med faktorn 1/k och fasförskjuter nästan ingenting. Ju högre frekvensen blir desto mindre blir förstärkningen och för mycket höga frekvenser kommer cosinussignalen att dämpas nästan helt. Samtidigt ändras fasförskjutningen mot − π2 . Den amplitudkarakteristik som uppvisas av systemet överensstämmer med systemets generella beskrivning i avsnitt 2.2.4. Det reglersystem som styr vattentornets pump ska inte reagera på snabba förändringar i vattenförbrukningen, dvs. höga frekvenser. Däremot långsamma förändringar, exempelvis över ett dygn, ska återspeglas i pumpens arbete. 4.4 Generella signaler I detta kapitel har vi inledningsvis fokuserat på cosinussignaler. En rimlig fråga är då: varför skulle dessa signaler vara intressanta? Ett system kan ju ha alla möjliga sorters insignaler som inte nödvändigtvis är av typen cosinus. Låt oss se vad vi kan göra med två cosinussignaler, lite mer specifikt med linjärkombinationer av två cosinussignaler. 4.4.1 Linjärkombination av cosinussignaler med samma frekvens Sätt x1 (t) = A1 cos(ωt + φ1 ), x2 (t) = A2 cos(ωt + φ2 ), (4.48) vilket ger oss två cosinussignaler med samma vinkelfrekvens ω. Kanske kan vi åstadkomma en mer generell signal genom en linjärkombination av de två? Vi provar x3 (t) = α1 x1 (t) + α2 x2 (t) = α1 A1 cos(ωt + φ1 ) + α2 A2 cos(ωt + φ2 ) = = α1 A1 cos(ωt) cos φ1 − α1 A1 sin(ωt) sin φ1 + α2 A2 cos(ωt) cos φ2 − α2 A2 sin(ωt) sin φ2 = = (α1 A1 cos φ1 + α2 A2 cos φ2 ) cos(ωt) − (α1 A1 sin φ1 + α2 A2 sin φ2 ) sin(ωt) = | {z } | {z } =P (beror inte av t eller ω) =Q (beror inte av t eller ω) = P cos(ωt) − Q sin(ωt) = R cos(ωt + γ) 64 (4.49) där R och γ väljs så att R= p P2 + Q2 , γ = atan2(P, Q). (4.50) Sammanfattningsvis betyder det att även x3 är en cosinussignal, med samma frekvens som x1 och x2 , men med en amplitud som ges av R och en fas som ges av γ. Med induktion är det enkelt att visa att vi skulle få samma principiella resultat även om vi undersöker en linjärkombination av tre eller fler cosinussignaler med samma frekvens. 24 En linjärkombination av två eller fler cosinussignaler som alla har samma frekvens ger en ny cosinussignal med samma frekvens som de övriga. Dess amplitud och fas beror av amplituderna och faserna för de ingående cosinusfunktionerna, men inte av deras frekvens. 4.4.2 Linjärkombination av cosinussignaler med olika frekvens Uppenbarligen kan vi inte åstadkomma mer generella signaler med linjärkombinationer av cosinussignaler som alla har samma frekvens. Vi provar därför med två cosinussignaler som har olika frekvens: x1 (t) = cos(ω1 t + φ1 ), x2 (t) = cos(ω2 t + φ2 ), där ω1 , ω2 . (4.51) Här sätter vi amplituderna = 1 eftersom de ändå skalas med skalärerna i linjärkombinationen. Om vi nu sätter x3 (t) = α1 x1 (t) + α2 x2 (t) = α1 cos(ω1 t + φ1 ) + α2 cos(ω2 t + φ2 ), (4.52) så går det inte att skriva om x3 på något enklare sätt. Om α1 och α2 båda är nollskilda är x3 är inte en cosinussignal, utan av mer generell typ. Vi kan nu undersöka vad denna signal ger för utsignal för ett LTI-system med känd amplitud- och faskarakteristik: H{x3 (t)} = H{α1 cos(ω1 t + φ1 ) + α2 cos(ω2 t + φ2 )} = /LTI/ = α1 H{cos(ω1 t + φ1 )} + α2 H{cos(ω2 t + φ2 )} = (4.53) = α1 D(ω1 ) cos(ω1 t + (ψ(ω1 ) + φ1 )) + α2 D(ω2 ) cos(ω2 t + (ψ(ω2 ) + φ2 )). Detta visar att LTI-systemet tar hand om varje term i x3 , i form av en cosinussignal, separat. Varje term får en egen amplitudskalning med B och fasförskjutning med φ, båda beroende på vilken frekvens som respektive cosinussignal har. Med induktion kan vi enkelt generalisera detta resultat. Låt en insignal vara definierad som X x(t) = αn cos(ωn t + φn ), (4.54) n en linjärkombination av ett antal olika cosinussignaler. Här är vi avsiktligt lite vaga vad gäller exakt hur många cosinussignaler som ingår i linjärkombinationen. Det skulle kunna vara ett ändligt eller oändligt antal. Utsignalen för denna insignal blir X y(t) = H{x(t)} = αn D(ωn ) cos(ωn t + (ψ(ωn ) + φn )). (4.55) n I det generella fallet är både in- och utsignal av en typ som inte kan skrivas som en cosinussignal. Ovanstående resultat betyder att för alla signaler som går att skriva på formen x(t) i (4.54), kan vi bestämma deras utsignal enligt (4.55). För att göra det behöver dels känna skalärerna αn och fasförskjutningarna φn för vår insignal, liksom systemets amplitud- och faskarakteristiker. Det som gör ovanstående resultat användbart är följande påstående, som vi emellertid inte visar här: 25 I princip alla signaler x(t) kan unikt skrivas som linjärkombinationer av cosinussignaler, (4.54). Detta påstående är inte formulerat på ett strikt matematiskt sätt, men fångar ändå essensen av vad signalbehandling går ut på: att försöka beskriva de signaler som är aktuella för ett system som linjärkombinationer av 65 cosinussignaler. Om vi kan bestämma hur signalen x(t) delas upp i sina cosinussignaler, dvs. bestämma alla αn och φn , kan vi också enkelt bestämma motsvarande uppdelning av utsignalen y(t) om vi även känner amplitud- och faskarakteristikerna. En kommentar Begreppet “linjärkombination” kan i det generella fallet behöva utökas till oändliga summor, men även till integraler som innehåller cosinusfunktioner. I det fallet kommer (4.54) att skrivas som Z ∞ x(t) = α(ω) cos(ωt − φ(ω)) dω (4.56) 0 Notera att ovanstående uttryck är en linjärkombination som “summerar” över olika frekvenser på liknande sätt som i (4.54). Att varje signal x(t) unikt kan skrivas på formen (4.54) eller (4.56) innebär att x(t) byggs upp som en linjärkombination av cosinusfunktioner, ofta kallade frekvenskomponenter. Det betyder också att x(t) unikt kan “delas upp” i sina frekvenskomponenter, dvs. att det går att bestämma koefficienterna αn och φn för dess olika komponenter med frekvenserna ωn , eller motsvarande i fallet (4.56). 26 Anledningen till att vi kan vara intresserade av att beskriva en godtycklig signal som en linjärkombination av cosinusfuktioner, frekvenskompoenter, är att det är enkelt att beskriva hur varje frekvenskomponent avbildas av ett LTI-system till motsvarande frekvenskomponent i utsignalen. Ett sätt att tänka på detta resultat är att koppla det till diskussionen i avsnitt A.1.4 om baser och koordinater. Eftersom varje signal i signalrummet S kan uttryckas som en linjärkombination av cosinusfunktioner kan vi se dom som en slags bas för S. 4.4.3 Bandbegränsade signaler Givet att en godtycklig signal s(t) kan delas upp i en linjärkombination av cosinussignaler med olika frekvenser så kommer i det generella fallet s(t) att skivas som en summa/integral av cosinusfunktioner av alla möjliga vinkelfrekvenser ω. För en bandbegränsad signal finns en nedre gräns, ω1 , och en övre gräns, ω2 , för vilka frekvenser som dess cosinusfunktioner innehåller: ω1 ≤ ω ≤ ω2 . (4.57) I fallet att ω1 = 0 sägs signalen s(t) vara ω2 -bandbegränsad, dvs. den kan skrivas som en linjärkombination av cosinussignaler med vinkelfrekvenser upp till ω2 . En kommentar Frekvens kan anges antigen i “vanlig frekvens” (enhet Hz eller perioder per sekund) eller i vinkelfrekvens (enhet radianer per sekund). Eftersom de två typerna av frekvens enbart skiljer sig åt med en faktor 2π innebär en begränsning av vinkelfrekvens även en begränsning av frekvens, och tvärtom. I de fall som ett specifik värde på gränserna anges bör det framgå om det avser frekvens eller vinkelfrekvens, om inte annat så av sammanhanget. En till kommentar I många fall spelar det inte så stor roll om en bandbegränsad signal inkluderar eller inte inkluderar gränserna ω1 respektive ω2 i sitt frekvensinnehåll. Begreppet bandbegränsad signal anger därför inte explicit huruvida dessa gränsfrekvenser ingår eller inte. Om det är viktigt att vara specifik ska detta anges. 4.5 Det tidsdiskreta fallet De resultat och exempel som presenterats så här långt i kapitlet har varit tidskontinuerliga och i det här avsnittet ska vi titta på vad som gäller i det tidsdiskreta fallet. Vi börjar med en generell tidskontinuerlig cosinussignal, med vinkelfrekvens ω: x(t) = A cos(ω t + φ), (4.58) 66 som samplas enligt (1.2), där T är tidsintervallet mellan varje sampel, för att ge den tidsdiskreta signalen x[k] = A cos(ω T k + φ). (4.59) Detta uttryck, (4.59), kan ses som den prototypiska cosinussignalen i det tidsdiskreta fallet. Vi ska emellertid strax se att denna beskrivning måste hanteras med en viss försiktighet. Ett tidsdiskret LTI-system kas ses som ett specialfall av ett tidskontinuerligt LTI-system, där linearitet gäller på samma sätt i båda fallen men där tidsinvarians enbart behöver gälla för heltalsmultipler av samplingsintervallet T i det tidsdiskreta fallet, se avsnitt 3.11. Det betyder, i princip, att begreppet “cosinus in - cosinus ut” gäller även för tidsdiskreta system. Alltså kommer ett tidsdiskret system H som får x[k] i (4.59) som insignal att, i princip, generera en utsignal y[k] enligt: y[k] = H{x[k]} = D(ω) A cos ω T k + φ + ψ(ω) . (4.60) Här är D(ω) och ψ(ω) systemets amplitud- respektive faskarakteristiker, på samma sätt som i det tidskontinuerliga fallet. Av dessa kan vi sedan bestämma en frekvensfunktion H(ω) på samma sätt som i det tidskontinuerliga fallet, (4.15). Det finns emellertid några viktiga observationer vi kan göra i det tidsdiskreta fallet och som måste tas hänsyn till för att effektivt kunna hantera cosinussignaler och frekvensfunktioner i det tidsdiskreta fallet: idén om negativa frekvenser, vikning av samplade cosinussignaler och att H(ω) för ett tidsdiskret system är periodisk. 4.5.1 Från impulssvar till frekvensfunktion I avsnitt 4.3.1 visades att för ett tidsdiskret system finns ett enkelt uttryck som bestämmer dess frekvensfunktion från systemets impulssvar, (4.22). Samma utredning för det tidsdiskreta fallet visar att enda skillnaden är att det som i det tidskontinuerliga fallet är en integral över den kontinuerliga tidsvariabeln t istället blir en summa över den diskreta tidsvariabeln k: ∞ X H(ω) = h[k] e− j ω T k . (4.61) k=−∞ I avsnitt 4.5.5 ska vi se att det även finns en invers formel som bestämmer k[k] ur H(ω), men för att visa det behöver vi först några ytterligare resultat. Uttrycket som bestämmer H(ω) ur h[k] i (4.61) kallas för fouriertransformen3 av h[k], eller mer specifikt för den tidsdiskreta fouriertransformen av h[k]. 4.5.2 Finns negativa frekvenser? I början av detta kapitel definierades begreppet cosinussignal för det tidskontinuerliga fallet, för amplitud A, vinkelfrekvens ω och fas φ, (4.1). I samband med detta nämndes att frekvens måste vara noll eller positiv. Detta antagande är egentligen bara nödvändigt om vi vill kunna göra en entydig koppling mellan en cosinussignal och dess fas och frekvens. Den cosinussignal som definieras i (4.1) kan även skrivas A cos(ω t + φ) = A cos(−ω t − φ), (4.62) eftersom cosinus är en jämn funktion. Vi kan sammanfatta detta med: 27 En och samma cosinussignal kan beskrivas med vinkelfrekvensen ω och fasen φ eller med vinkelfrekvensen −ω och fasen −φ. Om det finns behov av att kunna beskriva cosinussignaler med antingen positiva eller negativa frekvenser behöver vi även utöka frekvensfunktionen H(ω) för ett system så att den är väldefinierad för alla ω ∈ R. Sedan tidigare vet vi att H{A cos(ω t + φ)} = D(ω) A cos ω t + φ + ψ(ω) (4.63) 3 Samme gamle Joseph som förra gången! 67 där D och ψ är systemets amplitud- respektive faskarakteristiker, men nu uppstår även möjligheten att H{A cos(ω t + φ)} = H{A cos(−ω t − φ)} = D(−ω) A cos − ω t − φ + ψ(−ω) = = D(−ω) A cos ω t + φ − ψ(−ω) . (4.64) Vi vill att vänsterleden i (4.63) och (4.64) ska vara lika för alla ω, vilket leder oss till slutsatserna: D(−ω) = D(ω), ψ(ω) = −ψ(ω). (4.65) Det betyder alltså att D är en jämn funktion och att ψ är en udda funktion. Sammanfattningsvis leder detta till att frekvensfunktionen har egenskapen H(−ω) = D(−ω) e jψ(−ω) = D(ω) e− jψ(ω) = D(ω) e jψ(ω) = H(ω). (4.66) Här används komplexkonjugering som definieras i avsnitt A.3. Funktioner som har den egenskap som beskrivs i (4.66) kallas Hermiteska funktioner4 , och vi kan sammanfatta denna utredning med att 28 Frekvensfunktionen H(ω) kan utökas till ω ∈ R, men måste vara en Hermitesk funktion. Denna observation gäller både i det tidskontinuerliga och i det tidsdiskreta fallet, även om konsekvenserna är lite mer uppenbara i det senare fallet. Vi ska strax se vad det handlar om. En kommentar Att H(ω) är Hermitesk kan även enkelt härledas ur (4.22) eller (4.61). Oavsett hur vi gör det så krävs egentligen att h(t) är reell för att komma fram till att H(ω) är Hermitesk. Att h(t) är en reellvärd funktion är emellertid ett rimligt antagande för flesta system. 4.5.3 Vikning Eftersom cos-funktioner är periodiska, med perioden 2π, måste gälla att en alternativ representation av x[k] är ! ! 2πn x[k] = A cos(ω T k + φ + 2 π n k) = A cos ω + T k+φ . (4.67) T Här är både k och n heltal. Konsekvensen av detta är att de sampel som genereras lika gärna skulle kunna komma från en cosinus med vinkelfrekvensen ω + 2πn T för godtyckligt n ∈ Z. En tidsdiskret signal kan alltså inte skilja mellan olika cosinussignaler om de har frekvenser som enbart skiljer sig åt med heltalsmultipler av 2Tπ , men samma amplitud och fas. Detta fenomen kallas vikning5 och innebär att vi kan få en entydigt representation av en tidskontinuerlig signal x(t) i form av dess tidsdiskreta version x[k] endast om frekvensen begränsas på något sätt. Den vanligast förekommande begränsningen för att undvika vikning är 0≤ω< π , T (4.68) vilket alltså innebär att x(t) ska vara Tπ -bandbegränsad. Denna bandbegränsning gör att alla signaler x(t) får en unik representation i den tidsdiskreta formen x[k] även med hänsyn taget till att frekvensen för en cosinussignal inte är entydigt bestämd vad gäller tecken. En kommentar Notera att intervallet som valts i (4.68) slutar redan vid Tπ . En signal som har en högre frekvens, 3π 3π π exempelvis 2T kommer vid samplingen att “vikas” ned till frekvensen 2T − 2π T = − 2T . Med hänvisning till obserπ vation 27 motsvarar det en signal med frekvensen + 2T om också fasen byter tecknen. 4 Efter den franske matematikern Charles Hermite. aliasing. 5 Engelska: 68 Vi kan sammanfatta dessa resultat som 29 En tidskontinuerlig cosinussignal utsätts för vikning när den samplas, vilket innebär att dess frekvens inte är entydigt bestämt från den resulterande samplade signalen. Genom att införa en bandbegränsning, (4.68), av den tidskontinuerliga signalen innan den samplas undviks vikning. Samma bandbegränsning gäller även utsignalen y[k] för att den ska ha en entydig frekvens. 4.5.4 H(ω) är periodisk för ett tidsdiskret system Låt H vara ett godtycklig tidsdiskret system med samplingsperioden T och låt x[k] vara en tidsdiskret cosinussignal med vinkelfrekvens ω, (4.59). Motsvarande utsignal y[k] ges då av (4.60). Motsvarande utsignal för en tidsdiskret signal med vinkelfrekvens ω + 2πn T blir då ( ! !) ! ! !! 2πn 2πn 2πn 2πn H A cos ω + T k+φ = D ω+ A cos ω + T k+φ+ψ ω+ = /vikning/ = T T T T ! !! 2πn 2πn A cos ω T k + φ + ψ ω + . (4.69) = D ω+ T T Om vi tar hand om vikningen redan i insignalen han vänsterledet i ovanstående uttryck även skrivas ( ! !) 2πn H A cos ω + T k + φ = /vikning/ = H{A cos(ω T k + φ)} = T = D(ω) A cos ω T k + φ + ψ(ω) . (4.70) För att högerleden i (4.69) och (4.70) ska bli lika för alla ω och alla φ måste vi anta att både amplitud- och faskarakteristikerna, och därmed även frekvensfunktionen, är periodisk med perioden 2π T : ! ! ! 2πn 2πn 2πn = D(ω), ψ ω + = ψ(ω), ⇔ H ω + = H(ω), n ∈ Z. (4.71) D ω+ T T T Detta kan vi sammanfatta med: 30 För ett tidsdiskret system med samplingsperioden T är amplitud- ochh faskarakteristikerna, liksom dess frekvensfunktion H(ω), periodiska med perioden 2π T . En konsekvens av detta resultat är att för ett tidsdiskret system behöver vi inte beskriva H(ω) för ω > 2π T , eftersom den upprepar sig periodiskt ovanför denna gräns. Men det stannar inte där. I intervallet Tπ < ω < 2π kan vi skriva T frekvensfunktionen som ! 2π −ω . (4.72) H(ω) = /(4.66)/ = H(−ω) = /(4.71)/ = H T Det betyder att H(ω) i detta intervall ges av komplexkonjugatet av frekvensfunktionen i intervallet 0 < ω < Sammanfattningsvis: π T. 31 Frekvensfunktionen för ett tidsdiskret system är entydigt bestämd om vi känner den i intervallet 0 ≤ ω < π T. 4.5.5 Från frekvensfunktion till impulssvar I avsnitt 4.5.1 beskrivs ett uttryck som bestämmer frekvensfunktionen H(ω) för ett tidsdiskret system ur dess impulssvar h[k], (4.61). Vi ska nu visa att det även går att göra den motsatta resan: bestämma impulssvaret h[k] ur 69 frekvensfunktionen H(ω). Vi ska undersöka följande integral: Z π/T H(ω) e jω T k dω = /(4.61), men vi byter k mot l i summan!/ = π/T Z −π/T ∞ X h[l] e− j ω T l e jω T k dω = (4.73) −π/T l=−∞ = /byt plats på integral och summa/ = ∞ X Z = h[l] l=−∞ e jω T (k−l) dω = /(A.39)/ = (4.74) −π/T l=−∞ ∞ X π/T h[l] 2π 2π δ[k − l] = /(B.35)/ = h[k]. T T Av detta kan vi dra slutsatsen att T h[k] = 2π Z (4.75) π/T H(ω) e jω T k dω. (4.76) −π/T Uttrycket som bestämmer h[k] ur H(ω) i (4.76) kallas för inversa fouriertransformen6 av H(ω), eller mer specifikt för den tidskontinuerliga inversa fouriertransformen av H(ω). En kommentar Betänk att inte alla summor med oändligt antal termer konvergerar. Det går att välja H(ω) så att h[k] inte har ett bestämt värde. Så länge som h[k] är en begränsad funktion ges H(ω) av (4.61) och h[k] går att bestämma ur denna frekvensfunktion enligt (4.76). En till kommentar Notera att vi bestämmer h[k] i (4.76) genom att integrera H(ω) över ett begränsat frekvensintervall, − Tπ < ω < Tπ , dvs. vi använder inte alla värden av frekvensfunktionen i denna integral. Men vi vet också från avsnitt 4.5.4 att i det tidsdiskreta fallet är H(ω) periodisk med perioden 2π T , varför det inte finns mer information om H(ω) att hämta utanför detta intervall. Vi kan sammanfatta detta som 32 För ett tidsdiskret system med begränsat impulssvar h[k] är dess frekvensfunktion en fullständig modell av systemet i den meningen att det går att bestämma h[k] ur H(ω). Om vi istället för H(ω) har uttrycket för real- och imaginärdelarna för frekvensfunktioner: B(ω) = Re[H(ω)], C(ω) = Im[H(ω)], H(ω) = B(ω) + j C(ω), (4.77) kan vi alternativt bestämma h[k] utan att blanda in komplexa storheter i integralen: h[k] = T π Z π/T B(ω) cos(ω T k) − C(ω) sin(ω T k) dω, (4.78) 0 vilket lämnas som räkneuppgift att visa. 4.5.6 Innan vi går vidare I detta avsnitt har vi sett att tidsdiskreta signaler och system enbart kan hantera cosinussignaler med ett begränsat frekvensintervall. Det beror dels på vikning av tidsdiskreta signaler och på att frekvensfunktionen för tidsdiskreta system är både periodisk och Hermitesk, även om dessa observationer inte är helt oberoende. Vi kan notera att T är tiden mellan varje sampel när den tidskontinerliga signalen samplas, dvs. samplingsfrekvensen (antalet sampel per tidsenhet) är f s = 1/T . Den bandbegränsning som beskrivs i (4.68) kan även anges i vanlig frekvens: fs π (4.79) 2 πf < , ⇒ f < . T 2 6 Just det: Joseph Fourier igen! 70 Frekvensen fs 2 kallas för Nyquist-frekvensen7 för en signal som samplas med samplingsfrekvensen f s . 33 Tidsdiskreta system kan, i princip, enbart hantera bandbegränsade signaler, som är bandbegränsade upp till Nyquist-frekvensen. Om en signal innehåller en frekvenskomponenter över Nyquist-frekvensen innan den samplas kommer den att tolkas som en frekvenskomponent med en lägre frekvens pga. vikning. Vi ska återkomma tidsdiskreta signaler och system i kapitel 6 som tar upp både praktiska och teoretiska aspekter kring sampling och rekonstruktion av signaler. 7 Efter svensk-amerikanske elektronikingenjören Harry Nyquist. 71 72 Kapitel 5 Filter Vi har sett att ett LTI-system har egenskapen “cosinus in - cosinus ut”, dvs. om signalen är en cosinussignal med en viss frekvens kommer även utsignalen att vara en cosinussignal med samma frekvens. I det generella fallet kommer emellertid amplitud och fas att vara olika för in- och utsignal. Det är systemets frekvensfunktion H(ω) som beskriver hur amplituden och fasen ändras för en cosinussignal, beroende på dess frekvens ω. Att amplitud och fas ändras för en cosinussignal är alltså en generell egenskap som alla LTI-system har. Exempelvis såg vi i avsnitt 4.3.7 att frekvensfunktionen för det system som beskriver hur residualvolymen z(t) i magasinet för ett vattentorn beror av det utgående vattenflödet x(t) på ett sätt som gör att långsamma variationer i x(t) motsvaras av långsamma variationer även i z(t) och med relativt hög amplitud. Snabba variationer i x(t) dämpas emellertid ut i z(t). Detta var i själva verket ett designval när vi beskrev det reglersystem som styr pumpen som fyller på magasinet, även om det inte beskrevs explicit på det sättet. Ett filter är ett system som används för att antingen “ta bort” eller “ta fram” specifika egenskaper i en signal. I en mer strikt tolkning handlar det om LTI-system som tar bort eller dämpar, alternativt förstärker, specifika frekvenskomponenter i en signal. I det generella fallet kan filter även vara olinjära och, exempelvis användas för att ta bort eller reducera brus eller olika typer av störningar, alternativt för att hitta specifika mönster eller signalsekvenser. Filter kan även användas för 2-dimensionella signaler i form av bilder. Även här kan vi vara intresserad av att reducera brus eller störningar eller för att göra bilden skarpare. Ett specifikt exempel är att ta bort “röda ögon” i (digitala) fotografier. Här behöver systemet först hitta ögonen och sedan ta bort de röda fläckarna. Den första delen, att hitta ögonen, är en process som generellt kallas detektion och har en stor tillämpning inom signalbehandling, både för de tidsvariabla signaler vi diskuterar i denna framställning och inom bearbetning av digitala bilder. Detektion bygger på att signaler filtreras för att “peka ut” tidpunkter (eller bildpunkter) där specifika signaler återfinns. I detta kapitel kommer vi att fokusera på filter som utgörs av LTI-system. I detta sammanhang kan vi initialt definiera ett filter som ett LTI-system som har designats för att uppvisa en specifik frekvensfunktion. Vi ska senare även undersöka LTI-system i form av filter för detektion. 5.1 Frekvensselektiva filter Ett frekvensselektivt filter är ett LTI-system som har designats specifikt för att uppvisa en önskad frekvensfunktion. Denna typ av system återfinns i många tekniska system och av flera orsaker, men i samtliga fall handlar det om att frekvenskomponenter i en signal som har olika frekvens ska behandlas på olika sätt. Här är några exempel: • Hörapparaten i listan med exemplen på system, sidan 10, innehåller ofta ett filter som är anpassat till känsligheten för användarens öra, en amplitudkarakteristik för hur ljudsignaler från trumhinnan överförs till hjärnans hörselsinne. Den känslighetskurvan kan skattas genom så kallad tonaudiometri och när en hörapparat är nödvändig uppvisar den ofta att användaren har låg känslighet i vissa frekvensområden. Om hörapparatens har ett filter med en amplitudkarakteristik som i görligaste mån kompenserar för örats karakteristik , dvs.har en högre förstärkning där örats är låg, och tvärtom, kan användarens ljudupplevelse förbättras. • En radio har ofta en stationsinställning som kan ställa in mottagningen på en viss frekvens som motsvarar den frekvens som sändaren sänder ut sina signaler på. Antennen kommer emellertid även att ta in signaler 73 från andra sändare, som sänder på andra frekvenser, och för att fungera effektivt behöver radion därför filtrera bort dessa signaler innan den mottagna signalen omvandlas till en ljudsignal. • Nätspänningen i eluttagen har en frekvens på 50 Hz, en frekvens som kan örat uppfattar tämligen bra. En ljudanläggning, exempelvis en förstärkare, har elektroniska kretsar som kan drivas med nätspänning via ett nätaggregat som omvandlar nätspänningen på 240 volt växelström till, exempelvis 12 volt likström. En sådan anläggning har ett filter som effektivt filtrerar bort 50 Hz från alla spänningar som driver de elektroniska kretsarna så att denna signal inte fortplantar sig till utgången som driver högtalarna. • Ljudet på en LP-skiva spelas in med så kallad RIAA-korrektion som dämpar låga frekvenser och förstärker höga frekvenser i det ljud som spelas in i form av ett spår på skivan. Ett filter med motsatt karakteristik används sedan vid uppspelningen av ljuden från LP-skivan. Genom att dämpa de låga frekvenserna innan inspelningen kan spåren på skivan läggas tätare och genom att dämpa de höga frekvenserna vid uppspelning kan det brus som uppstår av damm och andra defekter från själva skivan reduceras. • Ljud som ska spelas in digitalt behöver samplas och för att det ska fungera bra behöver ljudets frekvensinnehåll dämpas för frekvenser över halva samplingsfrekvensen. Se kapitel 6. • En framgaffel på en motorcykel kan ha resonansfrekvens f0 som göra att vid en viss hastighet, när hjulet roterar med frekvensen f0 , börjar framgaffeln att wobbla. Genom att montera en dämpare mellan ramen och gaffeln som dämpar vibrationer kring frekvensen f0 kan risken för wobbling reduceras signifikant. • En högtalare för HiFi-bruk1 har ofta två eller flera högtalarelement, exempelvis en bashögtalare för de låga frekvenserna och en diskanthögtalare för de höga frekvenserna i ljudet. Ibland kan det även finnas en mellanregisterhögtalare för frekvenser mellan bas och diskant. Varje elementtyp är konstruerad för att återge de aktuella frekvensområdet optimalt, men kan då inte göra detsamma utanför sitt frekvensområde. Den signal som driver varje element måste då begränsas till att innehålla enbart det frekvensområde som högtalarelementet är optimerat för. Det görs genom att signalen in till högtalaren från förstärkaren skickas in i frekvensselektiva filter, ett filter för varje elementtyp, som enbart låter rätt frekvensintervall passera och sedan driva sitt högtalarelement. De filter som beskrivs i ovanstående lista kan ofta vara implementerade i form av elektroniska kretsar. För att åstadkomma ett filter med en viss önskad frekvensfunktion H(ω) behöver vi då först välja ett specifikt sätt att koppla samman de elektroniska komponenterna, ett kopplingsschema som ofta kan ha spänningar som inoch utsignaler. En analys av hur dessa in- och utsignaler beror av varandra leder till ett specifikt matematiskt uttryck för H(ω) som dessutom innehåller ett antal parametrar, värden på olika komponenter i den elektroniska kretsen. Genom att välja dessa komponentvärden på lämpligt sätt kan vi i slutänden erhålla en frekvensfunktion som ligger så nära som möjligt den önskade. I tekniska system kan filter även realiseras i form av mekaniska system, exempelvis med fjädrar och dämpare. Exemplet med ett filter i form av en elektronisk krets illustrerar en viktigt observation i sammanhanget. Teoretiskt sett handlar frekvensselektiva filter om att vi väljer en frekvensfunktion H(ω) som vi vill att systemet ska ha, och sedan försöker implementera ett system som också har det. I praktiken är detta inte så enkelt som det låter, det finns vissa frekvensfunktioner som är lätta att implementera och andra som är omöjliga att uppnå. Däremot går det att approximera alla önskade frekvensfunktioner, vilket kan vara en rimlig strategi för att skapa filter. För ett filter är det ofta så att vi enbart är intresserade av dessa amplitudkarakteristik D(ω) = |H(ω)|. Det betyder inte att vi är ointresserade av faskarakteristiken, ψ(ω) = argH(ω), utan snarare att D(ω) ofta är den viktiga karakteristiken: vilka frekvenser dämpas och vilka förstärks. Därför kommer vi i fortsättningen att fokusera på amplitudkarakteristiken när det gäller filter. 5.1.1 Typer av filter Amplitudkarakteristiken för ett filter kan, i princip, se ut hur som helst. I det sammanhanget bör emellertid nämnas att ju mer komplicerad amplitudkarakteristik vi vill att vårt filter ska ha, desto mer kostar det att realisera det. Kostnaden beror på att det krävs mer komponenter, exempelvis elektroniska komponenter, för att åstadkomma ett system med den önskade amplitudkarakteristiken ju mer komplicerad den är. I praktiken vill vi reducera denna 1 HiFi står för engelskans “High Fidelity” och innebär inspelning/återgivning av ljud med högsta kvalitet. 74 1 1 √1 2 ω 0 ω 0 k k Figur 5.1: Vänster: amplitudkarakteristiken D(ω) för ett typiskt LP-filter. ω0 = k är filtrets gränsfrekvens, då D(ω0 ) = √12 . Höger: filtrets passband indikeras med ljusgrått och dess spärrband med mörkgrått. kostnad och kan då nöja oss med någon av de grundläggande typerna av filter som kan realiseras med ett fåtal systemkomponenter. Nedan beskrivs några av dessa grundtyper. Allpassfilter Ett allpassfilter förstärker alla frekvenskomponenter med samma faktor, typiskt faktorn 1, däremot skulle ett allpassfilter kunna ha en faskarakteristik som inte är konstant. Ett exempel på ett allpassfilter är en tidsfördröjning. Lågpassfilter, LP-filter Ett lågpassfilter eller LP-filter har i det typiska fallet en amplitudkarakteristik D(ω) = |H(ω)| som illustreras till vänster i figur 5.1, dvs. D(0) = 1 och sedan sjunker D(ω) när ω växer. Att D(0) = 1 är inte viktigt, det kan lika gärna handla om att D(0) = a > 0 och att D(ω) sedan sjunker från detta värde ned mot noll när ω ökar. I detta fall kan vi se filtret som ett lågpassfilter i kombination med en förstärkare (eller transducer). I fortsättningen kommer vi att bortse från eventuella förstärkningar av denna typ, även om de i praktiken kan finnas med i filtrets frekvensfunktion. Ett exempel är det system som beskriv i avsnitt 2.2.4, ett magasin i ett vattentorn. Detta system har ett stegsvar som illustreras till vänster i figur 3.8 på sidan 51. Notera att om vi istället för det specifika exemplet med vattentornet betraktar ett LTI-system med insignal x(t) och utsignal y(t) som har den systembeskrivande ekvationen d y(t) + k t(t) = k x(t), dt erhålls en frekvensfunktion HLP (ω) = 1 k = ω jω+k j k +1 (5.1) (5.2) vilken motsvarar precis den amplitudkarakteristik som visas i figur 5.1. En kommentar I avsnitt 3.10.4 gjordes tolkningen av 1/k som en tidskonstant för den linjära ODE:n av första ordningen i (3.75), som anger hur snabbt systemet är. Denna tolkning är fortfarande rimlig för systemet som beskriv i (5.1). Intuitivt kan vi tänka på ett LP-filter som ett system som karakteriseras av det har relativt hög förstärkning för låga frekvenser och en relativt låg förstärkning för höga frekvenser. Det betyder att ett LP-filter definieras av en specifik vinkelfrekvens ω0 (eller motsvarande frekvens f0 ) som anger gränsen mellan vilka frekvenskomponenter som har en relativt hög förstärkning och vilka som dämpas. Denna frekvens kallas filtrets gränsfrekvens eller 75 1 1 √1 2 ω 0 ω 0 k k Figur 5.2: Vänster: amplitudkarakteristiken D(ω) för ett typiskt HP-filter. ω0 = k är filtrets gränsfrekvens, då D(ω0 ) = √12 . Höger: filtrets passband indikeras med ljusgrått och dess spärrband med mörkgrått. brytfrekvens. Exempelvis skulle vi kunna bestämma frekvensen när D(ω) = 21 , men i praktiken definieras gränsfrekvens oftare enligt D(ω) = √12 . Det beror på att de signaler som förekommer i många praktiska tillämpningar har en fysikalisk tolkning som gör att deras värde i kvadrat är proportionell mot signalens energi. Det betyder att för ω < ω0 finns minst hälften av frekvenskomponentens energin kvar efter filtret, medan för ω > ω0 finns mindre än hälften av energin kvar. För ett LP-filter kallas frekvensintervallet ω < ω0 för filtrets passband, motsvarande frekvenskomponenter tillåts passera filtret med ringa eller ingen dämpning. Frekvensintervallet ω > ω0 är filtrets spärrband, motsvarande frekvenskomponenter spärras eller dämpas av filtret. För filtret vars frekvensfunktion HLP beskrivs i (5.2) erhålls gränsfrekvensen ω0 = k, f0 = ⇒ ω0 k = . 2π 2π (5.3) Gränsfrekvensen med tillhörande pass- och spärrband för LP-filtret i (5.2) illustreras till höger i figur 5.1. Notera att detta resultat är konsistent med tolkningen att 1/k är en tidskontant och därmed k kan tolkas som frekvens. Högpassfilter, HP-filter Ett högpassfilter eller HP-filter har den motsatta amplitudkarakteristiken jämförd med ett LP-filter, vilket illustreras till vänster i figur 5.2. Här är D(0) = 0 och går sedan mot 1 när ω växer. Eftersom HLP (0) = 1 för ett typiskt LP-filter kan implementera ett HP-filter som skillnaden mellan ett allpassfilter och ett LP-filter, dvs. dess frekvensfunktion ges av HHP (ω) = 1 − HLP (ω). I fallet att HLP beskrivs av (5.2) får vi då HHP (ω) = 1 − k jω = . jω+k jω+k (5.4) Den systembeskrivande ekvationen för ett LTI-system med denna frekvensfunktion ges av d d y(t) + k y(t) = y(t), dt dt (5.5) vilket visas som räkneuppgift. Precis som i fallet med LP-filter har detta system en gränsfrekvens ω0 = k, men i detta fall är det passbandet som ges av ω > ω0 och spärrbandet av ω < ω0 . Se illustration till höger i figur 5.2. Bandpassfilter, BP-filter Ett bandpassfilter eller BP-filter kan ses som en kombination av ett HP-filter och ett LP-filter, med varsina gränsfrekvenser ω1 respektive ω2 > ω1 . För ett BP-filter ska alla frekvenskomponenter med ω < ω1 dämpas/spärras (ett HP-filter), men det gäller även för ω > ω2 (ett LP-filter). Endast frekvenskomponenter med ω1 < ω < ω2 76 1 1 0 1 0 0 Figur 5.3: Vänster: amplitudkarakteristikerna för ett LP-filter, med gränsfrekvens ω1 , och ett HP-filter med gränsfrekvens ω2 . Höger: amplitudkarakteristiken för ett BP-filter som ges av HBP = HLP · HHP . tillåts passera. Det betyder att ett BP-filter har två spärrband: ett för ω < ω1 och ett ω > ω2 , samt ett passband ω1 < ω < ω2 . Ett HP-filter har en bandbredd som motsvaras av skillnaden ω2 − ω1 , dvs. bredden av passbandet. I detta fall är det oftast centerfrekvensen, dvs. den frekvens där |H(ω)| antar sitt maximala värde, tillsammans med bandbredden som är de intressanta parametrarna, snarare än ω1 och ω2 . Ovanstående resonemang innebär att vi, i princip, kan implementera ett BP-filter som en kaskadkoppling av ett HP-filter, med gränsfrekvens ω1 , med ett LP-filter som har gränsfrekvens ω2 . Enligt avsnitt 4.3.4 ges då resulterande filtrets frekvensfunktion HBP som produkten av frekvensfunktionerna för LP- och HP-filtren, endast i det frekvensintervall där båda amplitudkarakteristikerna är stora kommer motsvarande frekvenskomponenter att kunna passera utan att dämpas. Se figur 5.3 för en illustration. En kommentar Notera att frekvensfunktionen för just detta BP-filtret inte går upp till ett maxvärde nära 1 och att BP-filtrets gränsfrekvenser inte ges exakt av gränsfrekvenserna ω1 och ω2 för HP- respektive LP-filtret. Detta resonemang betyder inte att ett BP-filter måste implementeras som en kaskadkoppling av ett HP- respektive LP-filter. Exempelvis går det att koppla ihop en elektronisk krets som ger motsvarande frekvensfunktion utan att kretsen explicit innebär en kaskadkoppling av ett HP- och ett LP-filter. Bandspärrfilter, BS-filter Ett bandspärrfilter eller BS-filter kan även det ses som en kombination av ett LP-filter och ett LP-filter, med varsina gränsfrekvenser ω1 respektive ω2 > ω1 . För ett BS-filter ska alla frekvenskomponenter med ω < ω1 släppas igenom (ett LP-filter), men det gäller även för ω > ω2 (ett HP-filter). Endast frekvenskomponenter med ω1 < ω < ω2 ska dämpas. Det betyder att ett BS-filter har två passband ω < ω1 och ω > ω2 samt ett spärrband ω1 < ω < ω2 . För ett BS-filter ges bandbredden av bredden på spärrbandet: ω2 − ω1 och centerfrekvensen inträffar där |H(ω)| antar sitt minimala värde. Ovanstående resonemang innebär att vi, i princip, kan implementera ett BS-filter som en linjärkombination av ett LP-filter, med gränsfrekvens ω1 , och ett HP-filter som har gränsfrekvens ω2 . Enligt avsnitt 4.3.5 ges då resulterande filtrets frekvensfunktion HBS som summan av frekvensfunktionerna för LP- och HP-filtren, i de frekvensintervall där den ena eller andra av amplitudkarakteristikerna är stora kommer motsvarande frekvenskomponenter att kunna passera utan att dämpas. Se figur 5.4 för en illustration. En kommentar Notera att frekvensfunktionen för just detta BS-filtret inte går ända ned till 0 i spärrbandet och att BS-filtrets gränsfrekvenser inte ges exakt av gränsfrekvenserna ω1 och ω2 för LP- respektive HP-filtret. 77 1 1 0 1 0 0 Figur 5.4: Vänster: amplitudkarakteristikerna för ett LP-filter, med gränsfrekvens ω1 , och ett HP-filter med gränsfrekvens ω2 . Höger: amplitudkarakteristiken för ett BS-filter som ges av HBP = HLP + HHP . Detta resonemang betyder inte att ett BS-filter måste implementeras som en linjärkombination av ett LP- respektive HP-filter. Exempelvis går det att koppla ihop en elektronisk krets som ger motsvarande frekvensfunktion utan att kretsen explicit innebär en summa av ett LP- och ett HP-filter. 5.2 Tidsdiskreta filter Filter implementeras i allt högre grad i form av tidsdiskreta system. Anledningen till det är att det är relativt lätt att realisera en viss önskad frekvensfunktion, i alla fall approximativt, med just tidsdiskreta system. Som har nämnts i avsnitt 4.5 måste vi då ta hänsyn till att systemet enbart kan hantera frekvenskomponenter upp till Nyquistfrekvensen, vilket betyder att samplingsfrekvensen f s måste väljas med omsorg. Men om samplingen görs på lämpligt sätt finns det ett antal standardtekniker och standardkomponenter för att implementera tidsdiskreta system, inklusive filter. I samband med detta får också begreppet “höga frekvenser” en lite annan innebörd än i det tidskontinerliga π fallet. De högsta tänkbara frekvenserna i det tidsdiskreta fallet är de som ligger nära (strax under) ω = 2T . Ett pi tidsdiskret HP-filter är då ett filter som har en amplitudkarakteristik D(ω) där D(0) är liten och D( 2T ) är ≈ 1. Motsvarande tolkning gäller även för BP- och BS-filter. I det tidsdiskreta fallet är signalerna ofta i form av binära tal som representerar signalvärden, se avsnitt 6.1. De standardkomponenter som behövs för att realisera i stort sett alla typer av tidsdiskreta system som kan hantera dessa signaler begränsar sig till • Fördröjningar: digitala minneskretsar som kan lagra ett sampelvärde. Fördröjningen uppdateras varje samplingsintervall, med perioden T , och får då det värde som ligger på dess insignal. • Förstärkare: en digital krets som kan multiplicera ett binärt tal, exempelvis ett sampelvärde, med en konstant faktor. • Adderare: en digital krets som kan addera två binära tal, som vardera representerar signalvärden. Dessa tre typer av digitala kretsar kan enkelt implementeras i olika typer av tekniker i halvledarchip som sitter i mobiltelefoner, TV-apparater, hörapparater, CD/DVD-spelare, osv. Fördelen med dessa digitala kretsar är att de tar betydligt mindre plats, förbrukar mindre effekt och är billigare än motsvarande system som realiseras med traditionell elektronik. I detta avsnitt ska vi undersöka en speciell klass av digitala filter som ofta, men inte alltid, kan användas för att implementera en valfri frekvensfunktion för ett tidsdiskret system 78 5.2.1 FIR-filter Enligt avsnitt 3.11.2 karakteriseras ett tidsdiskret system H av sitt impulssvar h[k]. I allmänhet kan h[k] vara en godtycklig funktion av en heltalsvariabel k ∈ Z, men för ett kausalt system måste h[k] = 0 för k < 0, och vi vill förmodligen även att systemet ska vara stabilt. Men bortsett från dessa begränsningar finns det oändligt många sätt att välja impulssvaret h[k] och därmed även välja vilket system H som avses. I allmänhet kan filtersvaret vara oändligt långt, dvs. för varje k0 ∈ Z kan vi hitta ett k > k0 så att h[k] , 0. Sådan system, i synnerhet när de används som filter, kallas Infinite Impulse Response Filter eller IIR-filter. Motsatsen är när h[k] är ändligt långt, av längden n, dvs. h[k] = 0 för k ≥ n. Sådana system, i synnerhet om de används som filter kallas för Finite Impulse Response Filter eller FIR-filter. IIR-filter är en mycket generell klass av tidsdiskreta system, som visserligen förtjänar en grundlig utredning men som hamnar utanför vad som tas upp i denna framställning. I detta avsnitt ska vi istället undersöka FIR-filter, som då utgör en mindre klass av tidsdiskreta system, dvs. realisera en mindre klass av frekvensfunktioner H(ω), men som ändå ofta kan användas för att approximera godtyckliga system, dvs. godtyckliga frekvensfunktioner. Ett exempel Vi ska nu undersöka ett tidsdiskret system, ett FIR-filter med längden n = 3. Det har då ett impulssvar som ges av 0 k < 0, ger kausalitet! h k = 0, 0 (5.6) h[k] = h k = 1, 1 h2 k = 2, 0 k ≥ 3, ger FIR av längd 3. Här antar vi att i alla fall h0 , h2 , 0, i annat fall motsvarar systemet ett “kortare” FIR-filter eventuellt i kaskad med en fördröjning. Detta system kan realiseras enligt figur 5.5, som enbart innehåller de tre grundläggande komponenterna som nämndes tidigare: fördröjningar, förstärkare och adderare. Notera att systemet verkligen ger impulssvaret h[k] i (5.6). Vi antar att systemet initialt är “nollställt”, dvs. alla fördröjningar/minnen har utsignalen = 0, vilket även betyder att y[k] = 0 för k < 0. Systemet får en tidsdiskret impuls δ[k] som insignal. Vid k = 0 kommer då en impuls i insignalen, vilken förstärks/multipliceras med h0 och matas ut som utsignal, dvs. y[0] = h0 . Vid k = 1 försvinner återgår insignalen till 0, men den initiala impulsen har nu lagrats i den första fördröjningen D, multipliceras med h1 och ger utsignalen y[1] = h1 . Vid k = 2 är insignalen fortfarande = 0, men nu har den initiala impulsen flyttat sig till den andra fördröjningen, där den multipliceras med h2 och ger y[2] = h2 . Vid k = 3 kommer alla fördröjningarna och insignalen att vara = 0, varför även utsignalen blir y[3] = 0 och dess tillstånd råder sedan för alla k ≥ 0. Ett mer kompakt sätt att specificera ett FIR-filter är att enbart ange sekvensen [h0 h1 h2 ], exempelvis som en n-dimensionell vektor. Generellt kan ett FIR-filter av längden n på motsvarande sätt representeras som en vektor h ∈ Rn . Elementen i en sådan vektor kallas för filterkoefficienter. Enligt (4.61), ges filtrets frekvensfunktion av H(ω) = 2 X hk e− jωT k = h0 + h1 e− jωT + h2 e− jω2T . (5.7) k=0 Notera att sambandet mellan frekvensfunktionens värde vid vissa specifika frekvenser och filterkoefficienterna kan vara relativt enkelt, exempelvis: π π = h0 − h1 + h2 , H = h0 − j h1 − h2 . (5.8) H(0) = h0 + h1 + h2 , H T 2T Med dessa samband kan vi se de tre filterkoefficienterna som parametrar vilka kan varieras och på så sätt åstadkomma olika typer av filter. Med olika val av filterkoefficienter kan vi inte åstadkomma godtyckliga frekvensfunktioner, π π men vi kan i alla fall få ett H(ω) som måste ha specifika värden för de tre frekvenserna ω ∈ {0, 2T , T }. π Exempelvis, om vi vill ha ett LP-filter så kan vi välja H(0) = 1 och H( T ) = 0, vilket ger h1 = 1 , 2 h2 = 79 1 − h0 , 2 (5.9) D(!) 2 h0 = 1 h 0 = 0.75 1 h0 = 0 h 0 = 0.5 h 0 = 0.25 0 :/2 0 ! Figur 5.5: Amplitudkarakteristiken för det filter som beskrivs i avsnitt 5.2.1, för olika värden på parametern h0 . där h0 återstår att välja. Ett sätt att göra det är att undersöka vad som händer vid frekvensen ω = H π 1 = h0 + j h1 − h2 = 2 h0 − (1 + j). 2T 2 π 2T : (5.10) För några olika värden på h0 erhålls då de amplitudkarakteristiker som illustreras i figur 5.5. Notera att för h0 = 0 och h0 = 1/2 fås filterkoefficienterna [0 12 21 ] respektive [ 12 21 0]. Båda dessa filter är egentligen samma FIR-filter, med längd 2, men den senare inkluderar även en fördröjning med 1 sampel. Det vi kan se från detta exempel är att även om vi fixerar frekvensfunktionens värde vid två olika frekvenser, i det här fallet ω = 0 och ω = Tπ , vilket låser upp två av filterkoefficienterna så finns det en frihetsgrad kvar motsvarande den sista av koefficienterna. Beroende på vilket värde som sätts på den erhåller vi olika amplitudkarakteristiker för det resulterande filtret. Om filtret hade längden n = 2 och vi vill ha ett LP-filter är det bästa vi kan göra att använda koefficienterna [ 21 12 ], vilket motsvarar kurvan för h =0 = 0 i figur 5.5, i alla fall om H(0) = 1 och H( Tπ ) = 0. I detta fallet ger de två villkoren på frekvensfunktioner en fullständig beskrivning av de två filterkoefficienterna. Nu när filtret har längden n = 3 går det att få ett filter som går från passband till spärrband med en något brantare kurva och det är precis detta som ligger bakom att välja ett längre filter. Ju längre filter, desto fler filterkoefficienter som kan varieras, och desto större urval av frekvensfunktioner som kan realiseras. Varje filterkoefficient innebär emellertid också en kostnad. För ett FIR-filter kommer varje ytterligare koefficient som läggs till filtret att motsvara ytterligare en fördröjning och en multiplikator som ska få plats på det halvledarchip där filtret implementeras, vilket dessutom ökar effektförbrukningen. Det innebär att även om långa FIR-filter erbjuder ett större urval av möjliga frekvensfunktioner så finns det praktiska begränsningar i hur långa filter vi vill använda. Moderna metoder för halvledarchip gör det möjligt att använda längre och länge FIR-filter för varje ny generation av halvledarteknik. Ytterligare en observation vi kan göra är att även om vi kan ange ange frekvensfunktionens värde för tre olika frekvenser så finns det inga garantier att motsvarande impulssvar h[k] är reell. Den inversa Fouriertransformen i (4.76) innehåller komplexa storheter och enbart för specifika val av H(ω) kan vi garantera att h[k] har längden n = 3 och dessutom är reellt. 80 5.3 Filter för detektion Ett tidsdiskret system har ett impulssvar h[k], vilket i fallet med ett FIR-filter har en ändlig längd n. Från avsnitt 3.11.2 vet vi att utsignalen för en godtycklig insignal x[k] ges av faltningen mellan h och x: y[k] = H{x[k]} = (h ∗ x)[k] = ∞ X h[l] x[k − l] = /h har längden n/ = l=0 n−1 X h[l] x[k − l]. (5.11) l=0 Vi har tidigare tryckt på att y[k] är en signal i form av en funktion, som i det här fallet avbildar hela tal till reella tal. Nu ska emellertid fokusera på funktionsvärdet av y för ett specifikt heltal k, dvs. funktionsvärdet y[k]. Enligt (5.11) ges detta värde som en summa av n termer: y[k] = h[0] x[k] + h[1] x[k − 1] + . . . + h[n − 1] x[k − n + 1] = = h[0] h[1] . . . h[n − 1] · x[k] x[k − 1] . . . x[k − n + 1] = h · x[k]. | {z } | {z } :=h (5.12) (5.13) :=x[k] Det betyder att y[k] kan tolkas som skalärprodukten mellan två vektorer i Rn : en vektor h som innehåller filterkoefficienterna och en som består av ett utsnitt från insignalen, x[k]. Notera att elementen i vektorn h räknas upp “framlänges” i tiden, medan den senare vektorn räknar upp samplen i insignalen med start vid x[k] och sedan “baklänges” i tiden till x[k − n + 1]2 . Samma tolkning gäller för signalvärdet y[k + 1], det kan ses som skalärprodukten mellan impulssvarsvektorn h och ett vektor x[k + 1] som utgör ett utsnitt från insignalen, denna gång mellan x[k − n + 2] och x[k + 1]. Varje gång ett nytt värde för utsignalen ska bestämmas tar vi motsvarande utsnitt av insignalen, av längd n, räknar upp elementen i omvänd ordning och bildar skalärprodukten med impulssvaret En kommentar Eftersom faltning är en kommutativ operation, dvs. vi kan byta plats på h och x i ovanstående uttryck, kan vi lika tänka på h som en en vektor där elementen räknas upp baklänges, från hn−1 till h0 , och x[k] är en vektor som räknas upp framlänges, från x[k] till x[k + n − 1]. Skalärprodukten mellan dessa två vektorer blir samma som (5.13). Med hänvisning till avsnitt A.1.5 kan vi med hjälp av faltning mäta likheten mellan ett utsnitt i insignalen av längd n och impulssvaret för FIR-filtret. Vi kan se både FIR-filtret och utsnitten från signalen som vektorer i Rn , och bestämma “likhetsmåttet” cos α[k] mellan dem som cos α[k] = y[k] h · x[k] = . khk · kx[k]k khk · kx[k]k (5.14) I detta sammanhang har vi ofta möjlighet att välja filter, dvs. välja dess filtersvar h, och kan då se till att det motsvarar en normerad vektor: khk = 1, varvid beräkningarna kan förenklas till cos α[k] = y[k] . kx[k]k (5.15) Tillämpning Vi ska titta på den praktiska tillämpningen av detta resultat. Vi antar att systemets insignal x[k] kan variera på diverse olika sätt, men att vid vissa tidpunkter (eller för den delen en viss tidpunkt) kommer signalen att innehålla en specifik sekvens av längden n, motsvarande elementen i vektorn p = p0 p1 . . . pn−1 . (5.16) Att detta händer kan antingen bero på att någon specifik biologisk eller fysikalisk process genererar just denna sekvens, exempelvis EKG-signalen i ett hjärta. Men det kan även så att x[k] är en signal som skickas mellan en 2 Ordet faltning kommer från tyskans falten, vilket betyder “att vika”, och syftar på att den ena av de två signalerna som faltas med varandra måste vikas, dvs. räknas upp åt andra håller jämförd med den andra. 81 2 0 −2 0 20 40 60 80 100 120 140 160 180 0 20 40 60 80 100 120 140 160 180 0 20 40 60 80 100 120 140 160 180 0 20 40 60 80 100 120 140 160 180 20 0 −20 6 2 4 1 0 2 −1 0 −2 0 2 4 6 8 10 12 14 16 18 20 1 2 1 0 0 −1 −1 −2 0 2 4 6 8 10 12 14 16 18 20 Figur 5.6: Vänster: övre: ett exempel på en sekvens som ska detekteras. Undre: impulssvar för det matchande filtret. Höger: översta signalen: en signal som innehåller sekvensen till höger, samma sekvens plus lite brus, en liknande sekvens, två exempel på sekvenser som inte liknar sekvensen till höger. Andra signalen: utsignalen från det matchande filtret. Tredje signalen: normen kx[k]k. Nedre signalen: matchningsmåttet cos α[k0 ]. sändare och en mottagare, där sändaren använder sekvensen p för till att betyda någon specifik form av information som kan tolkas av en mottagare. Exempelvis att sändaren vill skicka biten “noll” eller “ett”. När sekvensen p dyker upp i signalen x[k] vill mottagaren kunna detektera detta, vilket kan göras på följande sätt. Mottagaren har ett matchande filter, ett FIR-filter som är lika långt som sekvensen p och med samma sampelvärden som p, men uppräknade i omvänd ordning! Vi låter denna “baklängesversion” av p noteras p̃ och använder då ett FIR-filter med impulssvaret h = p̃. Om vi antar att sekvensen startar i insignalen x[k] vid k = k0 − n + 1 och slutar vid k = k0 så kan vi använda (5.13) för att få utsignalens värde vid k = k0 som y[k0 ] = h · x[k0 ] = p̃ · p̃ = p · p = kpk2 . (5.17) Det betyder att utsignalen vid k = k0 är sådan att cos α[k0 ] = y[k0 ] kpk2 kpk2 kpk2 = = = = 1. khk · kx[k]k kp̃k · kp̃k kpk · kpk kpk2 (5.18) dvs. vi erhåller maximal likhet mellan utsnittet i insignalen, x[k], och filtersvaret, h. Genom att applicera ett matchande filter på signalen x[k] kan vi alltså detektera de tidpunkter som ett utsnitt av x[k] innehåller sekvensen p. Vi behöver först bestämma utsignalen y[k] från det matchade filtret och sedan dividera dess utsignal med khk · kx[k]k. Notera att denna division ska göras för varje sampel, dvs. för varje k i utsignalen och att vid denna division är x[k] olika utsnitt från signalen för varje k. Varje gång denna kvot är = 1, eller i praktiken ≈ 1, motsvarar det en detektion av sekvensen p. Om det matchande filtret dessutom är normerat, khk = 1, behöver vi enbart ta med kx[k]k i divisionen. En detektor för sekvensen p har som sista steg en tröskling, se avsnitt 3.1.4 på sidan 37, som genererar en binär utsignal z[k] enligt 1 y[k] > t, z[k] = (5.19) 0 y[k] ≤ t. I detta fall sätter vi t = ett värde straxt under 1, för att tillåta en viss felmarginal. Så länge som sekvensen p inte 82 finns i insignalen är z[k] = 0, men varje gång sekvensen p dyker upp i insignalen blir z[k] = 1 precis i slutet av sekvensen. Se figur 5.6 som illustrerar ett matchande filter. En kommentar I figur 5.6 innehåller signalen x[k] två sekvenser i slutet som inte liknar den sekvens som ska detekteras. Ändå går matchningsmåttet upp till i närheten av 1 för den ena. Vi återkommer till det i ett senare avsnitt. I praktiken är divisionen inte alltid nödvändigt. I många fall kan vi ha en rimlig uppfattning om hur stor kx[k]k är i den signal som mottas, speciellt när sekvensen p dyker upp, samt att det inte finns andra utsnitt i x[k] där kx[k]k blir större än detta. I så fall kan vi utelämna divisionen och istället sätta ett tröskelvärde t som motsvarar den förväntade normen av kx[k]k när sekvensen p dyker upp. Det resulterande systemet består då enbart av ett matchande filter i kaskad med en tröskling. 83 84 Kapitel 6 Sampling och rekonstruktion I kapitel 1 introducerades begreppen tidskontinuerliga respektive tidsdiskreta signaler liksom tidskontinuerliga och tidsdiskreta system. Där antyddes även att det kan finnas ett samband mellan då två typerna av signaler, även om så inte alltid måste vara fallet. I detta kapitel kommer vi att undersöka detta samband , dvs. det finns en tidskontinuerlig signal s(t) och av någon anledning väljer vi att överföra den till en tidsdiskret signal s[k], med hjälp av sampling, enligt s[k] = s(k · T ). (6.1) Sambandet mellan den kontinuerliga tidsvariabeln t och den diskreta tidsvariabeln k ges av t = k · T, k ∈ Z. (6.2) Här är T en konstant som anger samplingsperioden, den tid som går mellan varje sampel s[k]. Samplingsfrekvensen, antalet sampel per tidsenhet, ges av 1/T . Om T har enheten sekund [s] kommer samplingsfrekvensen att anges i enheten Hertz [Hz], dvs. perioder per sekund. Vi kan även definiera en samplingsvikelfrekvens ω s = 2π f s = 2π T . Givet en tidsdiskret signal s[k], som exempelvis kan vara utsignal för ett tidsdiskret system, kan vi vid något tillfälle vara intresserad av att överföra den tillbaka till dess tidskontinuerliga motsvarighet, s(t). Denna process kallas generellt för rekonstruktion. I detta kapitel ska vi undersöka några praktiska och teoretiska aspekter av sampling och rekonstruktion. 6.1 Sampling Vi ska börja med att undersöka den samplingsprocess som beskrivs i (6.1) och (6.2). Ett system som utför den praktiska konverteringen från s(t) till s[k] kallas för en samplare eller ADC och har alltså en tidskontinuerlig insignal s(t) och en tidsdiskret utsignal s[k]. En samplare är nästan alltid ett elektroniskt system som utför samplingen på en insignal s(t) i form av en elektrisk spänning och den innehåller egentligen tre separata delsystem. Först görs en trunkering av insignalen till ett begränsat intervall. Vi återkommer strax till detta delsystem. Därefter kommer ett delsystem som utför själv samplingen, det “plockar ut” ett specifikt värde ur signalen s(t) vid sampeltidpunkterna (6.2). Slutligen görs en mätning av detta värde som överför det till en digital representation i form av ett binärt tal med ett fixt antal bitar (nollor och ettor). Eftersom ett fixt antal bitar används här kan endast ett begränsat intervall i insignalen representeras, vilket är anledningen till den inledande trunkeringen. De signalvärden som ligger utanför det aktuella intervallet trunkeras så att alla värden av insignalen, även de som ligger utanför intervallet, ändå kan tillordnas ett bestämt värde i den digitala utsignalen. Det första steget, trunkeringen, sker genom att insignalen avbildas till en ny signal s̃(t), som garanterat ligger inom intervallet [smin , smax ], enligt: smin s(t) < smin , s̃(t) = (6.3) s(t) smin ≤ s(t) ≤ smax , smax s(t) > smax . Se figur 6.1 för en illustration. 85 s̃(s) smax s(t) smin smax smin Figur 6.1: Innan samplingen måste insignalen trunkeras till ett intervall, [smin , smax ]. Figur 6.2: En samplingsenhet består av samplingskrets med ett minne, här i form av en kondensator, som kan kopplas till insignalen s(t) med hjälp av en transistor. Transistorn öppnar kopplingen varje gång den får en puls. Spänningen över kondensatorn överförs sedan av den efterföljande kvantiseraren till en binär form. I den teoretiska analysen av ett system kan vi i princip bortse från trunkeringen så länge vi kan vara säkra på att de signaler som samplas ligger inom det aktuella intervallet [smin , smax ], eller i alla fall att det är statistiskt mycket osannolikt att signalvärden hamnar utanför. Det betyder att vi måste veta något om i vilket intervall den aktuella signalen antar sina värden och att intervallgränserna väljs i enlighet med detta. I fortsättningen antar vi att samplingen hanteras på detta sätt och bortser därför från eventuella problem eller effekter som kan uppstå på grund av trunkeringen och antar att vi kan sätta s̃(t) = s(t) för de signaler s(t) som förekommer i praktiken. Det andra steget, själva samplingen, sker genom att enheten har en intern klocka som med stor noggrannhet kan bestämma sampeltidpunkterna t = k · T genom att generera en kort puls vid dessa tidpunkter. För att kunna utföra mätningen har samplaren också ett “minne” som kan lagra den spänning som insignalen s(t) har vid sampeltidpunkterna. Det görs genom att pulserna öppnar en koppling mellan insignalen s(t) och minnet. Minnet lagrar spänningen s(t) och när kopplingen stängs ligger denna spänning kvar i minnet och kan mätas. När mätningen är klar kan nästa puls komma, dvs. T kan inte vara kortare än tiden det tar att utföra mätningen. Samplingen illustreras i figur 6.2. Det tredje steget, som utför mätningen, kallas även kvantisering och innebär att spänningen s(t) överförs till en digital representation i form av binära tal med ett begränsat antal bitar. En konsekvens av detta är att endast ett ändligt antal signalvärden kan representeras inom intervallet [smin , smax ]. Det beror på att om b bitar används för det binära tal ŝ[k] som representerar sampel s[k] så finns det endast tillgång till 2b olika binära tal som kan 86 representera olika signalvärden. Överföringen till binär representation görs genom att intervallet [smin , smax ] delas in i 2b lika långa kvantiseringsintervall. Alla kvantiseringsintervall har då en längd ∆s som ges av ∆s = smax − smin = 2−b (smax − smin ). 2b (6.4) Varje kvantiseringsintervall representeras med ett unikt binärt tal som har b bitar. Utsignalens värde vid sampeltidpunkten t = k · T ges av det binära tal som motsvarar det intervall som s(t) befinner sig i. Kvantiseringen kan ses som en slags avrundning eftersom det efteråt inte går att skilja mellan signalvärden som ligger inom samma kvantiseringsintervall. Ett och samma binära tal motsvarar alla signalvärden inom kvantiseringsintervallet, och när de är dags att rekonstruera s(t) ur s[k] måste vi välja ett specifikt värde i det aktuella kvantiseringsintervallet, exempelvis intervallets start-, slut- eller mittvärdet. Vi antar i fortsättningen att det är mittvärdet för varje kvantiseringsintervall som representeras av det binära talet, dvs. kvantiseringen innebär att ett signalvärde s(t) avrundas till närmaste mittvärde i ett kvantiseringsintervall. Formellt kan vi beskriva kvantiseringen som att varje kvantiseringsintervall representeras med ett binärt tal motsvarande heltalet ! s̃(k · T ) ∈ Z, (6.5) ŝ[k] = round ∆s där “round” är avrundning till närmaste heltal och s̃ är den trunkerade version av insignalen som definierades i (6.3). Eftersom det har skett en skalning på grund av divisionen med ∆s är de heltal som den tidsdiskreta signalen ŝ[k] består av egentligen en samplad version av s(t)/∆s, men om ŝ multipliceras med ∆s erhålls den tidsdiskreta signalen s[k] = ∆s · ŝ[k]. (6.6) 6.1.1 Kvantiseringsbrus I teorin borde gälla att den tidskontinuerliga signalen s(t) och den tidsdiskreta versionen av samma signal, s[k], är relaterade enligt (6.1). I praktiken, på grund av kvantiseringen (avrundningen i (6.5)), så ser sambandet snarare ut som s[k] = s(k · T ) + η[k], (6.7) där η är felet som uppstår vid samplingen på grund av kvantiseringen. Detta fel kallas kvantiseringsbrus. Kvantiseringsbruset är en tidsdiskret signal där varje sampel η[k] innehåller det fel som uppstått vid genereringen av sampelvärdet s[k]. Det går att göra olika utredningar av kvantiseringsbrusets statistiska egenskaper, dess medelvärde, standardavvikelse, korrelation mellan brusets sampel, korrelation mellan signal och brus, osv. Vi kommer inte att göra detta här utan stannar vid att varje sampel η[n] ligger inom intervallet ±∆s/2 om samplingen görs enligt (6.5), så storleksordningen av detta brus begränsas av ∆s i (6.4). 34 Kvantiseringsbruset styrka är linjärt propertionell mot ∆s, som i sin tur är proportionell mot 2−b , där b är antalet bitar i den digitala representationen av samplen. 6.1.2 Innan vi går vidare I teorin kan vi beskriva resultatet av att den tidskontinuerliga signalen s(t) samplas i form av den tidsdiskreta signalen s[k] som uppfyller (6.1). På grund av att varje sampel representeras i digital form av b bitar introduceras i praktiken även ett kvantiseringsbrus η, (6.7). För att s[k] ska vara en effektiv representation av s(t) måste vi anta att b är vald så att kvantiseringsbruset är så lågt att det inte påverkar den fortsatta signalbehandlingen av s[k]. För många system kan det räcka med b = 8 bitar vilket motsvarar 28 = 256 olika signalnivåer. Andra system kräver 16 eller ända upp till 24 bitar för att kvantiseringsbruset inte ska få en för stor påverkan. I praktiken är det dessutom så att den samplade signalen egentligen representeras som det binära talen ŝ[k]. Alla efterföljande operationer på denna signal kommer att ske med binära operationer: binär addition, binär multiplikation, osv. Det betyder att faktorn ∆s inte finns med, utan får antas kompenseras för vid rekonstruktionen. En annan konsekvens av detta är att de efterföljande operationerna, som även i fortsättningen måste ske på tal med ett begränsat antal bitar, kan behöva avrunda sina resultat. Även detta introducerar brus på liknande sätt som η i 87 (6.7). Om vi kan anta att antalet bitar som används i de olika beräkningsstegen är valda på lämpligt sätt, kan vi emellertid också anta att detta brus inte är signifikant för de funktioner som ett tidsdiskret system förväntas utföra på en specifik signal. I fortsättningen bortser vi ofta från ovanstående observationer om kvantiseringsbrus och, om inget annat anges, antar att samplingen innebär att (6.1) gäller. Vi kallar detta för ideal sampling. Ideal sampling är ett vanligt antagande vid teoretiska utredningar av hur s(t) förhåller sig till s[k], exempelvis i nästa avsnitt när vi undersöker om och hur det är möjligt att återskapa s(k) från s[k]. 6.2 Rekonstruktion Om vi antar att den tidsdiskreta signalen s[k] är en idealt samplad version av den tidskontinuerliga signalen s(t), enligt (6.1) och (6.2), och s[k] är känd men inte s(t), så ska vi nu undersöka hur s(t) kan återskapas ur s[k] och under vilka villkor detta är möjligt. I det praktiska fallet är s[k] inte en diskret signal som erhållit direkt genom en sampling av s(t), utan snarare något som erhållits genom olika former av digital signalbehandling, exempelvis ett FIR-filter som beskrivs i avsnitt 5.2.1. När denna signalbehandling är slutför vill vi återföra signalen till en tidskontinuerlig form, genom rekonstruktion. Den praktiska implementeringen av denna funktion kallas ofta DAC, eller digital-till-analog-omvandlare. En sak kan vi i alla fall säga direkt: värdet av s(t) vid en samplingstidpunkt, när t = k · T , går att få direkt ur samplen i s[k] för motsvarande värde på k. Det problem vi ska ägna oss åt här handlar alltså om hur vi kan återskapa s(t) även mellan samplingstidpunkterna. Det finna flera strategier som vi kan följa, där en är att på ett eller annat sätt försöka att approximera s(t) snarare än att återskapa exakt. En annan strategi är att verkligen försöka göra en exakt rekonstruktion. Här ska vi titta på båda varianterna och börjar med den första. 6.2.1 Approximativ rekonstruktion Om vi inte har som mål att göra en exakt rekonstruktion kan vi med ledning av de kända samplen i s[k] försöka gissa, eller skatta, vad s(t) har för värden mellan sampeltidpunkterna. Detta ger i det generella fallet inte en exakt rekonstruktion, men kan motiveras med att resultera i enklare typer av signalbehandling än vad är fallet vid exakt rekonstruktion. Det finns flera varianter av approximativ rekonstruktion att välja mellan och här beskrivs två av de enklaste metoderna. Närmsta-granne-interpolation Vid närmsta-granne-interpolation1 sätt värdet av s(t) för godtyckligt t till det sampelvärde som ligger närmast. Konsekvensen blir att s(t) kommer att approximeras som en styckvis konstant funktion som kan byta värde enbart mitt mellan två samplingstidpunkter. Den approximerande funktionen sNG (t) kan formella skrivas som sNG (t) = s[k], där −T/2 < t − kT ≤ T/2. (6.8) Denna typ av interpolation illustreras i figur 6.3. Notera att värdet av sNG (t) för varje t enbart beror av ett enda sampelvärde s[k]. Ett alternativt sätt att uttrycka den interpolation vi gör här är att skriva den på en lite mer generell form: sNG (t) = ∞ X s[k] · rect k=−∞ ! t−kT . T (6.9) Här är rect-funktionen enhetspulsen som definieras i avsnitt B.3 Det som händer i (6.9) är att sNG uttrycks som en linjär kombination av pulser som är skalade och tidsförskjutna versioner av rect-funktionen, så att varje puls ligger “kant i kant”. Varje puls är dessutom skalad med s[k] så att sNG (t) får det konstanta värdet s[k] under motsvarande intervall. I vilken mening (6.9) är en mer generell formulering av interpolationen ska vi återkomma till lite längre fram. En generell observation vi kan göra redan nu är att hur bra approximation av s(t) som sNG (t) utgör beror på hur liten T är i förhållande till hur snabba variationer som finns i s(t). Ju snabbare variationer som förekommer i 1 Engelska: nearest-neighbour-interpolation. 88 2 1.5 1 0.5 0 −0.5 −1 −1.5 −2 −10 −8 −6 −4 −2 0 2 4 6 8 10 Figur 6.3: En tidskontinuerlig signal s(t), tunn kurva, med motsvarande sampelvärden, cirklar, och den signal sNG (t) som rekonstrueras med närmsta-granne-interpolation från sampelvärdena, kraftig kurva. s(t) desto mindre måste T vara för att approximationen ska bli bra. Om T är relativt stor och variationerna i s(t) är relativt snabba blir approximationen dålig och tvärtom. Närmsta-granne-interpolation är enkel att förstå och att implementera, men är ofta inte en effektiv metod för rekonstruktion eftersom den antingen förutsätter att T är mycket lite, vilket innebär många sampel (data) per tidsenhet, eller att signalen är relativt konstant. En bättre approximation kan fås med bilinjär interpolation. Bilinjär interpolation Vid bilinjär interpolation får den approximerande funktionen sBL (t), i intervallet t till t + T , där t är en sampeltidpunkt, bero av två på varandra följande sampelvärden, s[k] och s[k + 1], på så sätt att sBL (t) startar med värdet s[k] vid motsvarande sampeltidpunkt och ändrar sig linjärt till värdet s[k + 1] vid nästa sampeltidpunkt: sBL (t) = (k + 1)T − t t−kT s[k] + s[k + 1], T T då k T ≤ t < (k + 1) T . (6.10) Denna typ av interpolation illustreras i figur 6.4. För bilinjär interpolation kommer den rekonstruerade signalen att i (nästan) alla punkter bero på två intilliggande sampelvärden. På samma sätt som för närmsta-granne-interpolation kan bilinjär interpolation även skrivas på den generella formen ! ∞ X t−kT sBL (t) = s[k] · Λ . (6.11) T k=−∞ Här är Λ en funktion som definieras enligt: 1 + z −1 ≤ z < 0, Λ(z) = 1 − z 0 ≤ z < 1, 0 annars. (6.12) Denna funktion illustreras i figur 6.5. Även i detta fall är den approximerande funktionen sBL (t) en linjärkombination av tidsskalade och tidsförskjutna versioner av en och samma funktion, men i det här fallet ges denna funktion av Λ. 89 2 1.5 1 0.5 0 −0.5 −1 −1.5 −2 −10 −8 −6 −4 −2 0 2 4 6 8 10 Figur 6.4: En tidskontinuerlig signal s(t), tunn kurva, med motsvarande sampelvärden, cirklar, och den signal sNG (t) som rekonstrueras med bilinjär interpolation från sampelvärdena, kraftig kurva. 6.2.2 Ideal rekonstruktion (teori) En noggrannare undersökning av närmsta-granne-interpolation och bilinjär interpolation visar att båda metoderna är varianter på ett och samma tema. Den rekonstruerade signalen sREK kan skrivas på formen ! ∞ X t−kT sREK (t) = s[k] · r , (6.13) T k=−∞ där r är en rekonstruktionsfunktion eller interpolationsfunktion. I fallet med närmsta-granne-interpolation är r(z) = rect(z), (B.7) och i fallet med bilinjär interpolation är r(z) = Λ(z), (6.12). En rimlig fråga i detta sammanhang är: går det att välja interpolationsfunktionen r(z) så att att sREK (t) = s(t)? Det skulle betyda att vi ska välja r(z) så att ! X ! ∞ ∞ X t−kT t−kT s[k] · r s(t) = s(k T ) · r = . (6.14) T T k=−∞ k=−∞ och att detta samband ska gälla för godtycklig signal s(t) ∈ S. Det är denna frågeställning vi ska undersöka här och svaret kommer att bli: ja, det finns en ideal interpolationsfunktion r som ger likhet i (6.14), men samtidigt måste vi då begränsa signalrummet S på ett specifikt sätt för att sambandet ska gälla för alla s(t) ∈ S. Inledningsvis kan vi konstatera att redan i kapitel 4 har vi sagt att, i princip, alla signaler kan entydigt delas upp som en linjärkombination (summa eller integral) av cosinusfunktioner. Om vi antar att för vår signal s(t) går det entydigt att bestämma koefficienter αn och φn så att X s(t) = αn cos(ωn t − φn ) dω, (6.15) n så innebär (6.14) att X αn cos(ωn t − φn ) = n ∞ X X k=−∞ n ! t−kT αn cos(ωn k T − φn ) · r . T (6.16) Byter vi plats på de två summorna i högerledet blir det X n αn cos(ωn t − φn ) = X n αn ∞ X k=−∞ 90 cos(ωn k T − φn ) · r ! t−kT . T (6.17) Λ(t) 1 t 0 −1 0 1 Figur 6.5: Interpolationsfunktionen Λ som definieras i (6.12). Här ser vi att ett tillräckligt villkor för att (6.14) ska gälla är att ∞ X ! t−kT cos(ωt − φ) = cos(ω k T − φ) · r . T k=−∞ (6.18) för alla de frekvenser ω = ωn då αn , 0 och godtyckliga φ = φn . Om vi antar att det existerar en ideal interpolationsfunktion r som ger likhet i (6.18) så måste gälla att Z π T − Tπ cos(ωt − φ) dω = ∞ Z X k=−∞ π T − Tπ ! t−kT cos(ω k T − φ) dω · r . T Integralen i högerledet i denna ekvation kan förenklas till 2π cos φ Z π T T , k = 0, cos(ω k T − φ) dω = 0, π k,0 −T = 2π cos φ · δ[k], T (6.19) (6.20) där δ[k] är den diskreta impulsfunktionen som definieras i avsnitt B.6. Det betyder att hela högerledet reduceras till ! ∞ 2π cos φ X t−kT 2π cos φ t HL = δ[k] · r = r . (6.21) T T T T k=−∞ På motsvarande sätt kan vi bestämma vänsterledet i (6.19) till VL = Z π T − Tπ cos(ω t − φ) dω = För att VL = HL för alla möjliga φ måste då gälla att t T sin π t T r = , ⇒ T πt 2 cos φ sin r(z) = t πt T . sin(π z) = sinc(z). πz (6.22) (6.23) Det vi har gjort här är inget strikt bevis, men vi har i alla fall visat att under vissa rimliga antaganden, exempelvis att den ideala interpolationsfunktionen r existerar och är unik, så måste den vara definierad som r(z) = sinc(z). Denna ideala interpolationsfunktion illustreras i figur B.2 på sidan 107. 91 (6.24) Vi kan summera det resultat vi har tagit fram så här långt som att vi kan rekonstruera en “ideal signal” ! X t−kT , (6.25) sIDEAL (t) = s[k] · sinc T k som verkar ha egenskapen att sIDEAL (t) = s(t) där s(t) är en godtycklig signal i signalrummet S relaterad med s[k] enligt (6.1) och (6.2). Som vi ska se i nästa avsnitt är (6.25) inte hela sanningen när det gäller ideal rekonstruktion. Det visar sig att sIDEAL (t) = s(t) bara gäller om vi begränsar vilka frekvenser som kan förekomma i signalen, dvs. begränsar valet av S. 6.3 Samplingsteoremet Om vi samplar en signal s(t) ideal och sedan rekonstruerar den med hjälp av den ideala interpolationen som beskrivs i (6.25) kan vi inte garantera att sIDEAL (t) = s(t) för godtyckliga signaler s(t). Det är två olika, men relaterade, observationer som leder oss till att sIDEAL (t) , s(t) i det generella fallet. Den första rör den ideala interpolationsfunktionen r som härleddes i avsnitt 6.2.2 och innebär att den byggs upp av cosinusfunktioner med ett begränsad frekvensinnehåll, vilket i sin tur begränsar hur sREK (t) kan väljas. Den andra observationen berört det fenomen som kallas vikning, som diskuterades i avsnitt 4.5.3, och innebär att den tidsdiskreta signalen s[k] inte entydigt kan bestämma s(t). Vi ska undersöka båda dessa observationer och avsluta med att dra en praktiskt användbar slutsats om hur s(t) ska vara beskaffad för att ideal rekonstruktion ska vara möjlig. sinc-funktionen är bandbegränsad Vi ska börja med att undersöka en specifik funktion f (t) som är en linjärkombination av cosinusfunktioner: Z π Z π T T T T cos(ω t − ω k T ) dω = cos(ω (t − k T )) dω. (6.26) f (t) = π 0 π 0 Det betyder att f (t) bildas genom att “addera” alla möjliga cosinusfunktioner med vinkelfrekvens ω som ligger mellan 0 och Tπ , vars fas ges av φ = ω k T . Vi kan bestämma integralen i högerledet: " #π ! T − sin(ω (t − k T )) T T sin(π(t − k T )/T ) t−kT f (t) = = = sinc . (6.27) π t−kT π (t − k T ) T 0 Vi känner igen detta uttryck för f (t) som de interpolerande funktioner som används vid ideal rekonstruktion, (6.25). Den slutsats vi kan dra av detta är att varje interpolerande funktion, för alla k ∈ Z, “byggs upp” av cosinusfunktioner som innehåller vinkelfrekvenser enbart mellan 0 och π/T , dvs. de är Tπ -bandbegränsade (se avsnitt 4.4.3). Det betyder i sin tur att även den resulterande funktionen sIDEAL i (6.25) är Tπ -bandbegränsad. Vi sammanfattar: 35 Den ideala rekonstruktionen sIDEAL (t), (6.25), ger sIDEAL (t) = s(t) enbart om s(t) är Tπ -bandbegränsad. s[k] bestämmer inte s(t) entydigt I avsnitt 4.5.3 konstaterade vi att en tidskontinuerlig signal s(t) som samplas utsätt för vikning, dvs. det går inte längre att hålla rätt på frekvenskomponenter som skiljer sig med multipler av 2π T , och inte heller mellan negativa och positiva frekvenser. För att få en entydig tolkning av hur ett tidsdiskret LTI-system hanterar olika frekvenskomponenter föreslogs att vi den samplade signalen ska vara bandbegränsad enligt π (6.28) 0≤ω< . T 6.3.1 Formulering av samplingsteoremet De två observationerna kan vi ta som intäkt för att ideal sampling och rekonstruktion inte fungerar för generella signaler. De ger emellertid även en tydlig ledtråd till hur vi ska begränsa signalrummet S så att ideal rekonstruktion fungerar. Detta kan göras med samplingsteoremet som här formuleras på följande sätt: 92 Samplingsteoremet Om den tidskontinuerliga signalen s(t) är Tπ -bandbegränsad2 och genom ideal sampling, (6.1), överförs till den tidsdiskreta signalen s[k], är denna bandbegränsning ett tillräckligt villkor för att det ska vara möjligt att entydigt bestämma s(t) ur s[k]. I detta fall gäller dessutom ! X t−kT s(t) = sIDEAL (t) = , (6.29) s[k] · sinc T k En konsekvens av samplingsteoremet är att om samplingsperioden T är fix och bestämd så betyder det att vi måste se till att s(t) är Tπ -bandbegränsad, exempelvis genom att låta den lågpassfiltreras med ett filter som tar bort alla frekvenser över Tπ . Alternativt: om det är möjligt att välja T ska vi göra det så att π > ωmax = 2 π fmax , T (6.30) där ωmax respektive fmax är den högsta vinkelfrekvensen/frekvensen som signalen innehåller. Samplingsfrekvensen ges av fs = 1/T , vilket låter oss skriva fs > fmax . (6.31) 2 Frekvensen 2fs kallas Nyquist-frekvensen för den tidsdiskreta signalen som samplas med samplingsfrekvensen f s . Vi kan därför infoga följande observation som en konsekvens av samplingsteoremet: 36 För att idela rekonstruktion ska vara möjlig får inte signalen som samplas innehålla frekvenskomponenter med frekvens över eller lika med Nyquist-frekvensen. alternativt 37 Om en generell signal s(t) samplas med samplingsfrekvensen fs och rekonstrueras idealt så kommer enbart frekvenser upp till Nyquist-frekvensen att återges korrekt i den rekonstruerade signalen. Samplingsteoremet innebär i att vi inte kan sampla generella signaler, som kan innehålla godtyckliga frekvenskomponenter. Antingen måste vi veta något om vilka de “högsta” frekvenskomponenter är, alltså frekvensen fmax . Vi väljer sedan en samplingsfrekvens f s som är minst dubbelt så hög som fmax . Alternativt tar vi bort alla komponenter med frekvens över Nyquist-frekvensen med ett lämpligt filter. I praktiken räcker det med att vi kan skatta fmax i den meningen att de komponenter vars frekvens är högre än fmax i tillräckligt små för att inte signifikant påverka den samplade signalen genom vikning. Alternativt att ett LP-filter dämpar frekvenskomponenterna över Nyquist-frekvensen så pass att de inte signifikant påverkar den samplade signalen genom vikning. Vikningsdistorsion Vi ska titta på ett exempel där signalen s(t) = cos(πt) + cos(4 π t) (6.32) samplas med samplingsfrekvensen f s = 2 Hz, motsvarande sampelperioden T = 0, 5 s. Vi noterar först att denna samplingsfrekvens motsvarar Nyquist-frekvensen 1 Hz eller 2π rad/s. Vi ser även att av de två frekvenskomponenter i signalen ligger den första under Nyquist-frekvensen medan den andra ligger över. Denna signal uppfyller alltså inte villkoret för att ideal rekonstruktion enligt samplingsteoremet. Sampelvärdena ges av den tidsdiskreta signalen ! π 4π s[k] = cos k + cos k . (6.33) 2 2 På grund av vikningen motsvarar dessa sampelvärden även av ! π π π 4π s[k] = cos k + cos k − 2 π k = cos k + cos(0) = cos k + 1, 2 2 2 2 2 Exklusive gränsen π T. 93 (6.34) vilket motsvaras av att s[k] erhålls genom ideal sampling av signalen s0 (t) = 1 + cos(πt). (6.35) Signalen s0 innehåller inga frekvenskomponenter över Nyquist-frekvensen och uppfyller därmed villkoret som nämns i samplingsteoremet. Det betyder att den signal som rekonstrueras ur s[k] ges av srek (t) = s0 (t) = 1 + cos(πt). (6.36) Det vi ser här är att den komponent i signalen som ursprungligen hade vinkelfrekvens 4π rad/s efter sampling och rekonstruktion får frekvensen 0. Att komponenter i signalen s(t) byter frekvens efter sampling och rekonstruktion kallas vikningsdistorsion och uppträder enbart om s(t) innehåller komponenter med frekvenser över Nyquist-frekvensen. För att undvika vikningsdistorsion behöver vi se till att villkoret på bandbegränsning i samplingsteoremet är uppfyllt. 38 En signal som samplas och rekontrueras ideal men inte är bandbegränsad enligt samplingsteoretmet kommer att uppvisa vikningsdistorsion. Det betyder att frekvenskomponeter över Nyquist-frekvensen “flyttas in” i intervallet 0 ≤ f < f2 /2. En kommentar Att filtrera bort alla frekvenskomponenter ovanför Nyquist-frekvensen är i sig en slags distorsion eftersom detta påverkar signalen och, i princip, signifikant skulle kunna förändra signalen på ett negativt sätt. Att ta bort eller dämpa frekvenskomponenter brukar normalt vara bättre än att “flytta” deras frekvens, vilket är vad som händer vid vikning. 6.3.2 Ideal rekonstruktion (praktik) I de föregående avsnitten har vi sett att, i princip, det är möjligt att sampla en tidskontinuerlig signal s(t), vilket resulterar i den tidsdiskreta signalen s[k], och sedan rekonstruera s(t) ur samplen i s[k]. Ett krav är at s(t) är bandbegränsad på lämpligt sätt, men även att samplingen gjord på ett idealt sätt, liksom att rekonstruktionen görs med den ideala interpolationsfunktionen r i (6.2.2). Det första villkoret är i de flesta fall möjligt att hantera inom de ramar som beskrivs i avsnitt avsnitt 6.1, exempelvis i form av kvantiseringsbrus som emellertid kan reduceras till lämplig nivå genom att representera varje sampel med ett tillräckligt stort antal bitar. Även signalens bandbegränsning går att hantera genom att välja samplingsfrekvensen f s tillräckligt hög i förhållande till de frekvenskomponenter som signalen förväntas innehålla. Det sista villkoret, ideal rekonstruktion, behöver emellertid belysas något eftersom det inte uppenbart går att realisera i praktiken. Ett praktiskt problem ser vi i (6.25): den idealt rekonstruerade signalen srek (t), bestäms vid varje tidpunkt t av en summa med oändligt antal termer, ett IIR-filter. Det finns teori för hur IIR-filter kan hanteras, men det betyder inte att det är enkelt att beskriva ett IIR-filter med en godtyckligt impulssvar. Alternativet är att försöka approximera den ideala interpolationsfunktionen sinc med en “ändlig” funktion, som är = 0 utanför ett begränsat intervall. Funktionen sinct går förvisso mot 0 när t → ±∞, men den gör det relativt långsamt. För att få en bra approximation skulle vi behöva ta med flera “perioder” av sinc-funktionen. Exempelvis: sinc(6, 5) ≈ 0, 05, dvs. för att komma under 5% av sinc-funktionens maxvärdet måste drygt tre perioder av funktionen tas med på varje sida av huvudloben. Ovanstående approximation är emellertid hanterbar rent tekniskt, vi kan trunkera sinc-funktionen, eller på annat sätt approximera den, så att den resulterande funktionen får en ändlig längd. Ju längre den resulterande funktionen är, desto bättre approximation av sinc-funktionen. Det finns emellertid ytterligare ett problem. Även sedan sinc-funktionen approximerats med en ändlig funktion blir det resulterande systemet som utför den (approximativt) ideala rekonstruktionen icke-kausalt. För att bestämma s(t) behöver vi summera ett ändligt antal sampel s[k] viktade med värden ur interpolationsfunktionen på ett sådant sätt att även sampel som ligger “framåt” i tiden relativt tidpunkten t kommer med. Det enklaste sättet att hantera detta i praktiken är att införa en tidsfördröjning i samband med rekonstruktionen. Om den interpolerande funktionen har längden 2t0 , dvs. tar med sinc-funktionen från t = −t0 till t = +t0 , kan vi fördröja utsignalen med t0 . Den interpolerande funktionen kommer då att med en approximation av sinc-funktionen vikta in sampel som motsvarar tiden t och “bakåt” i tiden. 94 Sammanfattningsvis måste ideal rekonstruktion alltid realiserad med en approximation av den ideala interpolationsfunktionen, som dessutom är fördröjd. Denna fördröjning har ofta ingen praktiskt betydelse, varför den ofta bortses från vid de teoretiska utredningar som görs här. 39 Ideal sampling och rekonstruktion är praktiskt möjligt, men bygger på ett antal approxiamtioner som, emellertid, kan göras godtyckligt bra genom att konstruera systemet på lämpligt sätt. Dessutom kommer den rekonstruerade signalen alltid att bli fördröjd. 6.4 Omsampling En tidsdiskret signal som har erhållits via sampling, (6.1), motsvarar en viss samplingsfrekvens, f s , eller samplingsperiod T . Ibland ka vi vara intresserad av att överföra den tidsdiskreta signalen till en ny tidsdiskret signal som motsvarar en annan samplingsfrekvens. Ett exempel är digitalt ljud som spelas upp från en CD skiva i en dator som ska konverteras till en MP3-fil. CD-musik har en samplingsfrekvens på 44, 1 kHz och är optimerad för HiFi-kvalitet, medan MP3 är optimerad för att kunna komprimera ljudet så att det tar så lite data i anspråk som möjligt. För att göra det kan MP3 välja mellan samplingsfrekvenserna 16, 22, 05 och 24 kHz. Om vi vill kunna hantera ljud som spelar upp från en CD och spelar in i MP3-format, eller tvärtom, måste vi då kunna ändras samplingsfrekvens. Detta kallas omsampling. Ett annat exempel är bilder och video, även om det då är fråga om signaler som beror av en vertikal och en horisontell position, snarare än bara av tiden. Det finns ett flertal standarder för TV och video och vissa samplar bilderna med 50 Hz (egentligen 50 halvbilder per sekund), andra med 60 Hz. För att kunna överföra TV-bilder mellan olika system behöver de därför samplas om tidsmässigt. Men bilderna kan även ha olika upplösning, dvs. pixlar per bild. I det fallet behöver bilderna även samplas om spatiellt, i både vertikal och horisontell ledd. Omsampling kan ses som att den tidsdiskreta signalen s1 [k] överförs till en ny tidsdiskret signal s2 [k] där det i bakgrunden finns en tidskontinuerlig signal s(t) så att s1 [k] = s(k T 1 ), s2 [k] = s(k T 2 ). och (6.37) där T 1 och T 2 är samplingsperioderna för s1 respektive s2 . Om T 1 < T 2 , dvs. samplingsfrekvensen för s1 är högre än för s2 [k], kallas omsamplingen för nedsampling. Vid nedsampling genereras färre sampel per tidsenhet än vad som är fallet i den ursprungliga signalen. Det motsatta fallet kallas uppsampling. Ett sätt att implementera omsamplingen, från s1 till s2 skulle kunna vara att först rekonstruera s(t) från s1 [k] och sedan sampla den resulterande tidskontinuerliga signalen, med sampelperioden T 2 , vilket ger s2 [k]. Det första steget producerar den rekonstruerade signalen, enligt (6.14): srek (t) = ∞ X s1 [l] r l=−∞ ! t − l T1 . T1 (6.38) Här är r en lämplig interpolationsfunktion, där vi har sett några olika alternativ. Denna rekonstruerade signal samplad sedan, nu med samplingsperioden T 2 , vilket ger den omsamplade tidsdiskreta signalen s2 [k]: s2 [k] = srek (k T 2 ) = ∞ X l=−∞ s1 [l] r ! k T2 − l T1 . T1 (6.39) I praktiken väljer vi ofta en interpolationsfunktion r som är ändlig, med längden z0 , dvs. r(z) = 0 för när |z| > z0 . Det betyder att (6.39) kan formuleras som s2 [k] = l2 X l=l1 ! k T2 s1 [l] r −l . T1 (6.40) där l1 = kTT12 − z0 , avrundat nedåt, och l2 = kTT12 + z0 , avrundat uppåt. Det intressant med formuleringen av s2 som visas i (6.40) är att varje sampel i den resulterande, omsamplade, signalen s2 [k] erhålls som en linjärkombination 95 av upp till l2 − l1 + 1 sampel i den ursprungliga signalen s1 [k]. Koefficienterna i denna linjärkombination ges av olika värden tagna från interpolationsfunktionen r. Vi kan se en omsampling som en speciell typ av tidsdiskret system, där både in- och utsignal är tidsdiskret, men där de har olika samplingsfrekvens. På grund av detta blir antalet sampel per tidsenhet olika för in- och utsignal, vilket gör att denna typ av system är lite mer komplicerad att hantera i praktiken. Det behövs två olika system som “matar fram” samplen för in- respektive utsignal. En omsamplare är ett linjärt system men, i det generella fallet, inte ett tidsinvariant system. 6.4.1 Uppsampling Av de två varianterna som finns på omsampling är uppsampling den minst komplicerade, i alla fall vad gäller teorin. Här ska den resulterande tidsdiskreta signalen ha fler sampel per tidsenhet än den ursprungliga signalen. Ett enkelt exempel är att T 2 = 2 T 1 , dvs. s2 har dubbla antalet sampel jämförd med s1 . I fallet att r(z) = Λ(z), dvs. vi använder bilinjär interpolation, kan s2 genereras genom k är jämn, s2 [k/2] (6.41) s2 [k] = 1 s2 [(k − 1)/2] + 1 s2 [(k + 1)/2] k är udda. 2 2 Det betyder att vart annat sampel i s2 fås direkt från motsvarande sampel i s1 , medan de udda “mellanliggande” samplen måste interpoleras från två grannsampel. Om en mer komplicerad interpolationsfunktion används, exempelvis den ideala funktion som härleds i avsnitt 6.2.2, kommer uttrycket för s2 att se mer komplicerat ut. Det kommer det även att göra i det fall att T 1 och T 2 förhåller sig till varandra på andra sätt än vad som antas här. I praktiken kan ett uttryck som (6.40) implementeras enkelt i digital elektronik, som utför beräkningen av linjärkombinationen med digital aritmetik (addition och multiplikation). Denna typ av system är relativt vanlig i digitala system för hantering av ljud och/eller bild. 6.4.2 Nedsampling Vid nedsampling ska den resulterande tidsdiskreta signalen ha färre sampel per tidsenhet än den ursprungliga signalen. Detta fall är lite mer komplicerat än uppsampling. Det beror på att vi, normalt, antar att sampling är gjord mer eller mindre enligt samplingsteoremet, dvs. den tidskontinuerliga signalen s(t) i (6.37) är bandbegränsad som att vikningsdistorsion inte uppstår, i alla fall inte bidrar till att signifikant försämra den samplade signalens kvalitet. Vid nedsampling kommer samplingsfrekvensen för s2 att vara lägre än för s1 , dvs dess Nyquist-frekvens ligger lägre än Nyquist-frekvensen för s1 . Om vi då har bandbegränsat s(t) till Nyquist-frekvensen för s1 innan den sampling som resulterade in s1 [k], så kan de fortfarande finnes frekvenskomponenter i s2 som ligger ovanför Nyquist-frekvensen för s2 , vilket då genererar vikningsdistorsion efter omsamplingen. För att undvika detta behöver den tidsdiskreta signalen s1 [k] bandbegränsas till Nyquist-frekvensen för s2 . Sammanfattningsvis: 40 Vid nedsampling bör s1 först bandbegränsas till Nyquist-frekvensen för s2 , annars uppstår vikningsdistorsion efter nedsamplingen. Ett enkelt exempel En enkel typ av nedsampling är att reducera antalet sampel per tidsenhet med en faktor 2, vilket gör genom s2 [k] = s01 [2 k] (6.42) Det betyder att vi får s2 genom att plocka vart annat sampel ur s01 . I enklaste fallet skulle vi kunna sätta s01 = s1 , men enligt ovanstående resonemang riskerar då s2 att utsättas för vikningsdistorsion. Istället bör vi välja s01 = s1 ∗ hLP där hLP är ett tidsdiskret LP-filter som reducerar alla frekvenskomponenter över Nyquist-frekvensen för s2 . 96 (6.43) Figur 6.6: Ett tidskontinuerligt system som implementeras genom en kaskad av ideal sampling, ett tidsdiskret system h[k] och en ideal rekonstruktion. 6.5 Tidskontinuerliga system implementerade med tidsdiskreta system Antag att vi vill åstadkomma att tidskontinuerligt system H, med insignal x(t) och utsignal y(t), som har ett specifikt impulssvar h(t). Som nämnts tidigare är en av poängerna med tidsdiskreta filter att de enkelt och effektivt kan implementeras i digital elektronik. Därför vill vi implementera systemet H genom att först sampla x(t) idealt, vilket resulterar i den tidsdiskreta signalen x[k] som får vara insignal till ett tidsdiskret system H̃ med impulssvaret h̃[k]. Utsignalen y[t] blir sedan idealt rekonstruerad till den tidskontinuerliga signalen y(t), vilken är utsignalen för H. Denna typ av system illustreras i figur 6.6. Frågan som uppstår är hur ska vi välja det tidsdiskreta systemets impulssvar h̃[k] så att impulssvaret för det kaskadkopplade systemet H blir h(t). Svaret är så enkelt som att h̃[k] ska vara en ideal sampling av T h(t), men det hela fungerar bara om både h och x är samplade enligt samplingsteoremet, dvs. att samplingsfrekvensen är vald så att varken h(t) eller x(t) har frekvenskomponenter över Nyquist-frekvensen. Vi ska ägna resten av detta avsnitt till att visa detta påstående. Vi antar att både h(t) och x(t) kan samplas idealt med samplingsperioden T , där T är vald så att ideal rekonstruktion enligt samplingsteoremet är möjligt för båda dessa signaler. I enlighet med (6.29) kan de då formuleras som ! ! ∞ ∞ X X t−lT t−kT , x(t) = x[l] sinc . (6.44) h(t) = h[k] sinc T T l=−∞ k=−∞ Utsignalen från systemet H ges som faltningen mellan h och x Z y(t) = H{x(t)} = (h ∗ x)(t) = ∞ h(τ) x(t − τ) dτ. (6.45) −∞ men vi ska först undersöka den diskreta signalen y[k], utsignalen från det tidsdiskreta filtret h[k]. Eftersom y(t) genererats av en ideal rekonstruktion gäller att: Z ∞ y[k] = y(k · T ) = h(τ) x(k T − τ) dτ = /(6.45)/ = −∞ =x(kT −τ) =h(τ) }| { {z ! ∞ ! byt plats på τ−kT X kT −τ−lT = x[l] sinc dτ = summor och integral = h[k] sinc T T −∞ k=−∞ l=−∞ Z z ∞ ∞ X }| = T δ[n−l−k] ∞ X ∞ X z Z τ−kT = h[k] x[l] sinc T −∞ k=−∞ l=−∞ =T ∞ X ∞ X ∞ ! }| ! { kT −τ−lT sinc dτ = /(B.45)/ = T h[k] x[l] δ[n − l − k] = /(B.35)/ = T k=−∞ l=−∞ ∞ X (6.46) h[k] x[n − k] = T (h ∗ x)[k]. k=−∞ Sambandet mellan y[k] och x[k] kan även skrivas y[k] = (h̃ ∗ x)[k], 97 (6.47) och eftersom impulssvaret för ett system är unikt leder de två senaste ekvationerna till följande samband mellan det tidsdiskreta systemets impulssvar h̃[k] = T h(k · T ). (6.48) 41 Ett tidskontinuerligt system H med insignal x(t) och impulssvar h(t) kan implementeras i form av ett tidsdiskret system H̃, med sampelperiod T , i kaskad med ideal sampling och ideal rekonstruktion, där H̃ har impulssvaret T h(k T ). Ett tillräckligt villkor för detta är att T är vald så att alla frekvenskomponenter i både h(t) och x(t) ligger under Nyquist-frekvensen. 98 Bilaga A Saker vi minns från tidigare kurser I detta kapitel finns samlat en del definitioner och resultat som du ska vara bekant med från tidigare kurser. A.1 Linjär algebra Linjär algebra handlar om studiet av vektorrum och linjära avbildningar i vektorrum. De flesta exempel i en grundläggande kurs om linjär algebra handlar ofta om vektorrummen Rn , där vektorerna är ordnade grupper av n reella tal, och linjära avbildningar Rn → Rm representeras av n×m matriser. Vi ska här repetera några av de grundbegrepp som dyker upp denna framställning. A.1.1 Vektorrum Ett vektorrum består egentligen av två mängder: vektorer och skalärer. Vektorerna kan vara element i Rn och skalärerna motsvarar reella tal. Att det hela utgör ett vektorrum innebär två saker: 1. Det går att addera vektorer med varandra och resultatet blir en vektor. I Rn innebär addition av vektorer att de adderas elementvis. 2. Det går att multiplicera en vektor med en skalär, ett reellt tal, och resultatet blir en vektor. I Rn innebär multiplikation mellan vektor och skalär att skalären multipliceras på varje element i vektorn. För fullständighetens skull kan nämnas att de två operationerna, addition av vektorer och multiplikation mellan vektor och skalär, i sig själva har ett antal specifika egenskaper, exempelvis att det finns en speciell vektor, kallad nollvektorn och betecknad 0, som har egenskapen att 0 + v = v + 0 = v för alla vektorer v ∈ V. Det finns ytterligare några egenskaper, men vi stannar här. A.1.2 Linjärkombination Om v1 , . . . , vn } är en ordnad mängd med n vektorer och c1 , . . . , cn är en ordnad mängd med n skalärer så kan vi bilda en vektorer som en linjärkombination mellan de n vektorerna och de n skalärerna som c1 v1 + c2 v2 + . . . + cn vn . A.1.3 (A.1) Linjära transformationer Låt V vara ett vektorrum, exempelvis Rn och låt T : V → V vara en avbildning från V till V. T kallas då för en linjär transformation om T{α1 v1 + α2 v2 } = α1 T{v1 } + α2 T{v2 }, (A.2) för alla möjliga val av vektorer v1 , v2 ∈ V och val av skalärer α1 , α2 ∈ R. Om vi analyserar definitionen av en linjär transformation lite noggrannare, ser vi att både vänster- och högerledet i (A.2) innehåller en linjärkombination. I vänsterledet sker linjärkombinationen innan T får verka på resultatet, 99 och i högerledet sker linjärkombinationen efter att T fått verka på var och en av de två vektorerna. En alternativ definition skulle alltså vara att T är en linjär transformation om det inte spelar någon roll ifall T appliceras före eller efter en linjärkombination mellan två vektorer, och att det heller inte spelar någon roll vilka två vektorer eller skalärer som ingår i linjärkombinationen. En kommentar (I) Om T är en linjär transformation i ett vektorrum så ger den samma resultat om den får verka före eller efter en linjärkombination av ett godtyckligt ändligt antal vektorer. Om T är en linjär transformation kommer alltså (A.2) att gälla även för linjärkombinationer av tre eller fler vektorer. En kommentar (II) För att visa att en avbildning i ett vektorrum är en linjärtransformation räcker det med att visa (A.2), en linjärkombination mellan två godtyckliga vektorer och två godtyckliga skalärer. A.1.4 Baser och koordinater En bas för ett vektorrum V är en samling vektorer B = {bn ∈ V} som har egenskaperna 1. Linjärt oberoende: ingen av vektorerna bn ∈ B kan skrivas som en linjärkombination av de övriga. 2. Spänner upp: Varje vektor v ∈ V kan skrivas som en linjärkombination av basvektorerna. Egenskap 2 innebär att för varje v ∈ V finns en uppsättning skalärer cn så att v= X cn en . (A.3) n Egenskap 1 innebär att dessa skalärer är unika för varje v, dvs. det finns bara ett enda sätt att uttrycka v som en linjärkombination av basvektorerna. Dessa skalärer kallas koordinater för v relativt basen B. I fallet att B innehåller ett ändligt antal basvektorer är V ett vektorrum av ändlig dimension = antalet vektorer i B. I princip kan B även innehålla oändligt många vektorer, och då är V ett oändligdimensionell vektorrum. A.1.5 Skalärprodukt och norm I ett vektorrum Rn kan vi definiera skalärprodukten mellan två vektorer u = u1 u2 ... un , v = v1 ... v2 vn , (A.4) som u · v = u1 v1 + u2 v2 + . . . + un vv . (A.5) En vektor u sådan att kuk = 1 kallas för en normerad vektor. Normen (längden) av en vektor i Rn kan definieras med hjälp av skalärprodukten som kvk = (v · v)1/2 . (A.6) Vinkeln α mellan två nollskilda vektorer i Rn kan även den definieras via skalärprodukten ur sambandet u · v = kuk · kvk · cos α, ⇒ cos α = u·v . kuk · kvk (A.7) Vi kan använda cos α som ett mått på hur “lika” de två vektorerna u och v är, där vi samtidigt bortser från deras norm. Om de är helt lika, bortsett från olika skalning, är cos α = 1. Om de de är lika, men har motsatt tecken och eventuellt olika skalning, är cos α = −1. Om de är ortogonala vektorer, vilket kan tolkas som helt olika, är cos α = 0. 100 A.1.6 Minsta kvadratproblem Ett ofta återkommande problem att lösa inom ett flertal områden är att hitta den vektor x ∈ Rn som minimerar definierad som = kA x − yk2 , (A.8) där A är en känd m × n matris och y är en känd vektor i Rm . Denna typ av problem kallas minsta kvadratproblem och betyder egentligen att vi vill minimera normen av en skillnad mellan två vektorer, Ax respektive y, men genom att kvadrera normen får vi samma lösning och det blir det ett enklare problem att lösa. Skillnaden mellan de två vektorerna kan ofta ses som ett “fel”, exempelvis mellan vad vi observerar, y, och vad en viss matematisk modell säger att vi borde observera, A x. Genom att minimera felet, dvs. minimera , kan vi bestämma parametrar x som beskriver den modell som bäst förklarar observerade data. Ett typiskt exempel är att anpassa en linje till en mängd punkter. I linjär algebra visas att det x som minimerar måste uppfylla normalekvationen för det aktuella minsta kvadratproblemet: A> A x = A> y, (A.9) där A> är transponatet av A, dvs. en n × m matris som har bytt rader med kolumner relativt A. Normalekvationen (A.9) har en entydig lösning om rangen för matrisen A är ≥ n, dvs. antalet linjärt oberoende rader och kolumner i A är ≥ n. I det fallet är matrisinversen av AT A väldefinierad och ger x = (A> A)−1 A> y. (A.10) Om rangen av A är < n finns ingen entydig invers av AT A och x kan inte bestämmas med (A.10). Istället finns det oändligt många lösningar som kan bestämmas genom att dela upp Rn i ett nollrum till A och dess ortogonala komplement. Det finns då en entydig lösning i det senare rummet, till vilken kan adderas en godtycklig vektor i det förra rummet. A.2 Trigonometri Trigonometriska ettan cos2 x + sin2 x = 1. (A.11) Cosinus och sinus av summa eller skillnad av två vinklar sin(x + y) = sin x cos y + cos x sin y (A.12) sin(x − y) = sin x cos y − cos x sin y (A.13) cos(x + y) = cos x cos y − sin x sin y (A.14) cos(x − y) = cos x cos y + sin x sin y (A.15) 2 cos x sin y = sin(x + y) − sin(x − y). (A.16) Produkter av sinus och/eller cosinus 2 cos x cos y = cos(x + y) + cos(x − y), (A.17) 2 sin x sin y = cos(x − y) − cos(x + y). (A.18) Samband mellan cosinus och sinus π , cos(x) = sin x + 2 π sin(x) = cos x − . 2 . 101 (A.19) (A.20) A.3 Komplexa tal Grundläggande teori relaterade till komplex tal ska du redan känna till från andra kurser. Detta appendix innehållet ett antal formler och andra resultat som vi använder i detta kompendium. Kartesisk representation Ett komplext tal skrivs på formen z = a + j b, (A.21) där j är den imaginära enheten, som uppfyller j2 = −1. Du är sannolikt van vid att den imaginära enheten betecknas med i, vilket är vanligt inom matematik och fysik. Inom området elektriska kretsar används i istället för att beteckna elektrisk ström, och för att inte sammanblandning ska ske brukar j användas som den imaginära enheten i dessa sammanhang. Eftersom elektriska kretsar är en del av denna framställning kommer vi konsekvent att använda j för att beteckna den imaginära enheten för de komplexa talen. De reella talen a och b i (A.21) kallas realdel respektive imaginärdel av det komplex talet z. Formellt kan vi definiera två funktioner som plockar ut real- respektive imaginärdelarna av ett komplext tal Re [z] = a, Im [z] = b. (A.22) Mängden av alla komplexa tal betecknas med C. Formuleringen av z ∈ C som beskrivs in (A.21), en summa av de två termer som representerar realdelen respektive imaginärdelen, kallas för kartesisk representation. Eulers formel Inte bara tal, skalärer, kan vara komplexa. Även funktioner kan vara komplexvärda. Ett exempel ges av Eulers formel, som skrivs e jφ = cos φ + j sin φ. (A.23) Den kas ses som ett sätt att utöka den vanliga reellvärda exponentialfunktionen till komplexa tal. En “invers” form av Eulers formel låter oss uttrycka både cosinus- och sinusfunktionerna i termer av den komplexa exponenialfunktionen: e jφ − e− jφ e jφ + e− jφ , sin φ = . (A.24) cos φ = 2 2j Ett alternativt till den kartesiska representationen av z ∈ C är att använda polär representation: z = A e jφ = /Eulers formel/ = A cos φ + j A sin φ. (A.25) I denna form kallas det reella talet A ≥ 0 för magnituden av z och skrivs A = | z |. Talet φ ∈ R är argumentet av z, vilket skrivs φ = arg(z). Genom att identifiera real- och imaginärdelarna för z i (A.21) respektive (A.25) får vi direkt ett par samband som kan uttrycka dessa i magnituden och argumentet: a = A cos φ, b = A sin φ. (A.26) Ur dessa samband får vi även a2 + b2 = A2 (cos2 φ + sin 2φ) = A2 , ⇒ A= √ a2 + b2 . (A.27) Även argumentet φ går att erhålla ur (A.26), men här måste vi vara lite försiktiga och ta hänsyn till i vilken kvadrant i komplexa talplanet som z ligger. Det görs genom att använda funktionen atan2 som definieras i avsnitt B.1: φ = arg(z) = atan2(a, b). (A.28) Notera att fallet a = b = 0 motsvarar z = 0 och att alla φ är giltiga eftersom även A = 0. Funktionen i (B.1), som bestämmer φ i intervallet −π < φ ≤ π som funktion av a, b, och brukar ibland kallas atan2. Den tar korrekt hänsyn 102 till i vilken kvadrant som z ∈ C ligger i, men den tar inte hänsyn till att även φ + 2 π n fungerar som argument for z, där n är heltal. Denna insikt måste ibland tas med explicit i uttrycket för φ, men kan oftast antas vara underförstådd. 42 Det går inte att bestämma argumentet φ av ett komplext tal a + j b enbart som φ = tan−1 ab . 43 Argumentet för ett komplext tal är inte entydigt bestämt i den meningen att det går att addera godtyckliga heltalsmultiplar av 2 π till argumentet. Komplexkonjugat Ett komplext tal z = a + j b har ett komplexkonjugat, betecknat z, enligt z = a − j b. (A.29) dvs. komplexkonjugatet ges av ett teckenbyte av imaginärdelen av z. I polär representation innebär komplexkonjugering teckenbyte av argumentet: (A.30) z = A e jφ , ⇒ z = A e− jφ A.4 Analys A.4.1 Definition av derivata Derivatan av funktionen f , vid punkten z, bestäms som ett gränsvärde f (z + h) − f (z) d f (z) = lim . h→0 dz h A.4.2 Några nyttiga uttryck Ibland kan det underlätta att kunna uttrycka funktionen 1/x lite krångligare än vanligt: " −xz #z=∞ Z ∞ e 1 e−xz dz = − = , x > 0. x z=0 x 0 A.4.3 (A.31) (A.32) Generaliserade integraler Den generaliserade integralen (eller oegentliga integralen) av en funktion från −∞ till ∞ definieras1 som ett gränsvärde: Z Z ∞ h f (z) dz = lim h→∞ −∞ På motsvarande sätt: Z ∞ f (z) dz = lim 0 En konsekvens av detta är Z h→∞ f (z) dz. (A.33) f (z) dz. (A.34) −h Z h 0 ∞ f (z) dz = 0, om f (z) är en udda funktion, (A.35) −∞ dvs. om f (−z) = f (z) för alla z. 1 Det finns alternativa definitioner av denna typ av generaliserad integral, som inte alltid ger samma resultat. I denna framställning använder vi emellertid ovanstående definition. 103 A.4.4 Specifika integraler En specifik integral som dyker upp i denna berättelse är Z π/T e jω T (k−l) dω. (A.36) −π/T där k, l ∈ Z. För att bestämma denna integral behöver vi undersöka två fall: k = l och k , l. När k = l får vi Z π/T Z π/T 2π jω T (k−l) . e dω = e0 dω = |{z} T −π/T −π/T (A.37) =1 För fallet k , l får vi istället Z π " e jω T (k−l) dω = −π e jω T (k−l) jω T (k − l) #ω=π/T 2Tπ dω = 0 k = l, 2π δ[k]. = /(B.34)/ = T k , l. ω=−π/T = 1 (0 − 0) = 0. jω T (k − l) (A.38) Sammanfattningsvis kan vi då skriva Z π/T e jω T (k−l) −π/T A.4.5 (A.39) Differentialekvationer En första ordningen homogen differentialekvation d f (t) + k f (t) = 0 dt (A.40) är en ekvation där funktionen f är okänd och ska bestämmas. Ekvationen har en lösning f (t) = C e−kt , (A.41) där C är en godtycklig konstant. För att bestämma C behövs någon typ av randvillkor, exempelvis att f (t) har ett bestämt värde för t = t0 . En inhomogen differentialekvation av första ordningen skrivs d f (t) + k f (t) = g(t), dt (A.42) där funktionen g är känd, men f fortfarande är okänd och ska bestämmas. Lösningen av denna typ av differential ekvation kan delas upp i två delar: f (t) = f s (t) + f p (t), (A.43) Här är f s (t) är en lösning av (A.40), dvs. ges av (A.41), och kallas stationär lösning eller homogen lösning av differentialekvationen (A.42). Notera att denna del av lösningen inte beror av g. Den andra delen, f p beror av g och är i det generella fallet inte alltid enkel att bestämma, men generellt kan den sägas vara av “samma typ” som g, dvs. om g är en konstant, ett polynom, en trigonometrisk funktion, en exponentialfunktion, etc. så är f p av motsvarande typ, men typiskt med andra parametrar. Dessa parametrar bestäms genom att (A.42) måste vara uppfylld. Denna lösningen klass den partikulära lösningen eller inhomogenea lösningen av differentialekvationen (A.42). Även i detta fall kan C bestämmas genom någon typ av randvillkor, men nu tillsammans med övriga parametrar som är inblandade i beskrivningen av f p . 104 Bilaga B Roliga funktioner I berättelsen om signaler och system är det ett antal speciella funktioner som förkommer så ofta att de fått egna namn. I detta kapitel presenteras några av de vanligaste funktionerna av denna typ. Ingen av dessa funktioner är i sig själva typiska signaler, men kan antingen användas för att bygga upp riktiga signaler, i form av linjärkombinationer, eller generellt för att analysera hur ett system fungerar. Notera att vi inte automatiskt antar att funktionsvariabeln är av typen “tid” och att den här anges med en generell variabel z. B.1 Arcus tangens med två argument För att korrekt bestämma en vinkel i R2 eller i C behövs en mer utförlig funktion än den vanliga inversa tangens. Denna funktion kallas två-argument-versionen av arcus tangens, betecknas atan2 och definieras som tan−1 tan−1 −1 φ = arg(a + j b) = atan2(b, a) = tan π 2 − π 2 b a a > 0, b a + π a < 0, b ≥ 0, b a − π a < 0, b > 0, (B.1) a = 0, b > 0 a = 0, b < 0. Denna funktion ger ett korrekta värdet för argumentet av ett komplext tal z = a + j b , 0. Notera ordningen för de två argumenten till funktionen atan2: först imaginärdelen sedan realdelen. B.2 Enhetssteget Enhetssteget eller stegfunktionen är en funktion u : R → R som definieras enligt 0 z < 0, u(z) = 1 z ≥ 0. (B.2) I praktiken används u för att symbolisera en funktion som initialt har värdet = 0 och sedan, efter tidpunkten t = 0, antar värdet =. I detta flesta fall spelar det inte någon stor roll om u(0) = 0 eller om u(0) = 1, varför definitionen i (B.2) lika gärna kan skrivas 0 z < 0, 0 z ≤ 0, 1 u(z) = eller u(z) = (B.3) z = 0, 1 z > 0, 2 1 z > 0. 105 u(t) rect(t) 1 1 t 0 0 0 -1 -0.5 0 0.5 1 t Figur B.1: Vänster: enhetssteget u(z), definierad i (B.2). Höger: enhetspulsen rect(z), definierad i (B.7). I det fall att värdet u(0) är viktigt, måste det anges specifikt när funktionen definieras. Enhetssteget illustreras av funktionen till vänster i figur B.1. Om vi är intresserad av ett steg som inträffar vid z = z0 och har höjden A beskrivs det av funktionen A u(z − t0 ). Notera att om h > 0 så är (B.4) z = u(z) = u(h z). (B.5) h vilket kan vara en användbar identitet i vissa sammanhang. Ytterligare en användbar identitet låter oss uttrycka u(x) ett slutet uttryck, snarare än två fall beroende på tecknet av z: u u(z) = z + |z| z + |z| = . 2 |z| 2z (B.6) Att dess kvoter inte är väldefinierade för z = 0 kan vi oftast leva med. B.3 Enhetspulsen Enhetspulsen är en funktion rect : R → R som definieras enligt 1 − 21 < z < 12 , rect(z) = 0 annars. (B.7) på samma sätt som för enhetssteget är det exakta funktionsvärdet för rect-funktionen inte så viktigt vid diskontinuiteterna, den representerar en puls som startar vid z = − 21 och slutar vid z = 12 . Enhetspulsen illustreras av funktionen till höger i figur B.1. Notera att en ekvivalent definition av enhetspulsen är ! ! 1 1 rect(z) = u z + −u z− . (B.8) 2 2 Alternativt, och med hjälp av (B.5), kan vi skriva ! z u(z + z0 ) − u(z − z0 ) = rect . 2z0 (B.9) Enhetspulsen har bredden ∆z = 1. En puls med höjden A som är centrerad kring z = z0 och har bredden ∆z beskrivs av funktionen z − z 0 A rect . (B.10) ∆z 106 sinc(t) 1 t 0 -5 -4 -3 -2 -1 0 1 2 3 4 5 Figur B.2: Sinc-funktionen som definieras i (B.12). Alternativt kan vi vara intresserad av en puls med höjden A som startar vid tiden z = z1 och slutar vid z = z2 , vilken ges av 2 z − z1 +z 2 A rect (B.11) . z2 − z1 B.4 Sinc-funktionen Sinc är en funktion sinc : R → R som definieras enligt sinc(z) = sin(π z) . πz (B.12) I litteraturen definieras sinc-funktionen ibland utan faktorn π. Ovanstående sinc-funktion kallas för den normaliserade sinc-funktionen och den variant som saknar de två faktorerna π kallas för den onormaliserade sinc-funktionen. I denna framställning använder vi konsekvent enbart den normaliserade varianten. Sinc-funktionen har ett väldefinierat värde för sinc(0), eftersom sin(π z) lim sinc z = lim = l’Hopitals regel = lim z→0 z→0 z→0 πz d dz sin(π z) d dz (π z) = lim z→0 π cos(π z) = 1, π (B.13) vilket låter oss sätta sinc(0) = 1 (B.14) för alla heltal z utom z = 0. (B.15) Vidare gäller att sinc(z) = 0, Sinc-funktionen illustreras i figur B.2. Ibland kan det vara bra att ett alternativt och riktigt krångligt sätt att uttrycka sinc-funktionen. Ett exempel ges av följande integral 1 2π Z π −π e jωt dω = " #ω=π ! 1 e jωt sin πt 1 e jπt e− jπt = − = /(A.24)/ = = sinc t 2π jt ω=−π 2π jt jt πt 107 (B.16) Sinc-funktionens integral från −∞ till ∞ har ett ändligt och bestämt värde: Z ∞ Z ∞ sin(π z) dz = /använd (A.32)/ = sincz dz = /jämn funktion/ = 2 πz −∞ 0 Z ∞Z ∞ 2 = e−zx sin(π z) dx dz = /byt intergrationsordning/ = π 0 0 #z=∞ Z Z Z " 2 ∞ ∞ −zx 2 ∞ e−xz π cos(π z) + x sin(πz) = e sin(π z) dz dx = − dx = π 0 π 0 π2 + x 2 0 z=0 Z 2 ∞ π 2 −1 x x=∞ 2 π = dx = tan − 0 =1 = π 0 π2 + x2 π π x=0 π 2 Av detta kan vi dra slutsatsen att Z (B.17) (B.18) (B.19) (B.20) ∞ sincz dz = 1 (B.21) 1 , |a| (B.22) −∞ och via lämplig variabelsubstitution även att: Z ∞ sinc at dt = −∞ B.5 när a , 0. Ideala impulsfunktionen Den ideala impulsfunktionen1 betecknas δ(z) och kan ges flera olika, ekvivalent definitioner, men som har gemensamt att de inte beskriver δ(z) som en funktion. Den ideala impulsfunktionen är alltså inte en funktion! De beskrivningar avδ(z) som vi presenterar här ska inte tas som definitioner i strikt matematisk mening, utan ska snarare ses som praktiska sätt att hantera denna hala tvål. B.5.1 Som ett gränsvärde Ett sätt att beskriva δ(z) är som ett gränsvärde: δ(z) = lim h→0 z 1 rect |h| h (B.23) Notera att detta gränsvärde innebär att uttrycket i högerledet, för h > 0 är en puls som alltid har arean = 1 och att denna puls blir smalare och smalare samtidigt som den blir högre och högre när h → 0. En rimlig konsekvens av denna “definition” är att δ(z) motsvarar en puls som är oändligt smal och samtidigt oändligt hög, eftersom arean hela tiden ska vara = 1. Det är detta som gör att δ(z) inte fungerar bra som en funktion, dess funktionsvärde vid z = 0 kan inte anges som ett reellt tal. Att sätta δ(0) = ∞ leder i bästa fall tankarna åt rätt håll, men erbjuder inte en hållbar beskrivning av δ(z) som en funktion. Eftersom högerledet i (B.23) för h > 0 är en puls med arean = 1 kan vi anta att även δ(z) har denna egenskap: Z ∞ δ(z) dz = 1 (B.24) −∞ Detta erbjuder en annan beskrivning av den ideala impulsfunktionen: som den funktion som uppfyller både (B.24) och δ(z) = för z , 0. Återigen innebär detta emellertid att δ(z) fallet utanför vad vi menar med en funktion. En möjlig nytta vi kan ha av denna beskrivning är att δ(z) med dessa egenskaper även åstadkoms även av följande gränsvärde, som alltså kan fungera som alternativ till (B.25): z + 2h 1 . δ(z) = lim rect (B.25) h→0 h h I (B.23) är högerledet en puls centrerad runt z = 0 som har bredden h, medan pulsen i högerledet för (B.25) startar vid z = −h och slutar vid z = 0, dvs. den har fortfarande bredden h. 1 Andra namn som förekommer i litteraturen är Diracs deltafunktion, Diracs impulsfunktion eller, helt enkelt, impulsfunktionen. 108 B.5.2 Som en derivata Om vi undersöker uttrycket i (B.25) lite närmare och använder (B.8) tillsammans med (B.5) ser vi att2 ! h z ! z + h2 1 1 z+h u(z + h) − u(z) 1 z + 2 1 −u + − u − = lim u = lim δ(z) = lim u h→0 h h→0 h→0 h h 2 h 2 h h h (B.26) Högerledet i denna ekvation kan vi identifiera som derivatan av u(z): δ(z) = d u(z). dz (B.27) Eftersom u(z) är diskontinuerlig vid z = 0 är derivatan av stegfunktionen inte väldefinierad vid z = 0 vilket, återigen, gör att δ inte kan ses som en väldefinierad funktion, i alla fall inte som har ett väldefinierat värdet vid z = 0. Men det vet vi ju redan. B.5.3 Som en funktional Vi ska även titta på ett tredje sätt att beskriva den ideala impulsfunktionen, som “något” som kan kombineras med en godtycklig funktion f (z) i en integral Z ∞ δ(z) f (z) dz. (B.28) −∞ Om vi sätter in (B.27) i denna integral får vi ! Z ∞ Z ∞ ∞ d u(z) f (z) dz = /partiell integrering/ = u(z) f (z) − u(z) f 0 (z) dz = −∞ −∞ −∞ dz Z ∞ ∞ = u(∞) f (∞) − u(−∞) f (−∞) − f 0 (z) dz = f (∞) − f (z) = |{z} | {z } 0 0 =1 (B.29) =0 = f (∞) − f (∞) + f (0) = f (0). Detta är inte en strikt härledning, utan snarare en indikation att vi skulle kunna beskriva den ideala impulsfunktionen som en “funktion” med egenskapen att Z ∞ δ(z) f (z) dz = f (0) (B.30) −∞ för “godtyckliga” val av funktionen f . I själv verket måste vi nog begränsa valet av f , till exempel så att f är en kontinuerlig och integrerbar funktion. Med en enkel variabelsubstitution får vi ett mer generellt användbart uttryck Z ∞ Z ∞ δ(z0 − z) f (z) dz = δ(z) f (z0 − z) dz = f (z0 ). (B.31) −∞ −∞ som gäller för godtycklig val av “rimliga” funktioner, dvs. funktioner för vilka de inblandade uttrycken blir väldefinierade. Given denna beskrivning av den ideala impulsfunktionen, som “något” som kan kombineras med en funktion f i en integral, är det fortfarande inte klart att detta något är vad vi menar med en funktion. Exempelvis kan vi sätta in den konstant funktionen f (z) = 1 i (B.31) och erhålla (B.24). I detta sammanhang kallas δ istället för en funktional, vilket kan ges en strikt matematisk definition som emellertid faller utanför denna framställning. Sammanfattningsvis är (B.31) den enda definition av den ideala impulsfunktionen δ som kan ges en strikt matematisk mening. Vi kan emellertid se både (B.23) och i (B.27) som rimliga konsekvenser av denna definition och som kan användas i praktiken när vi vill härleda olika typer av resultat. En kommentar I sammanhanget kan det vara värt att notera att δ(t) är unik funktional vad gäller de egenskaper som beskrivs ovan. Det finns alltså inte två olika impulsfunktioner med denna kaliber. 2 Här undersöker vi egentligen enbart gränsvärdet när h → 0 för positiva h. En motsvarande undersökning av fallet h < 0 ger emellertid samma resultat. 109 Egenskaper Intuitivt kan det tyckas som att δ(z) och δ(a z), där a , är en konstant, är samma sak. Båda representerar en puls som är oändligt smal (= 0 för alla z , 0) och oändligt hög. En närmare undersökning ger emellertid vid handen att Z ∞ Z ∞ 1 δ(w) dw (B.32) δ(a z) dz = /Variabelsubstitution: w = az/ = |a| −∞ −∞ Det måste kan vi lämpligen tolka som att δ(a z) = B.6 1 δ(z). |a| (B.33) Diskreta Impulsfunktionen Den ideala impulsfunktionen som beskrivs i avsnitt B.5 har en variabel z som är kontinuerlig. Motsvarande funktion för en diskret variabel k ∈ Z kan definieras utan problem med matematisk stringens som 1 k = 0, (B.34) δ[k] = 0 k , 0. Givet (B.34) kan vi enkelt komma fram till den tidsdiskreta motsvarigheten till (B.31): ∞ ∞ X X δ[k − l] s[l] = δ[l] s[k − l] = s[k] l=−∞ (B.35) l=−∞ där s[k] är en godtycklig funktion av en diskret variabel. Notera att (B.15) leder till att vi kan skriva δ[k] = sinc(k), B.7 k∈Z (B.36) Användbara samband Nu när de tre roliga funktionerna rect(z) sinc(z) och δ(z) är beskrivna kan vi även härleda en del samband som knyter samman just dessa tre funktioner. Från rect till sinc Vi börjar med att undersöka följande integral " #ω=π ! Z π 1 1 e jωz 1 e jπz e− jπz sin πz jωz e dω = = − = /(A.24)/ = = sinc z, 2π −π 2π jz ω=−π 2π jz jz πz vilket kan generaliseras till |a| sinc = a 2π z Z ∞ rect −∞ u a 2π e± juz du. (B.37) (B.38) Från sinc till rect Det går även att ta sig åt andra hållet med ett liknande uttryck. Via integralen Z ∞ Z ∞ Z ∞ sin πt sin πt jωt jωt e dt = /Euler/ = (cos ωt + j sin ωt) dt = /(A.16)(A.18)/ = sinc t e dt = πt −∞ −∞ −∞ πt en udda funktion av t = 1 2 Z ∞ −∞ z }| { sin(ω + π) t − sin(ω − π) t j cos(ω − π) t − cos(ω + π) t dt + dt = πt 2 −∞ πt | {z } Z ∞ = 0 enligt (A.35) ! 1 sin(ω + π) t − sin(ω − π) t 1 ω+π ω−π = dt = /(B.22)/ = − = 2 −∞ πt 2 |ω + π| |ω − π| 1 ω = 2 u(ω + π) − 1 − 2 u(ω − π) + 1 = /(B.9)/ = rect , 2 2π Z ∞ 110 (B.39) kan vi generellt skriva rect z a = |a| 2π ∞ Z sinc −∞ aτ 2π e± jzτ dτ. (B.40) Den ideala impulsfunktionen Även den ideala impulsfunktionen går att uttrycka i form av en integral. Vi börjar med “definitionen” av δ i form av gränsvärdet i (B.23) och sätter därefter in (B.40): ! !# Z ∞ Z ∞" z 1 1 hτ jzτ hτ 1 δ(z) = lim = /(B.40)/ = lim sinc lim sinc rect e dτ = e jzτ dτ (B.41) h→0 |h| h→0 2π −∞ h 2π 2π −∞ h→0 2π Enligt (B.13) är gränsvärdet = 1, vilket leder till δ(z) = 1 2π Z ∞ e± jzτ dτ. (B.42) −∞ sinc igen Om vi undersöker följande integral för k, l ∈ Z: Z ∞ Z ∞Z ∞ Z ∞ u byt plats på v 1 j(t−k)u j(t−l)v sinc(t − k) sinc(t − l) dt = rect e du e dv dt = integralerna = rect 2π 2π (2π)2 −∞ −∞ −∞ | {z } | {z } −∞ Sätt in (B.38) Sätt in (B.38) Z ∞ Z ∞ u Z ∞ v 1 − j(ku+lv) rect = e e jt(u+v) dt dv du = rect 2π −∞ 2π (2π)2 −∞ −∞ | {z } Använd (B.42) ∞ u Z ∞ v 1 = rect e− j(ku+lv) δ(u + v) dv du = rect 2π −∞ 2π −∞ 2π | {z } Z (B.43) Använd (B.31) 1 = 2π Z ∞ u −u u 1 rect rect e− j(k−l)u du = rect e− j(k−l)u du = 2π{z 2π} 2π −∞ 2π −∞ | Z ∞ u =rect( 2π ) = /(B.38)/ = sinc(k − l) = /(B.36)/ = δ[k − l], kan vi använda detta resultat till att formulera det mer generella sambandet: ! ! Z τ−lT 1 ∞ τ−kT sinc dτ = δ[k − l], sinc T −∞ T T B.8 (B.44) k, l ∈ Z. (B.45) Gaussfunktionen Brukar definieras med två parametrar z0 och σ, enligt: r f (z) = 2 1 (z−z0 ) 1 e− 2 σ2 2 2πσ (B.46) Denna funktion, som inte har någon egen beteckning eller symbol √ men allmänt kallas Gauss-funktionen, dyker ofta upp inom statistik som en sannolikhetsfördelning. Faktorn 1/(σ 2π) finns med för att normera funktionen så att Z ∞ Z ∞r (z−z0 )2 1 − 12 σ2 e f (z) dz = dz = 1 (B.47) 2πσ2 −∞ −∞ vilket är ett krav för en sannolikhetsfördelning. Parametern z0 är fördelningens medelvärde: R∞ z f (z) dz R−∞∞ = z0 . (B.48) f (z) dz −∞ 111 och σ2 är dess varians: R∞ −∞ (z − z0 )2 f (z) dz R∞ = σ2 f (z) dz −∞ (B.49) vilket motsvarar standardavvikelsen σ. Intuitivt motsvarar därför z0 positionen för maxvärdet av den “puls” som Gauss-funktionen utgör, och σ är bredden av pulsen. Notera att med den normalisering som beskrivs i (B.46) motsvarar en bredare puls också en lägre puls, och tvärtom. Inom signalbehandling dyker Gauss-funktionen upp av en annan anledning: ett system som har som impulssvaret h(t) = f (t) är maximalt koncentrerad både i tidsledd och frekvens. Om pulsen är smal i tiden kan samtidigt dess frekvensfunktion vara maximalt smal även i frekvensledd. I själva verket systemets frekvensfunktion av r Z ∞ Z ∞ (t−t )2 1 2 2 1 − 21 02 − jωt σ e e− jωt dt = e− jωt0 e− 2 ω σ . (B.50) H(ω) = f (t) e dt = 2 2πσ −∞ −∞ Denna typ av funktion av ω brukar kallas för en modulerad Gauss-funktion. Den består av en Gauss-funktion centrerad vid ω = 0 med standardavvikelse 1/σ, multiplicerad med en komplex exponentialfunktion som enligt Eulers formel består av en cosinus- och sinussignal med vinkelfrekvensen t0 . Frekvensfunktionens “puls” blir alltså bredare när pulsen för h(t) blir smalare, och tvärtom. Däremot är deras gemensamma bredd, produkten av deras bredder, minimal bland alla val av impulssvar h(t). Andra användbara samband som innehåller Gauss-funktionen uppstår om vi väljer en frekvensfunktion H(ω) i form av en Gauss-funktion. För att motsvarande impulssvar h(t) ska vara reellt måste vi, enligt avsnitt 4.5.2, då välja H(ω) som är Hermitesk, exempelvis: H(ω) = e− 2 (ω+ω0 ) σ + e− 2 (ω−ω0 ) σ . 1 2 2 1 2 2 Motsvarande impulssvar h(t) ges då av (4.26) som Z ∞ 1 t2 1 1 1 1 2 2 2 2 e− 2 (ω+ω0 ) σ + e− 2 (ω−ω0 ) σ e jωt dω = √ e− 2 σ2 cos ω0 t h(t) = 2π −∞ 2πσ2 (B.51) (B.52) Detta impulssvar är även det en Gauss-funktion, men den är modulerad med en cosinusfunktion som har vinkelfrekvens ω0 . 112 Bilaga C Transmissionssystem En typ av system som ofta förekommer i kommunikationssammanhang består av en sändare och en mottagare, se figur C.1. Ett exempel är en radiosändare som sänder ut en radiosignal i form av en elektromagnetisk våg som fortplantar sig från sändarens antenn, till exempel i alla riktningar (rundstrålande sändare) eller enbart i en viss riktning eller sektor (riktad sändare). Även radiomottagaren har en antenn som istället tar emot radiovågen. I praktiken kan en sändare och en mottagare befinna sig fysiskt i samma enhet (en walkie-talkie eller en mobiltelefon) och även dela på en gemensam antenn, men enheten består då av två separata system: en sändare och en mottagare. Sändaren har en insignal som kan vara av många olika typer. Ofta kan vi anta att den består av en elektrisk signal, x(t), som exempelvis genereras av en mikrofon, en förstärkare, eller annan ljudkälla. Sändaren genererar en utsignal, z(t), som representerar någon typ av fysikalisk storhet som enkelt kan överföras till mottagaren. I radiofallet är z(t) den elektromagnetiska våg som sänds ut från antennen, men det skulle lika gärna kunna vara ljuspulser som sänds längs med en optisk fiber. Det system som sändaren utgör kan vara relativt komplicerat och är oftast inte ett LTI system: även om det i princip kan vara tidsinvariant så är det ofta inte linjärt. Mottagaren tar emot den utsända signalen och dess uppgift är att återföra denna signal till den ursprungliga signalen, x(t). I princip betyder det att mottagarens utsignal, y(t), kan sägas utgöra en approximation av sändarens insignal: y(t) ≈ x(t). Det är i alla fall hur ett idealt transmissionssystem är tänkt att fungera. i verkligheten är det lite mer komplicerat. Exempelvis är den signal som mottagaren tar emot, w(t), inte identisk med den signal z(t) som sändare skickar ut. När vi pratar om sändare/mottagare-system är det i praktiken så att sändaren och mottagaren är åtskilda på minst ett av följande sätt: • I rummet: Sändaren och mottagaren befinner sig på två olika platser i rummet och den signal som sänds ut av sändaren måste färdas genom rummet innan den kommer fram till mottagaren. Ett exempel är en radiovåg som breder ut sig från en sändarantenn, eller ljudpulser som skickas längs med en optisk fiber. • I tiden: Sändaren spelar i signal på någon typ av lagringsmedium, exempelvis ett magnetiskt band (kassettbandspelare) eller i digital form på hårddisken i en dator, eller i optiskt form på en CD/DVD. Givetvis kan inspelning och uppspelning av signalerna ske både vid olika tidpunkter och vid olika platser i rummet. Figur C.1: En enkel modell av ett transmissionssystem, bestående av en sändare, en kanal som den utsända signalen passerar innan den tas emot och en mottagare. Kanalen påverkar den utsända signalen genom dämpning, tidsfördröjning och additivt brus. 113 Det här betyder att signalen färdas genom rummet och/eller tiden och kan då påverkas av yttre faktorer som inte har med sändaren eller mottagaren att göra. Påverkan beror på det medium genom vilket den utsända signalen fortplantar sig, eller på det medium en signal lagras i, innan signalen når mottagaren. C.1 Kanalen Den externa del av överföringen, som befinner sig mellan sändaren och mottagaren och som transporterar signalen från sändaren till mottagaren, kallas i tekniska sammanhang för kanal. Kanalen har den utsända signalen z(t) som insignal och den mottagna signalen w(t) som utsignal. För fallet med en rundstrålande radiosändare, där det typiskt finns många separata mottagare, finns det en kanal per mottagare. Den kanalen beskriver vad som händer med den utsända signalen innan den når sin specifika mottagare och beror primärt av avståndet mellan sändare och mottagare liksom, men kan även beskriva reflektioner som den utsända signalen gör innan den når mottagaren, I fallet med en optisk fiber finns det normal enbart en sändare och en mottagare (i varje fall i varje riktning) och då finns det enbart en kanal som behöver beskrivas. En kanal som beskriver en rumslig separation mellan sändare och mottagare kallas för en transmissionskanal och om det är en separation i tiden kallas den istället för en lagringskanal. Även om transmissions- respektive lagringskanaler har stora praktiska skillnader skiljer de sig inte åt ur ett grundläggande systemperspektiv. Denna framställning ägnar sig inledningsvis åt de generella aspekterna av en kanal och kommer därför inte skilja mellan de två typerna. Kanalen kan ofta beskrivas approximativt som ett LTI-system och innehåller följande typiska delsystem: Fördröjning: I fallet med en transmissionskanal beskriver kanalen hur den utsända signalen z(t) fortplantar sig genom mediet, vilket den gör med en viss hastighet c (exempelvis, c = ljusets hastighet i fallet med radio och optisk fiber). Det betyder att en fördröjning på ∆t = L/c, där L är avståndet mellan sändare och mottagare, uppstår i kanalen. I fallet med lagringskanal finns naturligt en fördröjning mellan när signalen spelas in eller lagras i mediet och när det sedan spelas upp. I det allmänna fallet går det inte att ange hur lång tid det handlar om och vi kan oftast spela upp signalen flera gånger efter varandra. Denna fördröjning blir därför irrelevant att specificera för en lagringskanal. Dämpning: Den utsända signalen z(t) motsvarar en viss mängd energi per tidsenhet. När denna energi fortplantar sig genom mediet sker normalt förluster, dels genom absorption i mediet men även genom att signalen sprids ut i rummet. Den mottagna energin från en rundstrålande antenn reduceras med en faktor 4 varje gång avståndet till antennen dubblas, helt enkelt för att den utsända energin ska fördelas över en större yta. Om kanalen motsvarar transmission över en ledning, eller en optiskt fiber, reduceras denna effekt till att nästan enbart handla om absorption. En konsekvens av detta är att den mottagna signalen w(t) är dämpad (förstärkt med en faktor < 1) relativt z(t). Även en lagringskanal kan ha en dämpning. Brus: I verkliga transmissionssystem måste vi räkna med att mottagaren kan ta emot signaler som inte är utsända av den aktuella sändaren och som uppstår på grund av olika typer av störningar. I fallet med radioutsändning finns det diverse källor till elektromagnetisk strålning som kommer att tas upp av mottagarantennen, men som inte härrör från sändaren. Några exempel: andra sändare i närheten, andra mottagare i närheten, elektriska kretsar i närheten inklusive kraftledningar, men även strålning från solen och kosmisk strålning bidrar till dessa störningar. I fallet med en optisk fiber kommer den transmitterade ljuset till viss del att absorberas. Fotonabsorption är en kvantmekanisk effekt: för en viss foton äger den rum med en bestämt sannolikhet per tidsenhet. Även om det genomsnittliga antalet fotonabsorptioner per tidsenhet är konstant uppstår en variation kring detta genomsnitt varje tidsenhet som fotonerna transporteras genom fibern. Denna variation uppfattas i mottagaren som ett brus. De två första effekterna kan beskrivas som LTI-system, medan den tredje påverkan av signalen varken är linjär eller tidsinvariant. Ofta kan denna påverkan beskrivas som att brus adderas till den effektiva signalen u(t) som härrör till sändaren, så kallat additivt brus. Bruset beskrivs ofta i termer av medelvärde, standardavvikelse, och andra statistiska egenskaper. Ibland kan mer komplicerade brusmodeller behöva användas, exempelvis multiplikativt brus, tidsvariabelt brus, men den additiva är för många system ofta tillräckligt bra, i alla fall som en första approximation. Den kanalmodell som beskrivits hittills är relativt enkel, den tar enbart hänsyn till att den utsända signalen går mer eller mindre raka vägen från sändare till mottagare i fallet med en transmissionskanal. I fallet med en radiosändare kommer det även att finnas möjligheten att en radiovåg som inte sänds ut i riktning rakt mot mottagaren 114 reflekteras mot lämplig yta och därefter rör sig mot en specifik mottagare. Givetvis kan denna mottagare även ta emot radiovågor från flera olika reflektioner. Varje reflektion kommer att ha rört sig olika långa sträckor, från sändaren till mottagaren, och när de till slut når mottagaren överlagras de till den mottagna signalen w(t). Dessa reflektioner kan beskrivas av en mer komplicerad kanalmodell, exempelvis: w(t) = Hkanal {z(t)} = X ak z(t − ∆tk ) + brus. (C.1) k Denna modell innehåller en summa med en term för varje möjlig reflektion som kan nå mottagaren, inklusive en term för den direkta vågen, med en specifik förstärkningsfaktor ak och tidsfördröjning ∆tk för varje term. En ännu mer generell modell är Z ∞ w(t) = Hkanal {z(t)} = h(τ) z(t − τ) dτ + brus. (C.2) −∞ Här är summan ersatt med en integral som tar med varje möjlig fördröjning signalen kan ha från sändare till mottagare, där h(τ) anger motsvarande förstärkning vid en specifik fördröjning. Notera att denna beskrivning av en kanal består av den generella LTI-modellen som beskrivs i avsnitt 3.6.1, med impulssvar h, i kaskad med det additiva bruset. Som alla LTI-system har kanalen även en frekvensfunktion H(ω) som anger, för varje vinkelfrekvens, motsvarande amplitudförstärkning D(ω) och fasförskjutning ψ(ω). För att analysera kanalens egenskaper kan vi välja att göra det med hjälp av impulssvaret eller frekvensfunktionen, beroende på vilka egenskaper som undersöks. C.2 Digital transmission Transmissionskanaler är relevanta för många olika typer av överföring av signaler från sändare till mottagare. Några exempel är AM- och FM- radio, eller hur ljudet i en konsertsal överförs från en sångare på scenen till örat hos en person som sitter i publiken och lyssnar. I detta avsnitt ska vi undersöka grundläggande egenskaper hos en specifik typ av transmissionssystem, som överför digital information från en sändare till en mottagare. I detta fall är både in- och utsignalerna tidsdiskreta digitala signaler, x[k] och y[k], som representerar sekvenser av bitar: “nollor” och “ettor”. Exakt vad för information som överförs spelar ingen roll för denna diskussion, vi är enbart intresserade av hur denna överföring sker och inte hur informationen sedan används av mottagaren. Denna typ av transmissionssystem motsvarar överföringen av digital information i, exempelvis, system för mobil telefoni, trådlöst internet (WiFi), digital television (DTV), Bluetooth, men även telefonmodem för internetanslutning fungerar på liknande sätt. Som nämnts ovan kommer i praktiken den mottagna signalen w(t) att innehålla ett visst mått av additivt brus. Det betyder att med en viss sannolikhet kommer den mottagna signalen tolkas fel, som en nolla istället för en etta eller tvärtom. Detta är ett något som måste lösas på ett eller annat sätt, först och främst genom att detektera när felaktiga bitar uppstår i mottagaren, och helst även genom att korrigera de felaktiga bitarna. Principen för att hantera detta är att, förutom de bitar som innehåller den information som ska överföras, även sända extra bitar som innehåller någon typ av redundans och som låter mottagare upptäcka och korrigera felaktiga bitar. Hur detta görs ligger emellertid utanför denna presentation och tas inte upp här. I resten av detta avsnitt kommer vi att fokusera på problemet att överhuvudtaget kunna överföra bitar från sändaren till mottagaren, även om en eller annan kommer att tolkas fel på grund av bruset. C.2.1 Sändaren Sändarens primära funktion är att översätta den digitala och tidsdiskreta insignalen x[k] till en signal z(t) som är lämpad för överföring till sändaren och som på något sätt kan återföras till x[k] av mottagaren. Det första kravet, att den utsända signalen är lämpad för överföring innebär ofta att sändaren har en relativt komplex systemoperator Htrans , som inte är ett LTI-system. Generellt kallas den funktion som sändaren utför för modulation, insignalen x[k] moduleras av sändaren vilket genererar den signal z(t) som sänds in i kanalen. Vi ska nu undersöka ett par enkla och en lite mer sofistikerad metod för modulation av digitala signaler. 115 Figur C.2: Ett exempel på unipolär modulation. Bild tagen från en.wikipedia, skapad av användare Mancini. Figur C.3: Ett exempel på bipolär modulation. Bild tagen från en.wikipedia, skapad av användare Omegatron. Unipolär modulation Enklaste tänkbara form av modulation är att helt enkelt låta sändarens utsignal z(t) vara linjärt proportionellt mot x[k] enligt ! ∞ X t−kT z(t) = x[k] rect . (C.3) T k=−∞ Det betyder att den utsända signalen består av en sekvens med pulser, vardera med bredden T (= sampelperioden för x[k]), men höjden av varje puls bestäms av om biten är noll (puls med höjden = 0) eller ett (puls med höjden = 1). Denna typ av modulation kallas unipolär modulation, se figur C.2 för en illustration. Ett mer generellt sätt att formulera modulationen i detta fall är z(t) = ∞ X p x[k] (t − k T ), (C.4) k=−∞ där t t , p1 (t) = 1 · rect . (C.5) T T Här ser vi den resulterande signalen z(t) som en summa av “pulser”, en för varje bit i x[k] i form av antingen p0 eller p1 , och var och en tidsfördröjd med T i förhållande till föregående puls. Vilken typ av puls som används för varje k beror på x[k]: om biten är = 0 används pulsen p0 (z) i (C.5), om biten är = 1 används istället pulsen p1 (z). Notera att i praktiken motsvaras en nolla av “ingen puls” eftersom p0 (z) = 0 för unipolär modulation. p0 (t) = 0 · rect Bipolär modulation Istället för låta nollor representeras av “ingen puls”, kan vi använda en variant av unipolär modulation och låta nollorna representeras av en negativ puls, vilket ger bipolär modulation. Den utsända signalen z(t) genereras fortfarande som en summa av pulser, enligt (C.4), men i det bipolära fallet definieras de två pulstyperna av t t p0 (t) = −rect , p1 (t) = rect . (C.6) T T Även om både unipolär och bipolär modulation förekommer inom digital kommunikation är ingen av dom riktigt lämpad för avancerade tillämpningar, som exempelvis mobiltelefoni. För det första behövs en synkronisering 116 p 0(t) 1 p 1(t) 1 0 1 0 0 1 0 Figur C.4: Frekvensmodulation av digital information enligt (C.7). Vänster: de två pulstyperna för “noll” respektive “ett”. Höger: exempel på utsänd signal z(t) som representerar ett antal bitar. mellan sändaren och mottagaren, som gör att mottagaren “vet” när en viss utsänd puls kommer fram och kan översättas tillbaka till en bit. Mottagaren kan endast kan observera den mottagna signalen w(t), som i bästa fall är en dämpad och fördröjd version av z(t). Vi kan även anta att mottagaren känner T , avståndet mellan varje puls. För ovanstående typer av modulation finns det emellertid inget enkelt sätt för mottagaren att veta exakt när de olika pulserna kan förväntas dyka upp i den mottagna signalen, w(t). Om ett stort antal bitar sänds över och T inte är känd med stor noggrannhet kan mottagaren “komma ur fas” när den ska översätta pulser till bitar. För det andra är det inte säkert att pulserna överförs effektivt till mottagaren. En basstation för mobiltelefoni kan typiskt betjäna i storleksordningen 100 mobiltelefoner och varje mobiltelefon kan ha tiotals basstationer inom räckhåll att kommunicera med. Vid varje tidpunkt agerar både basstationer och mobiltelefoner som både sändare och mottagare, och de behöver kunna skilja mellan överlagrade radiosignaler från många olika sändare när de tar emot digitala signaler. Det finns ett flertal mer eller mindre komplicerade varianter av ovanstående modulationer för digital kommunikation, som vi inte går in på här. De flesta av dessa kan lösa problemet med synkronisering men inte överlagringen, vilket istället kräver en mer avancerad modulation. Ett exempel är frekvensmodulation av digitala signaler. Frekvensmodulation Digitala signaler, sekvenser av nollor och ettor, kan sändas över en kanal med så kallad frekvensmodulation. Det innebär att varje bit som ska sändas representeras med en puls pk (t) som innehåller en cosinussignal med en frekvens ω som beror på om bitens värde är noll eller ett. Eftersom varje bit har en period T innan nästa bit ska sändas måste cosinussignalen multipliceras med en funktion som lokaliserar den till en puls med ändlig utsträckning som “får plats” i ett intervall med längden T . Ett exempel skulle vara att, precis som tidigare, bestämma den utsända signalen z(t) som en summa av pulser enligt (C.4), men nu låta de två pulstyperna definieras av t t p0 (t) = rect cos(ω0 t), p1 (t) = rect cos(ω1 t). (C.7) T T Här är ω0 och ω1 två lämpligt valda frekvenser som representerar en bit med värdet 0 respektive 1. Frekvenserna väljs så att de ligger tillräckligt långt från varandra för att mottagaren enkelt ska kunna detektera skillnaden mellan mottagna pulser av vardera typen. Se figur C.4 för en illustration. Tidigare beskrevs att den kanal som överför signalen z(t) till mottagaren har en frekvensfunktion Hkanal (ω) och det är då lämpligt att välja frekvenserna ω0 och ω1 så amplitudkarakteristiken |Hkanal (ω)| har en relativt stark förstärkning (eller låg dämpning) för just dessa frekvenser. De två pulserna som beskrivs i (C.7) är en produkt mellan en cosinussignal och en funktion som kallas envelopp, den anger amplituden för cosinussignalen som en funktion av tiden. Enveloppen är i det här fallet en rektangelfunktion som själv består av olika frekvenskomponenter, enligt avsnitt 4.4. Tillsammans med cosinusfunktionen kommer de resulterande pulserna p0 och p1 därför att även bestå av andra komponenter än enbart en med frekvensen ω0 respektive ω1 . Beroende på hur kort T är kan dessa komponenter i pulserna ha frekvenser som 117 p 0(t) 1 p 1(t) 1 0 1 0 0 1 0 Figur C.5: Frekvensmodulation av digital information enligt (C.8). Vänster: de två pulstyperna för “noll” respektive “ett”. Höger: exempel på utsänd signal z(t) som representerar ett antal bitar. ligger relativt långt från ω0 eller ω1 , och de kommer inte säkert att förstärkas på samma sätt som just dess två frekvenskomponenter. En konsekvens av detta är att enveloppen kan förändras signifikant. Ovanstående resonemang är en av orsakerna till att en envelopp i form av en rektangelfunktion i praktiken inte är det lämpligaste valet. För att lindra problemet med att de resulterande pulserna innehåller frekvenskomponenter över ett brett frekvensintervall är det bättre att använda en envelopp som är “mjukare”, som uppvisar en lugnare kurva när den går från värdet 0 upp till 1 och sedan tillbaka till 0 igen. En vanligt envelopp som har denna karaktär är Gauss-funktionen som beskrivs i avsnitt B.8 och de två pulserna definieras då som1 t2 t2 p0 (t) = e− 2σ2 cos(ω0 t), p1 (t) = e− 2σ2 cos(ω1 t). (C.8) Modulation av digital information med denna typ av frekvensmodulation illustreras i figur C.5. En kommentar Parametern σ anger hur “bred” motsvarande envelopp är. Den måste vara anpassad till T som är tiden mellan varje puls som sänds ut, så att pulsen “får plats” inom ett intervall som är T långt. Frekvensmodulerade pulser med gaussisk envelopp är den typ av modulation som vi kommer att undersöka i resten av detta avsnitt. Sändaren överför en tidsdiskret digital signal x[k] till en tidskontinuerlig signal2 z(t), exempelvis i form av en radiovåg som utbreder sig från sändarens antenn. I praktiska tillämpningar, exempelvis mobiltelefoni och WiFi, ligger de frekvenser som används för dessa pulser i storleksordningen GHz, dvs. 109 svängningar per sekund. Sändaren är inte ett LTI-system. Den kan sägas vara tidinvariant i den meningen att om sekvensen x[k] fördröjs med ∆k sampel kommer utsignalen z(t) att fördröjas med ∆k T tidsenheter. Sändaren är inte ett linjärt system: det är inte ens uppenbart vad linearitet skulle innebära när x[k] innehåller binära värden. C.2.2 Mottagaren Den utsända signalen z(t) är insignal till kanalen som överför z(t) till den signal w(t) som mottagaren tar emot. Enligt avsnitt C.1 innebär det någon typ av dämpning, fördröjning och att brus adderas till z(t). Mer generellt har kanalen ett impulssvar h(t), med motsvarande frekvensfunktion H(ω), som beskriver hur z(t) överförs till w(t). En praktisk implementering av ett digitalt transmissionssystem måste ta hänsyn till hur kanalen påverkar z(t), men för den principiella analys vi ska göra av mottagarens funktion kan vi bortse från dessa effekter. Vi antar därför initialt att w(t) = z(t). Den funktion som mottagaren utför kallas demodulation: att återföra den tidskontinuerliga signalen w(t) till en sekvens av bitar, motsvarande utsignalen y[k]. Om överföringen fungerar korrekt ska y[k] = x[k], men i praktiken 1I detta fallet används inte den normaliserande faktor som finns i (B.46). med funktionen hos en DAC. 2 Jämför 118 q 0(t) q0 (t) H0 w(t) = z(t) 1 1 0 1 0 0 1 0 q 1(t) q1 (t) H1 Figur C.6: Mottagaren innehåller två matchande filter, ett för varje typ av puls som överförs: p0 och p1 . Figuren visar även filtrens utsignaler när insignalen w(t) ges av z(t) i figur C.5 måste vi även anta att det uppstår en fördröjning så att sambandet snarare ser ut som y[k] = x[k − ∆k]. Demodulationen måste alltid vara anpassad till den modulation som sändaren använder sig av och att demodulera en signal som innehåller unipolär eller bipolär modulation är trivialt, bortsett från problemet med synkronisering som nämndes tidigare. Vi ska nu undersöka hur den frekvensmodulerad signal z(t) som beskrivs av pulserna i (C.8) kan demoduleras. Grunden är att använda sig av de matchande filter, som ger en stor utsignal när de tar emot en puls av den typ som filtren är matchade för och annars en liten utsignal. Matchade filter beskrivs i avsnitt 5.3, i samband med tidsdiskreta signaler, men det är en generell idé och kan lika gärna användas för tidskontinuerliga signaler. I avsnitt 6.5 har vi dessutom sett att tidskontinuerliga system i princip kan implementeras med tidsdiskreta system. Enligt samplingsteoremet, avsnitt 6.3, måste samplingsperioden för det tidsdiskreta system som implementerar mottagarens funktion vara anpassad till frekvensinnehåller i den mottagna signalen w(t). Denna samplingsperiod är då inte samma som samplingsperioden för den digitala signalen x[k], här betecknad T , den är typiskt signifikant kortare. . Vi använder två olika pulser, p0 och p1 som beskrivs i (C.8), och mottagaren ska därför innehålla två matchande filter, ett filter för varje pulstyp. Enligt avsnitt 5.3 ska de matchande filtrens impulssvar definieras som motsvarande puls men speglad i tidsledd. I vårt fall är båda pulserna symmetriska i tiden: pk (−t) = pk (t), varför de matchande filtren ska ha impulssvaren t2 t2 h0 (t) = e− 2σ2 cos(ω0 t), h1 (t) = e− 2σ2 cos(ω1 t), (C.9) vilket motsvarar två LTI-systemen H0 och H1 . Se figur C.6. Vi kan nu bestämma vilka utsignaler dessa två filter genererar när de får den mottagna signalen w(t) = z(t) som insignal. Enligt (C.4) kan z(t) beskrivas som en linjärkombination av pulser, en puls per bit i x[k]. Eftersom filtren är LTI-system blir deras utsignaler då linjärkombinationer av “pulssvaren” från respektive filter: ∞ ∞ ∞ X X X q0 (t) = H0 {z(t)} = H0 p (t − k T ) = /H är LTI/ = H {p (t − k T )} = s (t − k T ), x[k] 0 | 0 x[k]{z } k=−∞ 0,x[k] k=−∞ k=−∞ :=s0,x[k] (t−k T ) (C.10) q1 (t) = H1 {z(t)} = ... = ∞ X k=−∞ ∞ X H1 {p x[k] (t − k T )} = s (t − k T ). | {z } k=−∞ 1,x[k] :=s1,x[k] (t−k T ) där s0,x[k] (t) = H0 {p x[k] (t)}, s1,x[k] (t) = H1 {p x[k] (t)}. (C.11) Det betyder att vi kan bestämma de två utsignalerna q0 (t) och q1 (t) om vi känner de fyra signalerna: Hi {pm (t)} = (hi ∗ pm )(t), 119 i = 0, 1, m = 0, 1. (C.12) Eftersom både impulssvaren h0 , h1 och de två pulserna p0 , p1 är en cosinussignal, med en specifik frekvens och multiplicerad med en gaussisk envelopp, räcker det med att vi undersöker resultatet av att falta en sådan signal, med vinkelfrekvens ω med en annan som har vinkelfrekvens ω0 : Z ∞ (t−τ)2 τ2 (hi ∗ p j )(t) = e− 2σ2 cos(ω τ) e− 2σ2 cos ω0 (t − τ) = . . . = −∞ ! !! √ σ2 (ω−ω0 )2 πσ − t22 − σ2 (ω+ω0 )2 ω − ω0 ω + ω0 4 = e 4σ e cos t + e− 4 cos t . (C.13) 2 2 2 Här är ω antingen ω0 eller ω1 och detsamma gäller för ω0 . Det betyder att ω + ω0 är som minst dubbla det lägsta av ω0 och ω1 . I praktiken är dessa två frekvenser alltid valda så att de är signifikant större än 1/σ, vilket leder till att e− σ2 (ω+ω0 )2 4 ≈ 0: √ ! ω + ω0 πσ − σ2 (ω−ω0 )2 − t22 4 4σ cos e e t . (hi ∗ p j )(t) = 2 | {z } |{z} 2 |{z} envelopp | faktor {z } konstant (C.14) cosinussignal Om vi undersöker detta resultat ser vi att det är en puls i form av en cosinussignal med gaussisk envelopp, lik0 nande p0 eller p1 , men med skillnaden att dess vinkelfrekvens ges av ω+ω 2 och enveloppen har en standardavvikelse √ 2σ (dvs. alltså pulsen blir lite bredare). Den stora poängen i sammanhanget är emellertid att pulsen multipliceras σ2 (ω−ω0 )2 med en faktor e− 4 . Om de två frekvenserna är lika, dvs. filtret tar emot en matchande puls, är ω = ω0 och faktorn blir då = 1. Om frekvenserna är olika tar filtret emot en puls som det inte är matchad för och då vill vi att utsignalen ska bli så liten som möjligt. Om vi väljer frekvenserna ω0 och ω1 så att |ω0 − ω1 | = n σ (C.15) där n är en lämplig parameter, får vi att faktorn i det fallet att ω , ω0 ges av e− σ2 (ω−ω0 )2 4 n2 = e− 4 (C.16) Om vi väljer n = 3 blir faktorn ≈ 0, 1 och om n = 4 blir den istället ≈ 0, 02 för detta fall. Vi sammanfattar: när “rätt” puls passerar genom ett av de matchande√ filtren, dvs. en puls som filtret är matchat för, kommer resultatet att bli en ny puls, med ett bestämt maxvärde på 2πσ . När istället “fel” puls passerar blir det igen en ny puls men den dämpas med minst 90% om vi väljer n > 3. Varje puls som tas emot av mottagaren kommer då att effektivt ta sig igenom endast ett av de två filtren, det filter som pulsen är matchad till. Se figur C.6 för en illustration av hur de matchande filtren hanterar den signal z(t) som genereras av sändaren i figur C.5. Notera att pulserna är något bredare efter filtren än de är i den mottagna signalen, vilket är vad som förutsägs i beräkningarna ovan. 1 1 1 0 1 0 0 1 1 0 1 0 0 1 0 0 Figur C.7: Vänster: Beloppet av de utsignaler som visas i figur C.6. Höger: Lågpass filtrerad version av signalerna till vänster. 120 Avslutande systemkomponenter Ovanstående resultat leder fram till att, för lämpligt val av frekvenserna ω1 och ω2 samt pulsbredden σ, går det att separera de två typerna av pulser så att de återfinns i var sin utsignal från respektive matchande filter. Nu återstår att med hjälp av dessa signaler återskapa den digitala sekvensen x[k], vilket är mottagarens utsignal: y[k] = x[k]. Båda pulserna som återfinns i q0 (t) och q1 (t) svänger mellan positiva och negativa värden, kring nollan. Ett enkelt sätt att återskapa x[k] är att först ta beloppet av dessa signaler, så att resultatet hela tiden befinner sig på positiva sidan men fortfarande svänger upp och ned, se figur C.7, vänster, för en illustration. För att ta bort dessa svängningar kan båda signalerna filtreras med var sitt lämpligt LP-filter, vars gränsfrekvens är avpassad så att dessa svängningar dämpas effektivt. Det som blir kvar är den långsammare variation som motsvaras av enveloppen för varje puls. Dessa kan vara delvis överlagrade på varandra, men har tydliga “toppar” som motsvarar de bitar som överförs. Beroende på i vilken av de två signalerna som toppen återfinns är det en puls motsvarande x[k] = 0 eller en puls motsvarande x[k] = 1 som tas emot. Se figur C.7, höger, för en illustration. Det som återstår nu är att bestämma när det inträffar en “topp”, ett maxvärde, i de två signalerna och mata ut en nolla eller etta som värde för nästa sampel i y[k] när det händer. Det betyder att mottagaren enkelt kan synkronisera sig gentemot sändaren genom att observera den mottagna signalen. Den behöver känna T hos sändaren på ett ungefär och kan själv justera och anpassa sin egen sampelperiod för utsignalen y[k] genom bestämma när maxvärdena inträffar. Detta är en stor fördel med den valda moduleringsmetoden jämförd med, exempelvis unipolär eller bipolär modulation. En sammanställning av de delsystem som mottagaren består av återfinns i figur C.8. I praktiken Vi har tidigare kommit fram till att den utsända signalen z(t) inte är identisk med den mottagna signalen w(t). I det enklaste fallet skiljer de sig åt med en dämpning, en tidsfördröjning och ett visst mått av additivt brus. Tidsfördröjningen är okomplicerad, den innebär endast att y[k] är tidsfördröjd i förhållande till x[k]. I sammanhangen finns ytterligare en källa till fördröjning. De två matchande filtren har här beskrivits med impulssvar som gör dem ickekausala. För att de ska bli kausala måste filtren fördröjas så att hela pulsen effektivt hamnar på “positiva tidsaxeln”. Även LP-filtren introducerar en viss fördröjning. Den dämpning som kanalen innebär kan, i princip, kompenseras för genom att förstärka den mottagna signalen innan de matchande filtren. Detta innebär emellertid att även kanalens brus förstärks. Den bästa strategin är därför att förstärka den utsända signalen så mycket som möjligt och utgå från att den mottagna signalen är tillräckligt kraftig efter kanalens dämpning för att kunna demoduleras. I praktiken är det förhållandet mellan effektiv signal u(t) och bruset som tas emot som är den viktiga parametern. Ju kraftigare u(t) i förhållande till bruset desto mindre risk att de mottagna bitarna tolkas fel. Figur C.8: Sammanställning av de delsystem som återfinns i mottagaren vid frekvensmodulation. 121 122 Bilaga D Prediktion En prediktor är ett tidsdiskret system som försöker gissa värdet av den tidsdiskreta signalen s[k], vid sampel k, givet n kända sampelvärden bakåt i tiden: s[k − 1], s[k − 2], . . . , s[k − n]. Tanken med det hela är att det ska gå att säga något om signalvärdet s[k] innan detta värde har observeras i sekvensen, baserat på de n senaste signalvärdena som har observerats. En kommentar I princip finns det inget som kräver att signalen måste vara tidsdiskret och inte heller att ett ändligt antal, n, sampel används för prediktionen. Det är emellertid det enklaste och naturligaste ansatsen och därför det som vi kommer att hålla oss till i detta kapitel. I vilken mån prediktionen blir bra eller dålig beror dels på n, generellt bör prediktionen bli bättre ju större n är, dels på hur regelbundet signalen s[k] varierar. Om s varierar relativt långsamt och utan plötsliga hopp fram eller tillbaka bör det gå att gissa ett framtida värde baserar på tidigare kända värden. Om signalen stället varierar mer eller mindre slumpmässigt är det omöjligt att prediktera dess nästa värde i en sekvens. Generellt kan prediktion beskrivas som att vi ur s[k] vill generera en predikterad signal sp [k]: sp [k] = H{s[k]}, (D.1) där H enbart beror av signalvärdena s[k − 1], s[k − 2], . . . , s[k − n]. Prediktion kan göras på många olika sätt, dvs. det finns många olika sätt att beskriva H som har denna egenskap. Det vi ska göra här är att undersöka en enkel klass av prediktorer som kan beskrivas som LTI-system. Eftersom vi har att göra med tidsdiskreta signaler och system så betyder det att sp [k] kan skrivas som en faltning mellan s[k] och systemets impulssvar h: sp [k] = (p ∗ s)[k] = n X h[l]s[k − l]. (D.2) l=1 I det här fallet kommer h att ha egenskapen h[k] = 0 för k ≤ 0 och k > n, vilket motsvaras av ett FIR-filter av längd n, se avsnitt 5.2.1. Det predikterande systemet H bestäms alltså av de n samplen i dess impulssvar: h[1], . . . , h[n]. I detta sammanhang brukar dessa även kallas för prediktionskoefficienter och frågan vi ställer oss är: hur bestämmer vi koefficienterna? Det vi ska göra här är undersöka en metod som bygger på att signalen s[k] inte är en helt slumpmässig signal, utan verkligen har den informationsbärande egenskap som introducerades i kapitel 1, dvs. det finns någon typ av systematik i hur s[k] varierar även om det inte nödvändigtvis betyder att det exakt går att prediktera signalen med ett LTI-system. Metoden bygger på att vi kan bestämma, eller i alla fall skatta, specifika statistiska egenskaper för s[k]. För att göra det antar vi att vi har tillgång till en representativ sekvens av signalen s[k], med m sampel, där m gärna får vara så stor som är praktiskt möjligt. Att sekvensen är representativ betyder att den ska innehålla alla de typer av variationer vi förväntar oss att observera i signalen. Denna sekvens använder vi för att skatta prediktionskoefficienterna, vilka sedan kan användas på nya sekvenser av samma signal för att prediktera framtida okända värden. 123 För att bestämma prediktionskoefficienterna (impulssvaret) i h[k] undersöker vi prediktionsfelet, skillnaden mellan prediktionen sp [k] och den verkliga signalen s[k]: d[k] = s[k] − sp [k]. (D.3) Vi behöver vi även definiera en specifik felfunktion eller kostnadsfunktion , som anger hur stort prediktionsfelet är över de m samplen: m m X X s[k] − s [k] 2 , d[k] 2 = (D.4) = p k=1 k=1 där vi summerar över de m samplen i d[k]. Om prediktionen är bra kommer sp [k] ≈ s[k] för de flesta av alla de m samplen. Vi vill välja prediktionskoefficienterna h så att blir så liten som möjligt. Det visar sig att detta problem kan formuleras som ett minsta-kvadratproblem, som kan lösas med vanliga metoder för denna typ av problem. Det är detta vi ska titta på härnäst. Vi börjar med att formulera om (D.4) genom att sätta in (D.2), vilket leder till 2 2 m n m n X X X X s[k] − s[k] − (D.5) h[l]sk [l] . = h[l]s[k − l] = l=1 k=1 k=1 l=1 Här är sk ett avsnitt ur signalen s[k] med n sampel, som startar vid sampel k − 1 och slutar vid sampel k − n. Notera att samplen räknas upp “baklänges” i tiden, eftersom faltning innebär att den ena funktionen ska speglas i tiden. För varje k är sekvensen sk lika lång som sekvensen med prediktionskoefficienter, h. Vi kan därför se både h och sk som vektorer, här betecknade med h, sk ∈ Rn , och utnyttja att den inre summan i (D.5) är skalärprodukten mellan dessa vektorer: m X (D.6) = ks[k] − sk · hk2 . k=1 Summan i (D.6) har m termer, en för varje sampel i s[k] ska predikteras. Vi kan uttrycka hela denna summa som normen i kvadrat mellan två vektorer i RK : > 2 > 2 s[1] s1 h s[1] s1 s[2] s>2 h s[2] s>2 (D.7) = . − . = . − . h .. .. .. .. > > s[m] sm h s[m] sm Givet detta resultat kan vi definiera en vektor b ∈ Rm och en m × n matris A som > s1 s[1] s> s[2] 2 A = . b = . , . .. . > sm s[K] (D.8) Varje element i b är ett sampel från s[k] som ska predikteras och motsvarande rad i A innehåller de n föregående samplen från vilka prediktionen görs. Felfunktionen kan nu skrivas = k b − A h k2 . (D.9) Vi har nu skrivit om kostnadsfunktionen som skillnaden mellan en känd vektor b ∈ Rm och produkten av en känd m × n matris A med den okända vektorn h ∈ Rn . Att bestämma den vektor h som minimerar är ett problem känt från linjär algebra kallat minsta-kvadratproblem. Vi härleder inte lösningen1 utan påminner enbart att den h som minimerar måste uppfylla den så kallade normalekvationen som hör till detta problem: A> A h = AT b. (D.10) Det som återstår är att lösa ut h ur normalekvationen i (D.10). Enligt avsnitt A.1.6 behöver vi då försäkra oss om att A har rang ≥ n, vilket leder till den unika lösningen: h = (A> A)−1 A> b. Vi sammanfattar dessa resultat med att vi behöver 1 Se lämplig kursbok i linjär algebra. 124 (D.11) 1. m kända sampel ur sekvensen s[k]. Dessa motsvarar tillsammans vektorn b ∈ Rm . 2. m kända vektorer sk ∈ Rn . Dessa motsvarar tillsammans m × n matrisen A (vektorerna sk ligger i matrisen rader). Ur dessa kända storheter kan vi, om A> A är inverterbar, bestämma prediktionskoefficienterna h med hjälp av (D.11). För varje k hör sampel s[k] och vektorn sk ihop och tillsammans utgör de en sekvens om n + 1 sampel ur den tidsdiskreta signalen s. Det sista samplet i denna sekvens predikteras av de n föregående samplen. De m samplen av s[k] med tillhörande sk kan vara tagna var som helst i signalen, men kan enklast ses som tagna ur en sammanhängande del som är m + n sampel lång. För att ge en bra prediktion måste vi även anta att m och n är valda med omsorg. /m kan ses som en skattning av väntevärdet i kvadrat av felet mellan s[k] och dess prediktion sp [k] (varians). Denna skattning bli bättre och bättre ju större m är, varför vi bör välja m så stor som är praktiskt möjligt. Om allt annat är fixt så kommer att bli mindre (eller lika) när n växer. Därför kan det vara lockande att även välja n så stort som praktiskt möjligt, men det är inte säkert att det är en bra strategi. Varje prediktion som ska göras innebär en beräkning av en skalärprodukt mellan två vektorer som är n-dimensionella, en beräkning som har en kostnad som ökar linjärt med n. För det andra så är det inte säkert att minskar särskilt mycket om n görs större. Det kan vara så att egenskaper i signalen s[k], t.ex. att den innehåller brus, gör att inte kan reduceras under en viss nivå. När n har valts så att kommer nära denna nivå kan den inte att bli mycket mindre även om n görs större. Då är det bättre att välja ett n som reducerar till i närheten av denna minsta nivå, men inte större. D.1 Tillämpningar Det finns gott om tillämpningar när prediktion, prognostisering eller förutsägelser kan vara till nytta. Inom ekonomi finns det många fördelar med att kunna förutsäga olika typer av kurser eller köp-sälj-beteenden baserat på kända tidigare värden (sampel) av tidsdiskreta signaler som exempelvis representerar antal sålda varor per tidsenhet. Ett annat exempel är inom logistik där prognoser för hur mycket av olika varor som behövs hållas i lager vid en viss tidpunkt kan vara till stor fördel. I dessa och andra exempel kan prediktionen behöva generaliseras så att prediktionen av en specifik signal s baseras delvis på tidigare kända värden av signalen s men även på andra korrelerade signaler. Exempelvis kan medelpriset på en aktie en viss dag beror på dess medelpris under tidigare dagar, men även av priset på andra relaterade aktier, liksom av priset på en viss råvara. Prediktionen måste inte vara baserad på alla n tidigare sampel som föregår det som vi vill prediktera. Exempelvis kan efterfrågan på en säsongsvara (exempelvis glass) en viss månad vara mindre beroende av efterfrågan de närmast tidigare månaderna som av efterfrågan samma månad året innan. D.1.1 Digital överföring av ljud En specifik tillämpning för prediktion är inom överföring av en ljudsignal, från en sändare till en mottagare. Sändaren får en ljudsignal, x(t), exempelvis från en mikrofon, och överför den till mottagaren som spelar upp ljudet i en högtalare. Nästan alla moderna typer av system som kommunicerar på det viset är i grunden digitala, och överför tidsdiskreta signaler. Det innebär att ljudsignalen som ska sändas först måste överföras till en tidsdiskret version genom att den samplas på det sätt som beskrivs i avsnitt 6.1. Resultatet blir en sekvens av sampel, x[k], som alla representeras med binära tal, ett visst antal antal nollor och ettor per sampel. Denna digitala signal kan sedan överföras till mottagaren, enligt vad som beskrivs i avsnitt C.2, som ur x[k] slutligen rekonstruerar den tidsdiskreta signalen x(t) enligt avsnitt 6.2 och spelar upp den i högtalaren. Se figur D.1 för en illustration. Denna beskrivning för överföring av ljud är, på grundläggande nivå, vad som händer när du pratar i din mobiltelefon. Mobiltelefonen har en mikrofon som generar signalen x(t), den samplas vilket ger x[k], vilken kan representeras med en sekvens av nollor och ettor. Denna digitala signal överförs till mottagaren, i det här fallet den basstation för mobiltelefoni som finns i närheten av din mobiltelefon. Basstationen skickar den digitala sekvensen vidare till en annan basstation nära den mobiltelefon du pratar med. Denna basstation sänder över den digitala signalen till mottagarens mobiltelefon, som slutligen rekonstruerar ljudsignalen och spelar upp den i telefonens högtalare. I det system som illustreras i figuren antas att samplingen (ADC) sker idealt, vilket i praktiken innebär att det kvantiseringsbrus som beskrivs i avsnitt 6.1.1 är försumbart. Vidare antar vi att överföringen av den digitala 125 Figur D.1: Ett system för digital överföring av ljud från en sändare till en mottagare. signalen, från sändaren till mottagaren, sker utan bitfel; att nollor misstas som ettor eller tvärtom. I praktiken kommer bitfel att inträffa, men genom att lägga till extra information i den digitala signal som sänds över till mottagaren kan felen detektera och de flesta kommer att kunna rättas, varför vi bortser från effekter av bitfel här. Vi antar vidare att rekonstruktionen till x(t) på mottagarsidan (DAC) är ideal, enligt avsnitt 6.2.2. Det kommer att gälla approximativt, och vi bortser därför från den distorsion som beror på att icke-ideal rekonstruktion. I praktiken uppkommer även en fördröjning när signalen ska ta sig från sändaren till mottagaren, men vi antar att fördröjningen är tillräckligt liten för att den ska kunna bortses från. Sammanfattningsvis kommer mottagaren att kunna återskapa, i alla fall approximativt, samma signal x(t) som matas ut till högtalaren som den signal x(t) som genererades av mikrofonen. En viktig faktor för ett system av den typ som beskrivs här är hur många bitar per sekund som kan skickas från sändaren till mottagaren. Om de approximationer som beskrivs ovan ska gälla behöver samplingen ske med relativt många bitar, så att kvantiseringsbruset reduceras till rimlig nivå. Alltså kan det krävas att relativt många bitar per sekund överförs för att kvaliteten på det mottagna ljudet ska bli acceptabel. Det transmissionssystem som ska överföra ljudet har emellertid en begränsad kapacitet vad gäller bitar per sekund. Ju fler bitar per sekund som ska överföras, desto kortare blir samplingstiden T för den digitala signalen. Det betyder att de pulser som sänds över kanalen behöver bli kortare, men även att de frekvenser ω0 och ω1 som används av frekvensmodulationen i avsnitt C.2.1 måste bli högre. Det finns praktiska begränsningar för hur högra modulationsfrekvenser som kan användas, vilket då även begränsar hur många bitar som kan överföras per sekund. En basstation för mobiltelefoni ska dessutom kunna kommunicera med flera mobiltelefoner samtidigt och alla dessa kommer att dela på den tillgängliga kapaciteten av bitar per sekund som basstationen kan hantera. Sammanfattningsvis finns det också ett behov av att hålla överföringshastigheten (bitar per sekund) så låg som möjligt. Ett sätt att möta båda dessa krav på överföringshastighet är att på något sätt komprimera den information som ljudsignalen innehåller, innan den skickas från sändaren till mottagaren. En metod för att göra det är prediktiv kodning som går ut på att ljudsignalen relativt enkelt kan predikteras och att det enda som då behöver skickas över är prediktionsfelet, vilket i allmänhet kräver färre bitar per sekund för att uppnå samma ljudkvalitet. Se figur D.2 för en illustration av prediktion av en ljudsignal med n = 10. Notera att prediktionsfelet är av storleksordningen 10% av signalen x[k]. En kommentar Att prediktionsfelet är signifikant mindre än själva signalen skulle felaktigt kunna tolkas som att det innehåller mindre information än signalen. Det är precis tvärtom! I det här fallet innehåller signalen x[k] en viss redundans, vilket är det som låter oss prediktera dess framtida värden med god noggrannhet. Prediktionsfelet innehållet mycket information om signalen eftersom det berättar hur prediktionen måste korrigeras för att bli helt rätt. Den variant av prediktiv kodning som har potential att verkligen reducera antalet bitar som sänds över kallas förstörande prediktion. För att förstå hur det fungerar behöver vi först titta på förlustfri prediktion. 126 Figur D.2: Överst: en tidsdiskret ljudsignal x[k], där samplen ligger mycket tätt och inte syns tydligt. Mitten: prediktion av x[k] baserad på de n = 10 föregående samplen. Nederst: prediktionsfelet i detta fall. förlustfri prediktiv kodning Ett system som använder sig av förlustfri prediktiv kodning visas i figur D.3. Den tidsdiskreta signalen x[k], som innehåller sampel av den tidskontinuerliga signalen x(t), är insignal till sändaren. Istället för att helt enkelt sända de bitar som motsvarar dessa sampel innehåller sändaren en prediktor som från de n senaste samplen predikterar nästa sampel i sekvensen, den predikterade signalen. Denna jämförs sedan med den verkliga signalen och skillnaden mellan dem, prediktionsfelet, är den tidsdiskreta signal som skickas över till mottagaren. Även mottagaren har en prediktor, identiskt med den som sändaren använder, som kan prediktera nästa sampel i sekvensen. Även här uppstår ett prediktionsfel, och eftersom mottagaren tar emot just detta fel, kan det adderas till den predikterade signalen vilket genererar den signal x[k] som matades in i sändaren. Notera att sändaren innehåller ett framåtkopplat system. Det enda som har hänt så här långt är att i den översända signalen ersätt x[k] med prediktionsfelet, vilket låter sändaren återskapa x[k] ur dess egen prediktion. För att fungera väl behöver prediktionsfelet representeras med ungefär lika många bitar per sampel som x[k] tidigare överfördes med. Om prediktionsfelet representeras med få bitar innebär det att när mottagaren ska bestämma x[k], genom att addera prediktionsfelet, så uppstår en distorsion, ett brus som överlagras på utsignalen och som hörs i högtalaren. Felet beror på att den predikterade signalen som finns hos sändaren och mottagaren tillåts att avvika godtyckligt mycket från varandra. Felet kommer att ackumuleras över tiden, så om inte medelvärdet av felet är = 0 kan den rekonstruerade signalen på mottagarsidan “driva iväg” och så småningom blir hur olik x[k] som helst. Detta kan i princip hända även om många bitar används för att representera prediktionsfelet. Vi har alltså ännu inte minskat överföringshastigheten för det totala systemet som överför ljudet. För att göra det behöver vi använda förstörande prediktion. 127 Figur D.3: Sändare och mottagare som bygger på förlustfri prediktion. Systemet som betecknas Digital överföring motsvaras av den modulation, överföring genom en kanal och demodulation som beskrivs i avsnitt C.2. Figur D.4: Sändare och mottagare som bygger på förstörande prediktion. Förstörande prediktiv kodning Begreppet “förstörande‘” innebär inget värre än att vi tillåter att prediktionsfelet representeras med ett färre antal bitar än vad som är nödvändigt för att förlustfri kodning ska fungera väl. Enligt vad som beskrivit ovan är en konsekvens av detta att den rekonstruerade signalen kommer att innehålla en mer eller mindre stort avvikelse (distorsion). Detta kan emellertid hanteras med den modifikation av sändarsidan som visas i figur D.4. Notera att mottagaren fungerar på samma sätt som vid förlustfri prediktion. Mottagaren är emellertid modifierad och innehåller nu en återkoppling: prediktionsfelet adderas till den signal från vilken prediktionen görs. Vi förstörande prediktiv kodning sker en (om)kvantisering av prediktionsfelet, vilket i detta fall innebär en reducering av antalet bitar som representerar prediktionsfelet. Exempelvis, om signalen x[k] har 8 bitar per sampel skulle prediktionsfelet kunna reduceras ned till 2 bitar per sampel. Det ger en reduktion av antalet bitar som måste överföras per sekund med en faktor 4. Detta “förstörda” prediktionsfel ska sedan användas på mottagarsidan för att återskapa x[k]. Om prediktionsfelet som bestäms på sändarsidan enbart är baserat på en prediktion utifrån tidigare sampel som observerats av sändaren kommer detta att fungera dåligt, enligt tidigare diskussion. Men om det fel som skickas till mottagaren både innehåller prediktionsfelet och det fel som beror på kvantiseringen blir det emellertid möjligt att få det hela att fungera även med få bitar i prediktionsfelet. Den prediktion som sändaren beräknar är vid förstörande prediktiv kodning identisk med den som sker på mottagarsidan, dvs. prediktionen kompenseras med aktuellt prediktionsfel som i det här fallet har ett visst mått av distorsion. Det betyder att utsignalen från prediktorn på sändarsidan kommer att bli identiskt med utsignalen från prediktionen på mottagarsidan. Det fel som beräknas och sedan kvantiseras innan det skickas till mottagaren kan därför sägas vara en summa av det “vanliga” prediktionsfelet som beror på att vi inte alltid kan prediktera en signal med stor noggrannhet och ett fel som beror på att prediktionen skett från en delvis förvrängd signal eftersom den kompenserats med ett förvrängt (förstört) prediktionsfel. Genom att återkoppla det kvantiserade prediktions128 felet på mottagarsidan kan alltså ett fel beräknas som även tar hänsyn till att kvantiseringen introducerar en slags förvrängning. Ett system baserat på förstörande prediktiv kodning kommer alltid att introducera ett visst fel i den rekonstruerade signalen på mottagarsidan (därav förstörande kodning) men detta fel kan begränsas genom att det kompenseras för vid prediktionen även på sändarsidan. Det skulle i princip räcka med att representerar prediktionsfelet med en eller ett par bitar som kan ange om x[k] ökar, minskar eller är ungefär konstant, även om signalen x[k] representeras med betydligt fler bitar. För att fungera väl krävs då också att det är möjligt att prediktera x[k] med lågt prediktionsfel. För ljudsignaler som representerar “vanligt ljud”, som tal och musik, är detta möjligt för rimliga värden på n, exempelvis n = 10. Kompression av ljudsignaler baserad på förstörande prediktiv kodning är därför en vanlig metod för system av digital ljudöverföring. D.1.2 I praktiken Den beskrivna kompressionsmetoden är en av flera tekniker som används av avancerade system för hantering av digitalt ljud, men inte bara för mobiltelefoni. Som nämndes i inledning av kapitel C kan vi se system för överföring av digitala signaler antingen som överföring genom rummet eller genom tiden, eller båda. Även system som lagrar digitalt ljud, exempelvis MP3-spelare bygger på olika metoder för prediktiv kodning, som i grunden fungerar enligt de principer som beskrivits här. All överföring av ljud över internet, exempelvis Skype eller Spotify, använder även de prediktiv kodning. Metoden kan även generaliseras till signaler som utgörs av bilder, och blir då aktuella för digital lagring och överföring av bilder och video. Att du kan titta på DVD-filmer, Youtube-klipp och på Netflix beror på att mängden bitar kan behöver överföras eller lagras effektivt kan reduceras med hjälp av prediktiv kodning. 129 130 Litteraturförteckning [1] IEEE Transactions on Signal Processing, Aims & Scope:. http://ieeexplore.ieee.org/xpl/ aboutJournal.jsp?punumber=78#AimsScope. [2] Nationalencyklopedins ordbok, 2004. [3] Roland Priemere. Introductory Signal Processing. World Scientific, 1991. Tillgänglig genom Google Books. [4] Priyabrata Sinha. Speech Processing in Embedded Systems. Springer, 2010. 131 Sakregister överlagring, 23 ADC, 17, 18, 85 adderare, 23 additivt brus, 114 allpassfilter, 75 amplitud, 55 amplitudkarakteristik, 58 argumentet, 102 bandbegränsad signal, 66 bandbredd, 77 bandpassfilter, 76 bandspärrfilter, 77 bas, 100 begränsad signal, 22 BIBO-stabilt system, 48 binär signal, 15 bipolär modulation, 116 bithastigheten, 15 BP-filter, 76 brytfrekvens, 76 BS-filter, 77 centerfrekvensen, 77 cosinusfunktion, 55 DAC, 17, 18, 88 demodulation, 118 derivator, 25 deriverare, 25 detektion, 73 digital-till-analog-omvandlare, 88 enhetspulsen, 106 enhetssteget, 105 enkla system, 19 envelopp, 117 fördröjning, 24 förlustfri prediktion, 126 förstärkare, 24 förstörande prediktion, 126, 127 faltning, 46 fas, 55 fasförskjutning, 57 faskarakteristik, 58 felfunktion, 124 filterkoefficienter, 79 Finite Impulse Response Filter, 79 FIR-filter, 79 fouriertransformen, 60, 67 frekvens, 55 frekvensfunktion, 58 frekvenskomponenter, 66 frekvensmodulation, 117 frekvensselektivt filter, 73 funktional, 109 gränsfrekvens, 75 högpassfilter, 76 Hermiteska funktioner, 68 homogen lösning, 104 HP-filter, 76 hysteresstyrning, 30 icke-kausalt system, 48 icke-kommuterande sysem, 28 icke-linjärt system, 33 ideal sampling, 88 ideala impulsfunktionen, 108 IIR-filter, 79 imaginära enheten, 102 imaginärdel, 102 impulsfunktionen, 108 Infinite Impulse Response Filter, 79 inhomogenea lösningen, 104 inre tillstånd, 10 insignaler, 10 integrator, 26 integrerare, 26 interpolation, 19 interpolationsfunktion, 90 inversa fouriertransformen, 60, 70 inversa systemet, 62 kanal, 114 kartesisk representation, 102 kaskadkoppling, 28 kausalt system, 48 kommuterande system, 28 132 komplexkonjugat, 103 koordinater, 100 kostnadsfunktion, 124 kvantisering, 86 kvantiseringsbrus, 87 kvantiseringsintervall, 87 lågpassfilter, 75 lagringskanal, 114 linearisering, 37 linearlisering, 37 linjär ODE, 31 linjär transformation, 99 linjärkombination, 99 linjärkombination av två LTI-system, 43 linjärt och tidsinvariant system, 42 linjärt system, 33 LP-filter, 75 LTI-system, 42 magnituden, 102 matchande filter, 82 meddelanden, 15 minsta kvadratproblem, 101 minsta-kvadratproblem, 124 modulation, 115 modulerad Gauss-funktion, 112 multiplikator, 24 närmsta-granne-interpolation, 88 nedsampling, 95 nollvektorn, 99 normalekvationen, 101, 124 normerad vektor, 100 Nyquist-frekvensen, 71, 93 obegränsad signal, 22 olinjärt system, 33 omsampling, 95 ortogonala vektorer, 100 partikulära lösningen, 104 passband, 76 polär representation, 102 prediktionsfelet, 124, 127 prediktionskoefficienter, 123 prediktiv kodning, 126 prediktor, 123 sampel, 14 samplare, 85 sampling, 15, 85 samplingsperioden, 85 samplingsteoremet, 92 seriekoppling, 28 signaler och system, 11 signalrum, 21 spärrband, 76 stationär lösning, 104 stegfunktionen, 105 subtraherare, 24 superposition, 23 systembeskrivande ekvation, 31 systemmodeller, 22 tidsdiskret system, 15 tidsdiskreta fouriertransformen, 67 tidsdiskreta signal, 14 tidsinvarianta system, 38 tidskonstant, 52 tidskontinuerlig signal, 14 tidskontinuerliga fouriertransformen, 60 tidskontinuerliga inversa fouriertransformen, 60, 70 tidskontinuerligt system, 15 tidsvariabel förstärkare, 24 tidsvariant system, 38 tröskling, 37 transducer, 25 transmissionskanal, 114 transponatet, 101 trunkering, 85 unipolär modulation, 116 uppsampling, 95 utsignaler, 10 vektorrum, 99 vikning, 68 vikningsdistorsion, 94 vinkelfrekvens, 55 rangen för matrisen, 101 realdel, 102 regulator, 32 rekonstruktion, 15, 18, 85 rekonstruktionsfunktion, 90 residualvolymen, 31 resonans, 48 133
© Copyright 2024