DIGITAL SIGNALBEHANDLING

Relevanta dokument
2.1 Mikromodul: stokastiska processer

SF1901 Sannolikhetsteori och statistik I

Stokastiska vektorer och multivariat normalfördelning

Stokastiska vektorer

Föreläsning 7: Punktskattningar

Föreläsning 7: Punktskattningar

Föreläsning 1. Repetition av sannolikhetsteori. Patrik Zetterberg. 6 december 2012

Reglerteori. Föreläsning 3. Torkel Glad

SF1920/SF1921 Sannolikhetsteori och statistik 6,0 hp Föreläsning 6 Väntevärden Korrelation och kovarians Stora talens lag. Jörgen Säve-Söderbergh

Exempel. Kontinuerliga stokastiska variabler. Integraler i stället för summor. Integraler i stället för summor

Spektrala Transformer

SF1901: Sannolikhetslära och statistik. Flera stokastiska variabler.

SF1901: Sannolikhetslära och statistik

Föreläsning 7: Stokastiska vektorer

Härledning av Black-Littermans formel mha allmänna linjära modellen

Ulrik Söderström 20 Jan Signaler & Signalanalys

Ulrik Söderström 19 Jan Signalanalys

Stat. teori gk, ht 2006, JW F7 STOKASTISKA VARIABLER (NCT 5.7) Ordlista till NCT

Matematisk statistik 9hp Föreläsning 7: Normalfördelning

Föreläsning 7: Punktskattningar

TAMS65. Formel- och tabellsamling i matematisk statistik TAMS65. Martin Singull TAMS65 TAMS65

x f (x) dx 1/8. Kan likhet gälla i sistnämnda relation. (Torgny Lindvall.) f är en kontinuerlig funktion på 1 x sådan att lim a

Kap 2. Sannolikhetsteorins grunder

SF1911: Statistik för bioteknik

DT1130 Spektrala transformer Tentamen

Stokastiska processer med diskret tid

TMS136. Föreläsning 4

Kurssammanfattning MVE055

Tentamen i TMA 982 Linjära System och Transformer VV-salar, 27 aug 2013, kl

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

SF1901: Sannolikhetslära och statistik

Stokastiska signaler. Mediesignaler

Föreläsning 1: Signaler, matriser och processer. Leif Sörnmo 28 augusti 2009

Matematisk statistik för D, I, Π och Fysiker

Lektionsanteckningar 11-12: Normalfördelningen

Demonstration av laboration 2, SF1901

Wienerfiltrering. Martin Enqvist och Markus Gerdin. Reglerteknik och kommunikationssystem Linköpings universitet. Wienerfiltrering

Signal- och Bildbehandling FÖRELÄSNING 4. Multiplikationsteoremet. Derivatateoremet

SF1635, Signaler och system I

SF1901: Sannolikhetslära och statistik

Föreläsning 5, Matematisk statistik 7.5hp för E Linjärkombinationer

Föreläsning 5, Matematisk statistik Π + E

Grundläggande matematisk statistik

= = i K = 0, K =

Lösningsförslag till tentamen i Reglerteknik (TSRT19)

Laplace, Fourier och resten varför alla dessa transformer?

Sannolikhet och statistik XI

EXEMPEL 1: ARTVARIATION FÖRELÄSNING 1. EEG frekvensanalys EXEMPEL 2: EEG

Laboration 3: Stora talens lag, centrala gränsvärdessatsen och enkla punktskattningar

Sannolikheter och kombinatorik

Signaler några grundbegrepp

Matematisk statistik 9 hp Föreläsning 6: Linjärkombinationer

MVE051/MSG Föreläsning 14

Tentamen i matematisk statistik (9MA241/9MA341, STN2) kl 08-12

Tentamen MVE302 Sannolikhet och statistik

Matematisk statistik TMS064/TMS063 Tentamen

TAMS79: Föreläsning 10 Markovkedjor

Transformer i sannolikhetsteori

6. Reglering av stokastiska system

PROGRAMFÖRKLARING I. Statistik för modellval och prediktion. Ett exempel: vågriktning och våghöjd

TIDSDISKRETA SYSTEM SYSTEMEGENSKAPER. Minne Kausalitet Tidsinvarians. Linjäritet Inverterbarhet Stabilitet. System. Tillämpad Fysik och Elektronik 1

Reglerteori. Föreläsning 4. Torkel Glad

