Status: [X] Byggt RF-del [X] FMCW-radar (oscilloskop samplar signalen, och signalbehandling i matlab) [ ] Batteri eller USB-driven elektronik för inkoppling till dators ljudkort, samt triangelvågs-generator. [ ] Porta matlab-kod till C++ för signalbehandling. (detta steg är valfritt) [ ] GUI i SDL eller QT (detta steg är valfritt) [ ] Datainsamling FMCW/SAR [ ] SAR-algoritmer i octave [ ] Porta SAR-kod till C++ (detta steg är valfritt)
Syntetisk apertur-radar
Tills jag är klar kommer det att finnas en lista på revisioner av sidan här:
2011-07-23: Första beskrivning, färdigt avsnitt om FMCW komplett med grafer.
Såg att MIT har gett en projekt-kurs, där man får bygga sin egna radar. Sen finns det flera olika moment som dom i kursen fick ge sig på. Använda den för hastighets-mätning (doppler-radar), för avstånds-bedömning (FMCW), men även som syntetisk apertur-radar.
Jag kände för att själv ge det ett försök. Hittade ingen lista på vilka komponenter som skulle ingå, men det fanns en powerpoint för dom som läste kursen med bilder på hur den skulle monteras ihop. Man kunde ta tag i bilderna och förstora dom (i powerpoint), så man kunde läsa vad det stog på dom olika komponenterna. Sen var jag tvungen att byta ut en power splitter mot en annan (med lite sämre data) för att den varianten som var bäst var slut på minicircuits.
FMCW-radar
Tänkte att jag precis som dom börjar med något enklare innan jag försöker få ihop en SAR, så jag valde FMCW-spåret.
Introduktion
Grundprincipen bakom FMCW-radar är uppenbar så fort man vet vad förkortningen står för: Frequency modulated continuous-wave radar. Man sänder alltså kontinuerligt samtidigt som man ändrar den utsända frekvensen. Då kommer den reflekterade signalen som kommer tillbaks till radarn att ha en annan frekvens än den man sänder ut, och den frekvens-skillnaden motsvarar avståndet direkt. Wikipedia har säkert en hyfsad förklaring, men så här räknade jag:
För att svepa utfrekvensen linjärt fram och tillbaks mellan 2.4 och 2.5 GHz använde jag en vanlig triangel-generator kopplad till en VCO, och kombinationen svepte över dom 100 MHz:en på 20ms. Lite enkel matte behövs för att visa vad som händer:
Treflektion 1m = 2*1/300e6 = 6.7ns (Skillnad i tid mellan utsänd signal och mottaget eko för ett föremål på en meters avstånd)
df/dt = 100e6/20e-3 = 5 GHz per sekund (Hur mycket den utsända frekvensen ändras per sekund)
Ovanstående ger att frekvens-skiftet som genereras av ett objekt på en meters avstånd, ger en skillnad i frekvens mellan den utsända och den mottagna signalen på Treflektion 1m * df/dt = 33.3 Hz. Observera att alla ledningar och moduler mellan antennerna och blandaren (som skickar ut skillnads-frekvenserna) måste räknas in. Den här sidar är i första hand en överblick som inte bryr sig om detaljer, men vill man vara riktigt petig, så sveper jag bara 73MHz (då får jag marginaler mot gränserna av det frekvensband jag sänder på.).
Hårdvaran
Det här är hårdvaran. Jag hoppas MIT kommer ut med ett kitt eller komplett guide ganska snart, så kolla hos dom (eller gå på samma powerpoint som jag, leta efter "Course Instructions" i högerkanten). Eftersom jag valde sämre delar än MIT för att slippa vänta på ordern, känns det fel att lägga ut min inköpslista.
Appropå saker som är fel, så är diametern på mina burkar nån millimeter för stor för att vara optimala enligt How To Build A Tin Can Waveguide WiFi Antenna, men jag orkar inte prova alla sorters burkmat...
Alla kablar och några kontakter köptes billigt på ebay från Kina, tror dom kostade minst 5-10 ggr mindre där än om man köpt dom på något traditionelt ställe
När jag byggt den analoga front-enden för inkoppling till en PC, så kommer den att hamna här. Än så länge har jag bara samplat med oscilloskopet.
Resultat
I dom första försöken så samplade jag den mottagna signalen med ett oscilloskop. Det gav en maximal inspelnings-tid på 10 sekunder, med samplingsfrekvens på 51.2 kHz (men inget riktigt lågpass-filter, så vi får in en massa onödiga störningar också).
Provade att gå lite snabt fram och tillbaka till ytterdörren, samtidigt som jag spelade in vågformen. Vågformen styckar jag upp i små chunks, ungefär 20 ms långa (synkat med frekvensmoduleringen av radarn). Enklaste sättet att få ut vilka frekvenser som ingår i chunken, och med vilken styrka, är att trycka datat genom en FFT-algoritm.
För reflexer på lite längre avstånd är det här ett typiskt samplat chunk:
Notera at det bara finns 14 nivåer, men det var nödvändigt för att signalen inte skulle klippas när jag har reflexer väldigt nära. Tanken är att sampla signalen med ett ljudkort i stället, och att dessutom ha ett bra analogt alias-filter, och då hade man fått 112 nivåer i stället.
Jag var förvånad att jag fick ut någon användbar data över huvud taget, så här kommer resultatet av att behandla alla såna chunk under en 10-sekundersperiod. Datat samplades när jag gick från rakt framför antennerna, till ytterdörren, och sen tillbaks. För att få bort reflexer från sånt som inte rör sig, så visar jag skillnaden i spektrumet vid varje tidpunkt jämfört med ett spektrum som är 200ms gammalt.
Länkar
- MIT Lincoln Laboratory researchers introduce students to radar engineering
- How To Build A Tin Can Waveguide WiFi Antenna (dom har den berömda cantenna-kalkulatorn)
- Wikipedia om FMCW-radar
OBS! Du bygger alltid på egen risk, jag garanterar inte att något fungerar för dig.
Du ansvarar själv för risken att skada dig själv/andra/saker/datorer/eller annat!