Kapitel 1 Inledning 1.1 Signaler och system Temat för denna kurs är signaler och system. En kvantitativ behandling av signaler och system och deras växelverkan utgör grunden för den del av informationstekniken som består av manipulering, lagring och överföring av information, som representeras i form av signaler. En signal definieras som något som innehåller information. Informationen kan bestå av variationer hos en fysikalisk storhet som kan manipuleras med hjälp av fysikaliska processer. Exempel på signaler är - audiosignaler, såsom i telefoni, CD-spelare m.m., - video- och bildsignaler, - seismiska signaler, - biologiska signaler, såsom elektrokardiogram (EKG), elektroencefalogram (EEG), m.m. Signaler kan representeras på flera olika sätt. Exempelvis är en audiosignal ursprungligen en akustisk signal (ljud, eller tryckvariationer i luften), men kan konverteras till en elektrisk signal med en mikrofon, eller representeras med hjälp av variationer hos de magnetiska egenskaperna i ett magnetband, eller i form av en sekvens av tal såsom i en CD skiva. Alla dessa olika representationer av signalen kan med hjälp av en högtalare konverteras tillbaka till en akustisk signal. Med ett system avses i detta sammanhang något som transformerar en signal till en annan signal eller till en annan signalrepresentation. System i denna mening är således komponenter som manipulerar, transformerar, lagrar eller överför signaler. Exempel på system är t.ex. de komponenter i en mobiltelefon som transformerar en akustisk (ljud)signal till en elektrisk signal, filtrerar bort ointressanta, men störande, höga frekvenser i den elektriska signalen, och därefter transformerar den elekriska signalen till digital form. Signaler beskrivs på ett naturligt sätt i form av matematiska funktioner. System representeras därvid av operatorer som transformerar funktioner (signaler) till andra funktioner (signaler). Den matematiska beskrivningen av signaler och system är därför 1
oumbärlig för förståelsen av processer där signaler och system ingår. Teorin för signaler och system brukar ofta gå under begreppet signalbehandling (eng. signal processing, fi. signaalinkäsittely). Viktiga tillämpningsområden för signalbehandling är t.ex.: - audiotillämpningar (telefoni, CD-skivor, taligenkänning och -syntes m.m.) - bildbehandling (digital kamera, förbättring av suddiga bilder m.m.) - telekommunikation (telefoni, all slags signalöverföring) - medicinska tillämpningar (analys av EKG och EEG, tomografi m.m.) - mätteknik (behandling och tolkning av mätdata, m.m.) - reglering och automation (behandling av mätdata för reglerändamål, tillämpning av digital signalbehandling för reglering av snabba processer som kräver stor datorkapacitet, m.m.) Förutom i direkt tekniska tillämpningar, så har avancerad signalbehandlingsteknik revolutionerat flera grundforskningområden. Som ett exempel må nämnas introduktionen av adaptiv optik i teleskop, som möjliggör kompensation av de störningar som förorsakas av atmosfärisk turbulens. Kompensationen kan göras i reell tid med hjälp av digitala signalbehandlingssystem. Detta har medfört att teleskop på markytan idag kan göras konkurrenskraftiga med teleskop placerade i rymden, något som ännu för några år sedan ej var realistiskt. 1.2 Matematisk representation av signaler Såsom tidigare konstaterades, så kan en signal fysikaliskt ha olika representationsformer, såsom akustisk, elektrisk, magnetisk m.m. Det väsentliga hos en signal är emellertid den information den innehåller. Denna är oberoende av den fysikaliska representationsformen, och består av signalens variationer som funktion av tiden (såsom i en akustisk eller elektrisk representation) eller av en rumskoordinat (såsom i ett magnetband eller en CD-skiva). Dessa variationer kan representeras matematiskt som en funktion x(t) av en oberoende variabel t. Vanligen tänker man sig signaler som funktioner av tiden t, även om den fysikaliska representationen i vissa tillämpningar kan hänföra sig till en rumskoordinat, vilket t.ex. är fallet i bildbehandling. Det är naturligt att representera signaler som beskriver informationen i en bild som 2-dimensionella funktioner x(s, t), där s och t är koordinater i ett två-dimensionellt koordinatsystem. Klassificering av signaler Fysikaliska signaler är nästan uteslutande kontinuerliga och kan representeras i form av en kontinuerlig funktion x(t) av en kontinuerlig variabel t. En akustisk signal består således av de kontinuerliga tryckvariationerna p(t) i luften, som av örat uppfattas som ljud. En akustisk signal kan i en mikrofon transformeras till en kontinuerligt varierande elektrisk signal. Med en kontinuerlig eller analog signal x(t) avses en signal som är definierad för alla tider t i ett intervall t 1 t t 2, och som kan anta alla värden i ett intervall, a x(t) b. Då en signal skall bearbetas med hjälp av en dator bör den representeras i form av en sekvens tal. En sådan sekvens kallas för diskret signal. Matematiskt karakteriseras 2
en diskret signal x d som en talsekvens, {x d (k)} = {..., x d ( 2), x d ( 1), x d (0), x d (1), x d (2),...} (1.1) En diskret signal {x(kt s )} som fås genom att avläsa en analog signal x(t) vid de diskreta tidpunkterna kt s, k =..., 1, 0, 1,..., kallas samplad signal. Tiden T s är samplingstiden. Liksom analoga signaler kan diskreta och samplade signaler anta alla värden i ett intervall, a x d (k) b. Då en signal behandlas med hjälp av en dator kan den inte längre anta vilket som helst värde, utan representeras digitalt, så att den kan anta endast 2 B nivåer. En diskret signal som kvantiserats till ett ändligt antal nivåer kallas digital signal. 1.3 Matematisk representation av system Ett system transformerar en signal x(t) till en annan signal y(t) (figur 1.1). System representeras fysikaliskt av olika fysikaliska processer som påverkar en signal. Ett system kan t.ex. bestå av en elektronisk krets eller komponent som förändrar egenskaperna hos en elektrisk signal, eller en kommunikationskanal som förvränger en överförd signal. Matematiskt kan ett system representeras av en avbildning G av signalen x(t) till signalen y(t), så att y(t) vid varje tidpunkt t är en funktion av signalen x. Signalen x(t) kallas systemets insignal och y(t) dess utsignal. Ett statiskt system karakteriseras av att utsignalens värde y(t) är en funktion endast av insignalens värde x(t) vid tiden t, dvs y(t) = F (x(t)) (1.2) Ett statiskt system är ekvivalent med en variabeltransformation och är ganska trivialt ur signalbehandlingens synpunkt. Mera intressant är dynamiska system, där utsignalen y(t) vid varje tidpunkt t är en funktion av insignalen x också vid andra tidpunkter, dvs y(t) = (Gx)(t) (1.3) Jämför figur 1.1. Utsignalen y(t) hos ett dynamiskt system är således en funktion också av tidigare insignaler till systemet. Denna förmåga att minnas tidigare insignaler gör att dynamiska system har ett mycket mera komplicerat och intressantare beteende än statiska system. System med kontinuerliga in- och utsignaler kallas kontinuerliga system. Kontinuerliga dynamiska system beskrivs i allmänhet med hjälp av differentialekvationer. Ett system med en diskret insignal {x(k)} och en diskret utsignal {y(k)} representeras på analogt sätt matematiskt av en avbildning G av signalen {x(k)}, så att y(n) ges som en funktion av sekvensen {x(k)}. Ett system med diskreta in- och utsignaler kallas ett diskret system. Ett diskret statiskt system beskrivs i analogi med det kontinuerliga fallet av ett statiskt samband, y(n) = F (x(n)) (1.4) 3
x G y Figur 1.1: Ett system. medan ett dynamiskt diskret system beskrivs av y(n) = (G{x(k)})(n) (1.5) Diskreta dynamiska system beskrivs i regel med hjälp av differensekvationer. Digitala system är diskreta system som har digitala in- och utsignaler, och som implementeras digitalt. I signalbehandlingsproblem ingår vanligen två typer av system. De fysikaliska processerna är så gott som alltid kontinuerliga till sin karaktär, och bör därför modelleras matematiskt som kontinuerliga system. Signalbehandlingsoperationer implementeras nuförtiden däremot nästan uteslutande digitalt. Därför är de system som står för signalbehandlingen diskreta eller digitala system. 1.4 Analog och digital signalbehandling Analoga signaler representeras av en fysikalisk storhet, ofta av en elektrisk sådan. I analog signalbehandling bör implementeringen utföras med hjälp av lämplig hårdvara, såsom olika typer av elektriska kretsar. Tidigare implementerades digitala signalbehandlingsoperationer också med hjälp av hårdvara, såsom digitalelektronik och logiska kretsar. En viktig skillnad mellan analog och digital signalbehandling är dock det faktum att digitala signalbehandlingsoperationer består av numeriska manipulationer av diskreta sekvenser. Dylika manipulationer kan i praktiken utföras mycket effektivt med hjälp av datorer. Signalbehandling som utförs numeriskt med hjälp av datorer kallas digital signalbehandling (eng. Digital Signal Processing, DSP). De signaler som man önskar manipulera med ett digitalt signalbehandlingssystem är fortfarande vanligen kontinuerliga, såsom audiosignaler m.m. (jämför diskussionen ovan). Ett typiskt digitalt signalbehandlingssystem (figur 1.2) består därför, förutom av en processor, av en analog-till-digital omvandlare (A/D omvandlare), som samplar den kontinuerliga signalen x f (t), samt en digital-till-analog omvandlare (D/A omvandlare), som bildar en kontinuerlig signal y(t) från den digitala signalen {y d (k)} från processorn. Dessutom behövs ett analogt lågpassfilter F, som före analog-till-digital omvandlingen filtrerar bort sådana höga frekvenser i signalen x(t), som inte kan representeras i den samplade signalen, samt ett lågpassfilter H efter D/A-omvandlaren, med 4
x F A/D x f x DSP d y D/A d y H ya Figur 1.2: Digitalt signalbehandlingssystem. vilket den analoga signalen y a ges önskade egenskaper genom att interpolera signalen mellan samplingstidpunkterna. Digital signalbehandling gör det möjligt att implementera algoritmer som i praktiken inte kan realiseras analogt. Det faktum att algoritmerna implementeras med hjälp av mjukvara i form av numeriska beräkningar medför att även mycket komplicerade metoder kan implementeras relativt enkelt. Detta kan jämföras med analog signalbehandling, som bör implementeras med hjälp hårdvara i form av elektroniska kretsar. Detta gör givetvis t.ex. modifieringen av algoritmerna mycket arbetsdrygare. Analog implementering av mera komplicerade metoder begränsas dessutom av toleranserna hos enskilda elektroniska komponenter, vilket däremot inte utgör något problem vid en digital implementering. Flera avancerade signalbehandlingsproblem kan i praktiken lösas endast med hjälp av digital signalbehandling. Ett klassiskt exempel är lagringen av audiosignaler på en CD-skiva (jämför avsnitt 1.5). Ett annat exempel där digitala metoder är oumbärliga är avancerad bildbehandling. Digital signalbehandling har också ett antal nackdelar. I tillämpningar där man manipulerar en kontinuerlig signal bör systemet förses med A/D och D/A omvandlare (figur 1.2). Konversionshastigheterna hos existerande A/D och D/A omvandlare är begränsade. Detta sätter en övre gräns för hur snabbt varierande signaler som kan behandlas. För t.ex. audiotillämpningar är hastigheterna dock helt tillräckliga. En fundamental begränsning hos digital signalbehandling förorsakas av det faktum att information alltid går förlorad då en kontinuerlig, fysikalisk signal representeras i diskret eller digital form. För det första är det generellt inte möjligt att exakt representera en kontinuerlig signal i form av en diskret sekvens (eftersom en kontinuerlig signal ju beskrivs av ett oändligt antal signalvärden, i motsats till en diskret signal som består av en sekvens av tal). Ett kvantitativt svar på vilka kontinuerliga signaler som kan representeras i form av en diskret sekvens ges av samplingsteoremet. En annan begränsande faktor vid digital signalbehandling utgörs av de kvantiseringsfel som uppstår på grund av ändlig ordlängd. Båda dessa begränsningar bör beaktas då man planerar digitala signalbehandlingssystem. Digital signalbehandling som skall utföras i realtid kräver effektiva processorer. Det har för detta ändamål utvecklats speciellt för digital signalbehandling anpassade processorer, s.k. digitala signalprocessorer, eng. digital signal processors (DSP). Dessa har en arkitektur som är speciellt optimerad för typiska signalbehandlingsoperationer, såsom beräkningen av utsignalen från ett digitalt filter eller beräkning av Fouriertransformen. Det finns också applikationsspecifika processorer för olika signalbehan- 5
dlingstillämpningar. Ett viktigt gränsområde mellan signalbehandling och datorteknik är planeringen av arkitekturer för digitala signalprocessorer. Digitala signalprocessorer brukar förutom själva processorn också vara försedda med A/D- och D/A-omvandlare samt de analoga filter som behövs före och efter omvandlingarna, jämför figur 1.2. Dessutom skall samplingstiden enkelt kunna specificeras. 1.5 Ett exempel: lagring av audiosignaler på CD-skiva Ett välkänt exempel på avancerad digital signalbehandling är lagringen av audiosignaler på CD-skivor. Denna tillämpning har inte varit möjlig att realisera med hjälp av hårdvarubaserade metoder, utan effektiva digitala signalprocessorer har varit en förutsättning för att kunna banda audiosignaler digitalt på CD-skivor. På en CD-skiva finns informationen lagrad i digital form i form av punkter som kan avläsas optiskt med en laserstråle. Den uppnådda lagringstätheten är 10 6 bitar/mm 2. Ett mycket förenklat blockshema som visar manipulationerna vid bandning av en audiosignal på en CD består av följande komponenter (se figurerna 1.28 och 1.29 i Ifeachor och Jervis (2001)): Den akustiska signalen överförs till en elektrisk signal i en mikrofon. (I praktiken har man två parallella signaler motsvarande två kanaler.) Den analoga signalen lågpassfiltreras för att elimera högfrekventa komponenter som ej kan representeras av en diskret signal med den valda samplingsfrekvensen. Den lågpassfiltrerade signalen samplas med en A/D omvandlare. Samplingsfrekvensen är 44.1 khz. Detta kan jämföras med den högsta frekvens det mänkliga örat uppfattar, som är ca 20 khz. Enligt samplingsteoremt kan en diskret signal korrekt beskriva frekvenser upp till halva samplingsfrekvensen; i detta fall är halva samplingsfrekvensen 44.1/2 = 22.05 > 20 khz. Varje signalvärde representeras efter A/D-omvandlingen med hjälp av 16 bitar. Den digitala signalen, bestående av en bit-sekvens, kodas med en feltolerant kod. Målsättningen med dylika koder är att införa redundans i signalen så att den ursprungliga signalen skall kunna återskapas trots fel vid signalöverföring och/eller lagring. Optimala metoder att införa denna redundans så att en given feltolerans uppnås möjligast effektivt (få redundanta bitar) ges av Hamming och Reed- Solomon koder. Alla CD-skivsystem har en tvåstegs Reed-Solomon kod som kan rekonstruera den ursprungliga signalen trots felsekvenser som kan vara upp till 4000 steg långa. Lagring av den digitala signalen på en CD-skiva. Reproduktion av audiosignalen på en CD-skiva består å sin sida av följande element: Läsning av digital signal med hjälp av laserstråle. 6
Dekodning av den kodade signalen och rekonstruktion (inklusive felkorrigering) av ursprunglig digital signal. Den digitala signalen översamplas, så att en ny digital signal med samplingsfrekvensen 176.4 khz (=4 44.1 khz) bildas. Orsaken till detta är att konstruktionen av en analog signal från den med 44.1 khz samplade digitala signalen skulle kräva ett analogt filter med mycket strikta specifikationer för att med tillräcklig noggrannhet rekonstruera den ursprungliga audiosignalen. Den översamplade digitala signalen transformeras med en D/A omvandlare och ett efterföljande analogt lågpassfilter till an analog signal som med tillräcklig noggrannhet rekonstruerar den ursprungliga audiosignalen. Tack vare den ökade samplingsfrekvensen hos den digitala signalen kan det analoga lågpassfiltrets specifikationer göras mindre strikta. 1.6 Viktiga signalbehandlingsoperationer Vi skall här sammanfatta några av de viktigaste problemställningarna och operationerna i signalbehandling. En god förståelse av dessa problemställningar är en förutsättning för att kunna lösa i praktiken förekommande signalbehandlingsproblem. Fourieranalys Ett alternativ till en signals representation som en funktion x(t) i tidsplanet är att beskriva signalens frekvensinnehåll i form av en funktion X(ω) av frekvensen ω. Det visar sig att flera signalbehandlingsproblem är naturligare och enklare att analysera och lösa i frekvensplanet än i tidsplanet. Matematiskt definieras frekvensplansrepresentationen X(ω) som Fouriertransformen av funktionen x(t). Beräkningen av Fouriertransformen av en signal är en viktig signalbehandlingsoperation. Standardalgoritmen för effektiv beräkning Fouriertransformer är den s.k. snabba Fouriertransformen. Syntes och implementering av filter Ett filter är ett system som manipulerar en signal x(t) och transformerar den till en annan signal y(t). Systemet G i figur 1.1 är ett filter. Syntes av filter består av att konstruera ett filter så att den bildade signalen y(t) har givna egenskaper. En typisk problemställning är t.ex. att eliminera brus från en signal för att ur denna extrahera en ursprunglig brusfri signal. Detta kan göras genom att konstruera ett filter som spärrar de frekvenser som bruset består av. En annan problemställning är implementeringen av filter. Det är härvid viktigt att filterekvationerna utförs möjligast effektivt. Digitala signalprocessorer har en arkitektur som stöder en effektiv numerisk exekvering av filterekvationer. Signaltransformer Vid överföring eller lagring av signaler är det ofta viktigt att minimera mängden av data för ökad överförings- eller lagringskapacitet. Detta förutsätter att signalerna beskrivs i en kompakt form. För att uppnå detta tillämpas olika signaltransformer, i vilka 7
signalen representeras med hjälp av olika funktionsklasser. Om funktionsklassen är vald så att den är representativ i avseende å den aktuella signalen, så kan signalen representeras på ett mycket ekonomiskt sätt med en datamängd som är betydligt mindre än den mängd data som den ursprungliga signalen kräver. Den ovan nämnda Fouriertransformen är en sådan transform, där funktionsklassen består av periodiska sinus- och cosinusfunktioner. Det finns emellertid en mängd andra viktiga signaltransformer. En speciellt effektiv transform för signalkompression baserar sig på s.k. krusningar (eng. wavelets). Teorin för wavelet transformen är rätt avancerad och den har fulländats först rätt nyligen. Det kan vara skäl att påpeka att den typ av signalkompression som här avses baserar sig på inherenta egenskaper hos signalen representerad i form av en funktion x(t) eller en sekvens {x d (k)}. Då signalen representeras med hjälp av sina dominerande komponenter går vanligen en del information förlorad. Denna komprimeringsmetod skall ej förväxlas med de förlustfria metoder som används för att komprimera bitsekvenser, s.k. Lempel-Ziv kodning, som utnyttjar upprepningar av delsekvenser. Förlustfri kodning tillämpas först på den komprimerade signalen. Modulering Vid överföring av signaler representeras signalerna sällan i sin ursprungliga form, utan i stället moduleras de på olika sätt. Om t.ex. audiosignaler skulle överföras på samma kanal utan modulering skulle endast en signal i gången kunna sändas, eftersom de olika signalerna inte skulle kunna skiljas åt på mottagarsidan. Med modulering däremot är det möjligt att samtidigt sända flera signaler över samma kanal utan förväxling av signalerna. Detta åstadkommes genom att låta signalen inverka på någon egenskap hos var sin bärvåg. Dessa är högfrekventa signaler, som är väl separerade från varandra t.ex. genom att de upptar olika frekvensband eller tilldelas olika andelar av en tidsperiod. Ett flertal olika moduleringsmetoder har utvecklats såväl för analog som digital signalöverföring. Kodning Kodning används bl.a. för att uppnå feltolerans vid signalöverföring och lagring. Målsättningen vid felkorrigerande kodning är att kunna rekonstruera den ursprungliga signalen trots fel vid överföring eller lagring av signalen. Detta uppnås genom att införa redundans i signalen. En feltolerant kod genererar därför oundvikligen en kodad signal som är längre än den okodade signalen. Ett trivialt sätt vore att upprepa varje signalvärde i en diskret signal ett antal gånger, varvid enstaka fel lätt kunde upptäckas och elimineras. Det finns emellertid betydligt effektivare kodningsmetoder, i vilka den kodade signalen kan göras möjligast kort samtidigt som en given felkorrigeringskapacitet garanteras. Dessa är de s.k. Hamming koderna (för bit-sekvenser) och Reed-Solomon koderna (för icke-binära sekvenser). Alla CD-system för audiotillämpningar utnyttjar t.ex. en effektiv felkorrigerande kod av denna typ (jämför avsnitt 1.5). Kodning är ett mycket omfattande problemområde med egna teorier och metoder. Även om kodningsproblem uppstår i flera signalbehandlingstillämpningar, så är kodning närmare besläktad med allmän informationsteori och kommunikationsteori. 8
Det skulle kräva flera års studier att ens ytligt bekanta sig med alla de specialmetoder som tillämpas inom modern signalbehandlingsteknik. Lyckligtvis baserar sig huvuddelen av metoderna på ett begränsat antal fundamentala principer, som räcker till för att förstå och tillämpa metoderna. Målsättningen med denna kurs är att i en kompakt form ge de baskunskaper som behövs för att förstå de viktigaste inom signalbehandling förekommande problemställningarna. 1.7 Litteratur Det finns en mängd utmärkta läroböcker i signalbehandling. Äldre klassiker i ämnet med ingående behandling av teorin inom området är bl.a. Rabiner och Gold (1975), Oppenheim och Willsky (1983) och Oppenheim och Schafer (1975) och Proakis och Manolakis (1996). En mera praktisk presentation ges i Ifeachor och Jervis (2001), där bl.a. kommersiella digitala signalprocessorer och deras arkitekturer diskuteras. Dessa böcker kan i det stora hela anses rikta sig åt ingenjörsstuderande med kunskaper inom t.ex. elektroteknik eller elektronik. En modernare presentation med ett speciellt datatekniskt perspektiv ges av Stein (2000), medan Prandoni och Vetterli (2008) behandlar ämnet från en kommunikationsteknisk utgångspunkt. Smith (2003) ger en ingående inledning till digital signalbehandling som strävar till en praktisk förståelse av hur det fungerar. Svenskspråkiga introduktioner till signalbehandling ges av Svärdström (1987) samt Gustafsson, Ljung och Millnert (2000). Harnefors, Holmberg och Lundqvist (2004) ger en bred introduktion till signaler och system, inklusive grunderna för signalbehandling och reglersystem. Referenser Gustafsson, F., Ljung, L., Millnert, M. (2000). Signalbehandling. Studentlitteratur. Harnefors, L., Holmberg, J., Lundqvist, J. (2004). Signaler och system med tillämpningar. Liber. Ifeachor, E. C., Jervis, B. W. (2001). Digital Signal Processing. A Practical Approach. (andra upplagan) Addison-Wesley. Oppenheim, A. V., Schafer, R. W. (1975). Digital Signal Processing. Prentice-Hall. Oppenheim, A. V., Willsky, A. S. (1983). Signals and Systems. Prentice-Hall. Prandoni, P., Vetterli, M. (2008). Signal Processing for Communications. CRC Press. Proakis, J. G., Manolakis, D. G. (1996). Digital Signal Processing. Principles, Algorithms, and Applications. Prentice-Hall. Rabiner, L. R., Gold, B. (1975). Theory and Application of Digital Signal Processing. Prentice-Hall. Smith, S. W. (2003). Digital Signal Processing. A Practical Guide for Engineers and Scientists. Newnes. Stein, J. (2000). Digital Signal Processing. A Computer Science Perspective. Wiley. Svärdström, A. (1987). Tillämpad signalanalys. Studentlitteratur. 9