Övning 1 Sannolikhetsteorins grunder

SF1905 Sannolikhetsteori och statistik: Lab 2 ht 2011

TSRT62 Modellbygge & Simulering

Föreläsning 5, FMSF45 Summor och väntevärden

Föresläsningsanteckningar Sanno II

Föreläsning 6, FMSF45 Linjärkombinationer

Signalanalys med snabb Fouriertransform

Matematisk statistik KTH. Formelsamling i matematisk statistik

Tentamen MVE301 Sannolikhet, statistik och risk

DIGITALA FILTER. Tillämpad Fysik Och Elektronik 1. Frekvensfunktioner FREKVENSSVAR FÖR ETT TIDSDISKRET SYSTEM. x(n)= Asin(Ωn)

SF1901: SANNOLIKHETSTEORI OCH KONTINUERLIGA STOKASTISKA VARIABLER STATISTIK. Tatjana Pavlenko. 7 september 2016

Reglerteori, TSRT09. Föreläsning 4: Kalmanfiltret & det slutna systemet. Torkel Glad. Reglerteknik, ISY, Linköpings Universitet

Tentamen i matematisk statistik (9MA241/9MA341, STN2) kl 14 18

Föreläsning 6, Matematisk statistik Π + E

Kovarians och kriging

Laboration 2: Sannolikhetsteori och simulering

Komplexa tal: Begrepp och definitioner

TSRT09 Reglerteori. Sammanfattning av Föreläsning 3. Sammanfattning av Föreläsning 3, forts. Sammanfattning av Föreläsning 3, forts.

Föreläsning 12: Regression

Grundläggande matematisk statistik

Signal- och bildbehandling TSEA70

FACIT för Förberedelseuppgifter: SF1911 STATISTIK FÖR BI0TEKNIK inför tentan MÅDAGEN DEN 9 DECEMBER 2016 KL Examinator: Timo Koski

Finansiell Statistik (GN, 7,5 hp,, HT 2008) Föreläsning 3

SF1901 Sannolikhetsteori och statistik I

Tentamen MVE301 Sannolikhet, statistik och risk

Enkel och multipel linjär regression

Bildbehandling i frekvensdomänen

= e 2x. Integrering ger ye 2x = e 2x /2 + C, vilket kan skrivas y = 1/2 + Ce 2x. Här är C en godtycklig konstant.

Beskrivning av signaler i frekvensdomänen - sammanfattning

Signal- och bildbehandling TSEA70

F13 Regression och problemlösning

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

TMS136. Föreläsning 10

MS-A0509 Grundkurs i sannolikhetskalkyl och statistik Sammanfattning, del I

MS-A0509 Grundkurs i sannolikhetskalkyl och statistik Sammanfattning, del I

Blandade problem från elektro- och datateknik

FORMELSAMLING MATEMATISK STATISTIK FÖR W; FMSF75 UPPDATERAD Sannolikhetsteori. Beskrivning av data. Läges-, spridnings- och beroendemått

Föreläsning 12: Repetition

Transkript:

Komplement till DIGITAL SIGNALBEHANDLING Fredrik Gustafsson 2005

2 Dokumentet innehåller nyskriva delar till nya upplagan. Fredrik

Innehåll 8.2 Stationära kalmanfiltret.................. 5 8.2.1 Härledning av stationära kalmanfiltret...... 7 2.1 Mikromodul: stokastiska processer............ 9 2.1.1 Stokastiska variabler................ 9 2.1.2 Stokastiska vektorer och kovarians........ 9 2.1.3 Stokastiska processer och kovariansfunktionen.. 11 3.1 Hilberttransformen..................... 15 3.1.1 Inledning...................... 15 3.1.2 Modulering..................... 15 3.1.3 Hilberttransformen................. 17 3.1.4 Utvärdering..................... 20 3

