DRFM för ZCU208 RFSoC. RF signal kommer in i ADC från SDR, lagras i URAM minnet
på kortet där signalen kan moduleras med gain, frekvensskift och ändrad range.
Signalen skickas sen ut genom DAC till SDR där fejkmålet kan visas.
I webbläsaren kan du ändra ett statiskt mål, t.ex en punkt i 1500 m 200 m/s eller
så kan du skapa banor som bättre simulerar verkligheten.
GUI visar planerad bana av fejkmål samt signalen i tidsdomän och frekvensdomän.
Bättre beskrivning på hur det fungerar finns i docs/PROJECT_TECHNICAL_GUIDE.md.
De förbättringar vi hittade på finns i docs/möjliga_förbättringar.md.
Bild på vår RFSoC, alla ADC's och DAC's är på RFDC
För att komma igång börja med att git clone:a detta repo. Git LFS behövs för att ladda ner bitstreamen och andra filer som tar upp mycket plats.
git clone https://github.com/maxwellmollersten/Target-Generator-on-RFSoC.gitFör att starta webbservern behöver du installera Flask och Flask-Sock. Kör sedan:
python web/server.pyi projektfoldern. Gå till en webbläsare och öppna http://192.168.10.1:8000 för att se GUI:t.
Vi har ett bash-script som kommer att sätta igång allt. Öppna en ny terminal och kör dessa kommandon i projektfoldern:
./install_bashrc.sh && source ./bashrc
wideband_startDå kommer du att ha ssh:at in i kortet och kan köra antingen val 1 eller 2. Val 1 försöker hitta rätt signal inom 1.6–3 GHz automatiskt, medan val 2 automatiskt sätter mixern på ett fast värde.
Det är lättast att använda val 2. Se bara till att SDR:ens frekvens är satt till 1946 MHz, vilket den är vid start i detta repo.
För att stoppa programmet, tryck Ctrl+C och kör sedan ett av dessa kommandon
på kortet för att starta det igen:
# Starta igen med fast läge
LEG=1 /tmp/rf_loopback/app_loopback_wideband.elf# Hitta rätt frekvens automatiskt
LEG=0 /tmp/rf_loopback/app_loopback_wideband.elfOm ni har ställt in att hitta rätt frekvens behöver knappen Auto-centrering i webb-GUI:t vara satt till "På".
För att sätta in en fast punkt med viss hastighet, range och amplitud, använd de sliders som finns högst upp. Denna punkt kommer inte röra sig och är därför inte lika realistisk. Som default är denna punkt "Av" genom att ha dBm på -80, men den kommer visa sig om du sätter dess dBm till 10.
För att sätta in en bana för en punkt, tryck på knappen "Lägg till mål" och skriv in de parametrar du vill ha för banan. Du kan simulera hur banan kommer se ut innan du sätter igång den om du vill. Tryck "Skapa" för att starta banan och "Ta bort" för att ta bort den.
Vi kan som mest skicka ut fyra fejkmål. För att ha fler mål tryck bara på samma knapp igen. Om du trycker på knappen "Svärm" kommer fyra mål skickas ut med förutbestämda vägar.
Det finns en energi- och tröskelinställning under avancerat. Vi har märkt att värdet 30 fungerar bäst för att inte missa riktiga signaler och samtidigt filtrera ut brus.
För att använda SDR-GUI:t kör detta kommando i en ny terminal i projektfoldern:
python verification/b210_radar/main.pySätt sedan på knappen Auto Restart.
Projektet förutsätter att datorn har den statiska IP-adressen 192.168.10.1, eftersom denna adress är hårdkodad.
Om din dator använder en annan IP-adress behöver du ändra den till 192.168.10.1. Detta kan göras under nätverksinställningarna på din dator.
- Koppla SDR'ens TX till MFB_ADC_01 på XM655 kortet.
- Koppla SDR'ens RX till MFB_DAC_01
- Koppla ADC tile 225 kanal 0 P och N till MFB_ADC_01 P och N
- Koppla DAC tile 228 kanal 0 P och N till MFB_DAC_01 P och N
Om du får ett felmeddelande där det står något liknande som "ERROR: PLL sample-rate metadata mismatches profile" så betyder det att fel image körs på kortet, från piratradio projektet. Kör då detta kommando i projekt foldern:
scp dt_build/image_rfdc_wideband.ub root@192.168.10.2:/run/media/mmcblk0p1/image.ub
ssh root@192.168.10.2 'sync'Power cycla sedan kortet för att boota det med den rätta image.
Om detta SD kort är trasigt eller du vill använda ett nytt så finns det en hel backup i github.
Följ instruktionerna i docs/image_instruktioner.md.
Maxwell Möllersten och Elias Benjaminsson
