• No results found

Modellbaserad ekoföljning i vätskefyllda tankar

N/A
N/A
Protected

Academic year: 2021

Share "Modellbaserad ekoföljning i vätskefyllda tankar"

Copied!
86
0
0

Loading.... (view fulltext now)

Full text

(1)

MODELLBASERAD EKOFÖLJNING

I VÄTSKEFYLLDA TANKAR

Examensarbete utfört i reglerteknik av

Christer Joshua Frövik LiTH-ISY-EX-3427-2004

(2)

MODELLBASERAD EKOFÖLJNING

I VÄTSKEFYLLDA TANKAR

Examensarbete utfört i reglerteknik vid Linköpings Tekniska Högskola

av

Christer Joshua Frövik LiTH-ISY-EX-3427-2004

Handledare

Civ Ing. Lars-Ove Larsson, SAAB Rosemount Civ Ing. David Törnqvist, LiTH

Examinator

Tekn Dr. Inger Klein, LiTH

(3)

Avdelning, Institution Division, Department Institutionen för systemteknik 581 83 LINKÖPING Datum Date 2004-04-22 Språk Language Rapporttyp Report category ISBN X Svenska/Swedish Engelska/English Licentiatavhandling

X Examensarbete ISRN LITH-ISY-EX-3427-2004

C-uppsats

D-uppsats Serietitel och serienummer Title of series, numbering ISSN

Övrig rapport

____

URL för elektronisk version

http://www.ep.liu.se/exjobb/isy/2004/3427/

Titel

Title Modellbaserad ekoföljning i vätskefyllda tankar Modelbased tracking in tanks with liquid contents

Författare

Author

Christer Joshua Frövik

Sammanfattning

Abstract

This thesis discusses model based tracking of radar echoes in tanks with liquid content. The errors in the measurements are not always random in these cases, and the

interference that occurs when nearby echoes moves in relation to each other makes tracking difficult.

The tracking problem can be broken down to four parts; track initiation, track destruction, association of the measured echoes to the tracks and to update the tracks with the associated echoes.

The radar measurement is primarily made on the surface. However, additional echoes from the tank floor or other structures and double bounces are normally present. There are often linear relations between the positions of the measured echoes.

Kalman filters are typically used to estimate the positions of the echoes. Best

performance is achieved if a model of the entire tank is used; however that model must be tailored to match the exact conditions in the tank. It is also possible to consider the echoes to be independent and track their positions using separate models.

Some of the possible methods to automatically build a model for a specific tank have been explored.

Nyckelord

Keyword

(4)

SAMMANFATTNING

Detta arbete behandlar modellbaserad ekoföljning vid radarmätning i vätskefyllda kärl. Mätfelen tenderar att inte alltid vara slumpmässiga. Den interferens som till exempel uppstår när närliggande ekon rör sig relativt varandra, försvårar ekoföljningen.

Ekoföljning kan brytas ner till fyra olika delar; spårinitiering, spårterminering, associering av inmätta ekon mot befintliga ekospår, samt uppdatering av ekospår med associerade ekon.

Radarmätningen sker primärt mot ytan, men det förekommer ofta att ytterligare ekon detekteras från exempelvis tankens botten, fasta strukturer i tanken eller dubbelstudsar. Ofta finns det linjära relationer mellan ekons positioner.

För att prediktera ekopositioner används Kalmanfilter. Bäst prestanda uppnås med en modell av hela tanken, men en sådan modell måste vara specialanpassad för de exakta förutsättningarna i tanken. Det går emellertid att betrakta samtliga ekon som oberoende och modellera dem med separata modeller.

Några möjliga metoder för att automatiskt bygga en modell som passar tanken i vilken mätning sker, har också studerats.

(5)

ABSTRACT

This thesis discusses model based tracking of radar echoes in tanks with liquid content. The errors in the measurements are not always random in these cases, and the interference that occurs when nearby echoes moves in relation to each other makes tracking difficult.

The tracking problem can be broken down to four parts; track initiation, track destruction, association of the measured echoes to the tracks and to update the tracks with the associated echoes.

The radar measurement is primarily made on the surface. However, additional echoes from the tank floor or other structures and double bounces are normally present. There are often linear relations between the positions of the measured echoes.

Kalman filters are typically used to estimate the positions of the echoes. Best performance is achieved if a model of the entire tank is used; however that model must be tailored to match the exact conditions in the tank. It is also possible to consider the echoes to be independent and track their positions using separate models.

Some of the possible methods to automatically build a model for a specific tank have been explored.

(6)

FÖRORD

När jag började fundera över vad jag ville göra för examensarbete insåg jag att det fanns två intressanta områden som skulle kunna passa in på min utbildningsprofil; applikationsspecifika kretsar för digital signalbehandling respektive reglerteknik. Vad som fick mig att välja ett examensarbete inom reglerteknikområdet var dels att mitt förra examensarbete berörde digital elektronik – dels att jag ville få chansen att detaljstudera något som jag i yrkeslivet haft anledning att fundera över.

Det är min ambition att skriva denna rapport på rapportspråk som seden kräver, fast egentligen är min mening att det enda som bör räknas är att man skriver på ett sätt så att läsaren förstår och lägger märke till vad som är viktigt.

Can you judge a man by how he speaks or spell Is that more important than the stories he can tell

Can you spot a bad man by the pattern on his tie Then Mister, you’re a better man than I.

(The Yalebirds)

Det finns många personer som jag vill passa på att tacka:

Inger Klein och David Törnqvist: Ni har både två varit oväntat aktiva och alerta och kommit med mycket och tidig feedback på arbetet och rapporten. Enligt min erfarenhet är det tyvärr ovanligt att få så mycket respons som jag har fått som exjobbare. Jag har haft tur. Det har inte ni haft. När vi varit oeniga så har jag jag inte omedelbart backat undan – inte förrän ni övertygat mig. Någon enstaka gång visade det sig att jag gjorde rätt som stod på mig. Tack också till Lars-Ove Larsson och alla andra som jag diskuterat detta arbete med på SR:s utvecklingsavdelning i Linköping

Sist men absolut inte minst vill jag tacka de närmaste för inspiration och för att jag fått vara ifred från andra plikter när studieschemat varit tungt: Anne-Marie Klingström, Ems Klingström, Peter Frövik och Ralph Törner. Givetvis även Carl-Erik Frövik och framför allt Karl-Gustav Klingström.

Linköping i april 2004. /CJF

(7)

FÖRKORTNINGAR CPU - Central Processing Unit

DSP - Digital Signal Processor

E2PROM - Electrically Erasable Programmable Read Only Memory FFT - Fast Fourier Transform

FMCW - Frequency Modulated Continous Wave RADAR - Radio Detection And Ranging RAM - Random Access Memory

JPDA - Joint Probabilistic Data Association

(8)

INNEHÅLLSFÖRTECKNING 1 Introduktion ... 1 1.1 Bakgrund... 1 1.2 Uppgift ... 1 1.3 Översikt... 2 2 Radarnivåmätning ... 3 2.1 FMCW-radar... 3

2.2 Mätning i vätskefyllda tankar ... 4

2.3 Insamlad mätdata från verkliga fall ... 7

2.3.1 Typfall I: Pumpning av lugn yta ... 8

2.3.2 Typfall II: Pumpning av turbulent yta. ... 10

2.4 Visionen av en komplett ekologik ... 12

3 Ekoföljning med Kalmanfilter... 14

3.1 Kalmanfiltret... 14

3.2 Eko-modeller... 15

3.2.1 Enklaste tänkbara modell... 15

3.2.2 Avstånds- och amplitudmodell ... 16

3.2.3 Avstånds-, hastighet och amplitudmodell... 17

3.2.4 LR-modell... 19 3.2.5 Reducerad LR-modell... 21 3.2.6 Tidsinvariant LR-modell... 23 3.2.7 Modellering av oscillationer ... 26 3.2.8 Filterbank av modeller ... 28 3.3 Associationsmetoder... 31

3.3.1 Probabilistic Data Association... 31

3.3.2 Joint PDA... 32

3.3.3 ML-associating ... 40

3.3.4 Funderingar kring ML-associering ... 42

3.4 Alternativ till Kalmanfilter ... 42

3.4.1 Glidande medelvärdesfiltrering ... 42

3.4.2 Medianfiltrering ... 43

3.4.3 LR-filter med dynamisk buffertlängd ... 43