8.2 Stationära kalmanfiltret 5 8.2 Stationära kalmanfiltret Tillståndsmodell för mätningar t = 1,2,...,N: x(t + 1) =Ax(t) + Bw(t), Cov(w(t)) = Q, y(t) =Cx(t) + v(t), Cov(v(t)) = R, E(x(1 0)) =x 0, Cov(x(1 0)) = P 0. Utan information ger (8.3.a) att initialskattningen och dess osäkerhet ska propageras enligt ˆx(t t 1) = Aˆx(t 1 t 1),P(t t 1) = AP(t 1 t 1)A T + BQB T. (8.2a) Vi ansätter nu ett godtycklig linjär funktion av informationen i senaste mätningen för att korrigera skattningen a (8.3a) Vet vi skattningen ˆx(t 1 t 1) vid tiden t 1, blir prediktionen (sätt w(t 1) = 0 i signalmodellen): ˆx(t t 1) = Aˆx(t 1 t 1) Prediktionsfelet, eller innovationen som det också kallas i kalmanfiltret, ges av ε(t) = y(t) Cˆx(t t 1) Vi ansätter nu ett linjärt filter ˆx(t t) = ˆx(t t 1) + Ly(t) + M. För att bevara ett korrekt väntevärde måste 0 = E(Ly(t) + M) = E(L(Cx(t) + v(t)) + M) = LCx(t) + M vilket kan erhållas genom att välja konstanttermen till M = Cˆx(t t 1). Vi får då filtret ˆx(t t) = ˆx(t t 1) + L(y(t) Cˆx(t t 1)). Skattningsfelet definieras som x(t + 1 t) = x(t + 1) ˆx(t + 1 t),

6 Innehåll och på samma sätt för x(t t) = x(t) ˆx(t t). Skattningsfelet ges av rekursionen x(t + 1 t) = x(t + 1) ˆx(t + 1 t) (8.4a) = Ax(t) + Bw(t) A(ˆx(t t 1) + L(y(t) Cˆx(t t 1))) (8.4b) = Ax(t) + Bw(t) A(ˆx(t t 1) + L(Cx(t) + v(t) Cˆx(t t 1))) (8.4c) = (A ALC) x(t t 1) + Bw(t) ALv(t) (8.4d) Felrekursionen kan expanderas till formen x(t + 1 t) = (A ALC) t+1 (x(0) x 0 ) + Vi noterar följande: t (A ALC) t k (w(k) ALv(k)) För att initalfelet (x(0) x 0 ) ska avta mot noll, så måste K väljas så att egenvärdena till A ALC är innanför enhetscirkeln ( A ALC t 0, t ). Valet av L är för övrigt en kompromiss mellan att minimera initialfelets inverkan och att undertrycka både processbrus och mätbrus. Målet kan nu uttryckas i att välja L så att felets kovariansmatris Cov x(t + 1 t) =(A ALC) t P 0 ((A ALC) T ) t+1 + t (A ALC) t k ( Q ALRL T A T) ((A ALC) T ) t k k=0 minimeras. Några specialfall att beakta: 1. Observatör. Finns inget brus är det endast transienten av initialfelet som beaktas. Observatörens poler, dvs egenvärdena till A ALC kan väljas godtyckliga om tillståndsmodellen är observerbar. 2. Stationära kalmanfiltret fokuserar på att balansera summan av brustermerna, eftersom att stationärt har initialtillståndets inverkan försvunnit. k=0

8.2 Stationära kalmanfiltret 7 3. Tidsvariabla kalmanfiltret balanserar inverkan av alla tre termerna så att skattningsfelets kovariansmatris minimeras. 8.2.1 Härledning av stationära kalmanfiltret Kovariansmatrisen för vänster- respektiva högerled av (8.4) ger en bra utgångspunkt för att härleda kalmanfiltret, P(t + 1 t) = = (A ALC)P(t t 1)(A ALC) T + BQB T ALRL T A T. (8.5) Kvadratkomplettering ger (med den kompaktare notationen P = P(t t 1)) P(t + 1 t) =APA T ALCPC T L T A T + ALCPA T + APC T L T A T + BQB T ALRL T A T =A ( P + L(CPC T + R)L T + LCP + PC T L T) A T + BQB T =A ( P + ( L PC T (CPC T + R) 1) (CPC T + R) ( L PC T (CPC T + R) 1) T ) A T PC T (CPC T + R) 1 CP + BQB T A ( P PC T (CPC T + R) 1 CP ) A T + BQB T. Det L som minimerar kovariansmatrisen P(t + 1 t) och dess minimum ges av L(t) = PC T (CP(t t 1)C T + R) 1, (8.6a) P(t + 1 t) = A ( P(t t 1) PC T (CP(t t 1)C T + R) 1 CP ) A T + BQB T. (8.6b)

8 Innehåll