3.4.4 Linjedetektering ... 43 4 Hantering av ekospår ... 44 4.1 Detektering av ekospår ... 44 4.1.1 Hough-transform... 44 4.1.2 Linjär regression ... 44 4.1.3 Direkt ekospårinitiering ... 46 4.2 Datalagring av ekospår ... 47 4.3 Kombinering av ekospår ... 49

(9)

5 Ekoföljning med komplett tankmodell ... 53

5.1 Modellering av tank ... 53

5.2 Kompletterande beräkning av rimligheter ... 56

5.3 Test mot simulerad tank... 58

5.3.1 ML associering med enkla ekomodeller... 58

5.3.2 ML-associering med komplett tankmodell ... 59

5.4 Prototyp av system för automatiskt modellbygge... 61

6 Implementerat system för ekoföljning... 64

6.1 Generella designval... 64 6.1.1 Mjukvarudesign ... 64 6.1.2 Associeringsmetod... 66 6.1.3 Spårinitiering... 67 6.1.4 Spårterminering... 67 6.1.5 Lagring av historik... 68

6.1.6 Lagring av linjära relationer mellan ekospår ... 68

6.2 Alt A: Filterbank av slumpvandringsfilter... 68

6.2.1 Parameterval ... 68

6.2.2 Övriga designval ... 69

6.2.3 Resultat ... 69

6.3 Alt B: Filterbank av LR-filter ... 71

6.3.1 Parameterval ... 71

6.3.2 Övriga designval ... 71

6.3.3 Resultat ... 72

6.4 Alt C: Medianfiltrering ... 73

(10)

1 Introduktion

1.1 Bakgrund

SAAB Rosemount utvecklar, tillverkar och säljer givare för mätning av vätskenivåer i olika sorters tankar och processkärl. Ofta används radarteknik för att mäta avståndet ner till ytan, och på så viss erhålla en beröringsfri mätning. För enkelhets skull fokuserar arbetet på FMCW-radar, Frequency Modulated Continous Wave, men ekoföljningsproblemet är densamma för pulsradar.

I en radarnivågivare skapar radiofrekventa kretsar och elektronik en signal som mjukvaran läser in och utför olika sorters signalbehandling på. I ett FMCW radarsystem genererar varje eko en frekvenskomponent och efter FFT, Fast Fourier Transform, erhålls tankens spektrum i form av en vektor. Även då en pulsradar används erhålls en vektor vars värden är ett mått på styrkan hos ekon på olika avstånd från antennen. I praktiken förekommer alltid störande ekon från bland annat tankens väggar och golv. Radarnivågivarens mjukvara underhåller en lista med information om de ekon som detekteras i tanken. Denna funktion hos givarens mjukvara benämnes ekoföljning.

Om informationen från ekoföljningen lagras undan är det möjligt att från historiken identifiera ytekot med högre säkerhet, samt dra andra slutsatser om mätfallet.

1.2 Uppgift

Målet med detta examensarbete är att förbättra befintliga metoder för ekoföljning, det vill säga att:

• Detektera när nya ekon dyker upp och deras egenskaper.

• Detektera när gamla ekon skall bortföras från listan över detekterade ekon. • Uppdatera ekolistan med uppmätta ekon

Utdata från ekoföljningen ska även inkludera en effektiv representation av hur ekon har förflyttat sig i tanken.

(11)

1.3 Översikt

Denna rapport kan indelas i olika delar enligt nedan:

Kapitel 2 ger bakgrundsinformation om grunderna för mätning med FMCW-radar, och vilka problem som uppstår vid mätning i små och medelstora vätskefyllda tankar/cisterner. Här introduceras också en möjlig helhetslösning för ett ekohanteringssystem för sådana mätfall. Syftet är att visa var detta examensarbetes olika delar kan passa in i ett större system. Detta är nödvändigt för att motivera vissa designval i ekoföljaren.

Kapitel 3 och 4 behandlar olika aspekter av själva ekoföljningen som är det centrala i arbetet. Här diskuteras styrkor och svagheter mellan olika modeller och metoder. Kapitel 5 behandlar ekoföljning med modeller av kompletta tankar.

Avslutningsvis sammanfattas de implementerade lösningarna i kapitel 6, och arbetets slutsatser och uppslag till framtida studier finns i kapitel 7.

(12)

2 Radarnivåmätning

2.1 FMCW-radar

Den grundläggande principen för avståndsmätning med radar är att skicka ut en signal som får reflekteras mot ett mål. Tidsdifferensen mellan den emitterade och reflekterade signalen indikerar avståndet till målet.

Vid FMCW, Frequency Modulated Continous Wave, emitteras en kontinuerlig signal som kontinuerligt får öka (eller minska) i frekvens. Se [6].

Figur 1: Mätprincip vid FMCW

I figur 1 sker svepet på sveptiden T över bandbredden F∆ . Svepet är centrerat omkring frekvensen F . Tidsskillnaden mellan de emitterade respektive reflekterande signalerna, C t , mäts indirekt via frekvensskillnaden, f . Detta sker genom att de emitterade och

reflekterade signalerna blandas multiplikativt, varpå resultatet lågpassfiltreras. Då erhålls idealt en signal med den stabila frekvensen f . Under antagandet att signalen propagerar

genom vakuum ger ett eko som befinner sig på avståndet z upphov till tidsdifferensen

0

2

c z

t= ⋅ , (2.1)

(13)

z K z T c F t T F f ⋅ = ⋅ ⋅ ∆ ⋅ = ⋅ ∆ = 0 2 (2.2)

där faktorn K alltså beskriver sambandet mellan avstånd och frekvens under antagandet att signalen propagerar genom vakuum.

Exempel: I ett typiskt system är T = 27 ms, F∆ =1.5 GHz och F =10 GHz. Då blir C

6 . 370 ≈

K Hz/m.

I nivågivarna som behandlas i detta arbete räknas inmätta ekon om med hjälp av denna faktor. Senare i beräkningarna korrigeras avstånden för bland annat atmosfärens inverkan.

2.2 Mätning i vätskefyllda tankar

I avsnitt 2.1 introduceras FMCW-tekniken med ett idealiserat exempel. I praktiken förekommer även andra ekon än ytekot. Betrakta följande exempel:

Figur 2: Enkel tank och dess ekospektrum

Figur 2 visar en tank med en balk på avståndet 5m från givaren. Tankens botten befinner sig 10m från givaren. Om vätskan antas dämpa signalen relativt lite kommer följande ekon att kunna detekteras i tanken:

(14)

Ytekot: En del av energin som lämnar antennen reflekteras av ytan och återvänder och samlas in av antennen igen. Detta ger upphov till ytekot.

Dubbelstuds: Den reflekterade energin kan ta alternativa vägar tillbaka till antennen. Då kan en dubbelstuds orsaka ett eko vid ungefär dubbla ytavståndet. Denna uppkommer när energin studsar två gånger i ytan och en gång i taket innan den återvänder till antennen. Eko från en strukturer under ytan: Som synes i figuren detekteras ekot från balken och tankens botten inte på de avstånd som svarar mot deras fysiska positioner. Detta beror på att den del av energin som transmitteras ner i mediet propagerar med lägre hastighet. Enligt avsnitt 2.1 får en viss tidsfördröjning svara mot ett visst avstånd, men detta gäller endast då radarvågorna propagerar genom vakuum. För andra medium gäller inte detta samband. Hur vätskan påverkar radarvågorna beskrivs av den komplexa permittiviteten,

C ε . Med beteckningar från s342 i [5]: '' ' ε ε εc = + j⋅ (2.3)

För de vätskor som är aktuella dominerar den reella komponeneten, ε', över den

imaginära, ε''. Vätskans egenskaper kan då alternativt beskrivas med:

' '' 0 ' ) tan( ε ε δ ε ε ε = ≈ r (2.4)

där εrär den relativa permittiviteten, ε0 permittiviteten för vakuum och δ brukar kallas loss angle. Grupphastigheten, v , för en plan våg som propagerar genom mediet ges av

r

c v

ε0

= (2.5)

där c är ljushastigheten i vakuum. Om en balk befinner sig på avståndet z under 0

vätskeytan så ges tiden som det tar för att passera vätskelagret av

0 1 c z v z t = = εr (2.6)

Om tidsfördröjningen kopplas till ett avstånd som om vågen propagerar genom vakuum eller luft verkar balken befinna sig längre bort än vad som är fallet enligt:

(15)

En annan effekt är att vågen kommer att dämpas av vätskan. Enligt sid 368 i [5] beskrivs en plan våg som utbreder sig i z-led av

z j z X

E

e

e

E

=

0 −α − β (2.8)

där E är det elektriska fältets amplitud, X α kallas dämpningskonstant (”attenuation constant”) och βär faskonstant (”phase constant”). Faktorn e−αzbeskriver därmed

dämpningen. Omε' >>ε'' gäller enligt [5] att

' '' 2 ε µ ωε α ≈ (2.9)

Antag vidare att permeabiliteten är ungefär lika med permeabiliteten för vakuum, det vill sägaµ ≈µ0. Då kan (2.9) skrivas om med hjälp av (2.4) till

( )

( )

0 0 0 ' 0 ' '' ' 0 '' tan tan 2 2 c f f r r ε δ π µ ε ε δ π ε µ ε ωε ε µ ωε α ≈ = ≈ = (2.10)

där f är vågens frekvens. Dämpningen sker därmed exponentiellt med avståndet enligt

z c f r e D 0 ) tan(δ ε π − = (2.11)

där D är dämpningsfaktorn för vågen. Sammanfattningsvis förskjuts alltså ett eko nedanför ytan linjärt, men dämpas exponentiellt. Det betyder att det går att finna lineära beroenden mellan avståndet ner till ytan och positionen hos balkar under ytan. För att uppnå en linjär modell måste dämpningen lineariseras om ekostyrkans avståndsberoende skall användas.

Det finns andra reflexionsvägar som ger upphov till ekon vars avstånd inte beror lineärt av ytan. Ett exempel på detta är när energin studsar via tankens vägg. Sådana ekon försummas i detta arbete.

(16)

2.3 Insamlad mätdata från verkliga fall

Detta avsnitt presenterar vilka mätdata som i praktiken erhålles vid mätning i vätskefyllda kärl.

Figur 3: Mätuppställning med ett störeko i tank med tydligt botteneko.

Figur 3 visar tanken som användes vid mätdatainsamlingen. Vätskan som pumpas är olja med 2εr ≈2. . Vid bildens övre kant syns nivågivaren vars antenn (vilken är skymd av plåtkvadraten) pekar rakt ner mot störekot i mitten av bilden. Avståndet ner till störekot är drygt 1.5m och ner till tankens botten är det ca 2.5m. Om detta skulle vara en installation ute i industrin så skulle en sådan här placering av nivågivaren – rakt över en balk – vara olämplig. Mätdata samlas in genom att lagra listan med detekterade ekon på fil, tillsammans med tidsindex. Detta sker tillräckligt ofta för att få in data från samtliga mätsvep.

De olika metoderna för ekoföljning som presenteras i kapitel 3 har primärt utvärderas mot två typfall som presenteras i avsnitt 2.3.1 resp. 2.3.2. Det vore önskvärt med fler mätserier för att få bredare underlag, men dessa två fall innehåller dock flera intressanta egenskaper och konflikter såsom:

(17)

• Ekon som endast kan mätas in i några procent av fallen, där ett filter med stor tröghet skulle orsaka kraftiga överslängar.

• Områden där ekon är väl separerade medan det på andra avstånd förekommer mycket så kallat ’clutter’, det vill säga slumpmässiga falska ekon.

• Interferensfenomen mellan närliggande ekon, vilket yttrar sig som kraftigt oscillerande fel.

2.3.1 Typfall I: Pumpning av lugn yta

Figur 4: Översikt av Typfall I

Figur 4 visar hur detekterade ekon förflyttar sig i tanken då denna töms på sitt innehåll. Initialt befinner sig ytan på avståndet 1m, och då detekteras störekot och bottenekot vid ca 1.7m respektive 3.3m. Det förekommer även multipelstudsar som när till exempel energin först reflekteras i balken, sedan i ytans undersida, därefter en andra gång i balken innan den återvänder till antennen. Figur 4 är beskuren så att de ekon som ligger bortanför botten inte är med. Där förekommer det diverse multipelstudsar som inte är intressanta just nu.

(18)

Figur 5: Illustration av upplösningsproblemet då loberna från två ekon smälter samman Notera särskilt det inringade området. Här interfererar närliggande ekon på ett sådant sätt att det inte alltid är möjligt att tillskriva ett inmätt eko till ett specifikt ekospår. Då två ekon är tillräckligt nära varandra uppstår för vissa relativa avstånd att utdata från FFT ser ut som figur 5 illustrerar. Eftersom ekodetekteringen söker efter lokala max kommer endast ett eko att detekteras.

Figur 6: Störekopassage

(19)

• Då ytan är mycket nära balken kommer ytekot helt att döljas av balkens mycket starkare eko.

• Då ytan åter blir synlig nedanför balken så kommer dess signalstyrka att vara lägre eftersom balken då skymmer en del av ytan.

• Både ekostyrkan och ekoavstånden påverkas av periodiska interferensfel. Ekostyrkan påverkas i högre grad än avståndet.

• I det här fallet är balkekot och ytekots ekoamplituder en fingervisning om vilka inmätningar som härstammar från vilket eko. Sorgligt nog är amplitudinformationen minst pålitlig när ekon är nära varandra och därmed behövs mest.

• Sannolikheten för att en ekoinmätning misslyckas är svår att prediktera då denna ökar snabbt när ekon närmar sig varandra.

• De periodiska felen bör inte beskrivas som en signal som beror av tiden, utan de varierar snarare med det relativa avståndet mellan de ekon som interfererar. När närliggande ekon dessutom befinner sig en multipel av halva våglängden från varandra kommer de att interferera positivt, däremellan finns ett läge där de kan dämpa varandra så att det svagare ekot inte kan mätas in alls.

2.3.2 Typfall II: Pumpning av turbulent yta.

(20)

Figur 7 visar hur det kan se ut när det är oroligt i tanken. I detta fall blåstes luft upp från en slang i tankens botten så att snabba vågor i decimeterklassen uppstod nära den punkt där nivågivaren var placerad.

Figur 8: Turbulent ekopassage

Ekopassagen vid tömningen i figur 8 ser markant annorlunda ut jämfört med tidigare. Det är nu inte längre lika uppenbart att det förekommer periodiska fel i inmätta avstånd och ekostyrkor. Notera även att det är betydligt svårare att från amplituden avläsa vilka inmätningar som svarar mot vilka ekospår, om balken befinner sig under vätskeytan.

(21)

2.4 Visionen av en komplett ekologik

Figur 9: Blockschema över visionen av en komplett ekologik.

Att följa ekon i vätskefyllda tankar kan vara något av ett ”Moment 22”. Det är fördelaktigt att ha en sofistikerad modell som beskriver hela tanken eftersom det finns samband mellan hur ekon förflyttar sig. För att utföra ett sådant modellbygge krävs kännedom om identiteten hos förekommande ekon – vilket eko är ytekot, vilka ekon härstammar från balkar etc. Ett effektivt sätt att identifiera vilket eko som är vilket är att studera historiken och se hur ekon förflyttar sig genom tanken. Men för att samla in historiken krävs i sin tur en fungerande ekoföljning.

Figur 9 ger ett förslag på hur detta skulle kunna lösas. Enkelt uttryckt utförs ekoföljning två gånger. Första gången för att samla på sig information om hur ekon förflyttar sig så att det därefter är möjligt att formulera ett antal hypotetiska modeller över tankens egenskaper. Med dessa modeller görs sedan den slutgiltiga ekoföljningen. I befintliga nivåmätsystem används dock betydligt enklare system för ekohantering än vad som föreslås här.

Nedan följer en kort beskrivning av de olika delfunktionerna:

Ekodetekteringen letar upp lokala amplitudmaxima i tanksignalens frekvensspektrum, och lämnar ifrån sig en lista över de starkaste ekonas positioner och amplituder.

Uppdatering av fullvärdiga ekospår sker genom att associera inmätta ekon mot existerande primära ekospår med någon av metoderna som behandlas i kapitel 3.

(22)

Uppdatering av preliminära ekospår. När nya ekospår skapas hamnar de först på den sekundära listan där deras kvalitet utvärderas, varefter de eventuellt kan uppgraderas till fullvärdiga ekospår. Denna ekouppdatering kan vara identisk med den för fullvärdiga ekospår.

Initiering av ekospår. De inmätta ekon som varken kan associeras till fullvärdiga eller preliminära ekospår kommer att användas för att initiera nya preliminära ekospår. Detta behandlas i avsnitt 4.1.

Tracklet till track –modulens uppgift är att försöka gruppera flera ekospår (”tracklet”) som härstammar från samma fysiska eko till ett längre ekospår (”track”). Detta behandlas i avsnitt 4.3, men det är möjligt att bygga en modellinitierare som utgår direkt från de ogrupperade ekospåren vid modellbygget. I så fall utgår detta funktionsblock.

Modellinitieraren undersöker hur ekon förflyttat sig genom tanken och formulerar ett antal hypoteser över tankens egenskaper. Om någon av de nya modellerna verkar troligare än de som redan används så kommer de att ersätta de befintliga. Detta är en intressant och inte helt trivial delmodul att skapa, men eftersom ekoidentifiering ligger utanför detta arbete kommer denna tyvärr inte att studeras närmare.

Modelluppdateraren utför dataassociering med ett antal modeller (kalmanfilter) parallellt med varandra. Detta behandlas kortfattat i kapitel 5, men ingår egentligen inte i detta examensarbete.

Urvalslogiken är förmodligen den enklaste av ekologikens moduler och försöker presentera det ytavstånd som med största sannolikhet är den korrekta. Den lämnar endast ifrån sig nivån och signalstyrkan från det troligast ytekot, vilken kan beräknas genom någon slags omröstning mellan de aktuella modellerna.

(23)

3 Ekoföljning med Kalmanfilter

Detta kapitel behandlar hur befintliga ekospår kan uppdateras med inmätta ekon. För att göra detta måste inmätta ekon på något sätt associeras till de olika ekospåren.

Det är vanligt att använda Kalmanfilter för att göra ekoföljning. Ett enkelt exempel på detta återfinns i [2]. För att använda Kalmanfilter måste systemet antas vara lineärt, vilket inte är helt korrekt. Om olineäriteterna, vilka yttrar sig som störningar, är små kan Kalmanfilter dock ändå fungera.

Metoderna för ekoföljning har i första hand utvärderats med hjälp av Matlab. Det har då varit nödvändigt att decimera mätserierna från avsnitt 2.3 för att hålla nere exekveringstiden. När metoder har implementerats och utvärderas i C används dock all insamlad mätdata (se kapitel 6).

3.1 Kalmanfiltret

Det förutsätts att läsaren är bekant med Kalmanfiltret, som beskrivs mer utförligt i [2]. Om denna förutsättning inte är uppfylld så kan följande populärvetenskapliga förklaring i någon mån vara behjälplig; En simulerad modell matas med samma insignaler som det verkliga systemet. Därefter används skillnaderna mellan det verkliga och det simulerade systemets utsignaler för att justera det simulerade systemets tillstånd så att det bättre speglar verkligheten. Det finns formler för hur detta skall göras på ett optimalt sätt förutsatt att modell, systembrus och mätbrus är kända.

Kalmanfiltret är det optimala kausala filtret som minimerar variansen hos skattningsfelet hos tillstånden för linjära modeller. I denna rapport kommer följande beteckningar att användas för Kalmanfilter; Ett systems tillstånd beskrivs av tillståndsparametrar i form av en vektor x . Systemets utsignaler är vektorn y . Själva systemets egenskaper beskrivs av matriserna A och C . Vektorerna w samt r är brus.

) ( ) 1 ( ) ( ) ( ) 1 ( ) ( t r t x C t y t w t x A t x + − = + − = (3.1)

där brusets egenskaper beskrivs av

( )

[ ]

[ ]

( )

( ) ( )

[

]

( ) ( )

[

]

( ) ( )

[

]

0 ) ( ) ( 0 = − = − = = = τ τ δ τ τ δ τ T T T r t w E t R r t r E t Q w t w E t r E t w E (3.2)

(24)

(

)

(

)

(

()

)

( | 1) ) | ( ) 1 | 1 ( ) 1 | ( ) 1 | ( ˆ ) ( ) ( ) 1 | ( ˆ ) | ( ˆ ) 1 | 1 ( ˆ ) 1 | ( ˆ ) ( ) 1 | ( ) 1 | ( ) ( 1 − − = + − − = − − − + − = − − = − + − − = − t t P C t K I t t P Q A t t AP t t P t t x C t y t K t t x t t x t t x A t t x t R C t t CP C t t P t K T T T (3.3)

där xˆ är det simulerade systemets tillstånd och x är det verkliga systemets tillstånd. Det senare kan i regel inte mätas in direkt. Matrisen P representerar osäkerheten i skattningarna av x .

3.2 Eko-modeller

I detta avsnitt behandlas olika modeller för enstaka ekon. För massor som förflyttar sig, t.ex flygplan, går det med fördel att använda Newtons lagar för att finna bra modeller. Men en yta som rör sig kan momentant ändra sin hastighet och rörelseriktning när en ventil öppnas eller stängs. I vissa mätfall kan pumphastigheten inte överstiga någon mm/s, medan det i andra fall förekommer pumphastigheter om flera 100 mm/s.

3.2.1 Enklaste tänkbara modell

Den enklaste tänkbara modell är att anta att ytan befinner sig på ungefär samma avstånd hela tiden: q Q p t t P r R C A z x t = = = = = = = =0 | ) 0 | ( 1 1 (3.4)

där z betecknar avståndet till det eko som följs. Variansen hos mätfelet modelleras in i R , vilken antingen kan väljas konstant eller detekteras adaptivt. Egenskaper som att mätfelen ökar när ekon befinner sig nära varandra kan också modelleras in i R . Ändringar i avståndet modelleras in i Q-matrisen som variansen hos vitt brus. För nya ekospår kan olika strategier användas för att välja initialvärden på elementet i P-matrisen,p|t=0. Det uppenbara valet är sätta denna till r om ett ekospår initieras från en

enstaka inmätning. Oftast uppnås dock bättre resultat genom att initiera P-matrisen med ett mindre tal vilket gör nya ekospår mer stabila, men ett alltför lågt initialvärde kan försämra möjligheterna att följa ekospår som börjar i rörelse. Ett alltför högt initialvärde hos p kan göra att ekospåret termineras i förtid av ekoföljningslogiken som en försiktighetsåtgärd för att undvika att närliggande ekospår blandas samman.

(25)

3.2.2 Avstånds- och amplitudmodell

Modellen i avsnitt 3.2.1 används för att utvärdera JPDA, Joint Probabilistic Data Association, (se avsnitt 3.3.2). Det kan vara intressant i vissa fall att studera signalstyrkan hos olika ekon. För att göra detta behöver modellen utökas med ekoamplituden, a :

      =       = =       =       =       =       = = = 22 11 0 22 0 11 22 11 0 0 | 0 0 | ) 0 | ( 0 0 1 0 0 1 1 0 0 1 q q Q p p t t P r r R C A a z x t t (3.5)

I modellen enligt (3.5) tillkommer jämfört med (3.4) parametrarnar , 22 p22 |t=0 samt q 22

vilka definieras som mätfelets varians, initialosäkerhet och drift för ekoamplituden. De här parametrarna kan väljas enligt samma strategier som i avsnitt 3.2.1. Notera att det alltså inte finns några samband mellan amplitud och avstånd i denna modell, eftersom det konstaterades i avsnitt 2.2 att sambandet mellan dämpning och avstånd inte var linjärt. Amplituder kommer i detta arbete att alltid modelleras med oberoende första ordningens slumpvandringsmodeller.

(26)

Figur 10: Översikt av egenskaper hos slumpvandringsfilter

Figur 10 illustrerar att viss eftersläpning uppstår vid följning av snabba ekon i de två typfallen. I bilden plottas ekoinmätningar i grått och ekospår i svart.

I detta fall är modellen noga intrimmad att passa den aktuella pumphastigheten. I figurens övre vänstra kvadrant orsakar förekomsten av klutter (slumpmässiga störningar) att ekoföljningen ofta misslyckas med att följa rätt eko. Detta uppstår till följd av att eftersläpningen kan göra att det korrekt inmätta ekot är längre bort från den förväntade positionen än ett klutter. Fördelen med en slumpvandringsmodell av det här slaget ligger i dess förmåga att hantera snabba förändringar av ekons hastigheter.

3.2.3 Avstånds-, hastighet och amplitudmodell

Ofta sker pumpningar med konstant hastighet. Genom att modellera in hastigheten uppnås en lägre grad av eftersläpning än för de slumpvandringsfilter som behandlats hittills. Nu införs tillståndsvariabeln v som är ekospårets hastighet:

(27)

          =           = =       =       =           =         = = = = 33 22 11 0 33 0 22 0 11 22 11 0 0 0 0 0 0 | 0 0 0 | 0 0 0 | ) 0 | ( 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 1 q q q Q p p p t t P r r R C T A a v z x t t t (3.6)

där T betecknar periodtiden för systemet. I likhet med tidigare modeller kan olika strategier användas för val av initialvärden för P. Om ett spår initieras från en enstaka inmätning är det säkraste att initiera v till noll och sättap22 |t=0 till ett lågt värde, annars riskerar filtret att snabbt driva iväg. Det är svårt att hitta bra värden för driften av avståndet, q11, och hastigheten, q22. Fysikaliskt beror alla ändringar hos avståndet, z ,

enbart på ekohastigheten, v , varför det förefaller naturligt att låta q11 vara noll och trimma in q22till ett lämpligt värde.

Nackdelarna med denna modell är dels att det alltid är svårt att från inmätta avstånd skatta deras derivator. Dessutom kan interferensfelen ge upphov till mätdata som får filtret att göra grova fel vid skattningen av hastigheten. Det största problemet är emellertid att detta filter är svårt att trimma in. Det kommer senare att visas att detta filter är ett specialfall av filtret i avsnitt 3.2.6.

(28)

3.2.4 LR-modell

De periodiska felen i figur 6 är en mycket vanlig orsak till att ekoföljningen misslyckas. En strategi för att undertrycka inverkan från dessa är att minstakvadratanpassa en linje till mätdata som är insamlade över en hel period av felet. Det bör dock redan här påpekas att sådana här filter är tänkta att användas i en filterbank. Se avsnitt 3.2.7 nedan.

Antag att systemet har n tillståndsvariabler;

            = n x x x x M 2 1 (3.7)

där x1 är det senaste avståndet till ytan, x2 är avståndet för ett sampelinterval sedan, och

n

x är det äldsta värdet. Låt varje tillståndsvariabel ha ett tidsindex i däri =n, 1 i =n -1, ..., 2

1 =

n

i . Detta förutsätter konstant tid mellan sampeln, något som i praktiken inte alltid är uppfyllt i dagens givare. Med hjälp av tillståndsvariablerna går det att prediktera avståndet x0vid tidsindex i0= n+1 genom att minstakvadratanpassa en linje x=ki+m

till givna x och i . Enligt [4] är

2 1 1 2 1 1 1       − − =

= = = = = n l l n l l n l l n l l n l l l i i n x i x i n k (3.8) Summorna är: n n l n l l n l l n l l n n l l l x x x x n n i n n n n i n n n n i x x n nx x i + + + = + =       + + = + + + = + = + + − + = + − + =

= = = = L L L L 2 1 2 2 2 1 2 2 2 1 2 1 2 1 1 4 ) 1 ( 6 ) 1 2 )( 1 ( 2 1 2 ) 1 ( 1 ) 1 ( 1 ) 1 ( (3.9)

(29)

Då blir: 4 ) 1 ( 6 ) 1 2 )( 1 ( 2 ) 1 ( 1 2 ) 1 ( ) 1 ( 2 ) 1 ( 2 2 2 2 1 2 + − + +       + + +       + +       + = n n n n n n n n x n n n n x n n n k L (3.10)

där nämnaren kan förenklas till 12

2

4 n

n. Nu beräknas koefficienter som tillståndsvariablerna skall viktas samman med för att beräkna k enligt:

) 1 )( 1 ( ) 2 1 ( 6 ) 1 ( ) 2 ( 6 2 ) 1 ( ) 1 ( 12 2 2 2 2 4 2 2 1 1 − + − + = − − + =       + + − = + + + = n n n l n n n nl n n n n l n n n n k x k x k x k k l n n L (3.11)

Dessa kan användas för att skatta nivåhastigheten. Nu återstår att beräkna m som enligt [4] är: n i k x m n l l n l l

= = − = 1 1 (3.12)

Det vill säga

n n n k x x x m n 2 ) 1 ( 2 1 + − + + + = L (3.13)

och vikterna blir

2 ) 1 ( 1 2 2 1 1 + − = + + + = n k n m x m x m x m m l l n n L (3.14)

Därmed är linjens lutning och offset bestämd. Avståndet x vid i=n+1 predikteras enligt 0

(

)

l l l n n m n k x x x x + + = Ψ Ψ + + Ψ + Ψ = 1 2 2 1 1 0 L (3.15)

Dessa vikter bildar första raden i A-matrisen. De övriga raderna i A skall givetvis ombesörja skiftet av sampels. Modellen blir därmed enligt nedan:

(30)

[

]

r R q Q C A n =             = =                 = 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 11 3 2 1 O M L L L L L L L ψ ψ ψ ψ (3.16)

Nackdelen med denna modell är att det behövs många tillståndsvariabler för att täcka in en period på de oscillerande felen. Då blir P-matrisen orimligt minneskrävande. I nästa avsnitt presenteras därför en bättre lösning. Parametrar som måste trimmas in är som tidigare mätfelets varians, r , och en viss slumpvandring som förs in i systemet via q . 11

3.2.5 Reducerad LR-modell

Strategin är att simulera en sampeltid på exempelvis T=10s, det vill säga att det skiftas in ett nytt värde i filtret var tionde sekund. Radarmätningarna sker typiskt flera gånger varje sekund, och det är önskvärt att använda alla tillgängliga mätdata. Definiera därför tillståndsvariablerna så att x1 = aktuellt avstånd, x2= avståndet vid föregående sampel osv. Då kommer tillståndsvariablerna att ha tidsindex enligt

1 2 1 1 3 2 1 1 = − = − = ∆ + − = n i n i n i n i M (3.17)

Där ∆ representerar när i sampelperioden som den senaste mätningen ägde rum och 1 kommer att vara ett tal mellan noll och ett. Observera att x alltså typiskt har tidsindex 1

som ligger mellan de simulerade ‘sampelpunkterna’. Med andra ord är tillståndsvariablerna:

1

x = avstånd vid tidsindex n-1+∆ 1

(31)

3

x = avstånd vid tidsindex n-2

M

n

x = avstånd vid tidsindex 1

Antag att systemet skall tidsuppdateras från i1= n−1+∆1 till i1= n−1+∆2. Här är

2

1+∆ −

n tidsindex för den aktuella tidpunkten. Eftersom ∆ får vara större än ett måste 2

två fall beaktas. Om ∆ < 1 så skall endast 2 x uppdateras. 1

Men om ∆ >= 1 har en tiden för en ’sampelpunkt’ passerats och då måste dessutom 2 avståndet vid tidsindex n beräknas, eftersom detta skall bli x :s nya värde. De övriga 2

tillståndsvariablerna skall sedan skiftas. Nu införs funktionen

(

1

)

( ) ( ) ) , (∆12 l = n− +∆2kl1 +ml1 ψ (3.19)

där )kl(∆1 och ml(∆1) indikerar att koefficienterna för k och m är funktioner som beror av ∆ . Alltså är1 ψ(∆1,∆2)l de vikter som används för att prediktera avståndet vid tiden

2 1+∆ − n från tillståndsvariabler enligt (3.18). Då blir A-matrisen                 ∆ ∆ ∆ ∆ ∆ ∆ ∆ ∆ = 1 0 0 0 0 1 0 0 0 0 1 0 ) , ( ) , ( ) , ( ) , ( 1 2 1 1 2 2 1 2 3 1 2 L M O M M M L L L n A ψ ψ ψ ψ om ∆ <1 och 2                 ∆ ∆ ∆ ∆ ∆ ∆ ∆ ∆ ∆ ∆ ∆ ∆ = − − 0 1 0 0 0 0 1 0 ) 1 , ( ) 1 , ( ) 1 , ( ) 1 , ( ) , ( ) , ( ) , ( ) , ( 1 1 1 2 1 1 1 2 1 1 2 1 2 2 1 1 2 1 L M M O M M L L L n n n n A ψ ψ ψ ψ ψ ψ ψ ψ

(32)

om ∆ ≥ 1. Notera att tillståndsvariablerna inte skiftas om 2 ∆ <1. En annan trevlig 2 egenskap är att detta system hanterar att mätningar inte alltid sker med jämna tidsintervall.

Filtrets ordningstal och sampeltid kan väljas enligt två olika strategier. Grundidén är att få med ett antal (5-10 stycken) tillståndsvariabler över en och samma period av interferensfelen, men ett alternativ är att matcha sampeltiden så att varje tillståndsvariabel

baseras på mätningar över en hel period. Fördelen med den senare strategin är att det går att få ner ordningstalet ytterligare.

3.2.6 Tidsinvariant LR-modell

Antag att filtret i avsnitt 3.2.5 matas med en serie mätningar som infaller med ojämna tidsintervall. Om hela mätserien förskjuts i tiden kommer den inte att påverka filtret på samma sätt – förutsatt att inte tidsförskjutningen svarar exakt mot sampeltiden. Uppenbart är modellen i avsnitt 3.2.5 inte tidsinvariant. I detta avsnitt presenteras ett filter som enbart beror av mätvärden och tidsluckorna mellan mätningarna.

Med strategin att matcha sampeltiden så att varje ’sampel’ baseras på mätningar över en period (se sista stycket av avsnitt 3.2.5) införs nu tre tillståndsvariabler:

1

x = avstånd vid tidsindex i1=2

2

x = avstånd vid tidsindex i =1 2

3

x = avstånd vid tidsindex i =0 3

Låt tiden sedan föregående tidsuppdatering vara ∆⋅T, (där ∆=∆2−∆1). Tillståndsvariablerna skall nu tidsuppdateras till:

1

x = avstånd vid tidsindex i1 = 2 + ∆ = nuvarande avstånd

2

x = avstånd vid tidsindex i = 1 + ∆ = avstånd för T2 1⋅ sedan

3

x = avstånd vid tidsindex i = 0 + 3 ∆ = avstånd för T2⋅ sedan. Då blir

(33)

3 9 5 2 1 3 1 2 3 2 1 1 2 1 2 2 1 2 1 2 1 1 = + + = =       = + = = + =

= = = = = n x x x x i i i x x i x n l l n l l n l l n l l n l l l (3.20)

Genom identifiering av termer och insättning av (3.20) i (3.8) fås

2 1 6 3 3 2 1 1 2 1 2 2 1 1 − = − =       − − = + + + =

= = = l l n l l n l l n l l l l n n i i i i n i ni k x k x k x k k L (3.21)

och (3.12) ger på samma sätt

6 3 5 3 2 1 3 1 1 1 2 2 1 1 l l n l l l l n n i i n i k m x m x m x m m − = − ⋅ − = − = + + + =

= L (3.22)

Så A-matrisen blir därmed

          ∆ + ⋅ + ∆ + ⋅ + ∆ + ⋅ + ∆ + ⋅ + ∆ + ⋅ + ∆ + ⋅ + ∆ + ⋅ + ∆ + ⋅ + ∆ + ⋅ + = ) 0 ( ) 0 ( ) 0 ( ) 1 ( ) 1 ( ) 1 ( ) 2 ( ) 2 ( ) 2 ( 3 3 2 2 1 1 3 3 2 2 1 1 3 3 2 2 1 1 k m k m k m k m k m k m k m k m k m A (3.23)

(34)

[

]

          = = =           ⋅ ∆ = =                 ∆ − ∆ + − ∆ + − ∆ + + − ∆ + − ∆ + + − = = = = 0 33 0 22 0 11 11 | 0 0 0 | 0 0 0 | ) 0 | ( 0 0 0 0 0 0 0 0 0 0 1 2 6 5 3 1 2 6 1 2 1 6 5 3 1 2 1 6 1 2 2 6 5 3 1 2 2 6 1 t t t p p p t t P r R q Q C A (3.24)

Det är givetvis önskvärt att ha tidsinvarianta filter, men det bör dock påpekas att filtret i avsnitt 3.2.5 har andra fördelar, ty där tenderade de inskiftade värdena att hålla sig mer eller mindre konstanta mellan ’sampelperioderna’.

I ett filter enligt (3.24) kommer tillståndsvariablerna att istället att omedelbart justeras in på en rät linje. Filtret kan snarare ses som ett alternativt sätt att representera både avstånd och hastighet hos ekon, ty finns inget hinder mot att reducera modellen ytterligare till två punkter. Då blir       ∆ − ∆ ∆ − ∆ + = 1 1 A (3.25)

och med en enkel variabelsubstitution

[

1 0

]

~ 1 0 1 ~ ~ 1 1 0 1 1 1 = =       ∆ = = =       − = − − C CT TAT A x T x T (3.26)

erhålls A och C matriser som liknar modellen i avsnitt 3.2.3 (om tillståndsvariabeln för amplituden elimineras). Fast nu är tillståndsvariabel x2 inte hastigheten i millimeter per sekund

utan millimeter per sampeltid.

Exempel: Om ett filter som det i avsnitt 3.2.3 har en sampeltid på 10s och det gått 2s

(35)

∆ =0.2. Vid tidsuppdatering av P används då Q~=∆⋅Q istället för Q, eftersom Q är slumpdriften per sampeltid.

Emellertid tenderar LR-filtret enligt formel (3.24) att ha bättre egenskaper än enligt (3.26). Framför allt blir intrimmningen enklare när en hel filterbank används. Alla filter i filterbanken kommer då att likna varandra fast de arbetar över olika sampelperioder. Samma sampelperioder kan användas för att anpassa glömskefaktorfiltreringar osv.

3.2.7 Modellering av oscillationer

De modeller som studerats i föregående avsnitt är designade antingen utan hänsyn till förekomsten av oscillerande interferensfel (se avsnitt 3.2.1 till 3.2.3) eller för att minimera inverkan från dessa fel (se avsnitt 3.2.4 till 3.2.6). Med en AR(2)-modell finns möjligheten att modellera in dessa oscillationer.

Approximera oscillationerna med en sinus enligt:

(

θ ϕ

)

ζ(t)=sin ⋅t+ (3.27)

Detta kan skrivas om till en rekursionsformel enligt

( )

(

(

( )

)

)

( )

(

)

( )

(

( )

)

( )

(

)

(

( )

)

(

( )

)

( )

(

)

(

(

)

)

(

)

( ) (

)

( )

2 2 2 1 ) cos( 2 sin 2 2 sin 1 sin ) cos( 2 1 sin 2 1 sin 1 sin ) cos( 1 cos sin 1 sin ) cos( 1 sin t t t t t t t t t t t t t ζ ζ ζ θ ϕ θ ϕ θ ϕ θ θ ϕ θ θ ϕ θ θ ϕ θ θ ϕ θ θ ϕ θ θ θ ϕ θ ζ + − − − ⋅ = + ⋅ + − − ⋅ + + − ⋅ ⋅ = + − ⋅ + + − − ⋅ − + + − ⋅ ⋅ = + − ⋅ ⋅ + + − ⋅ ⋅ = = + + − ⋅ = (3.28)

vilket kan skrivas om till

( )

t =α ⋅ζ

(

t−1

) (

−ζ t−2

)

ζ (3.29) där ) cos( 2 θ α = ⋅ (3.30)

Det går att komplettera vilken som helst av de tidigare studerade modellerna med två ytterligare tillståndvariabler för de ska kunna hantera en överlagrad oscillation.

(36)

1 x = Avstånd 2 x = Hastighet 3 x = ζ

( )

t 4 x

( )

t−1

På matrisform ges modellen av

[

]

            = =             = = =             − = = = = = 0 44 0 33 0 22 0 11 44 33 22 11 | 0 0 0 0 | 0 0 0 0 | 0 0 0 0 | ) 0 | ( 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 1 t t t t p p p p t t P q q q q Q r R C T A α (3.31)

där α på något vis måste bestämmas adaptivt att matcha oscillationens frekvens. I praktiken kan ju inte ζ mätas direkt, utan istället används

( ) ( )

t y t xˆ1

( )

t

ˆ =

ζ (3.32)

vilken lagras i en buffer av lämplig längd. Från rekursionsformeln (3.29) fås

( )

t =ζˆ

( )

t −α⋅ζˆ

( ) (

t−1 +ζˆ t−2

)

ε (3.33)

vilket betyder att kvadraten på felet blir

( )

( )

( )

(

)

( ) ( )

( ) (

1 ˆ 2

)

2 ˆ

( ) (

ˆ 2

)

ˆ 2 1 ˆ ˆ 2 2 ˆ 1 ˆ ´ ˆ2 2 2 2 − ⋅ ⋅ + − ⋅ − ⋅ ⋅ − − − ⋅ ⋅ ⋅ − − + − + = t t t t t t t t t t ζ ζ ζ ζ α ζ ζ α ζ ζ α ζ ε (3.34)

(37)

På vanligt vis sker summering över samtliga ε2

( )

t , varpå summan deriveras med avseende på α. Då erhålls

( )

( ) ( )

( ) (

)

− − ⋅ ⋅ − − ⋅ − ⋅ − ⋅ ⋅ t t t t t t t t 1 2 ˆ ˆ 1 2 ˆ 1 ˆ 2 ˆ 2 α ζ2 ζ ζ ζ ζ (3.35) som skall vara noll i optimum. Efter variabelsubstitutionen p= t−1 blir uttrycket med vilket α skattas

( ) (

)

( ) (

)

( )

⋅ + − ⋅ − = p p p p p p p p 2 ˆ 1 ˆ ˆ 1 ˆ ˆ ˆ ζ ζ ζ ζ ζ α (3.36)

Observera att då summorna i (3.36) skall beräknas skall summering ske enbart över de p

som är sådana att både ζˆ

( )

p , ζˆ

(

p−1

)

och ζˆ

(

p+1

)

har blivit korrekt inmätta.

Det är svårt att finna bra värden på Q . Denna ekomodell är den i särklass mest svårtrimmade i hela detta arbete. En annan nackdel är att i sin nuvarande form kräver modellen att mätningar sker med konstanta mellanrum – vilket inte alltid är uppfyllt i det aktuella fallet.

3.2.8 Filterbank av modeller

I praktiken måste en ekoföljare kunna hantera både långsamma och snabba pumpningar. Om exempelvis variansen q11 i ett första ordningens slumpvandringsfilter (som i avsnitt 3.2.1) trimmas in att passa till vissa nivåhastigheter, men den faktiska pumphastigheten är lägre kommer filtret att vara onödigt bruskänsligt. När ekon förflyttar sig med högre hastighet än vad filtret är intrimmat för kan istället alltför stor eftersläpning uppstå. På samma sätt är LR-filtren intrimmade att undertrycka interferensfelen vid en viss hastighet.

Lösningen är att använda en filterbank av olika intrimmade filter. Vid ett och samma tillfälle är det ett av filtren som är aktivt i det avseendet att dess utdata används för associeringen. Alla filter mät- och tidsuppdateras dock parallellt med varandra.

(38)

Figur 11: Studie av ekospår över olika tidshorisonter

Figur 11 illustrerar hur ett ekospår kan se ut över olika tidshorisonter. I högra delbilden rör sig ekospåret längs en rät linje som verkar svara mot en ekohastighet av ca 4− mm/s. Men en utzoomning (mitten) visar att i en annan tidsskala kan ekospåret inte liknas vid en rät linje. I detta fall estimeras pumphastigheten till omkring noll. Ytterligare utzoomning (till vänster) visar att över en ännu längre tidshorisont liknar ekospåret åter en linje, och nu verkar ekohastigheten vara ca + 250. mm/s. Det är ekohastigheten + 250. mm/s som bör användas för att beräkna sampeltiden för ett LR filter enligt avsnitt 3.2.6 för att de periodiska felen ska undertryckas. Observera att det inte är möjligt att från mätdata bestämma om den mellersta bilden i figur 11 är en störning, eller om ytan faktiskt pumpas fram och tillbaka. Sådana tvetydigheter gör att det är svårt att åstadkomma en bra ekoföljare.

Detta gäller för den signalbehandling som används idag, men det kan finnas andra sätt att förbehandla mätdata på som inte ger upphov till sådana tvetydigheter.

Istället för att trimma in filtren genom att välja olika värden på brusvarianser används i detta arbete strategin att låta filtren ha olika simulerade sampeltider. Filtren är alltså identiska, men arbetar över olika tidshorisonter. Det finns olika strategier för att välja ut vilket filter i filterbanken som skall vara aktivt. Vilken strategi som är bäst är inget enkelt val, utan beror på vilken filtertyp som ingår i filterbanken. På något sätt beräknas i regel ett kvalitetsmått för varje filter, varpå det filter med bäst kvalitetsmått och som uppfyller eventuella bivillkor får bli det aktiva. Detta innebär att ett antal flerställiga val behöver beaktas i samband med trimning av ekoföljaren.

Val av källor för kvalitetsmåttet

Välj det filter som optimerar kvalitetsmåttet qF vilket beräknas från exempelvis: 1. Rimligheten från associeringen, pASSOC (som bör maximeras).

(39)

Givetvis kan kvalitetsmåttet beräknas som en viktad summa av ovanstående källor. Metod för beräkning av kvalitetsmått

Kvalitetsmåttet qF eller dess källor behöver i regel filtreras, vilket kan göras på olika sätt; 1. Glidande medelvärdesfiltrering ) 1 ( ) 1 ( ) ( ) 1 (t+ = ⋅q . t + − ⋅ t+ qF λ F λ ε (3.37)

där ε är innovationen vid en viss mätuppdateringen, λ är en glömskefaktor. 2. Sämsta värdet i närtid:

(

ε + ⋅λ

)

= +1) max ( 1), ( ) (t t q t qF F (3.38) Val av filtreringsfaktorer

Glömskefaktorn λ kan i sin tur väljas på ett antal olika sätt. 1. Ett fixt värde såsom λ= 0.98

2. Varje filter i filterbanken kan använda olika värden på λsom passar tidshorisonten för vart och ett av filtren.

3. Låt det λ som passar det för tillfället aktiva filtret användas för hela filterbanken. Detta är ett av de svåraste valen, och inget alternativ är egentligen riktigt bra. Ett fixt värde - enligt alternativ 1 - gör att ekoföljare fungerar bättre för vissa nivåhastigheter än andra. Olika värden enligt 2 är olämpligt om det förekommer eftersläpning hos ekospår som vänder riktning. Alternativ 3 gör att snabba förändringar inte kan hanteras särskilt bra.

Valet av glömskefaktor som matchar ett visst antal mätdata behandlas i [2], sid 352, där det anges att ett glömskefaktorfilter ”kommer ihåg” ca

λ

− 1

1

gamla värden. Om det genomsnittliga antalet mätningar per sekund är känt kan glömskefaktorn beräknas enligt

T r⋅ − =1 1

λ (3.39)

där r är antalet mätningar per sekund, och T är filtrets tidshorisont som glömskefaktorn skall matchas mot.

(40)

Val av initialfilter

När ett nytt ekospår initieras måste på något sätt ett filter väljas att vara aktivt från början. Strategier för val av initialfilter är att:

1. Alltid ansätta det snabbaste filtret. 2. Alltid ansätta ett ”lagom” snabbt filter.

3. Studera de existerande ekospåren för att få en fingervisning om vilka filter de flesta andra ekospår i tanken använder.

Detta är också ett svårt val som är beroende av vilken filtertyp som används. Det snabbaste filtret är ett bra val för slumpvandringsfilter, men direkt olämpligt för andra filtertyper.

Bivillkor vid val av filter

Bland de bivillkor som kan vara lämpliga hör:

• Begränsa eftersläpningen genom att kräva att det i genomsnitt förekommer minst en viss andel positiv respektive negativ innovation.

• Begränsa eftersläpningen genom att kräva att genomsnitten av den positiva och negativa innovationerna båda understiger ett visst värde.

• Endast tillåta filter vars sampeltid multiplicerad med nivåhastigheten understiger halva våglängden, så att inverkan från interferensfel undertrycks. (Vilket filter som får estimera nivåhastigheten är en följdfråga).

• Endast tillåta byte till ett filter som är ett steg långsammare eller ett steg snabbare än det för tillfället aktiva filtret.

3.3 Associationsmetoder

3.3.1 Probabilistic Data Association

Probabilistic Data Association, PDA, är beskriven i [1]. Metodens syfte är att följa ett

eko då slumpmässiga falska ekon (klutter) förekommer i tanken. I detta examensarbete måste flera ekon kunna följas, varför PDA inte är en lösning. Av pedagogiska skäl introduceras trots detta PDA metoden här, eftersom den ligger till grund för JPDA, se avsnitt 3.3.2.

I grund och botten används ett Kalmanfilter med vissa modifieringar. Problemet är att om det vid en inmätning erhålls två ekon, vilka betecknas 1

Y respektive 2

Y , så finns det tre

olika sätt att göra mätuppdateringen

(

() ˆ( | 1)

)

) ( ) 1 | ( ˆ ) | ( ˆ t t =x t t− +K t y tCx t tx .

(41)

Hypotes 0: Antag att både Y och 1 Y är störningar, och låt 2 ) 1 | ( ˆ ) | ( ˆ t t =x t tx .

Iden med PDA är att göra mätuppdateringen enligt samtliga hypoteser, beräkna hur rimlig respektive hypotes är, och därefter vikta samman delresultaten. Notera att metoden inte använder historiken särskilt väl.

3.3.2 Joint PDA

PDA kan generaliseras till att stödja fler ekon, vilket sker i detta avsnitt. Metoden beskrivs i [1], men ganska kortfattat. Rimligheterna för varje hypotes beräknas på ett annat sätt i detta arbete än vad [1] antyder.

Introduktion

Vid Joint Probabilistic Data Association, hädanefter JPDA, formuleras hypoteser för varje möjlig kombination mellan uppmätta ekon och de existerande ekospåren. Rimligheten för varje hypotes beräknas, varpå tillståndsvariabler och kovariansmatriser viktas samman.

Exempel: Antag att två ekon följs vid en viss tidpunkt, vars positioner antas vara

m

Y1=4.0 respektive Y2 =10m. Vid inmätning erhålls ekon vid positionerna

m

Y1 =4.1 och Y2 =5.0m.

Systemhypotes 1: Y är en korrekt inmätning av ekot 1 1

Y

2

Y är en korrekt inmätning av ekot Y2

Systemhypotes 2: Y är en korrekt inmätning av ekot 1 1

Y

2

Y är ett falskt eko.

Systemhypotes 3: Y är en korrekt inmätning av ekot 1 2

Y

2

Y är en korrekt inmätning av ekot Y1

Systemhypotes 4: Y är en korrekt inmätning av ekot 1 2

Y

2

Y är ett falskt eko

Systemhypotes 5: Y är ett falskt eko 1 2

Y är en korrekt inmätning av ekot Y1

Systemhypotes 6: Y är ett falskt eko 1 2

(42)

Systemhypotes 0: Både Y och 1 Y är falska ekon. 2

Med de angivna värden och ett antagande att mätfelet är normalfördelat med standardavvikelsen ca 0.1m verkar hypotes 2 att vara relativt trolig. Men det finns inget som säger att det inte kan vara någon av de andra hypoteserna som är korrekt. Metoder för att reducera beräkningsbördan

När många ekon detekteras växer antalet hypoteser mycket fort. Om det för varje hypotes skall beräknas rimligheter samt X och P -matriser blir beräkningsbördan snart överväldigande. Genom att göra antagandet att maximalt mätfel (sk gate) är 0.3m så kan emellertid alla hypoteser utom nummer 2 och nummer 0 strykas i exemplet i ovan.

Det går dessutom ibland att bryta ner problemet till enklare delproblem enligt nedanstående exempel:

Exempel: Antag att systemet följer fem ekospår som har följande positioner: 2.0m 2.4m 4.0m 4.5m 4.9m

och vid inmätning detekteras ekon vid: 1.9m 2.7m 3.7m 4.2m 5.0m maximalt mätfel antas vara 0.3m.

Om JPDA används direkt måste inte mindre än 1546 systemhypoteser beaktas när fem inmätningar skall associeras till fem ekospår. De två första ekospåren är dock väl separerade från de övriga. Det går därför att bryta ner problemet till två JPDA problem, genom att först göra en grov gruppering av mätdata och ekospår. Att associera två ekon till två spår kräver 7 hypoteser, och att associera tre ekon till tre spår kräver 34. Då har det totala antalet hypoteser minskats från 1546 till 41.

I praktiken gör dock gaten att antalet ekon som kan associeras till ett ekospår är begränsat till ca tre stycken i de nivågivare som studeras, eftersom det inte går att upplösa ekon som är alltför nära varandra. Detta kommer att hålla nere antalet systemhypoteser.

Realisering

Antag att det finns e aktiva ekospår:

j

Y , j=1,2,3,..., e

(43)

i

Y , i=1,2,3,…, n

Ekon modelleras för enkelhets skull enligt 3.2.1, alltså med enklaste tänkbara modell. Då uppdateras ekospåren i två steg:

• STEG I: Formulera och utvärderas samtliga systemhypoteser • STEG II: Uppdatera varje ekospår separat

STEG I: Formulera systemhypoteser och beräkna rimlighetena för dessa

Börja med att beräkna rimligheten (likelihood) för varje möjlig matchning mellan ekospår och inmätta ekon och lagra dessa i en matris, M , så att element Mi,jinnehåller

rimligheten att det i :te inmätta ekot svarar mot ekospår j . Eftersom P -matrisen är ett

mått på osäkerheten i skattningen av ekon kan följande metod användas för att bestämma rimligheten hos varje association:

2 ˆ , 2         + − − = j j j j i R P x C Y j i e M (3.40)

Lägg till möjligheten att vissa ekospår inte blivit inmätta genom att komplettera M med

j

missat j

N p

M + ,1 = (3.41)

Eftersom systemhypoteserna normeras bör

j

missat

p inte tolkas som ”sannolikheten att eko

j inte kan mätas in” utan snarare som ett straff som ansätts. Därefter formuleras

systemhypoteserna som varje möjligt sätt att kombinera ekospår och inmätta ekon, så att ingen inmätning associeras till mer än ett spår. Rimligheten för varje systemhypotes beräknas sedan genom att multiplicera de utvalda elementen. (Likna M -matrisen vid ett schackbräde där det ska placeras ut ett antal torn – ett på varje rad, men inget torn får hota något annat utom i sista kolonnen). Avslutningsvis normeras rimligheterna för systemhypoteserna så att deras summa blir ett.

Beräkningen av rimligheterna motiveras av följande resonemang. Låt ( , 2 )

X X N X∈ µ σ och )( , 2 Y Y N Y∈ µ σ . Då är rimlighetenp(X =Y)= p(XY =0). Eftersom )( , 2 2 Y X Y X N Y X − ∈ µ −µ σ +σ blir 2 2 2 2 1 ) (         + − − = = X Y Y X e Y X p σ σ . Det är viktigt

att skilja på sannolikhet (”probability”) och rimlighet (”likelihood”), ty sannolikheten att X=Y är ju noll eftersom sannolikhetsfördelningen är kontinuerlig.

(44)

• Om Yi

mäts in nära C ˆjxjså blir p ≈ 1 (alltså en mycket rimlig associering) • Om Pj= 0 så ligger all osäkerhet i Rj

• Om Rj= 0 så ligger all osäkerhet i Pj

• Om Pj går mot oändligheten så är p = 1 för samtliga associationer mellan alla inmätningar och C ˆjxj

• Om Rj går mot oändligheten så är p = 1 för samtliga associationer mellan Yi och alla ekospår.

STEG II: Uppdatera varje ekospår separat

Nu hanteras varje ekospår för sig. Först beräknas K-matriserna enligt:

(

)

1 ) 1 | ( ) 1 | ( − − + − = j T j T j j P t t C CP t t C R K (3.42)

varpå xˆ och P för varje hypotes tidsuppdateras

j T j j j j Q A t t AP t t P t t x A t t x + − = − − − = − ) 1 | ( ) 1 | ( ) 1 | 1 ( ˆ ) 1 | ( ˆ (3.43)

Flera olika systemhypoteser kan påstå att ett visst inmätt eko skall associeras med det ekospår som behandlas. Sådana systemhypoteser kan kombineras till en och samma

ekohypotes.

Exempel:Låt ”Ekohypotes h” vara att det i:te inmätta ekot hör till det ekospår som behandlas. Då är

= = * ) ( ) ( system h j i h j p p Y y (3.44)

*) Där summeringen skall ske över samtliga systemhypoteser som uppfyller ekohypotesen h .

Hypoteserna som påstår att ekospåret inte mäts in hanteras separat. Rimligheterna för dessa summeras tillp0j.

Beräkna innovationer för varje ekohypotes:

) 1 | ( ˆ ) ( ) ( =y Cx t t j h j h j ε (3.45)

References

Related documents

Modellen som är en utvecklingslinje från Shulmans (1986) teorimodell om Pedagogical Content Knowledge (PCK) har nu använts i drygt 10 år och forskning har skett både

Här redogörs för vad det innebär att kunna läsa och skriva, olika faktorer som främjar läs- och skrivutveckling samt hur man främjar alla elevers läs- och skrivutveckling..

Det hon upplever är, snarare än upphetsning, ett kroppsligt lugn, en trygghet av att ha ”hittat hem till en trygg grotta.” (s. 147) Den alternativa temporaliteten tänks alltså

[…] jag vet inte om det egentligen är en bidragande orsak till om ett projekt blir lyckat eller inte för är alla medvetna om att vi ska köra så som vi alltid har gjort, se bara

Det går därmed att förstå att Smiling inte endast är entreprenöriella för att de är ett litet och relativt nystartat företag utan att deras verksamhet även genomsyras

Rubrikerna vi formade till resultatet blev: Hur pedagogerna arbetar med det pedagogiska verktyget Grön flagg, vad hållbar utveckling innebär för pedagogerna, vems engagemang

Det är en väldigt komplex situation där det finns många aspekter att ta hänsyn till, till exempel samhället och arbetsmarknadens uppbyggnad som inte är rustat för att

I tjejgruppen på ungdomsgården fanns det en tjej som kallades svensk av både sig själv och sina vänner, hon vistades dock inte på gården tillräckligt mycket för