2.1 Mikromodul: stokastiska processer 9 2.1 Mikromodul: stokastiska processer 2.1.1 Stokastiska variabler En stokastiskt variabel X beskrivs av dess täthetsfunktion p X (x), vars viktigaste egenskaper sammanfattas i dess första två s.k. moment: medelvärde och varians E(X) = xp X (x)dx x ( ) 2pX Var(X) = x E(X) (x)dx = E(X 2 ) ( E(X) ) 2 Normalfördelningen har x p X (x;µ,σ 2 ) = 1 2πσ 2 e (X µ)2 2σ 2, där parametrarna µ = E(X) och σ 2 = Var(X) beskriver hela täthetsfunktionen. Ett konfidensintervall med konfidensgrad 95% ges för normalfördelingen av µ ± 1.96σ, dvs. Prob( X µ < 1.96σ) = 0.95. I Matlab genereras ett normalfördelat slumptal av x=mu+sigma*randn(1,1). En vektor eller matris skapas av oberoende slumptal skapas av randn(n,m). Konfidensgraden för ett intervall kan verifieras numeriskt med >> x=randn(10000,1); >> length(find(x<1.96 & x>-1.96))/10000 ans = 0.9512 dvs. 95% av alla slumptal hamnar i intervallet [ 1.96, 1.96]. Analytiskt kan sannolikheten Prob( X > 1.96) räknas ut med >> erfc(1.96) ans = 0.0056 2.1.2 Stokastiska vektorer och kovarians En vektor X (dimension n 1) av stokastiska variabler beskrivs på analogt sätt av en vektorvärd täthetsfunktion, t.ex. den multivariabla

10 Innehåll normalfördelningen p X (x;µ,p) = 1 (2π) n det(p) e 0.5(X µ)t P 1 (X µ). Väntevärde µ (n 1) och kovarians P (n n) definieras av µ = E(X) = xp X (x)dx x P = Cov(X) = E [ (x µ X )(x µ X ) T] = (x µ X )(x µ X ) T p X (x)dx. x Kovariansen anger hur starkt kopplade slumptalen är till varandra. Om element P ij = 0 betyder det att elementen x i och x j är okorrelerade. Omvänt, om P ij > 0 så är x i och x j positivt korrelerade så ett om den ena är positiv så är den andra det sannolikt också. Konfidensintervall kan enkelt generaliseras till vektorer. Ett område med konfidensgrad 95% ges för normalfördelningen av {X : (X µ) T P 1 (X µ) < 1.96}. En linjärtransformation Y = AX ger en ny stokastisk vektor Y (som kan vara längre eller kortare än X. Från definitionen härleds enkelt följande räkneregler för de första momenten: Y = AX µ Y = E(Y ) = AE(X) = Aµ X P Y = Cov(Y ) = ACov(X)A T = AP X A T. En normalfördelad vektor av slumptal kan genereras i Matlab med [U,S,V]=svd(P); Psqrt=U*sqrt(S); x=mu+psqrt*randn(n,1); De första två raderna räknar ut en matriskvadratrot av P som definieras av P 1/2 P T/2 = P. SVD faktoriserar en godtycklig matris P = USV T, där U är unitär (dvs. U T U = UU T = I) och S är diagonal. I detta fall när P är symmetrisk och positivt semidefinit gäller att U = V och S ii 0. Från dessa egenskaper följer att kvadratrotsdefinitionen är uppfylld med konstruktionen P 1/2 = US 1/2.

2.1 Mikromodul: stokastiska processer 11 Följande exempel illustrerar principerna för linjära avbildningar. 200 slumptal X från standardnormalfördelningen genereras först, och avbildas sedan linjärt på 200 stokastiska vektorer Y. X=randn(2,200); A=[1 0.5;0 1]; Y=A*X; figure(1) plot(x(1,:),x(2,:),. ) figure(2) plot(y(1,:),y(2,:),. ) Kovariansmatrisen ges av P = AIA T = ( ) 1.25 0.5, 0.5 1 vilken illustreras av nivåkurvan i figur 2.1.b Härur följer t.ex. att Var(y 1 ) = P 11 = 1.25 och E(y 1 y 2 ) = 0.5. Elementen y 1 och y 2 är alltså positivt korrelerade, så om den ena är positiv så är den andra det också med stor sannolikhet. Den ellips som svarar mot 95% av alla punkter ritas med nedanstående beräkningar, där enhetscirkeln avbildas av samma transformation y = Ax och sedan skalas till önskad konfidensgrad. P=A*A phi=linspace(0,2*pi,100); x=[cos(phi);sin(phi)]; y=a*x; plot(1.96*y(1,:),1.96*y(2,:), - ) Notera att den positiva korrelationen mellan y 1 och y 2 kan ses på ellipsens form. 2.1.3 Stokastiska processer och kovariansfunktionen Om x[k] är en sekvens av stokastiska variabler är det en stokastisk process. Den stora skillnaden på en stokastisk vektor och en stokastisk process är att den senare oftast anses vara oändligdimensionell. I övrigt

12 Innehåll x 2 2.5 2 1.5 1 0.5 0 0.5 1 1.5 2 2.5 3 2 1 0 1 2 3 x 1 (a) y 2 3 2 1 0 1 2 3 3 2 1 0 1 2 3 4 y 1 (b) Figur 2.1 Tvådimensionella normalfördelade slumptal med väntevärde noll och kovariansmatris P = I respektive P = AA T. Ett konfidensområde svarande mot 95% av alla punkter är också markerat. definieras väntevärdesfunktionen och kovariansfunktionen (notera ordet funktion i dessa begrepp) analogt: m x [k] = E(x[k]) R xx [k,l] = E ( (x[k] m x [k])(x[l] m x [l]) ) Ser vi x som en vektor med element x[k], ges väntevärdet av en vektorn med element µ k = m[k] och kovariansen av matrisen P med element P kl = R xx [k,l]. Vi fokuserar på processer med medelvärde 0 (m x [k] = 0) som är stationära. Stationäritet definieras av att R xx [k,l] = R xx [k l], dvs. endast tidsskillnaden och inte absolut tid inverkar på kovariansfunktionen, och skriver R xx [l] = E(x[k]x[k l]). Om x tolkas som en vektor av längd N blir kovariansmatrisen R xx [0] R xx [1]... R xx [N 1] R xx [ 1] R xx [0]... R xx [N 2] Cov(x) =...... R xx [ N + 1] R xx [ N + 2]... R xx [0] På grund av symmetrin i matrisen (kallas för Toeplitz-struktur), samt symmetrin R xx [ k] = R xx [k], räcker det med att specifiera första

2.1 Mikromodul: stokastiska processer 13 raden i denna matris. Notera att första raden sammanfaller med kovariansfunktionen för den stationära processen. Korskovariansfunktionen definieras analogt som R xy [l] = E(x[k]y[k l]). I motsats till kovariansfunktionen som alltid är symmetrisk gäller här att R yx [ l] = R xy [l] R xy [ l] = R yx [l]. Ett typexempel på stationär stokastisk process är filtrerat vitt brus. Vitt brus svarar mot en sekvens av oberoende slumptal x[k] med m x [k] = 0 och R xx [k] = δ[k]. Exempel: en sekvens y[k] genereras från vitt brus x[k] med följande rekursion y[k] = 0.8y[k 1] + x[k]. Rekursionen kan utvecklas till y[k] = x[k] + 0.8x[k 1] +... 0.8 l x[k l] +... Kausalitet ger att y[k] är oberoende av framtida x[k + l], så att korskovariansfunktionen blir { 0.8 l, l 0, R yx [l] = E(y[k]x[k l]) = 0, l < 0. På motsvarande sätt blir kovariansfunktionen for y[k] R yy [l] = E(y[k]y[k l]) = E ( (x[k] + 0.8x[k 1] +... )( x[k l] + 0.8x[k l 1] +...) ) = 0.8 l (0.8 2 ) i = 0.8 l 1 1 0.8 2 = 0.8 l 25 9 i=1 I Matlab kan exemplet testas med x=randn(10000,1); y=filter([1 0],[1-0.8],x); Ryy=covf(y,20) k=0:19; plot(k,ryy, -,k,25/9*0.8.^k, -- ) vilket genererar Figur 2.2. 2.78 0.8 l

14 Innehåll 3 2.5 Skattad Sann 2 R yy [k] 1.5 1 0.5 0 0 5 10 15 20 k Figur 2.2 Skattad och sann kovariansfunktion R yy[k].

3.1 Hilberttransformen 15 3.1 Hilberttransformen 3.1.1 Inledning Att bestämma frekvensen för en sinusformad signal vore enkelt med en komplex signalrepresentation, då signalen skulle ges av x[k] = e i2πfkt. (3.7) Genom att utnyttja argumentfunktionen för komplexa tal kan man studera differensen mellan signalens argument och får arg x[k] arg x[k 1] = 2πfkT 2πf(k 1)T = 2πfT. (3.8) Rent allmänt brukar man definiera en signals momentana frekvens som f[k] = arg x[k] arg x[k 1], (3.9) 2πT och den allmänna algoritmen 3.8 kan alltså alltid appliceras på komplexa signaler för att beräkna momentan frekvens. Frågan är nu hur man gör för reellvärda signaler? Det finns två trick för detta: Låtsas att man har observerat realdelen av en s.k. analytisk signal, och från denna återskapa imaginärdelen. Modulera signalen på en komplex bärvåg som i telekommunikation. Båda metoderna ämnar att stryka det ena sidbandet för signalen och behålla det andra, och på detta sätt få en komplex signal. T.ex. har en ren sinus x[k] = cos(i2πf 0 kt) Fouriertransformen X(f) = δ(f f 0 )+δ(f +f 0 ), dvs. den har en spegelfrekvens i f 0. Om vi kan stryka det negativa sidbandet försvinner denna, och vi har transformparet: x[k] = e i2πf 0kT X(f) = δ(f f 0 ). 3.1.2 Modulering Låt x[k] vara den observerade signalen, och bilda x c [k] = x[k]e i2πfckt, (3.10) där f c är bärvågsfrekvensen. Frekvensinnehållet för x[k] kommer att flyttas från att ha varit centrerat kring f = 0 till centrering kring

16 Innehåll 0.6 Impulssvar för diskret LP filter 0.5 0.4 0.3 0.2 0.1 0 0.1 0 2 4 6 8 10 12 14 16 18 20 Figur 3.3 Impulssvar för hilbertfilter bärvågen f = f c. Vi har nu en komplex representation av signalen som kan användas för frekvensskattning. Några extrasteg förenklar implementeringen: 1. Välj f c = f s /4 och modulera x c [k] = x[k]e i2πfckt. 2. Lågpassfiltrera x cf = h x c [k] med gränsfrekvens f c så att endast det negativa sidbandet för X(f) behålls. LP-filtret ges i figur 3.4. 3. Frekvenserna blir nu spegelvända, så momentana frekvensen som kommer ut från (3.8) behöver reflekteras med f s /4 f och vi får ˆf[k] = f s 4 arg x cf[k] arg x cf [k 1]. (3.11) 2πT I denna algoritm behålls det negativa sidbandet för signalen enligt figur 3.3.

3.1 Hilberttransformen 17 1.4 1.2 Original Modulerat LP filter Illustration 1 0.8 H(f) 0.6 0.4 0.2 0 fs/2 fs/4 0 fs/4 fs/2 f Figur 3.4 Impulssvar för LP-filtret 3.1.3 Hilberttransformen Matematisk bakgrund Cauchy-Riemanns relation: Om f(z) = u(x, y) + iv(x, y) är deriverbar i en punkt z 0 = x 0 + iy 0, så gäller följande samband: u x (x 0,y 0 ) = v y (x 0,y 0 ) (3.12) u y (x 0,y 0 ) = v x (x 0,y 0 ) (3.13) Cauchys integralsats säger att om en komplex funktion är entydigt bestämd av sitt värde på randen av en region där den är analytisk. Dessa samband gör att vi entydigt kan bestämma en analytisk funktion enbart genom att känna dess real- eller imaginär-del på randen av dess definitionsområde. Detta kallas i matematiken för Poissons formel. Om dessa båda samband istället används i signalbehandling och appliceras på den kontinuerliga fouriertransformen erhålls den s.k. hilberttransformen. En signal x(t) kallas analytisk om dess fouriertransform är kausal, dvs X(iω) = 0 för ω < 0. För en diskret sekvens

18 Innehåll x[k] definierar vi en analytisk signal genom att kräva att DFT:n uppfyller X(e jωn ) = 0 för π ω < 0, dvs. den är noll på undre delen av enhetscirkeln. Alltså, vi mäter x r [k], och vi vill skapa en analytisk signal x[k] = x r [k] + x i [k] så att X(e jω ) = TDFT[x[k]] = 0, π ω < 0. Från grundläggande transformsamband gäller att en reell sekvens har komplexsymmetrisk transform, och samma sak för inverstransformen. Det gäller då att X r (e jω ) = 0.5 ( X(e jω ) + X (e jω ) ) ix i (e jω ) = 0.5 ( X(e jω ) X (e jω ) ) Från dessa samband härleder vi { X i (e jωn ixr (e ) = jω ), 0 ω < π ix r (e jω ), π ω < 0 eller på filterform X i (e jω ) = H(e jω )X r (e jω ) där H(e jω ) = { i, 0 ω < π i, π ω < 0 Matlabs funktion hilbert opererar direkt i FFT:n X[n] genom att nollställa alla spegelfrekvenser. För jämna N, blir X c [n] = X[n]H[n] där 1, n = 0,N/2 H[n] = 2, n = 1,2,...,,N/2 1 0, n = N/2 + 1,...,N 1 Detta svarar mot ett diskret filter h[n] enligt figur 3.5. Eftersom impulssvaret avtar som 1/n är det inte helt enkelt att implementera, även om varannan koefficient är noll. Numeriskt exempel Ett exempel på frekvensskattning där f 0 = 1/6 ges nedan:

3.1 Hilberttransformen 19 1 Impulssvar för diskreta hilbertfiltret 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 0 5 10 15 20 25 30 35 Figur 3.5 Impulssvar för hilbertfilter >> x=sin(2*pi*[0:5]/6) x = 0 0.8660 0.8660 0.0000-0.8660-0.8660 >> xc=hilbert(x) xc = 0-1.0i 0.8660-0.5i 0.8660+0.5i 0.0+1.0i -0.8660+0.5i -0.8660-0.5i >> fft(x) ans = 0.0-0.0-3.0i 0.0-0.0 0.0-0.0+3.0i >> fft(x) ans = 0.0-0.0-3.0i 0.0-0.0 0.0-0.0+3.0i >> diff(angle(xc))/2/pi ans = 0.1667 0.1667 0.1667 0.1667-0.8333 Notera att övre frekvensindex blir noll i Hilberttransformen, och att en moduloopereration som skiftar in frekvenserna i intervallet [0,0.5]

20 Innehåll 0.5 0.45 Referens SNR = 10 SNR = 100 Modulationsfrekvensskattning, N=30 0.7 0.6 Frekvensskattning med hilberttransform, N=30 Referens SNR = 10 SNR = 100 0.5 0.45 Referens SNR = 10 SNR = 100 AR(2) frekvensskattning, N=30 0.4 0.4 Skattad frekvens (normaliserad) 0.35 0.3 0.25 0.2 0.15 Skattad frekvens (normaliserad) 0.5 0.4 0.3 0.2 Skattad frekvens (normaliserad) 0.35 0.3 0.25 0.2 0.15 0.1 0.1 0.1 0.05 0.05 0 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 Sann frekvens (normaliserad) (c) (a) 0 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 Sann frekvens (normaliserad) 0 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 Sann frekvens (normaliserad) (b) Figur 3.6 Jämförelse av de grundmetoder för frekvensskattning: baserat på frekvensmodulering och fasdifferenser, baserat på hilberttransformering och fasdifferenser, och modellbaserad AR(2)-metod. behövs. 3.1.4 Utvärdering Vi ska här studera hur de två icke-parametriska metoder förmår skatta en ren sinus från brusiga mätningar. Figur 3.6 sammanfattar de numeriska resultaten: Modulationsbaserat skattning sker rekursivt och med cirka 16 multiplikationer och additioner per sampel för själva moduleringen. Det tillkommer operationer för arctan och division i argumentberäkningarna för varje sampel, samt medelvärdesbildning. Efter en transient om 20 sampel fås en fasdifferensskattning av frekvens utan bias och med låg varians. Hilberttransformen implementerad i frekvensdomänen arbetar segmentvis på data och kräver då log 2 (N) operationer per sampel i snitt. Det tillkommer operationer för arctan och division i argumentberäkningarna för varje sampel, samt medelvärdesbildning. Skattningen förefaller ha en viss bias för låga frekvenser med få data, men variansen är liten. AR-skattningen byggs upp av normalekvationerna i minstakvadratmetoden, och dessa kräver cirka 5 operationer per sampel. Skattningen bildas med cirka 6 operationer samt lösning av andragradsekvation och argumentberäkning, men behöver inte ske

3.1 Hilberttransformen 21 varje sampel. AR-modellen modellerar inte en sinus i brus på korrekt sätt så därför erhålls en bias, och variansen är större än för de bägga andra metoderna.