Obálka
MÁRIA GAMCOVÁ  ·  JÁN GAMEC

RADARY
V AUTOMOBILOCH

Metodika merania a zadania

Technická univerzita v Košiciach
Fakulta elektrotechniky a informatiky
Katedra počítačových sietí
2026
Radary v automobiloch: metodika merania a zadania
Autori:
doc. Ing. Mária Gamcová, PhD.
doc. Ing. Ján Gamec, CSc.
Pracovisko:
Katedra počítačových sietí
Fakulta elektrotechniky a informatiky
Technická univerzita v Košiciach
Recenzenti:
prof. Ing. Milan Dado, PhD.
Ing. Emil Matúš, PhD.

Vydanie: prvé
Rok vydania: 2026
Náklad: 0 ks (elektronické vydanie)
Rozsah: 94 strán
Forma vydania: elektronická (HTML)
Dostupné na: radary-metodika.tuke.sk
Vydavateľ: Technická univerzita v Košiciach

Za odbornú a jazykovú stránku zodpovedajú autori. Rukopis neprešiel jazykovou úpravou.

ISBN 978-80-553-4964-0

Táto práca bola realizovaná s podporou grantu Kultúrnej a edukačnej grantovej agentúry MŠVVaM SR (projekt KEGA č. 073TUKE-4/2024).

Autori použili pri príprave publikácie asistenta s umelou inteligenciou (Claude, Anthropic) na jazykovú a redakčnú podporu a na sadzbu. Odborný obsah, merania a závery sú dielom autorov.

© Mária Gamcová, Ján Gamec, 2026

Anotácia

Práca s automobilovým radarom sa nezačína spracovaním signálu, ale meraním: zapojením aparatúry, nastavením nástrojov výrobcu a získaním záznamu, o ktorom je známe, za akých podmienok vznikol. Dokumentácia výrobcu je pritom rozdelená medzi viacero samostatných dokumentov a žiadny z nich neopisuje konkrétnu meraciu zostavu ako celok.

Publikácia sprevádza prácu s meracou zostavou zloženou z vývojového modulu AWR2944EVM a záznamového modulu DCA1000EVM. Prvá časť obsahuje overené postupy práce s nástrojmi spoločnosti Texas Instruments — programom mmWave Studio a prostredím mmWave Demo Visualizer — vrátane zapojenia, prepínačov, nahratia firmvéru a nastavenia rozhrania krok za krokom, s overiteľným kritériom úspechu pri každom kroku. Druhá časť je metodika merania výšky cieľa interferometricky z elevačného páru vysielačov: opisuje princíp, kalibračnú kampaň, dosiahnutú presnosť a hranice, za ktorými výsledok prestáva platiť. Tretia časť obsahuje štyri ucelené zadania pre prácu v skupinách, od jednokanálového spracovania po vlastnú kalibráciu elevácie. Prílohu tvoria analytické skripty, ktorými bola kampaň vyhodnotená.

Publikácia je určená študentom prvého až tretieho stupňa vysokoškolského štúdia v predmete Radary v automobiloch a v príbuzných predmetoch so zameraním na vysokofrekvenčnú a radarovú techniku. Používa sa pri laboratórnych cvičeniach, semestrálnych projektoch a záverečných prácach realizovaných na experimentálnych pracoviskách katedry. Nadväzuje na samostatný titul Radary v automobiloch: príručka k toolboxu AWR2944.

Kľúčové slová

FMCW radar, automobilový radar, AWR2944, DCA1000, mmWave Studio, meranie elevácie, interferometria, kalibrácia, laboratórne cvičenia, zadania

Poznámka k číselným údajom

Jednotlivé časti tejto publikácie používajú rôzne konfiguračné profily, a preto uvádzajú rôzne hodnoty rozlíšenia a rozsahu. Nejde o protirečenia, ale o rôzne merania: metodika elevácie vyžaduje viacvysielačový profil, porovnanie s nástrojmi výrobcu sa dá robiť len na jednovysielačovom a parametre scény v zadaniach si volí každá skupina sama. Prehľad je v podkapitole 1.4.

Do vzťahu pre rozlíšenie vo vzdialenosti patrí navzorkovaná šírka pásma, nie celé pásmo prebehnuté počas nárastu frekvencie. Obe hodnoty sú v nástrojoch výrobcu viditeľné, každá v inom okne.

Postupy obsluhy meracej zostavy TI AWR2944EVM + DCA1000EVM nástrojmi výrobcu, metodika interferometrického merania výšky cieľa a štyri zadania pre prácu v skupinách.

Text nadväzuje na Príručku k toolboxu AWR2944 · overené na zostave AWR2944EVM + DCA1000EVM v prostredí MATLAB · jazyk: slovenčina

Obsah

1. Úvod

1.1 O čom je táto publikácia

Príručka k toolboxu AWR2944 opisuje programové vybavenie — toolbox, ktorý autori vyvinuli pre vývojový modul AWR2944EVM so záznamovým modulom DCA1000EVM. Tento text je o niečom inom: o meraní samotnom. O tom, ako sa dáta z aparatúry vôbec dostanú von nástrojmi výrobcu, ako sa odmeria to, čo z nich priamo nevypadne, a ako sa z toho stane samostatná študentská práca.

Text sa preto pohybuje v troch rovinách:

Nástroje výrobcu tu nevystupujú ako konkurencia vlastného toolboxu. Vystupujú ako referencia: sú to nástroje, voči ktorým sa vlastné spracovanie overuje. Práve na tom stojí Zadanie 3, ktoré porovnáva štyri rôzne cesty od toho istého záznamu k zobrazenému výsledku.

Prečo je súčasťou aj návod pre AWR1843BOOST. Druhá vývojová doska nie je v texte navyše ani omylom. Bola obstaraná zámerne, pretože práca s ňou v prostredí MATLAB je podstatne odlišná — AWR1843BOOST je na zozname priamo podporovaných zariadení, AWR2944 nie. Tento rozdiel je metodicky cenný: ukazuje, čo znamená mať a nemať podporu výrobcu nástroja, a je zdrojom bonusovej časti Zadania 3, ktorá obe platformy porovnáva. Bez návodu pre AWR1843BOOST by toto porovnanie nemal čitateľ ako uskutočniť.
Kde sú súbory, na ktoré sa text odvoláva. Súbory toolboxu (awr2944_dca.m, radar_cfg.m, BIN2MAT_2944.m a ďalšie) sú v priečinku matlab\ balíka toolboxu, konfiguračné profily .cfg v priečinku profiles\; opisuje ich samostatný titul Radary v automobiloch: príručka k toolboxu AWR2944. Vyhodnocovacie skripty kampane sú vypísané v prílohe (kapitola 15) a sú aj v balíku s dátami kampane. Pri každej zmienke v texte je umiestnenie zopakované v zátvorke, aby sa čitateľ nemusel vracať sem.

1.2 Prečo publikácia vznikla

Oficiálna dokumentácia výrobcu je úplná v tom zmysle, že každý údaj sa v nej dá nájsť. Je však rozdelená medzi niekoľko samostatných dokumentov — user guide k vývojovému modulu, user guide k záznamovému modulu, aplikačné správy k jednotlivým technikám — a žiadny z nich neopisuje túto konkrétnu zostavu ako celok. Čitateľ, ktorý chce prvý raz získať záznam nespracovaných vzoriek, musí zložiť postup z troch alebo štyroch prameňov a pritom si domyslieť, čo v nich nie je napísané.

Tá skúsenosť sa v laboratóriu opakovala natoľko pravidelne, že postupy vznikli najprv ako interné poznámky a až potom ako učebný text. Zachovávajú si z toho jednu vlastnosť: pri každom kroku hovoria nielen čo urobiť, ale aj ako spoznať, že sa to podarilo. Prepínač je prepnutý správne vtedy, keď sa v okne objaví očakávaný riadok — nie vtedy, keď si čitateľ myslí, že ho prepol.

1.3 Ako čítať postupy

Všetky postupy v tomto texte boli overené na konkrétnej zostave: AWR2944EVM a DCA1000EVM, počítač so systémom Windows, prostredie MATLAB. Verzie nástrojov sa uvádzajú tam, kde na nich záleží.

Čo sa smie líšiť a čitateľa to nemá znepokojiť:

Čo sa líšiť nesmie a znamená chybu:

1.4 Referenčný profil — s akými číslami text počíta

Toto je najčastejší zdroj zdanlivých rozporov, preto stojí hneď v úvode. Jednotlivé časti textu používajú rôzne konfiguračné profily, a preto uvádzajú rôzne hodnoty rozlíšenia a rozsahu. Nie sú to protirečenia; sú to rôzne merania. Prehľad profilov použitých v jednotlivých častiach textu je v tabuľke 1.1.

Tabuľka 1.1. Konfiguračné profily použité v jednotlivých častiach textu

KdeProfilPrečo práve tento
Metodika merania elevácieviacvysielačový TDM profil Elevácia vyžaduje elevačný pár vysielačov, teda vysielanie z viacerých TX.
Porovnanie s nástrojmi výrobcujednovysielačový overovací profil Následné spracovanie v mmWave Studiu nepodporuje TDM, takže porovnávať sa dá len záznam s jedným vysielačom.
Zadaniavolí si skupina Parametre scény sú súčasťou zadania a medzi skupinami sa zámerne líšia.
Rozmietnuté a navzorkované pásmo nie sú to isté. Do vzťahu pre rozlíšenie vzdialenosti patrí navzorkovaná šírka pásma — teda tá časť nárastu frekvencie, počas ktorej sa naozaj zbierali vzorky — nie celé pásmo prebehnuté počas nárastu. Kto dosadí to druhé, dostane rozlíšenie niekoľkonásobne lepšie, než aké meranie v skutočnosti má. Obe čísla sú pritom v nástrojoch výrobcu viditeľné, každé v inom okne.

Malé rozdiely medzi vlastným spracovaním a nástrojmi výrobcu sú očakávané aj pri zhodnom profile, pretože nástroje nemusia počítať vlnovú dĺžku z tej istej frekvencie. Rozdiel rádu jednotiek promile na osi rýchlosti je dôsledok tejto voľby, nie chyba merania. Podrobne to rozoberá Zadanie 3.

1.5 Konektory, prepínače a číslovanie antén

Tri veci sa tiahnu všetkými postupmi a patria preto dopredu na jedno miesto.

Konektory podľa nástroja

Vývojový modul má dva mikro-USB konektory a každý slúži inému nástroju. Zámena je najčastejšia príčina toho, že sa spojenie nenadviaže, hoci je všetko ostatné správne. Presné označenia sú v príslušných kapitolách; podstatné je vedieť, že rozhodnutie o konektore vyplýva z toho, ktorý nástroj sa práve používa, a nie je vecou voľby.

Prepínače SOP

Postavenie prepínačov SOP určuje, čo modul po zapnutí urobí. Pre tri pracovné postupy v tomto texte sú potrebné tri rôzne nastavenia a prechod od jedného nástroja k druhému bez ich prehodenia je spoľahlivý spôsob, ako sa dostať k nefunkčnému spojeniu alebo k modulu, ktorý sa cyklicky reštartuje. Súhrnná tabuľka je v kapitole o práci s aparatúrou.

Číslovanie antén

V celej publikácii sa vysielače a prijímače číslujú od nuly: TX0 až TX3, RX0 až RX3. Takto je to zhodné s bitovými maskami v konfiguračnom profile aj s indexmi v dátovom poli. Dokumentácia výrobcu čísluje od jednotky, takže tam, kde sa cituje, treba prevod: TX0 v tomto texte je TX1 u výrobcu, a tak ďalej.

Jeden z vysielačov je oproti ostatným zvislo posunutý — práve on umožňuje meranie elevácie a bez neho sa výška cieľa určiť nedá. Ostatné vysielače ležia v jednej vodorovnej rovine a prispievajú k rozlíšeniu v azimute. Ktorý vysielač to je a aký veľký je jeho posun, rozoberá kapitola o metodike elevácie.

1.6 Vzťah k príručke toolboxu

Tento text a Príručka k toolboxu AWR2944 sú dve samostatné publikácie, ktoré sa dopĺňajú. Každá sa dá čítať bez tej druhej, ale spolu pokrývajú celú cestu od zapojenia aparatúry po vyhodnotenie merania.

Zadania sa na príručku odvolávajú pravidelne, pretože nástroje, ktoré sa v nich používajú, sú opísané tam. Opačným smerom je odkazov málo a týkajú sa práve postupov práce s aparatúrou.

1.7 Ako je kniha usporiadaná

Text má tri časti, ktoré sa dajú čítať aj samostatne. Kapitoly 2 až 7 sú postupy práce s aparatúrou: zapojenie, konfigurácia nástrojov výrobcu a dve rôzne cesty, ktorými sa z radaru dostanú dáta. Kapitoly 8 až 13 sú správa z merania — ako sa určuje výška cieľa, odkiaľ pochádzajú kalibračné konštanty a akú presnosť má výsledok. Kapitola 14 obsahuje štyri zadania, ktoré z oboch predchádzajúcich častí čerpajú, a kapitola 15 je príloha so skriptami, ktorými sa kampaň vyhodnotila.

Kto potrebuje len rozbehnúť meranie, vystačí si s kapitolami 2 až 5. Kto rieši zadanie, nájde na jeho začiatku, ktoré kapitoly má mať prečítané.

2. Predpoklady pred spustením mmWave Studio

Hardvérové požiadavky

AWR2944EVM sa pripája k DCA1000EVM 60-pinovým káblom Samtec LVDS (J7 na AWR k J3 na DCA) pre vysokorýchlostný dátový tok. Riziko: nesprávna orientácia pinu 1 na pin 1 spôsobí chybu LVDS_PATH_ERR. Presné referencie a opis konektorov sú v tabuľke 2-2 dokumentu AWR a v tabuľke 2-1 dokumentu DCA.

Napájanie: AWR2944EVM 12 V/3 A (J12, DC jack) — riziko: 5 V je nedostatočné a vedie k bootloopu (opakovanému reštartovaniu), ktorý signalizuje LED9. DCA1000EVM 5 V/3 A (J2, DC jack) — riziko: vyššie napätie poškodí FPGA.

Kábel USB Micro-B na J10 na AWR pre FTDI RS232 CLI, nie na XDS110 — pre komunikáciu s mmWave Studio rýchlosťou 921600 Bd. Riziko: nesprávny konektor znamená, že sa neobjaví žiadny COM port.

Ethernet kábel z J6 RJ45 na DCA do PC — pre gigabitový prenos dát, IP 192.168.33.180. Riziko: nesprávna IP znamená prázdny súbor .bin.

Režim SOP na AWR: prepojky SOP0 a SOP1 uzavreté (ON), SOP2 otvorená (OFF) pre režim Development. Riziko: nesprávne nastavenie znamená bootloop, LED9 bliká každých 5 s.

Prepínač S1 na DCA (4-polohový DIP, režim konfigurácie FPGA): S1.1 ON, S1.2 OFF, S1.3 ON, S1.4 OFF. Voľba počtu liniek LVDS sa nastavuje osobitne prepínačom SW2. Riziko: nesprávne nastavenie spôsobí LVDS_PATH_ERR.

Softvérové požiadavky

mmWave Studio 3.1.4.4 (stiahnuť z https://www.ti.com/tool/MMWAVE-STUDIO – over release notes pre podporu 2. generácie AWR2944; riziko: staršia verzia = nesúlad s firmvérom). mmWave Studio vyžaduje 32-bitový MATLAB Runtime R2015a SP1 (MCR verzia 8.5.1). Nesúvisí s verziou MATLABu, v ktorej sa dáta neskôr spracúvajú. Inštalátor: https://in.mathworks.com/supportfiles/downloads/R2015a/deployment_files/R2015aSP1/installers/win32/MCR_R2015aSP1_win32_installer.exe

Slúži na následné spracovanie súborov .bin v mmWave Studiu; bez neho sa Studio nespustí.

ovládače FTDI z C:\ti\mmwave_studio_<ver>\mmWaveStudio\ftdi (Pri nesprávnej alebo chýbajúcej inštalácii sa nezobrazí žiadny COM port v Správcovi zariadení (Device Manager)). Microsoft Visual C++ 2013 Redistributable (x86) (https://support.microsoft.com – pre DLL kompatibilitu. Ak chýba, môžu sa objaviť chyby počas behu, nie je to však nevyhnutná súčasť inštalácie).

Output log (dôležité): Okno výstupu v mmWave Studio (GUI) loguje operácie s časovými značkami (napr. [10:18:32] Operation: Success). Treba ho neustále sledovať, pretože potvrdzuje úspech (napr. "Connected to COM18"), odhaľuje chyby (napr. "LVDS_PATH_ERR"), a poskytuje kontext (napr. "Firmware download: 50%", "Parameter out of range"). Pravým kliknutím sa získajú detaily (napr. "Error code 3: Invalid COM"). Ignorovanie logu vedie k slepým pokusom – log je kľúčový pre diagnostiku (napr. 80% problémov rieši log analýza, ako "Jumper mismatch" pre SOP).

3. Konektory, prepínače a diódy LED na doskách

Zdroj obrázkov dosiek. Obrázky 3.1 až 3.22 vychádzajú z dokumentácie výrobcu a sú do nich dokreslené vlastné popisy prvkov. Úplné údaje sú: Pod jednotlivými obrázkami je uvedený už len kód dokumentu. Snímky obrazovky mmWave Studio, fotografia zapojenej zostavy a kresba priebehu chirpu sú vlastné.

Dosky sú komplexné evaluačné moduly: AWR2944EVM (77 GHz radar čip s 4 TX/4 RX, pre automotive sensing, riziko: vysoké frekvencie vyžadujú presnú konfiguráciu) a DCA1000EVM (capture card pre záznam ADC dát cez LVDS/Ethernet, riziko: nesprávne lane nastavenie = strata dát). Obrázky sú v TI PDF

AWR2944EVM: https://www.ti.com/lit/ug/spruj22c/spruj22c.pdf

DCA1000EVM: https://www.ti.com/lit/ug/spruij4a/spruij4a.pdf

TI E2E fórum pre komunitné foto: https://e2e.ti.com/search?q=AWR2944EVM+setup

3.1 AWR2944EVM

Rozmiestnenie prvkov na doske AWR2944EVM z oboch strán je na obrázku 3.1. Označené sú na ňom napájací konektor J12, obidva konektory USB — J10 pre FTDI a J8 pre XDS110 — konektor J7 pre LVDS, oba ethernetové konektory J4 a J9, konektor J19 pre MIPI, zbernice CAN na J2 a J3, prepojky SOP na J17, J18 a J20, prepínače S1 a S2 a diódy D9, D12, D13 a D16. Ďalšie obrázky sú výrezy z tohto celku.

Obrázok 3.1. Celkové rozmiestnenie dosky s označenými prvkami v oboch pohľadoch
Obr. 3.1. Rozmiestnenie prvkov na doske AWR2944EVM v oboch pohľadoch
Upravené podľa SPRUJ22C.
Dva konektory USB, dva rôzne nástroje. Cez J10 (FTDI) komunikuje mmWave Studio, cez J8 (XDS110) mmWave Demo Visualizer aj toolbox. Zámena týchto dvoch konektorov je najčastejšia príčina toho, že sa spojenie nenadviaže, hoci je všetko ostatné nastavené správne.

3.2 Čo je čo na AWR2944EVM

Konektory

J12 (Power): DC jack (5.5 mm x 2.1 mm). Funkcia: 12V/3A napájanie pre celú dosku. Po pripojení 12V napájania k EVM spoločnosť TI odporúča raz stlačiť tlačidlo NRST (SW1), aby sa zabezpečil spoľahlivý štartovací stav. (riziko: 5V = nedostatočné, vedie k bootloopu - blikaniu LED9 alebo prehriatiu; nutné použiť kompatibilný adaptér). Označenie pinov: Stred +12V, vonkajší GND. Zabezpečuje napájanie radarového čipu a periférií. Detail je na obrázku 3.2 (čierny DC jack).

Obrázok 3.2
Obr. 3.2. Napájací konektor J12 (DC jack, 12 V)
Upravené podľa SPRUJ22C.

J10 (USB): Micro USB Type B. Funkcia: FTDI RS232 pre CLI komunikáciu s mmWave Studio (COM port, baud 921600; riziko: nesprávny kábel = žiadna detekcia v Device Manager). Označenie pinov: Pin 1: VBUS (5V), Pin 2: D-, Pin 3: D+, Pin 4: ID, Pin 5: GND. Je to primárne rozhranie pre konfiguráciu (FTDI čip konvertuje USB na UART/SPI). Obrázok 3.3 (malý Micro USB port).

Obrázok 3.3
Obr. 3.3. Konektor J10 (Micro USB Type B) pre FTDI
Upravené podľa SPRUJ22C.

J7 (Debug/LVDS): Samtec QTH-030-01-L-D-A (60-pin high-density). Funkcia: LVDS pre DCA1000EVM (data capture cez 4 lanes), SPI/I2C/JTAG/GPIO debug (riziko: nesprávna orientácia pinu 1 = LVDS_PATH_ERR alebo poškodenie). Označenie pinov: Pin 4: XREF_CLK0, Pin 7-12: LVDS pairs, Pin 13-20: GPIO (kompletný v tabuľke 2-2 užívateľskej príručky SPRUJ22C). Je to vysokorýchlostné prepojenie pre ADC dáta (až 900 Mbps/lane). Obrázok 3.4 znázorňuje J7 ako 60-pin Samtec.

Obrázok 3.4
Obr. 3.4. Konektor J7 (60-pin Samtec) pre LVDS
Upravené podľa SPRUJ22C.

J4 (Ethernet MATEnet): MATEnet (9-2304372-9, automotive). Funkcia: 100Mbps Ethernet cez PHY DP83TC812R-Q1 (alternatíva pre prepojenie s ECU; riziko: nesprávne pripojenie = krátky skrat). Označenie pinov: Pin 1: TRD_P, Pin 2: TRD_M, Pins S1-S6: GND (tabuľka 2-1 užívateľskej príručky SPRUJ22C). Je určený pre pokročilé aplikácie, nie primárne pre mmWave Studio. Obrázok 3.5 znázorňuje J4 ako robustný MATEnet connector.

Obrázok 3.5
Obr. 3.5. Konektor J4 (Ethernet MATEnet)
Upravené podľa SPRUJ22C.

J9 (Ethernet RJ45): RJ45. Funkcia: Gigabit Ethernet cez PHY DP83867ERGZR (alternatíva pre data streaming; riziko: nesprávny kábel = žiadna linka-LED). Označenie pinov: štandardné TRD páry a piny LED (tabuľka 2-1 SPRUJ22C). Je to alternatívny Ethernet port. Obrázok 3.6 zobrazuje J9 ako štandardný RJ45 port.

Obrázok 3.6
Obr. 3.6. Konektor J9 (Ethernet RJ45)
Upravené podľa SPRUJ22C.

J19 (MIPI): 60-pin MIPI. Funkcia: JTAG/CSI2/trace pre emulátory (napr. XDS560pro; riziko: nepoužívať pre LVDS = chybný tok). Označenie pinov: Pin 1: MIPI_VREF_DEBUG a ďalej podľa tabuľky 2-1 SPRUJ22C. Je určený na pokročilé ladenie, nie štandardný capture. Obrázok 3.7 60-pin konektor MIPI.

Obrázok 3.7
Obr. 3.7. Konektor J19 (60-pin MIPI)
Upravené podľa SPRUJ22C.

J3 (CAN-A): 3-pin svorkovnica. Funkcia: CANA bus prepojenie (CANA_L/H; riziko: skrat pri nesprávnom pripojení pinov). Označenie pinov: Pin 1: CAN_L, Pin 2: GND, Pin 3: CAN_H. Je určený pre automotive komunikáciu, voliteľné. Obrázok 3.8: znázorňuje J3 ako malú svorkovnicu — na našej doske v modrom prevedení.

Obrázok 3.8
Obr. 3.8. Svorkovnica J3 (CAN-A)
Upravené podľa SPRUJ22C.

J2 (CAN-B): 3-pin svorkovnica. Funkcia: CANB bus. Označenie pinov: Pin 1: CAN_L, Pin 2: GND, Pin 3: CAN_H. Obrázok 3.9 zobrazuje J2 vľavo vedľa J3 — na našej doske v modrom prevedení.

Obrázok 3.9
Obr. 3.9. Svorkovnica J2 (CAN-B) vedľa J3
Upravené podľa SPRUJ22C.

Prepínače (prepojky)/Jumpers

SOP prepojky (J17, J18, J20): 3-pinový blok prepojok. Funkcia: Boot módy (Development: SOP0/SOP1 uzavreté/ON, SOP2 otvorené/OFF – logic 1 = uzavretý; riziko: nesprávne = bootloop, LED9 bliká). Určuje CLI režim pre mmWave Studio (Development pre eval). Obrázok 3.10 (AWR PDF, str. 12) znázorňuje J17/SOP2, J18/SOP1, J20/SOP0 blok prepojok s tabuľkou nastavení (tabuľka 3.1) ON/OFF pre jednotlivé módy

Tabuľka 3.1. Voľby módov SOP

Prepojka a označeniePoužitieKomentár
J17 (SOP 2), J18 (SOP 1), J20 (SOP 0)SOP[2:0]101 (SOP mode 5) = Flashing mode
001 (SOP mode 4) = Functional mode
000 (SOP mode 3) = Reserved
011 (SOP mode 2) = Development mode
010 (SOP mode 1) = Reserved
Obrázok 3.10. Mód 2
Obr. 3.10. Nastavenie prepínačov SOP pre mód 2 (Development mode, SOP[2:0] = 011)
Upravené podľa SPRUJ22C.

S1 JTAG Mux Jumper: Funkcia: Prepína JTAG lines na J19 MIPI pre emulátory (predvolené: prepnuté do polohy na XDS; riziko: zmena = strata CLI). Určuje advanced debug, nie štandardné. Zobrazený na obrázku 3.11

Obrázok 3.11
Obr. 3.11. Prepínač S1 (JTAG Mux) na AWR2944EVM
Upravené podľa SPRUJ22C.

S2 SPI Mux Jumper: Funkcia: Keď je nastavené na polohu „PMIC_SPI“, rozhranie MSS_SPIB je smerované do PMIC a do konektora J16.1 Keď je nastavené na „DBG_SPI“, rozhranie MSS_SPIB je smerované do 60-pinového ladiacieho konektora (J7). Pre komunikáciu mmWave Studio s DCA1000 je treba prepnúť do polohy „DBG_SPI“ alebo nechať uprostred. Zobrazený na obrázku 3.12.

Obrázok 3.12
Obr. 3.12. Prepínač S2 (SPI Mux) na AWR2944EVM
Upravené podľa SPRUJ22C.

Diódy LED

D9 (WRMRST): Žltá. Funkcia: Reset status (stabilná = OK, bliká každých 5s = bootloop, napr. nesprávny SOP alebo napájanie; riziko: dlhé blikanie = prehriatie). Je určená na rýchlu diagnostiku boot problémov pred mmWave Studio. Obrázok 3.13 ukazuje LED9 pri J2 (žltá LED).

Obrázok 3.13
Obr. 3.13. Dióda D9 (WRMRST) pri konektore J2
Upravené podľa SPRUJ22C.

D12 (Power LED): Zelená. Funkcia: 12V input a interné napätie (zapnutá = OK; riziko: vypnutá = žiadna power, blokuje detekciu). Potvrdzuje napájanie pred prepojením s DCA1000 a mmWave Studio. Obrázok 3.14 zobrazuje zelenú LED D12 pri J20.

Obrázok 3.14
Obr. 3.14. Dióda D12 (Power, zelená) pri konektore J20
Upravené podľa SPRUJ22C.

D13 NRST (žltá). Táto LED dióda signalizuje stav resetu (NRST). Keď doska prejde boot-om po stlačení reset tlačidla (SW1) alebo po zapnutí napájania, NRST LED svieti, čo pomáha indikovať, že doska sa správne inicializovala. Zobrazená na obrázku 3.15.

Obrázok 3.15
Obr. 3.15. Dióda D13 (NRST) a tlačidlo resetu SW1
Upravené podľa SPRUJ22C.

D16 (žltá). Slúži ako indikátor prítomnosti napájania 5 V z PMIC – teda pomáha signalizovať, že vnútorný 5 V výstup je aktívny a dostupný. D12 označuje prítomnosť 12 V napájania z externého adaptéru. D16 teda dopĺňa túto informáciu tým, že ukazuje, že doska správne reguluje vnútorné napätie 5V. Pozícia je zrejmá z obrázka 3.1.

Diódy aktivity pri konektore J9 (RJ45): žltá (activity) a zelená (link). Funkcia: Link status (zelená = pripojené), data activity (žltá = tok; riziko: vypnutá zelená = Ethernet chyba v capture). Slúži na diagnostiku Ethernetu.

3.3 DCA1000EVM

Rozmiestnenie prvkov na doske je na obrázku 3.16 — konektory, tlačidlá, prepínače a diódy LED v oboch pohľadoch.

Strana dosky DCA1000EVM s obvodom FPGA, prepínačmi a konektorom J3, s označením prvkov Strana dosky DCA1000EVM s konektorom RJ45, slotom pre kartu SD a napájacím konektorom, s označením prvkov
Obr. 3.16. Rozmiestnenie prvkov na doske DCA1000EVM. Hore strana s obvodom FPGA, prepínačmi a 60-pinovým konektorom J3, dole strana s konektorom RJ45 (J6), slotom pre kartu SD a napájacím konektorom (J2).
Upravené podľa SPRUIJ4A.

3.4 Čo je čo na DCA1000EVM

Konektory a prepojenia

J3 – 60-pin konektor: prepojenie s AWR2944EVM (J7). Prenáša LVDS dáta + riadiace signály.

J6 – RJ-45 Ethernet: prenáša nespracované (RAW) dáta do PC (1 Gb/s).

J1 – RADAR_FTDI (USB): ! NEPOUŽÍVA SA pri AWR2944EVM ! (GUI ide cez USB na AWR2944EVM).

J4 – FPGA_JTAG (USB): iba na servis/programovanie FPGA.

Prepínače, tlačidlá, prepojky/Jumpers

SW1 – DIP (šírka ADC vzorky po LVDS): voľba 12/14/16-bit (Obrázok 3.17).

Obrázok 3.17
Obr. 3.17. Prepínač SW1 (DIP) — šírka vzorky ADC
Upravené podľa SPRUIJ4A.

SW2 – DIP (mód záznamu): režim FPGA (capture/playback, lanes, SW/HW config atď. - Obrázok 3.18).

Obrázok 3.18
Obr. 3.18. Prepínač SW2 (DIP) — mód záznamu
Upravené podľa SPRUIJ4A.

SW3 – prepínač napájania DCA1000 (Obrázok 3.19):

pozícia 1 = DC jack 5 V (externý adaptér) – použi pre AWR2944,

pozícia 3 = 5 V zo 60-pin z radarovej EVM (všeobecná možnosť; pri AWR2944 TI odporúča vlastných 5 V).

Obrázok 3.19
Obr. 3.19. Prepínač SW3 — voľba napájania DCA1000EVM
Upravené podľa SPRUIJ4A.

SW4 PROGRAMN, SW5 Capture Start, SW7 FPGA_RST: tlačidlá na programovanie/reset/test (Obrázok 3.20).

Obrázok 3.20
Obr. 3.20. Tlačidlá SW4 (PROGRAMN), SW5 (Capture Start) a SW7 (FPGA_RST)
Upravené podľa SPRUIJ4A.

S1 – 4-DIP –(Obrázok 3.21). Umožňuje konfiguráciu programovania FPGA, ako je uvedené v tabuľke 3.2

Tabuľka 3.2. Voľby módov konfigurácie FPGA

Mód konfigurácieS1[4:2]S1.4S1.3S1.2
Master SPI010Pin5(FPGA_CFG2)Pin6(FPGA_CFG1)Pin7(FPGA_CFG0)

Prepínač S1 nastavuje režim programovania obvodu FPGA (nástrojom Lattice Diamond Programmer cez konektor J4), nie bežnú prevádzku dosky — pri meraní sa ho netreba dotýkať. Dokumentácia výrobcu uvádza jediný režim, Master SPI; mód určujú tri polohy S1.2 až S1.4 (zápis S1[4:2]), poloha S1.1 doň nevstupuje.

Obrázok 3.21
Obr. 3.21. Prepínač S1 (4-DIP) — mód konfigurácie FPGA
Upravené podľa SPRUIJ4A.

Diódy LED

LED LD1…LD15: indikujú napájanie, stav FPGA, chyby LVDS a aktivitu. Na obrázku 3.22 sú diódy LD1 až LD9 aj s opisom funkcií. Pri prenose údajov do PC sa rozsvieti a bliká LD1 (zelená). Krátko po štarte diódy LED chybových hlásení sa rozsvietia na červeno, ale po krátkom čase zhasnú. V hornom rade zostane svietiť iba LD10 (zelená), ktorá indikuje 5V napájanie. Správny stav je, že svieti iba LD10 a LD14 (zelené), pričom pri prenose a zázname dát blikajú LD1 (zelená) a diódy (zelená a žltá) na Ethernet konektore. Presné polohy jednotlivých prvkov sú na obrázku 3.16.

Obrázok 3.22. Diódy LED LD1 až LD9 s opisom funkcii.
Obr. 3.22. Diódy LED LD1 až LD9 s opisom funkcií.
Upravené podľa SPRUIJ4A.

3.5 Presné nastavenie prepínačov

SW1 (3-DIP – ADC bit width)

Bežné: 16-bit ADC → OFF, OFF, ON (SW1.1=OFF, SW1.2=OFF, SW1.3=ON). (podľa DCA1000)

SW2 (8-DIP)

SW2.1 → Pin 1 = LVDS Capture mód.

SW2.2 → Pin 15 = stream dát do PC (Ethernet).

SW2.3 → Pin 3 = počet liniek LVDS. AWR2944 využíva dve linky; v rozhraní mmWave Studio sú preto polia Lane3 a Lane4 zošedené a zvoliť sa nedajú.

SW2.4 → Pin 4 = RAW_MODE .

SW2.5 → Pin 12 = konfigurácia zo SW (mmWave Studio).

SW2.6 → Pin 11 = FPGA default IP nastavenia (EEPROM často prázdna).

SW2.7, SW2.8 → GND (Pin 7, 8) = nepoužívané.(rozloženie a význam prepínačov podľa TI DCA1000 UG)

SW3 (napájanie DCA1000)

Pre AWR2944EVM použi SW3 = 1 (externý 5 V DC-jack).TI uvádza priamo: „12 V na AWR2944EVM (J12) a 5 V na DCA1000 (J2)“ v krokoch pripojenia. Možnosť SW3=3 (5 V z 60-pin) je všeobecná, ale nie je odporúčaná pre túto konfiguráciu.

S1 (4-polohový DIP — mód konfigurácie)

(vychádzajúc z označení na doske, kde ON je opačne k fyzickému označeniu DIP)

4. Zapojenie a prvé spustenie

4.1 Postup zapojenia (krok za krokom)

  1. Vypnuté napájania: Skontroluj/Nastav prepínače/prepojky SOP, S1 a S2 na doske AWR2944EVM podľa vyššie uvedeného a tiež SW1, SW2, SW3=1 a S1 na doske DCA1000EVM. Skontroluj/Prepoj AWR2944EVM ↔ DCA1000EVM 60-pin plochým káblom (AWR2944 J7 → DCA1000 J3, dodrž správnosť pinov konektorov).
  2. Napájanie: AWR2944EVM:  j 12 V na J12 (≥ 2.5 A). DCA1000EVM:  5 V na J2, SW3=1. Zapni dosky. Najprv pripoj konektor napájania AWR2944, potom cca po 5s DCA1000, rozsvietia sa users LED a zhasnú, potom podľa potreby krátko stlač SW1- NRST na AWR2944 (TI to odporúča, nie vždy je to nevyhnutné). Ethernet: pripoj J6 (DCA1000) → PC (1 Gb/s) a na PC nastav statickú IP 192.168.33.30. USB ovládanie radaru: pripoj micro-USB na AWR2944EVM (FTDI/XDS port J8/J10 podľa UG); J1 na DCA1000 nechať voľné !.
  3. Skontroluj LED: DCA1000: LD10 (5V) = svieti, LD14 (DONE) = svieti, ; RJ-45 link/activity svieti/bliká. AWR2944EVM: D13 NRST, VBAT_INT, 5V0 svietia po privedení 12 V. (Ak LD14 (DONE) na DCA1000 nesvieti) krátko stlač SW4 PROGRAMN, prípadne SW7 FPGA_RST.

4.2 Najdôležitejšie diódy LED (rýchla diagnostika)

DCA1000 – LD10: 5 V prítomné, LD14: FPGA DONE, LD1: DATA_TRANS_PROG (počas streamu), LD7: LVDS_PATH_ERR (skontroluj 60-pin a SW2.3).

AWR2944 – D12 VBAT_INT po privedení 12 V, D13 NRST a D16 5V SUPP .

4.3 Sieťové parametre (predvolené z FPGA, ak SW2.6 = Pin 11)

FPGA IP: 192.168.33.180

PC IP: 192.168.33.30

Config port: 4096

Data porty: 4098–4102(TI DCA1000 dokumentácia/štandardné defaulty)

Na Obrázku 4.1 je znázornený stav aké konektory (typy káblov ) sú pripojené a aké stavy LED diód sú po úspešnom naštartovaní AWR2944EVM+DCA1000EVM pred procedúrou naviazania spojenia s programom mmWave Studio. LD10 a LD14 sú prekryté doskou AWR2944. Nasleduje prepojenie USB kábla z FTDI AWR2944 do PC a Ethernet výstupu do vstupu Ethernet PC. Ak PC nie je vybavené príslušnými vstupmi je nevyhnutné použiť vhodný HUB.

Obrázok 4.1
Obr. 4.1. Zapojené káble a stavy diód LED po úspešnom spustení

5. Nastavenie rozhrania mmWave Studio

Grafické rozhranie mmWaveStudio je navrhnuté na komunikáciu, nastavenie a vyhodnocovanie zariadení radarov od spoločnosti Texas Instruments. Od tejto spoločnosti existuje viacero typov radarov (zariadení triedy mmWave) a preto existuje aj viacero verzií rozhrania mmWave Studio. Pre AWR2944EVM je výrobcom stanovená verzia 3.1.4.4. Zariadenie mmWave sa konfiguruje a ovláda z mmWaveStudio odosielaním príkazov do zariadenia cez SPI rozhranie. Dáta ADC sa zaznamenávajú pomocou dosky DCA1000 EVM pre jednočipové systémy a do PC sa prenášajú prostredníctvom Ethernet spojenia. Dáta sa spracúvajú v Matlabe (RunTime v 8.5.1- musí byť nainštalovaná) a výsledky sa zobrazujú v grafickom rozhraní mmWave Studia.

Samotné rozhranie pozostáva z viacerých kariet (Tabov) na ktorých sú realizované jednak komunikačné nastavenia, ale aj parametre a módy prevádzky radarov, či parametre spracované a zobrazované dát. Na obrázku 5.1 je znázornené rozhranie mmWave Studia, možno rozčleniť na okno Radar API a okno výstupov (Output window). V okne Radar API je možné vidieť množstvo kariet (Tabov) pre modifikovanie parametrov, režimov prevádzky, metód spracovania signálov a ale aj rôznych konfigurácii a grafických zobrazení. V okne výstup potom možno pozorovať odpovede a reakcie celého systému na podnety z jednotlivých Tabov.

Obrázok 5.1
Obr. 5.1. Hlavné okno mmWave Studio s kartami a oknom výstupu

V nasledujúcej časti bude podaný stručný opis a postup pre nastavenia v jednotlivých Taboch tak, aby sa bolo možné dopracovať k záznamu a zobrazeniam dát. Pretože v súčasnosti radar AWR2944EVM nemá priamu podporu v prostredí Matlab, výklad bude smerovať aj k tomu ako prepojiť výstupné dáta s Matlabom aby ich bol možné následne spracovať v prostredí Matlab z dôvodu existencie množstva metód pre spracovanie signálov z FMCW radarov. Pre Matlab existuje viacero rozšírení – toolboxov (napr. Radar Toolbox, Antenna Toolbox, RF Toolbox, Phased Array System Toolbox, atď.), ktoré sú určené buď na simulácie generovanie, ale aj spracovanie rôznych typov signálov z oblasti vysokofrekvenčnej techniky.

5.1 Connection Tab (Radar Setup)

Na obrázku 5.2 je detailnejšie zobrazenie Tabu Connection.

Obrázok 5.2
Obr. 5.2. Karta Connection (Radar Setup)

Predpokladom však je nainštalované mmWave Studio, ovládače FTDI, AWR2944EVM + DCA1000EVM pripojené (power, USB, Ethernet, Samtec kábel), SOP módy nastavené (SOP0 a SOP1 uzavreté, SOP2 otvorené pre Development mode). Spustiť mmWave Studio ako administrátor.

Otvorenie Connection tabu

Po spustení mmWave Studio sa automaticky otvorí Connection tab (ak nie, klikni na "Connection" v hornom menu).

Vysvetlenie: Tento tab slúži na inicializáciu pripojenia k AWR2944 cez RS232 (pre CLI príkazy – Command Line Interface) a SOP módy (pre reset zariadenia). Over, či "No of devices detected" = 1. Ak nie je, klikni na refresh (označenie číslom 1 v obrázku 5.2). Tento krok zabezpečuje detekciu jedného zariadenia pre stabilné pripojenie.

Nastavenie SOP módu

V sekcii "Reset Control" Klikni na "Set". Predtým musel byť na doske AWR nastavený SOP Mode 2 (Development Mode - SOP0 a SOP1 uzavreté, SOP2 otvorené).

Vysvetlenie: SOP2 aktivuje evaluačný režim pre AWR2944, čo umožní stiahnutie firmvéru (firmware download) a RF konfiguráciu. Kliknutie na "Set" spustí reset, aby sa mód aplikoval (over diódy LED na EVM pre potvrdenie resetu – zabráni konfliktom pri ďalších krokoch).

Pripojenie cez RS232

V sekcii "RS232 Operations" vyber COM port (posledný "AR-DevPack-EVM-012" z Device Manager, napr. COM15 ako znázorňuje obrázok 5.3). Vhodné je predtým stlačiť tlačidlo pre opätovné načítanie COM portov ak sú splnené predchádzajúce body.

Nastav baud rate na 921600 (predvolené po inicializácii; začína na 115200, potom sa prepne).

Klikni na "Connect".

Obrázok 5.3
Obr. 5.3. Sekcia RS232 Operations po úspešnom pripojení

Vysvetlenie: RS232 umožní komunikáciu cez UART pre CLI (.cfg súbory). Baud 921600 zvyšuje rýchlosť prenosu; ak zlyhá, skús 115200 a over Device Manager (ak porty chýbajú, update ovládače FTDI manuálne z priečinka mmWave Studio\ftdi – rieši "No devices detected"). Po úspechu sa deteguje typ zariadenia (AWR2944) a frekvencia automaticky v sekciách "Operating Frequency" a "Device Variant". Zmení sa tiež opis statusov napr. podľa obrázka 5.4.

Obrázok 5.4
Obr. 5.4. Stav po nadviazaní spojenia — Operating Frequency a Device Variant

Download firmware

V sekcii "Firmware Download" klikni na tlačidlo vedľa "BSS" a vyber súbor (napr. mmwave_studio_<ver>\rf_eval_firmware\radarss\xwr29xx_radarss_rprc.bin pre AWR2944 ES2.0).

Klikni na "Load".

Opakuj pre "MSS" (napr. mmwave_studio_<ver>\rf_eval_firmware\masterss\xwr2xxx_masterss.bin) a klikni "Load".

Vysvetlenie: Firmware (BSS pre radar subsystem, MSS pre master) inicializuje AWR2944 pre RF operácie. Over log v status sekcii pre verzie firmvéru (ak visí na 0%, power cycle (vypnutie a zapnutie napájania) EVM a skús znova – zabezpečuje kompatibilitu s DCA1000).

SPI Connect a RF PowerUp

Klikni na "SPI Connect" (zmení sa na "SPI Disconnect" pri úspechu).

Klikni na "RF PowerUp".

Vysvetlenie: SPI connect umožní príkazy cez SPI (nutné pre konfiguráciu). RF PowerUp aktivuje BIST (built-in self-test) a power up radaru, čo pripravuje zariadenie na dátový zber (ak zlyhá nepokračuj. Je nutné použiť Uniflash na erase flash a celý postup opakovať– rieši LVDS chyby). V okne výstupu treba kontrolovať hlásenia zobrazené červenou farbou. Tie indikujú, že proces neprebehol správne.

5.2 Setup DCA1000 v mmWave Studio

Cieľ: Inicializovať DCA1000EVM pre "raw ADC data capture" (reálny formát pre AWR2944), overiť LVDS path a Ethernet komunikáciu. Bez toho nie je možné streamovať dáta z AWR2944 cez Samtec kábel (LVDS) do DCA1000 a potom do PC (Ethernet), čo blokuje následný zber dát a obrazový výstup v PostProc. Eliminuje chyby ako LVDS_PATH_ERR alebo "No data captured" tým, že overí hardware/software spojenie.

Na ľavej strane vedľa tabu Connection navoľ/skontroluj "radioButton"-volič, že pre zber dát bude použitá karta DCA1000. Potom klikni na "Setup DCA1000" – otvorí sa nové okno "RFDataCaptureCard" viď obrázok 5.5 na ľavej strane.

Obrázok 5.5
Obr. 5.5. Okno RFDataCaptureCard pre nastavenie DCA1000EVM

Význam jednotlivých položiek je nasledovný:

FPGA Version/DLL Version. Tu sa po úspešnom "Connect, Reset and Configure" zobrazí verzia FPGA image na DCA1000. Ak tam stále svieti 0.0.0.0, znamená to, že ešte neprebehlo spojenie.

V sekcii "System Configuration":

System IP Address. IP tvojho PC (musí byť 192.168.33.30). Pole je šedé, lebo sa nedá meniť priamo v GUI, nastavuje sa to v sieťových nastaveniach Windows.

FPGA IP Address. Prednastavená IP DCA1000: 192.168.33.180. Nemeniť (iba ak by bol iný FPGA image s inou IP)!

FPGA MAC Address:Hardvérovo zakódovaná MAC adresa DCA1000 (v GUI je ukážková 12-34-56-78-90-12).

Config Port: Predvolený port pre konfiguračnú komunikáciu: 4096.Necháva sa tak!

Record Port: Port, cez ktorý idú nespracované RAW dáta: 4098 (a ďalšie 4099, 4100, 4101 pre viac streamov). GUI ti ukazuje len prvý.

Módy:

Data Logging Mode: Vo verzii 3.1.4.4 je to prednastavené na "Raw Mode". „Header Mode“ by pridával rámčeky pre každý dátový blok, ale pre AWR2944 sa používa Raw.

Data Transfer Mode: Fixne nastavené na LVDS Mode (to je spôsob, akým radar posiela ADC dáta).

Data Capture Mode: "Ethernet Stream" → dáta sa okamžite posielajú do PC cez Ethernet. Alternatívne režimy (SD Card capture) tu pre DCA1000 nie sú aktívne.

Ostatné:

Packet Seq Enable: Ak je zaškrtnuté, každý UDP paket dostane sekvenčné číslo. Odporúčané nechať zapnuté, lebo sa dá rýchlo odhaliť strata paketov.

Packet Delay (µs): Pauza medzi paketmi, štandardne 25 µs. Ak je stabilná 1 Gb/s link, môže sa nechať default. Zvýšenie pomáha, ak by sa vyskytla strata paketov.

5.3 Pripojenie DCA1000: Connect, Reset and Configure

Klikni na "Connect, Reset and Configure". Toto je hlavná akcia. Po kliknutí sa GUI pripojí k FPGA (IP 192.168.33.180, port 4096), vynuluje jeho stav a znovu ho nakonfiguruje. Vtedy sa v hornej časti objaví verzia FPGA (už nebude 0.0.0.0, teraz 2.9 [Record]), tlačidlo sa zmení na "Disconnect", "Reset and Configure" sa stane aktívnym (Je to zrejme z obrázka 5.5 na pravej strane). DLL komunikuje s DCA1000. Ak sa to podarí, LED LD14 (DONE) na DCA1000 svieti a komunikácia je potvrdená.

5.4 Karta StaticConfig

Otvorenie tabu StaticConfig  a nastavenie sekcie Basic Configuration:

V "Connection" tabe sa dostal čip do stavu, že je nahraný FW a zapnuté RF. V "StaticConfig" sa definujú základné statické nastavenia radaru (AWR2944). Tieto parametre platia pre celú konfiguráciu a musia byť nastavené predtým, ako sa prejde na "Profiles/Chirp/Frame". V tabe "StaticConfig" sú najdôležitejšie tieto nastavenia:

V sekcii "Channel Config", ktorá sa nachádza v nadradenej sekcii "Basic Configuration" (Obrázok 5.6) sa zapínajú/vypínajú TX a RX kanály (napr. TX0, TX1, RX0–RX3). Definuje sa tým, ktoré antény- kanály budú aktívne.

V sekcii "ADC Config", ktorá sa nachádza tiež v nadradenej sekcii "Basic Configuration" sa nastavuje bitová hĺbka ADC (12, 14, 16 bit) a formát dát. Toto musí byť v súlade s nastavením SW1 na DCA1000 (napr. OFF, OFF, ON = 16 bit). V položke "Format" sa pri AWR2944 dá nastaviť iba hodnota "Real". AWR2944 vie generovať iba reálne dáta. Nastavenie celej sekcie "Basic Configuration" sa potvrdí stlačením "SET" (bublina 8 v obrázku 5.6).

Karta StaticConfig — nastavenie LP Mode

Určuje či sa používa "LP" (Low-Power ADC) mód, alebo "Regular ADC" mód (pri AWR2944 spravidla single-chip → default). V našom prípade je to nastavenie "Regular ADC". Potvrdí sa to stlačením tlačidla "SET" v tejto sekcii (bublina 9 obrázok 5.6).

Karta StaticConfig — nastavenie RF Init

Po tom, čo sa nastaví "Basic Configuration" a "LP ADC Mode", je treba kliknúť na "RF Init" (bublina 10 obrázok 5.6). Čip AWR2944 tým prejde do stavu, keď je RF front-end (PLL, synthesizer, ADC, LVDS) inicializovaný. Tým sa pripraví na spustenie profilov/chirpov.

Obrázok 5.6
Obr. 5.6. Karta StaticConfig — sekcia Basic Configuration

5.5 Karta DataConfig

Postup v tabe DataConfig - nastavenie Data Path Configuration (horná sekcia):

V tomto tabe sa konfiguruje dátová cesta, hodiny a dátové toky (lanes) pre transfer reálnych ADC dát z AWR2944 do DCA1000 cez LVDS (reálny formát, nie komplexný!). Cieľom je zabezpečiť synchronizáciu a usporiadanie dát pre bezchybný záznam (.bin súbor), vyhnutie sa chybám ako LVDS_PATH_ERR (spôsobené nesprávnym lane mappingom alebo prepínačmi na DCA1000). Nastavenia musia zodpovedať .cfg súboru (z SensorConfig tabu bude vysvetlený v ďalšom) a hardvéru (2-lane LVDS pre 4 RX, 900 Mbps rate).

Data Path položku treba zvoliť "LVDS" (predvolené pre DCA1000). LVDS je jediná cesta pre Raw reálne dáta z AWR2944 do DCA1000 (cez Samtec kábel). CSI2 nie je pre DCA1000 podporované.

Virtual Channel No nechajte 0 (predvolené). Nepoužíva sa pre reálne dáta (slúži na multiplexovanie v CSI2- vysokorýchlostný komunikačný protokol).

CQ Cfg nechajte predvolené (16 Bit). CQ (Channel Quality) je pre diagnostiku (16-bit formát zodpovedá AWR2944 ADC výstupu).

Packet 0 zvoľte "ADC_ONLY" (predvolené). Špecifikuje obsah packetu pre ADC dáta (reálne vzorky). Pre AWR2944 ignorujte CP/CQ ak nie sú v .cfg, aby sa zabránilo zbytočnému dátovému toku.

Packet 1 zvoľte "Suppress Pack" (predvolené). CQ0TransSize, CQ1TransSize a CQ2TransSize hodnoty nemente. Tieto parametre slúžia na potlačenie packetu pre nepotrebné dáta; veľkosť 132 bajtov je štandard pre CQ1 (quality metrics) v AWR2944 rámcoch, 72 (predvolené) veľkosť pre CQ2 (ďalšie metrics); môže sa prispôsobiť podľa .cfg (napr. numChirps numRx), aby zodpovedala rámcu a zabránila buffer overflow.

Kliknite "Set" (obrázok 5.7 – bublina 11). Aplikuje nastavenia. Zabezpečuje, že DCA1000 prijíma len ADC dáta v reálnom formáte, minimalizuje prenos a znižuje chyby.

Obrázok 5.7
Obr. 5.7. Karta DataConfig — Data Path Configuration a LVDS Lane Configuration

Sekcia "Clock Configuration" (stredná sekcia) a jej položky Lane Clock a Data Rate sú pre AWR2944 predvolené na "DDR Clock" (DDR - Double Data Rate, zdvojnásobuje rate pre efektívny prenos a pre AWR2944 je to štandard pre 900 Mbps). Rýchlosť musí zodpovedať AWR2944 ADC vzorkovaniu (z profileCfg v .cfg). Nižšia rýchlosť by spôsobila stratu dát, vyššia by prekročil DCA1000 limity. Synchronizuje teda hodiny medzi AWR2944 a DCA1000, zabráni desynchronizácii (napr. skreslené FFT v MATLABe). Ak pre AWR2944 .cfg má fs=10e6 Hz, 900 Mbps podporuje real-time transfer 4 RX. Keďže je to neaktívna sekcia, tak nie je potrebné ani potvrdzovať tlačidlom "SET".

Postup v tabe DataConfig - nastavenie LVDS Lane Configuration:

Lane Format: Ponechajte "Format 0" (predvolené). Lane Formát 0 pre štandardný ADC. Pre reálne dáta AWR2944 znamená sériový prenos bez interleavingu (prekladania).

Lane Config: zaškrtnite "Lane1" a "Lane2". Polia "Lane3" a "Lane4" sú v rozhraní zošedené — viac než dve linky AWR2944 nepodporuje. AWR2944 podporuje max 2 lane pre 4 RX (non-interleaved); mapuje RX1-2 na Lane1, RX3-4 na Lane2. Nesprávne mapovanie spôsobí LVDS_PATH_ERR – skontrolujte prepínače S1.1-S1.4 na DCA1000 (ON pre 2-lane real mode).

MSB First: Zaškrtnite (predvolené). Most Significant Bit prvý. Zabezpečuje správne usporiadanie bajtov v .bin súbore pre MATLAB spracovanie.

CRC: Nezaškrtnuté (predvolené). Cyclic Redundancy Check nepovinný. Zrušený znižuje overhead – nadbytočné dáta, ale stráca funkcionalitu error detection – používa sa len ak dáta sú stabilné.

Packet End Pulse: Nezaškrtnuté (predvolené). Pulz na konci packetu pre synchronizáciu DCA1000; zabráni chýbajúcim rámcom.

Discontinuous Clock Mode: Nezaškrtnuté (predvolené). Ak je zaškrtnuté hodiny bežia len počas dát. Tak možno šetriť energiu pre AWR2944, ale vyžaduje stabilnú štartovaciu procedúru pri chybe.

Kliknite "Set" (obrázok 5.7 – bublina 12): Aplikuje sa nastavenie. Zabezpečuje LVDS path pre reálne dáta pre AWR2944 Ostatným častiam v tomto tabe nevenujte pozornosť, sledujte log vo výstupnom okne či sa neobjavili červené výstupy. Po nastaveniach prejdi na TestSource tab (pre voliteľné testovanie zdroja) alebo priamo na SensorConfig tab (pre načítanie .cfg súboru). Pre AWR2944 sa testujte zber dát v Capture tabe; ak sa vyskytne LVDS_PATH_ERR, skontrolujte DCA1000 prepínače SW2 (napr. SW2.1 pre LVDS_CAPTURE mód a SW2.3 pre 2-lane konfiguráciu) a .cfg súbor (lvdsStreamCfg -1 1 1 0 pre enable streamovania). Nastavenia optimalizujú transfer reálnych dát (int16 formát) tým, že synchronizujú LVDS lanes a clock rate s hardvérovými prepínačmi, minimalizujú latenciu prostredníctvom potlačenia nepotrebných packetov a zabezpečujú správne preformátovanie dát v MATLABe do tvaru [samples, chirps, rx, frames] pre presnú FFT analýzu rozsahu a Dopplera.

5.6 Karta TestSource

Tab "TestSource" slúži primárne na simuláciu radarových signálov v kontrolovanom prostredí, kde sa generujú syntetické dáta reprezentujúce odrazy od virtuálnych objektov (cieľov). Toto umožňuje overiť funkčnosť senzora bez fyzických objektov v poli zorného uhla.

Generovanie objektov: Podporuje až dva virtuálne objekty (nie viac, aby sa zachovala jednoduchosť a výpočtová efektivita). Každý objekt definujete parametrami ako vzdialenosť (range, v metroch), radiálna rýchlosť (velocity, v m/s), radarový prierez (RCS, v dBsm – odrazivosť povrchu) a uhol (azimut/elevácia, ak podporované). Tieto parametre simulujú odrazy FMCW chirp-ov (napr. cieľ na 5 m s RCS 10 dBsm vytvorí čistú špičku v FFT rozsahu, čo pomáha diagnostikovať kalibráciu).

Aktivácia a integrácia: Funkciu aktivujete v .cfg súbore príkazom ako testGenCfg (napr. testGenCfg 1 5.0 0.0 10.0 pre zapnutie, range 5 m, velocity 0 m/s, RCS 10 dBsm). Po načítaní v SensorConfig tabe sa simulované dáta streamujú ako reálne ADC výstupy. Integrujú sa s dátovou cestou (LVDS), takže sa overí celý reťazec – od ADC až po spracovanie (FFT pre rozsah/Doppler), bez externého prostredia, čo eliminuje šum a hardvérové anomálie (napr. nesprávne napájanie alebo prepínače).

Testovanie a validácia: Umožňuje validovať konfiguráciu senzora (napr. AWR2944) prostredníctvom overenia spracovania dát: odozva rozsahu (range profile cez FFT), Dopplerova mapa (pre pohyb) a bodový cloud (pre uhlovú rozlíšenie). Bez reálneho prostredia izolujete softvérové/hardvérové chyby – napr. ak simulovaný cieľ na 5 m sa zobrazí nesprávne v PostProc okne, indikuje problém v .cfg (napr. sweepSlope mismatch) alebo LVDSnastavenia.

Použitie v diagnostike: Ideálne pre scenáre ako čistý statický cieľ (na 5 m, 0 m/s) na overenie kalibrácie alebo dynamický (napr. 10 m, 2 m/s) pre Doppler test. Eliminuje variabilitu reálneho sveta (šum, multipath), umožňuje opakovateľné testy a validáciu algoritmov (CFAR detekcia, tracking), čo je kritické pri AWR2944 v automotive/industrial aplikáciách. Keďže táto funkcionalita nie je nevyhnutná pre prvotné pokusy so zberom dát z AWR2944 + DCA1000, nasledujúci krok bude prechod na SensorConfig tab.

5.7 Karta SensorConfig

Postup v tabe SensorConfig - nastavenie Profile:

V sekcii "Profile" existujú dva prístupy k nastaveniu profilov v SensorConfig tabu: priamy (bez Profile Manager) alebo cez manažér. Profily definujú základné FMCW parametre (napr. vzorkovacia frekvencia fs=10e6 Hz, sklon chirpu sweepSlope=65e12 Hz/s, počet vzoriek na chirp až 1024), ktoré ovplyvňujú rozlišovaciu schopnosť rozsahu a Dopplerovskej mapy. Pre AWR2944 spúšťajú internú RF kalibráciu cez ASYNC_EVENT (overenie PLL, TX/RX chain), kde nesprávne hodnoty (napr. príliš strmý sklon >100e12 Hz/s) spôsobujú stratu rozlišovacej schopnosti v .bin dátach (skreslený rozsah alebo nulové vzorky). Ak kalibrácia zlyhá (log hlási "Calibration failed"), vykonajte procedúru reštartu AWR2944 (odpojte napájanie na 5-10 sekúnd, aby sa resetovali registre).

Priamy prístup (bez Profile Manager): V hlavnom rozhraní tabu zadajte parametre priamo do polí (napr. Start Freq 77 GHz, Idle Time 7 µs, ADC Start Time 6 µs, Ramp End Time 58 µs, TX Start Time 0 µs, Freq Slope 65 MHz/µs, TX Power 0 dBm, Num ADC Samples 256, ADC Sample Rate 4000 ksps, RX Gain 40 dB). Kliknite "Set" (obrázok 5.8 - bublina 13, uloží a aplikuje zmeny na zariadenie). Tento spôsob je rýchly pre jednorazové úpravy (v našom prípade preferovaný!), priamo mapuje na CLI príkaz profileCfg v .cfg súbore, čo umožňuje presnú kontrolu nad RF charakteristikami bez extra okna; "Set" spustí validáciu a kalibráciu v jednom kroku, čím sa minimalizujú chyby v reálnom čase.

Prístup cez Profile Manager: Kliknite na tlačidlo "Profile Manager" (otvorí okno s tabuľkou profilov). V okne editujte existujúci profil (vyberte riadok, upravte parametre ako vyššie), alebo pridajte nový (Add New). Kliknite Save (uloží zmeny v tabuľke), Close okno, potom v kliknite Activate (aplikuje vybraný profil). Alebo Load z ProfConfigData.csv (importuje CSV s viacerými profilmi, formát: ID, Freq Slope, Num Samples atď.), Save, Activate. Manažér umožňuje správu viacerých profilov (napr. pre TDM-MIMO s rôznymi TX), ukladá do CSV pre opakovateľnosť, čo je ideálne pre experimenty; aktivácia spustí kalibráciu, kde sa overí kompatibilita s frameCfg (napr. chirp trvanie musí zapadnúť do rámcovej periódy). V niektorých prípadoch nevie najsť súbor kde sú uložené údaje profilu. Je preto pri snahe tvoriť vlastné profily najskôr stlačiť "Set" (obrázok 5.8 - bublina 13) čím sa vytvorí súbor súbor so správnym formátom dát a potom editovať v tomto súbore vlastné profily.

Obrázok 5.8
Obr. 5.8. Karta SensorConfig — Profile Manager

Postup v tabe SensorConfig – konfigurácia sekcie Chirp:

V tejto sekcii existujú tiež dva prístupy k nastaveniu chirpov v SensorConfig tabe: priamy (bez Chirp Manager) alebo cez manažér. Chirpy sú definované v profiloch, v ktorých reprezentujú určitú ich postupnosť v rámci (Frame). Variácie parametrov (dithering) zlepšujú odolnosť voči interferencii a presnosť detekcie. V AWR2944, ktorý podporuje TDM-MIMO (Time Domain Multiplex -Multiple Input Multiple Output napr. 2 TX cez TX Enable Mask), čo ovplyvňuje usporiadanie chirpov v .bin súbore (numChirps * numTx na rámec, sekvenčné pre rôzne TX); nesprávne nastavenie vedie k nesynchrónnosti dát (napr. skreslená Doppler mapa alebo chýbné MIMO uhlová rozlíšenie). Ak napr. trvanie chirpu prekročí periódu rámca, vo výstupnom logu sa objaví hlásenie "Invalid chirp timing". Riešením reštart radaru a úprava "idle time".

Priamy prístup (bez Chirp Manager): V hlavnom rozhraní tabu zadajte parametre priamo do zadávacích políčok (napr. Profile ID: ID asociovaného profilu, napr. 0; Start Freq Var: variácia štartovacej frekvencie v MHz, napr. 0 pre fixnú, ovplyvňuje interferenčnú odolnosť; Freq Slope Var: variácia sklonu v MHz/µs, napr. 0, ovplyvňuje bandwidth a rozlíšovaciu schopnosť rozsahu; Idle Time Var: variácia idle time v µs, napr. 0, ovplyvňuje inter-chirp interval a rozlíšenie v Dopplerovskej oblasti; ADC Start Time Var: variácia ADC start v µs, napr. 0, ovplyvňuje minimálny detekovateľný rozsah; TX Enable for current chirp: bitová maska (TX mask) aktivácie vysielačov TX, napr. 0x1 pre TX0, 0x3 pre TX0+TX1, ovplyvňuje uhlovú rozlišovaciu schopnosť v MIMO). Kliknite "Set" (obrázok 5.8 – bublina 14); uloží a aplikuje zmeny na zariadenie. Tento prístup je rýchly pre jednorazové úpravy (preferujeme v začiatkoch), mapuje na CLI príkaz chirpCfg v .cfg, kde variácie (dithering) zlepšujú SNR, ale zvyšujú výpočtovú zložitosť; TX mask umožňuje TDM-MIMO pre virtuálne RX (napr. 4RX x 2TX = 8 virtuálnych), čo zlepšuje uhlovú presnosť na ~1°.

Prístup cez Chirp Manager: Kliknite na tlačidlo Chirp Manager (otvorí okno s tabuľkou chirpov). V okne editujte existujúci chirp (vyberte riadok, upravte parametre ako vyššie), alebo pridajte nový (Add New). Kliknite Save (uloží zmeny v tabuľke), Kliknite Activate (aplikuje vybraný chirp). Alebo Load z ChirpConfigData.csv (importuje CSV s viacerými chirpmi, formát: Start Index, End Index, Profile ID, atď.), Save, Activate. Pochopenie: Manažér spravuje viac chirpov (napr. pre MIMO sekvencie), ukladá do CSV pre opakovateľnosť; aktivácia spustí validáciu časovania (chirp duration = ramp end + idle time), kde variácie ovplyvňujú celkovú šírku pásma (až 4 GHz pre AWR2944) a rozlišovacie schopnosti (rozsah ~0.05 m, Doppler ~0.1 m/s); TX mask riadi multiplexovanie, čo v .bin vedie k separovaným chirpom pre TX, zlepšujúc charakteristiky vyžarovacích diagramov (beamforming).

Význam jednotlivých parametrov frekvenčného rozmietania je na obrázku 5.9.

Priebeh frekvencie chirpu v čase s vyznačenou dobou nárastu frekvencie, prestávkou, oknom vzorkovania ADC a rozdielom medzi rozmietnutým a navzorkovaným pásmom
Obr. 5.9. Parametre frekvenčného rozmietania (chirpu). Od okamihu Tx Start Time začína frekvencia narastať zo Start Frequency f₀ (štartovacia frekvencia) so sklonom Freq Slope S, a to počas Ramp End Time (doba nárastu); nasleduje Idle Time (prestávka) a ďalší chirp. Vzorkovanie ADC začína až po uplynutí ADC Start Time a trvá ADC Sampling Time, preto je sampled bandwidth B (navzorkované pásmo) užšie než swept bandwidth (rozmietnuté pásmo). Všetky časové údaje sa merajú od okamihu Tx Start Time; anglické názvy zodpovedajú poliam v tabe SensorConfig.
Pozor na zámenu pásiem. Do vzťahu pre rozlíšenie vzdialenosti patrí navzorkované pásmo B, nie celé pásmo prebehnuté počas nárastu frekvencie. Obe hodnoty sú v mmWave Studio viditeľné, každá v inom okne — v hlavnom okne je rozmietnuté pásmo, v paneli Calculated Parameters navzorkované. Kto dosadí prvé, dostane rozlíšenie niekoľkonásobne lepšie, než aké meranie v skutočnosti má.

Postup v tabe SensorConfig – konfigurácia sekcie Frame:

V SensorConfig tabe verzie 3.1.4.4 sú parametre rámca (rámca) nastavované priamo v dostupných poliach tabu alebo cez .cfg súbor. Rámce riadia celkový prenos dát (opakujúca sa sekvencia chirpov), ovplyvňujú frame rate (1/perióda, napr. 25 fps pri 40 ms), objem dát (.bin rastie s numFrames) a kontinuálny záznam (numFrames=0 pre infinite, s automatickým delením .bin na _Raw_n.bin po 1 GB). Pri AWR2944 zabezpečuje kompatibilitu s DCA1000 (real dáta v 2 lanes), kde nesprávna perióda spôsobuje nesynchrónnosť (napr. chýbajúce rámce v Postproc); infinite frames vhodné pre dlhé testy, ale aj riziko buffer overflow (pretečenie). Chyby: "Invalid frame timing" ak perióda < chirp duration + 200 ms (pre monitoring), riešenie úpravou periódy alebo power cycle.

Nastavte parametre priamo v poliach tabu (mapujú na CLI frameCfg v .cfg):

No of Chirp Loops: Počet opakovaní chirpov sekvencie v jednom rámci (napr. 128); význam: Riadi repetíciu pre averaging, ovplyvňuje SNR. Vplyv: Vyšší počet zlepšuje detekciu (vyššia Doppler resolúcia ~0.1 m/s), ale zväčšuje dátový objem na rámec, znižuje frame rate.

No of Frames: Počet rámcov (napr. 200, 0 pre infinite). Celkový počet prenosov. Vplyv: Infinite umožňuje kontinuálny stream, maximalizuje .bin pre testy, ale vyžaduje manuálne zastavenie.

Periodicity: Perióda medzi rámcami v ms (napr. 40). Kratšia perióda zvyšuje rate (ovplyvňuje Doppler max ~±10 m/s), ale musí byť > chirp duration na processing.

TriggerSelect: Typ spúšťania (triggeru) (software/hardware). Software pre manuálne testy, hardware pre externú synchronizáciu, ovplyvňuje timing presnosť.

TriggerDelay: Oneskorenie po spustení v ms (napr. 0). Medzera pred rámcom. Kompenzuje latenciu, ovplyvňuje multi-sensor setupy; vysoké hodnoty znižujú efektívny rate.

Start Chirp Tx/ End Chirp Tx: index prvého/posledného chirpu, ktorý sa použije. Ak je napríklad v Chirp Config nadefinovaný: Chirp 0,TX0 aktívny Chirp 1 TX1 aktívny Chirp 2 TX2 aktívny a vo Frame Config je nastavené Start Chirp Tx = 0, End Chirp Tx = 2, tak sa v každom frame postupne odošlú všetky tri chirpy, potom výsledkom je MIMO mapovanie pre TX0, TX1, TX2. Ak Start = End, frame obsahuje len jeden typ chirpu (na jednej TX anténa). Ak Start < End, frame obsahuje postupne všetky chirpy medzi nimi (napr. pre MIMO vysielanie alebo rôzne frekvenčné zdvihy).

Kliknite "Set" na aplikáciu (obrázok 5.8 - bublina 15).

Na obrázku 5.10 je znázornená typická štruktúra rámca -frame pre stav keď Start Chirp Tx< End Chirp Tx.

Schéma jedného rámca: deväť chirpov v troch slučkách, koniec rámca a medzera do ďalšieho
Obr. 5.10. Štruktúra jedného rámca pri troch vysielačoch a troch slučkách. Chirpy sa vysielajú v poradí C0, C1, C2 a celá trojica sa opakuje toľkokrát, koľko je slučiek. Po poslednom chirpe rámec končí a nasleduje medzera; súčet aktívnej časti a medzery je Frame Periodicity.

Tab SensorConfig – kroky v sekcii Capture and Post Processing:

Sekcia Capture and Post Processing v SensorConfig tabe mmWave Studio 3.1.4.4 slúži na inicializáciu zberu reálnych ADC dát (real-only formát pre AWR2944, bez imaginárnej zložky) do .bin súboru a spustenie postprocessingu , čiže nasledného spracovania dát na ich overenie. Integruje hardvérovú (DCA1000 pre LVDS stream) a softvérovú konfiguráciu ( .cfg súbor), kde zber vytvára súbor .bin s usporiadaním dát (samples ako int16 v, sekvenčne po chirpoch, RX kanáloch a rámcoch), čo umožňuje presné FFT spracovanie (rozlišovacia schopnosť rozsahu ~0.05 m, rozlišovacia schopnosť rýchlosti (Doppler) ~0.1 m/s). Pri AWR2944 je podpora max 2 LVDS lanes (non-interleaved pre 4 RX), čo znižuje objem dát, ale vyžaduje presné zosúladenie s .cfg (adcCfg 2 0 pre real, lvdsStreamCfg -1 1 1 0 pre enable); nesprávne nastavenie spôsobuje chyby ako "No data captured" alebo rozsynchronizovanie (reštart rieši 80% problémov). Sekcia zahŕňa tlačidlá DCA 1000 ARM, Trigger Frame, Stop Frame, Transfer Files a PostProc, kde proces záznamu ukladá dáta (automatické delenie .bin na _Raw_n.bin po 1 GB pre infinite frames) a Postproc otvára okno na základné zobrazenia (range, Doppler,...), ale detaily okna neskôr. Postup na zber dát do .bin je nasledovný:

Príprava: Po konfigurácii profile, chirp a frame (stlačenie Set na aplikáciu), overte log vo výstupe; zadajte prázdnu cestu alebo cestu na existujúci súbor v textovom poli pre .bin (mmWave Studio automaticky uloží do PostProc priečinka ako adc_data_Raw_0.bin atď.). DCA1000 používa túto cestu ako základ, automaticky pripája "Raw_n" pre sekvenčné súbory po 1 GB, čo zabezpečuje kontinuálny záznam bez straty; veľkosť .bin = numFrames * numChirps * numRx * numSamples * 2 bytes (int16), vhodné pre offline MATLAB spracovanie.

DCA1000 ARM: Kliknite DCA1000 ARM (pripraví kartu na LVDS príjem, obrázok 5.8-bublina 16), počkajte 2 s pre stabilizáciu Ethernet UDP packetov. bez čakania zlyhá capture (timeout), čo overí LVDS path a minimalizuje rozsynchronizovanie v real dáta streamingu.

Trigger Frame: Kliknite Trigger Frame (spustí zber na základe frameCfg, napr. 200 rámcov s periódou 40 ms, obrázok 5.8-bublina 17); pre infinite (numFrames=0) manuálne zastavte Stop Frame (obrázok 5.8-bublina 18).

Záznam: DCA1000 packetizuje LVDS dáta (real vzorky po RX: Rx0, Rx1, Rx2, Rx3 na chirp), prenáša cez Ethernet (IP 192.168.33.180), PC ukladá do .bin (veľkosť závisí od numSamples x numChirps x numRX x numFrames x 2 bytes na vzorku). Pri AWR2944 4RX, 2 lanes: Dáta sekvenčne (I0 Rx0, I1 Rx0..., I(N-1) Rx3 na chirp), čo umožňuje použiť funkciu reshape v MATLABe pre „radar cube“ – balík dát pre ďalšie spracovanie; ak sa objaví prázdny .bin, overte SW2 na DCA1000 (SW2.1 pre capture, SW2.3 pre 2-lane) a ping 192.168.33.180.

Transfer Files: Kliknite (obrázok 5.8-bublina 19) na transfer zaznamenaných súborov z DCA1000 do PC. Zabezpečuje prenos súborov .bin (raw dáta) a súvisiacich súborov pre analýzu; automaticky spracováva delenie súborov, čo uľahčuje postprocessing v neskorších krokoch bez opakovania záznamu. Tento krok nie je povinný.

5.8 Okno PostProc

Postprocessing súboru .bin sa spustí po kliknutí PostProc (obrázok 5.8-bublina 20). Okno Postprocessingu je na obrázku 5.11. V tomto postupe sa načíta .bin a .log pre generovanie zobrazení (1D FFT, 2D FFT, range-angle, detekcia cieľov,...);, overí objekty (CFAR prah), slúži na debug .cfg (napr. Ak nedeteguje žiadne špičky, upravte RX Gain na 40 dB); výsledky potvrdia kvalitu záznamu pred plným PostProc tabom.

Obrázok 5.11
Obr. 5.11. Okno PostProc so štyrmi plochami a informačným panelom

Rozloženie okna PostProc

Štyri nezávislé plochy (Plot A-D): na každej sa dá prepnúť iný typ grafu (range-velocity, range-angle, 1D FFT, časová doména, detections, chirp picture…). Každý graf má vlastný výber kanála („Common“ = ne-koherentný súčet RX kanálov). Vpravo je informačný panel a hore posuvníky na voľbu rámca/chirpu (pri pokročilých konfiguráciách aj subframe/burst). Pod nimi sú 2 tlačidlá: Play a Miscellaneous options.

Informačný panel (tabs)

Programmed Parameters – to, čo bolo do radaru poslané API (napr. numAdcSamples, adcBits, rampEndTime, txEnable…).

Calculated Parameters – odvodené veci ako skutočný začiatok nábehu (zohľadní ADC start), šírka pásma, ∆R (range resolution), ∆v (velocity resolution)…

Detection Results – do 5 detekcií so SNR, rýchlosťou a vzdialenosťou.

Play: prehrá jednotlivé framy postupne, aby sa umožnilo vidieť vývoj scény.

Tlačidlá/voľby v hornej lište PostProc

Load .log – načíta .log so sekvenciou API príkazov použitou pri zbere (potrebné na správnu interpretáciu dát).

Load .bin – načíta RAW LVDS dáta (adc_data*.bin). Pri spustení PostProc priamo zo „Sensor Config → PostProc“ sa tieto vstupy posielajú automaticky a ručne „Load…“ netreba; je to skôr pre samostatné spracovanie neskôr. Dnešné verzie už nepotrebujú Packet Reorder – uložené .bin sú rovno v správnom poradí.

Zoznam najdôležitejších grafov (čo ukazujú a ako čítať)

2D FFT profile (Range-Velocity) – "teplotná" mapa rýchlosť [m/s] × vzdialenosť [m]. Jasnejšia farba = silnejší odraz. "Common" = ne-koherentný súčet kanálov.

Range-Angle plot – „pohľad zhora“ na vzdialenosť × uhol; predpokladá 1Tx-4Rx lineárne pole (≈λ/2). Uhol je orientačný (bez kalibrácie).

Detections & Angle estimation – výsledky 2D CFAR-CA; modré=+v, zelené=0, červené=−v.

Chirp Config Picture – frekvenčný priebeh chirpov v čase (môžeš zobraziť jediný chirp alebo celú frame sekvenciu).

1D FFT amplitude profile (Range profile) – profil po 1D FFT prepočítaný na vzdialenosť - rozsah; os x môže byť metre/Hz/vzorky; voľba okna (predvolene Hann), ne-koherentné sumovanie cez chirpy/kanály.

Time-domain plot – Nespracované RAW ADC dáta na chirp; os x môže byť čas/instant. frekvencia/vzorka; os y ADC kódy alebo 1/full-scale.

Miscellaneous options – čo sa dá doladiť

Detection (CFAR): metóda (CA/CA-SO/CA-GO), guard-window size, window size (počet vzoriek na odhad šumu), threshold. Nižší prah = viac detekcií (aj falošných).

FFT processing settings

– Non-coherent integration naprieč chirpmi/anténami (lepší vzhľad 1D profilu, envelope v časovej doméne).

– Oversampling ratio (zero-padding, lepšie bin-rozlíšenie).

– x-axis selection (m/Hz).

– FFT window (Hann predvolene; k dispozícii aj Blackman-Harris, flat-top…).

Miscellaneous: oddeliť Real/Imag v 1D, zobraziť komplexné spektrum, zobraziť image-band, DC removal, overlay detekcií priamo do 2D FFT a range-angle.

Time-domain options: voľba osí (čas/„instantaneous ramp freq.“/sample), auto-scale, envelope (√(I²+Q²)).

More…: kompenzácia útlmu okna (gain/energy), voľby pre Chirp Picture (jeden chirp vs celá frame), počet plôch (1/2/4/9).

Typický postup po úspešnom zbere (zo záložky Sensor Config)

Po Stop Frame (alebo po dobehnutí konečného počtu framov) klikni PostProc. Studio odovzdá PostProc-u cestu na .bin a logy, takže sa okno otvorí rovno s dátami. (Ak spracúvaš staré dáta v novom sedení, otvor prázdne PostProc a použi Load .log a Load .bin.)

Skontroluj Information sidebar → Programmed/Calculated (vzorky, BW, ∆R, ∆v) či sedia s očakávaním.

Vyber si v jednotlivých plochách požadované grafy a (ak treba) dolaď Miscellaneous options – napr. okno FFT, prah CFAR, odstránenie DC, ne-koherentné sumovanie, atď.

Použi slidery alebo Play na prechádzanie rámcov/chirpov a validáciu scény.

(Voliteľné) Ulož obrázky grafov alebo exportuj dáta podľa potrieb – PostProc je vizualizačná nadstavba nad Matlab Runtime (R2015aSP1 v 32-bit edícii pre GUI), takže grafy sa dajú ukladať priamo.

Poznámky k súborom z DCA1000

Surové dáta sa typicky ukladajú do priečinka mmWaveStudio\PostProc. Môže byť vidno oba názvy: adc_data.bin aj adc_data_Raw_0.bin (už preusporiadané, pripravené na spracovanie).

5.9 Čo teda najviac mení výsledky?

CFAR threshold a okná → určujú, ktoré ciele sa „uznajú“ a ktoré nie.

FFT window → určuje, či slabé ciele blízko silných uvidíš alebo ich prekryje leakage.

Non-coherent integration → rozhoduje, či slabý cieľ je vidieť alebo ostane v šume.

DC removal → či je vôbec šanca vidieť malé pohyblivé ciele, ak scéna obsahuje silný statický odraz.

Oversampling ratio → nemá fyzikálny dopad, ale mení jemnosť a interpretovateľnosť grafov.

6. Prepojenie AWR2944EVM s Demo Visualizerom

Predchádzajúce kapitoly opisovali cestu k nespracovaným vzorkám ADC, pri ktorej radar dáta sám nespracúva a posiela ich cez LVDS do záznamového modulu. Táto a nasledujúca kapitola opisujú druhú cestu: spracovanie priamo v procesore radaru, ktorého výsledkom sú už detegované ciele. Demo Visualizer ich zobrazí bez toho, aby bolo treba čokoľvek programovať, takže je najrýchlejším spôsobom, ako overiť funkčnosť celej zostavy — a zároveň referenciou, voči ktorej sa dá vlastné spracovanie porovnať.

mmWave Demo Visualizer je aplikácia výrobcu bežiaca v prehliadači, ktorá zobrazí výsledok spracovania prebiehajúceho priamo v procesore radaru — profil vzdialenosti, mapu range-Doppler a detegované ciele. Nevyžaduje programovanie: stačí nahratý firmvér ukážkového dema, dva sériové porty a konfiguračný profil. Kapitola opisuje, čo je na to potrebné, v akom poradí sa doska pripája, ako sa nahrá firmvér a ako sa nastaví rozhranie.

Hardvér + softvér

Hardvér

AWR2944EVM + napájací adaptér 12 V (>2.5 A). (EVM má 12 V barrel jack (súosý napájací konektor) ako primárne napájanie).

Micro-USB kábel pre J8 (XDS110) — debug/CLI + logger COM porty.

(Voliteľne - nepoužívame) micro-USB do J10 (FTDI) — ak by sa mali používať FTDI porty (SPI / SOP ovládanie / NRESET).

(Pri zázname RAW dát ADC alebo LVDS) DCA1000 alebo iné LVDS capture zariadenie + ribbon kábel (plochý kábel) (len ak potrebuješ LVDS).

Softvér (nutné)

MMWAVE-MCUPLUS-SDK (verzia kompatibilná s demo firmware u nás v.4.7.1.4). Stiahnuť z TI (MMWAVE-MCUPLUS-SDK). Verzia, ktorá sa zhoduje s Visualizer verziou, ktorá použitá.

mmWave Demo Visualizer (TI Gallery / dev.ti.com). Toto je browser-based app (odporúčaná Chrome funguje aj s Edge). Verzia Visualizera musí byť kompatibilná s používaným SDK.

TI UniFlash — nástroj na nahratie firmvéru (firmware) do pamäte flash, hovorovo „flashovanie“. Nahráva súbory SBL-*.tiimage a aplikáciu *.appimage, ak je potrebné dosku preflashovať.

FTDI / XDS ovládače: ovládače FTDI sa nachádzajú v SDK (tools\ftdi). Ak sa v Správcovi zariadení (Device Manager) nezobrazia porty, preinštaluj tieto ovládače. Tiež môže byť potreba EMU (XDS) pack pre XDS110.

PUTTY program pre testovanie komunikačných portov (ak funguje komunikácia nie je nutný).

Základné vysvetlenie konektorov a SOP prepojok (jumperov)

J8 — microUSB pre XDS110 (on-board emulátor). Poskytuje 2 COM porty: XDS110 Class Application/User UART (CLI — to je CFG_port) a XDS110 Auxiliary Data Port (DATA_port / vizualizácia). Visualizer očakáva práve tieto porty.

J10 — microUSB pre FTDI (FT4232H) — poskytuje 4 virtuálne COM porty (SPI, HostINTR, NRESET, SOP control). Môžu sa použiť na low-level ovládanie, ale pre Demo Visualizer nie sú nevyhnutné používajú sa pri DCA1000EM v spojení s mmWave Studio (Visualizer používa XDS110 porty).

SOP prepojky- jumpers (J17 = SOP2, J18 = SOP1, J20 = SOP0): tieto tri sú čítané počas bootu a definujú boot mód. Closed jumper = ‘1’, open = ‘0’. Dôležité módy:

Flashing mode (SOP = 101) — používa sa pri programovaní cez UniFlash. (J17 closed, J18 open, J20 closed).

Functional mode (SOP = 001) — normálny beh demá (board spúšťa aplikáciu z QSPI/flash). (J17 open, J18 open, J20 closed). Pozn.: FTDI môže SOP prepísať softvérovo — ak sa nastaví FTDI SOP ovládanie, bude mať prioritu pred jumpermi. Poloha prepojok SOP, oboch konektorov USB aj napájacieho konektora je vyznačená na obrázku 6.1.

Obr 1.Doska radaru AWR2944EVMs vyznačenými dôležitými bodmi
Obr. 6.1. Doska radaru AWR2944EVMs vyznačenými dôležitými bodmi

Presný postup — z nainštalovaného softvéru k zobrazeniu vo Visualizeri

Predpoklad: AWR2944 EVM, Windows PC (postup je podobný aj na Linux/Mac), a nainštalovaný mmWave SDK + UniFlash + FTDI/XDS drivery.

Inštalácia (ak niečo nie je)

Stiahnuť a nainštalovať MMWAVE-MCUPLUS-SDK (vyber Windows alebo Linux inštalátor).

Skontrolovať, že v SDK je priečinok tools\ftdi (toto sú ovládače FTDI) (konkrétna cesta: C:\ti\mmwave_mcuplus_sdk_04_07_01_04\tools\ftdi).

Ak Windows nevidí FTDI porty, ručne aktualizuj driver navedením na tento priečinok.

1) Napájanie + základné pripojenie (poradie je dôležité!)

Pripojiť 12 V adaptér do barrel-jacku dosky radaru (radar musí byť napájaný pred pripojením USB) — TI odporúča také poradie, inak sa radar môže zaseknúť v reset stave. Po zapnutí skontrolovať, že svietia napájacie LED (D12 / D16).

Po zapnutí pripoj micro-USB kábel do J8 (XDS110) k PC. OS WIN by mal v Device Manager ukázať XDS110 Class Application/User UART a XDS110 Class Auxiliary Data Port. (Ak nie, nainštalovať EMUpack/XDS ovládače).

2) Flash-ovanie demo firmware (Len ak je potrebné preflashovať demo)

Postup pri použití UniFlash

Nastaviť SOP = 101 (flashing mode): J17 closed, J18 open, J20 closed.

Power cycle (vypnúť → zapnúť) EVM aby sa SOP načítal.

Spustiť UniFlash. V UniFlash sa zvolí alebo automaticky zdeteguje device AWR2944, zvolí sa COM port — XDS110 Class Application/User UART (Device Manager COM číslo). Použiť prednastavenú prenosovú rýchlosť - baudrate (UniFlash spravidla nastaví správne). V UniFlash vyber SBL image (napr. sbl_qspi.release.tiimage — konkrétna cesta: C:\ti\mmwave_mcuplus_sdk_04_07_01_04\tools\awr294x\sbl_qspi.release.tiimage) a app image (awr2944_mmw_demo*.appimage — konkrétna cesta: C:\ti\mmwave_mcuplus_sdk_04_07_01_04\ti\demo\awr294x\mmw\awr2944_mmw_demoTDM.appimage) zo SDK. (Súbory sú v SDK balíku pri demo aplikáciách).

Kliknúť Load Images → čakať na úspešné nahratie. Po dokončení: prepnúť SOP späť na Functional (001) — J17 open, J18 open, J20 closed. Power cycle. Teraz board bootuje do demo aplikácie.

Poznámka: ak nie je treba flashovať (EVM často prichádza s pred-flashovaným demo image), preskočiť krok 2 a nastaviť SOP rovno na functional 001 a power cycle.

3) Nastavenie mmWave Demo Visualizer (browser-app)

Otvoriť mmWave Demo Visualizer (TI Gallery / dev.ti.com/mmWaveDemoVisualizer link: mmWave Demo Visualizer) v Chrome (funguje aj v Edge prehliadači s doinštalovaným rozšírením TICloudAgent Bridge a TI Cloud Agent Application). Vybrať správnu verziu Visualizera, ktorá je kompatibilná s tvojím SDK (v app sú drop-downy pre Platform + SDK Version — musí sedieť s firmvérom, ktorý beží na EVM).

Menu → Options → Serial Port: vyplň nasledovne:

CFG_port: zvoľ XDS110 Class Application/User UART → Baud = 115200. Po úspešnom nadviazaní spojenia sa v stavovom riadku zobrazia obidva porty aj rozpoznaný typ zariadenia (obrázok 6.2).

Stavový riadok Demo Visualizera po nadviazaní spojenia
Obr. 6.2. Stavový riadok Demo Visualizera po úspešnom nadviazaní spojenia: čísla oboch portov a ich rýchlosti, hlásenie Hardware Connected a rozpoznaný typ zariadenia AWR294X.

Data_port: zvoľ XDS110 Class Auxiliary Data Port → Baud = 921600 (predvolené) alebo ak firmware podporuje vyšší dátový tok (SDK 3.4+), nastav Custom a 3 125 000 (Preferované a spoľahlivejšie v danej konf. Nutné nastaviť zhodne vo Visualizeri aj v konfigurácii senzora). Pozn. Visualizer komunikuje s boardom cez CFG port a môže mu cez CLI prikázať zmenu DATA_port baudrate. (Presné hodnoty: CFG 115200; DATA default 921600; príp. odporúčané custom: 1 834 000 alebo 3 125 000 — max 3 125 000). (Po správnom pripojení portov sa na dolnom okraji musí zobraziť uvedená hláška „Connected“.)

Kliknúť CONFIGURE → vybrať platform (AWR2944), SDK version (zvoľ rovnaké číslo ako v SDK / ako je na doske), nakonfigurovať Antenna / Processing Chain (alebo naimportovať .cfg). Ak je Processing Chain TDM – Time Domain multiplex musel byť predtým flashovaný súbor awr2944_mmw_demoTDM.appimage! .

Kliknúť Send Config to mmWave Device (alebo najprv "Save config to PC" ak je potrebné .cfg len uložiť). Po úspešnom odoslaní by sa mal DATA_port pripojiť a v Plots záložke by malo byť vidieť detekcie/point cloud.

4) Kde sú .cfg súbory a čo presne obsahujú (čo máš editovať)

Kde hľadať príklady .cfg: v SDK priečinku (po inštalácii): C:\ti\mmwave_mcuplus_sdk_<ver>\ti\demo\awr294x\mmw\profiles\ — tu sú profiles a príkladové konfigurácie (range, TDM/DDM, LVDS profily atď.). Visualizer tiež generuje .cfg pri "Save config to PC".

Čo obsahuje .cfg: sekvencia CLI príkazov (profileCfg, chirpCfg, channelCfg, frameCfg, guiMonitor, configDataPort atď.). Ak sa zmení prenosová rýchlosť baudrate pre DATA_port, musí sa k tomu zodpovedajúci príkaz poslať (napr. configDataPort <baud> alebo nechať Visualizer urobiť to automaticky). Dokumentácia SDK opisuje formát CLI súborov.

5) Presné nastavenia / hodnoty (rýchly súhrn, ktoré je potrebné zadať)

SOP jumpers

Flashing: SOP[2:0] = 101 → J17 closed, J18 open, J20 closed.

Functional (run demo): SOP[2:0] = 001 → J17 open, J18 open, J20 closed.

USB/Serial

CFG_port (XDS110 App UART) — 115200, no parity, 8 data bits, 1 stop bit. (Visualiser - CFG)

DATA_port (XDS110 Aux) — 921600 default; custom up to 3125000; odporúčané custom: 1834000 alebo 3125000 pri vyššom frame-rate. (Ak sa zmení, musí byť senzoru odoslaný príkaz, a Visualizer i PC musia byť nastavené na rovnakú).

Power: 12 V, >2.5 A, barrel jack center-positive (používať odporúčaný adaptér).

6) Dôležité súbory v SDK (kde ich nájdeš)

appimage (demo application) – v SDK balíku v priečinku ti\demo\awr294x\mmw\ (napr. awr2944_mmw_demo*.appimage). Použije sa pri flashovaní (UniFlash).

SBL image (bootloader image), napr. sbl_qspi.release.tiimage — potrebné pre UniFlash pri flashovaní do QSPI.

profile .cfg — v ti\demo\awr294x\mmw\profiles\ — príklady pre TDM / DDM / LVDS / rôzne scenáre. Použiť ako východiskový bod alebo upraviť si vo Visualizeri a uložiť.

7) Tipy na ladenie ak niečo nefunguje

Ak Visualizer nezobrazí DATA_port: skontrolovať, či je vybraný správny XDS110 COM (v Device Manager), a či sú CFG=115200 a DATA nastavené rovnaké medzi Visualizerom a sensorom. Často je problém v baud-rate mismatch.

Ak systém nevidí FTDI porty: aktualizovať ovládače z C:\ti\mmwave_sdk_<ver>\tools\ftdi.

Ak doska radaru „zamrzne“ pri pripojení USB: overiť, že sa najprv zaplo 12 V a až potom prepojil USB (POZOR: poradie napájania je dôležité!).

Ak sa žiada vyššia frame-rate alebo heatmapy (mapy intenzity) → musí sa zvýšiť DATA_port baud (custom) a znížiť frame rate / množstvo dát, inak sa UART zahlcuje. (Visualizer dokumentuje obmedzenia heatmap pri vysokom frame rate).

8) Kde presne nájsť oficiálne návody / stiahnutia (rýchle odkazy na dokumenty)

AWR2944 EVM User's Guide (jumpers, konektory, FTDI/XDS popis).

mmWave Demo Visualizer User's Guide (nastavenie serial portov, CFG/DATA, generovanie .cfg).

MMWAVE-MCUPLUS-SDK (stiahnutie SDK + release notes).

SDK User Guide (kde sú príklady .cfg a inštrukcie na flashing).

7. Prepojenie AWR1843BOOST s Demo Visualizerom

Rýchly prehľad (čo je potrebné)

Hardvér: AWR1843BOOST EVM, +napájací adaptér 5V (>2.5 A). (EVM má 5 V barrel jack (súosý napájací konektor) ako primárne napájanie) micro-USB kábel (dodávaný), PC (Windows/Linux/macOS). (doska radaru+ XDS110 emulátor na doske).

Softvér: mmWave SDK (stiahnuť z TI), TI UniFlash (na flashovanie .bin), mmWave Demo Visualizer (webová TI Gallery App + TI Cloud Agent / rozšírenie). Toto je browser-based app (odporúčaná Chrome funguje aj s Edge). Verzia Visualizera musí byť kompatibilná s používaným SDK., a prípadne terminál rozhrania (TeraTerm / PuTTY- u nás).

Krok 1 — Inštalácia softvéru (poradie)

Stiahnuť a rozbaliť mmWave SDK (napr. C:\ti\mmwave_sdk_<ver>). SDK obsahuje predkompilované binárne súbory a vzorové .cfg profily.

Nainštaluj TI UniFlash (na Windows) — používa sa na napálenie demo obrazu do flash.

Otvoriť vo web prehliadači: mmWave Demo Visualizer (TI Gallery). Ak prehliadač požiada, nainštalovať TI Cloud Agent / plugin podľa pokynov (one-time). Bez toho Visualizer nemôže pristupovať ku COM portom cez prehliadač.

(Windows) Nainštalovať ovládače pre USB-UART (Silicon Labs CP210x / CP2105 alebo SICP2105 podľa EVM UG), ak Windows nezobrazil COM porty. (EVM UG opisuje inštaláciu ovládačov).

Krok 2 — Hardvér a fyzické pripojenia

Pripojiť 5V adaptér do barrel-jacku dosky radaru (radar musí byť napájaný pred pripojením USB) — TI odporúča také poradie, inak sa radar môže zaseknúť v reset stave.

Skontrolovať LED „PWR“ (D5) — ak svieti, doska má 3.3V napájanie. (pozri EVM UG).

Pripojiť micro-USB kábel z PC do konektora AWR1843BOOST na doske (XDS110 / emulátor). Dôležité body na doske sú vyznačené na obrázku 7.1.

Obr.7.1 Doska radaru AWR1843BOOST z oboch strán a dôležité body
Obr. 7.1. Doska radaru AWR1843BOOST z oboch strán a dôležité body

Krok 3 — SOP (Sense-On-Power) prepínače — PREPÍNANIE PRE FLASH / RUN / DEBUG

Na doske je S1 – tri pozície SOP[2:0]. Keď je prepínač S1 v polohe ON = logická 1, OFF = 0. (takto ich číta čip pri boot-e). Presné nastavenia:

Flashing mode (napálenie obrazu cez UniFlash) = SOP[2:0] = 1 0 1 → t.j. SOP2 = ON, SOP1 = OFF, SOP0 = ON. Po nastavení stlač RESET (SW2) alebo preruš napájanie.

Functional (run) mode = SOP[2:0] = 0 0 1 → SOP2 = OFF, SOP1 = OFF, SOP0 = ON. (toto je normálny prevádzkový režim po napálení / reštarte. AWR1843BOOST funguje hneď aj bez flashovania).

Debug mode = SOP[2:0] = 0 1 1 → SOP2 = OFF, SOP1 = ON, SOP0 = ON.

Po zmene SOP vždy urobiť reset: stlačením SW2 (NRST) alebo odpoj/ pripoj USB, aby doska načítala nové SOP.

Krok 4 — Nahratie firmvéru dema „Out-of-Box“

Nahratie firmvéru do pamäte flash sa bežne označuje ako flashovanie; v ďalšom texte sa používa tento kratší tvar.

Nastaviť SOP na FLASH (101), reštartovať dosku.

Spustiť UniFlash → vybrať cieľové zariadenie (xwr18xx / AWR1843), pripojiť (UniFlash zistí XDS110).

V mmWave SDK nájdi predkompilovaný demo súbor, napríklad (príklad cesty): C:\ti\mmwave_sdk_<ver>\packages\ti\demo\xwr18xx\mmw\xwr18xx_mmw_demo.bin (v rôznych verziách môže byť názov rovnaký; fórum TI aj dokumentácia odporúčajú tento .bin súbor pre out-of-box demo).

V UniFlash → Program → vybrať ten .bin súbor → Program (flash). Po úspešnom programovaní nastav SOP späť na FUNCTIONAL (001) a reštartuj dosku. (reset = SW2).

Krok 5 — Otvorenie mmWave Demo Visualizer a nastavenie COM-portov (presne)

Otvoriť web prehliadač (odporúčaný Chrome, funguje aj Edge) → mmWave Demo Visualizer (link: https://dev.ti.com/gallery/view/mmwave/mmWave_Demo_Visualizer/ver/3.6.0/). Ak visualizer vyzve, povoliť inštalovať TI Cloud Agent rozšírenie aj aplikáciu. Aplikácia sa pokúsi automaticky nájsť COM porty.

Ak sa nepripája automaticky, v aplikácii ísť do Menu → Options → Serial Port a zadať manuálne:

CFG_port: COM port pomenovaný v Správcovi zariadení (Device Manager) ako "XDS110 Class Application/User UART" — Baud = 115200. (to je CLI/konfiguračný port, kam Visualizer posiela .cfg príkazy).

Data_port: COM port pomenovaný "XDS110 Class Auxiliary Data Port" — Baud = 921600 (to je binárny dátový stream zo sensoru). (V novších verziách Visualizer môže povoliť vyššie hodnoty ako 3,125,000; ak je problém, vyskúšať 921600 alebo custom).

V aplikácii vybrať správnu verziu mmWave SDK z rozbaľovacieho menu, aby Visualizer vedel interpretovať TLV formát vychádzajúci z bežiaceho demá (SDK verzia musí korešpondovať s nahraným demom).

Krok 6 — .cfg súbory: ktoré používať a kde ich nájsť (presné cesty)

Vzorové konfiguračné súbory sú v SDK: C:\ti\mmwave_sdk_<ver>\packages\ti\demo\<platform>\mmw\profiles\ (tu sú rôzne .cfg — napr. profile_2d.cfg, profile_2d_bpm.cfg, alebo špecifické pre AWR1843). Pomocou Visualizer → Plots → Load Config from PC and Send nahraj a odošli ten .cfg do zariadenia.

Ak Visualizer zlyhá, alternatíva (manuálne): otvoriť TeraTerm / PuTTY na CFG_port (115200) a skopírovať celý obsah .cfg súboru a vložiť ho do terminálu (odosielať riadok po riadku). Niekedy je potrebné nastaviť v TeraTerm: transmit delay = 0 ms/char, 500 ms/line (skúsenosť z fóra — pomáha pri veľkých config súboroch).

Tipy na ladenie (čo skontrolovať, keď to NEBEŽÍ)

V Device Manager (Windows) hľadať dve COM-pozície s popisom XDS110 Class Application/User UART a XDS110 Class Auxiliary Data Port. Ak ich nevidno, nainštalovať CP210x/CP2105 alebo EMU drivers (EVM UG opisuje).

Skontrolovať SOP: ak je nastavený na FLASH, EVM bootuje do bootloader-u a Visualizer nebude dostávať dáta. Po flashi vždy prepnúť SOP → 001 (functional) a reštart.

Ak Visualizer nenájde data: nastaviť Data_port manuálne na COM port s názvom AUX, baud 921600. Potom v Plots → Load Config From PC And Send.

Overiť, že SDK verzia vo Visualizer zodpovedá verzii demá nahraného vo fw; ak nie, použiť vo Visualizeri kompatibilnú verziu alebo flash demo z aktuálneho SDK.

Ak je stále problém so streamovaním binárnych dát pri 921600, skúšať vo Visualizer nastaviť custom vyšší baud (niektoré fóra uvádzajú 3,125,000 pre iné EVM).

7.1 Podrobný postup flashovania cez UniFlash

Flashovanie ukážkového dema (Out-of-Box Demo)

Postup bol overený s SDK verzie 03.06.02.00-LTS, ktorá je nainštalovaná na laboratórnom počítači. Pri inej verzii sa líšia len cesty k súborom.

Príprava dosky

Nastav SOP prepínače na Flash mód

SOP2 = ON, SOP1 = OFF, SOP0 = ON → binárne 1 0 1

Potom stlač RESET (SW2) alebo odpoj a znovu pripoj napájanie.

Pripoj dosku k PC cez micro-USB (iba na komunikáciu) + zapoj externé 5 V ≥ 2.5 A do barrel konektora.

Over v Device Manager, že sa objavujú COM porty XDS110 Class Application/User UART a XDS110 Class Auxiliary Data Port.

Otvorenie UniFlash (GUI postup)

Spusti TI UniFlash.

Klikni na New Configuration.

V zozname zariadení vyber:

mmWave → xWR1843 → xWR1843 (ES1.0) (ak máš novší revízny kúsok, môže sa volať len xWR1843).

Connection: nechaj predvolený Texas Instruments XDS110 USB Debug Probe.

Klikni Start.

Nahratie binárneho súboru

V ľavom menu klikni na Program.

V poli Image 1 klikni na Browse a vyber súbor:

C:\ti\mmwave_sdk_03_06_02_00-LTS\packages\ti\demo\xwr18xx\mmw\xwr18xx_mmw_demo.bin

Zaškrtni Erase, Program, Verify.

Klikni na Load Image.

Po úspešnom nahratí:

Nastav SOP prepínače na Functional mód:

SOP2 = OFF, SOP1 = OFF, SOP0 = ON → 0 0 1

Stlač RESET (SW2).

Spustenie mmWave Demo Visualizer

Otvor v Chrome mmWave Demo Visualizer.

Nastav:

CFG_port = COM port „XDS110 Class Application/User UART“ (115200 baud)

DATA_port = COM port „XDS110 Class Auxiliary Data Port“ (921600 baud)

Vyber SDK version = 3.6 v rozbaľovacom menu.

Klikni Load Config from PC and Send a vyber .cfg z priečinka:

C:\ti\mmwave_sdk_03_06_02_00-LTS\packages\ti\demo\xwr18xx\mmw\profiles\

Flashovanie z príkazového riadka

To isté, čo robí rozhranie UniFlash, sa dá spustiť aj z príkazového riadka nástrojom dslite.bat. Príkaz sa neopisuje ručne — UniFlash ho vie vygenerovať sám presne pre nastavenie, ktoré je práve otvorené, aj s cestami a s uloženým konfiguračným súborom .ccxml. Voľba býva v ľavom menu pri programovaní pod názvom Standalone Command Line alebo Generate Command Line.

Prečo nie hotový predpis. Príkaz závisí od verzie nástroja UniFlash, od cesty k obrazu a od konfiguračného súboru konkrétneho počítača. Opísaný z cudzieho zdroja spravidla nezbehne — napríklad preto, že obsahuje režim určený pre iný typ obvodu. Vygenerovaný príkaz je vždy platný pre tú zostavu, na ktorej vznikol.

Po prepnutí do režimu flashovania (SOP = 101) sa príkaz spustí, a po úspešnom nahratí sa prepínače vrátia do prevádzkového režimu (SOP = 001) a doska sa resetuje tlačidlom SW2.

8. Princíp merania elevácie

Doteraz šlo o postupy: čo nastaviť, kam pripojiť, ako overiť výsledok. Nasledujúcich šesť kapitol je iného druhu — je to správa z merania. Opisuje, ako sa na tejto zostave určuje výška cieľa, odkiaľ pochádzajú kalibračné konštanty zabudované v toolboxe, akú presnosť sa podarilo dosiahnuť a kde sú hranice, za ktorými výsledok prestáva platiť. Kto ich chce overiť alebo prekalibrovať vlastnú zostavu, nájde postup v kapitole 12 a použité skripty v prílohe.

8.1 Anténna geometria a elevačný rad

AWR2944 má štyri prijímače RX0–RX3 v jednom vodorovnom rade s rozostupom 0,5λ a štyri vysielače, z ktorých tri (TX0, TX2, TX3) ležia v tom istom vodorovnom rade a jeden — TX1 — je posunutý zvislo o 0,8λ. Vo virtuálnej anténnej sústave (každá dvojica TX×RX = jeden virtuálny prvok) tak vzniknú dva rady: spodný (azimutový) z TX0/TX2/TX3 a horný (elevačný) z TX1. Vodorovné pozície v jednotkách λ: RX na 0–1,5; TX0/TX1/TX2/TX3 na základni +0/+1/+2/+4. Pozor na číslovanie: toolbox aj .cfg používajú 0-based TX0–TX3; dokumenty TI číslujú 1-based, takže „elevačný TX2“ v TI obrázkoch je TX1 toolboxu.

Rovnakú geometriu (2D MIMO pole so súčasnou azimutovou aj elevačnou schopnosťou) znázorňuje aj obrázok 6 v TI aplikačnej správe MIMO Radar (SWRA554A) (rozloženie antén je v príručke k toolboxu, obrázok 2.1).

8.2 Interferometrické páry

Keďže TX1 je vodorovne posunutý o 1λ oproti TX0 (a o −1λ oproti TX2) a RX majú rozostup 0,5λ, štyri virtuálne prvky horného radu majú presne rovnakú vodorovnú polohu ako štyri prvky spodného radu — líšia sa iba zvislým posunom 0,8λ. Toolbox z nich stavia štyri páry (tabuľka 8.1):

Tabuľka 8.1. Interferometrické páry virtuálnych prvkov

PárHorný prvokSpodný prvokSpoločná vodorovná poloha
1TX1 · RX0TX0 · RX2základňa + 1,0λ
2TX1 · RX1TX0 · RX3základňa + 1,5λ
3TX1 · RX2TX2 · RX0základňa + 2,0λ
4TX1 · RX3TX2 · RX1základňa + 2,5λ

Geometrické rozmiestnenie týchto párov znázorňuje obrázok 8.1.

vodorovná poloha [λ] (od základne) 1λ 0,8λ 12 34 TX0 · RX0–3 TX2 · RX0–3 TX3 · RX0–3 (v predvolenom profile neaktívny) TX1 · RX0–3 (elevačný rad, +0,8λ) Virtuálna anténna sústava AWR2944 (TDM, TX0+TX1+TX2) kruh = spodný (azimutový) rad · štvorec = horný (elevačný) rad · červené spojnice = interferometrické páry 1–4
Obr. 8.1. Rozmiestnenie virtuálnych prvkov pre predvolený profil (TX0, TX1, TX2 aktívne; TX3 na +4λ by pridal ďalšie štyri azimutové prvky). Každý zo štyroch prvkov elevačného radu TX1 má presne pod sebou prvok spodného radu — štyri páry z tabuľky 8.1, líšiace sa len zvislým posunom 0,8λ.

Rovnaká vodorovná poloha je podstata triku: rozdiel fáz prvkov páru nezávisí od azimutu cieľa (vodorovný člen sa odčíta identicky) a ostáva v ňom čisto zvislý geometrický člen. Pre cieľ pod elevačným uhlom el platí:

\Delta\varphi = 2\pi\,.\,\dfrac{d_z}{\lambda}\,.\,\sin(\text{el}) = 2\pi\,.\,0{,}8\,.\,\sin(\text{el}),(8.1)

kde d_z je zvislý rozostup páru (tu 0,8λ, kapitola 8.1) a \text{el} je elevačný uhol cieľa.

Kód (estimatePointCloudZ v BIN2MAT_2944, ekvivalent v live_display) napriek tomu vodorovný člen formálne odčítava. Prečo a čo to znamená, ukazuje všeobecná rovnica dvoch prvkov posunutých o \Delta x vodorovne a \Delta z zvislo (smerové kosínusy ďalekého poľa; \Delta x, \Delta z v jednotkách λ):

\Delta\varphi = 2\pi\,.\,\left[\,\Delta x\,.\,\sin(\text{az})\,.\,\cos(\text{el}) + \Delta z\,.\,\sin(\text{el})\,\right],(8.2)

kde \text{az} je azimutálny uhol cieľa (\Delta x, \Delta z a \text{el} ako vyššie).

Vodorovný člen — príspevok posunutia prvkov vo vodorovnej rovine — je fázový prejav toho, že k vodorovne posunutému prvku prichádza vlna cieľa mimo osi po odlišne dlhej dráhe. Pri \Delta x \ne 0 by sa teda do odhadu elevácie primiešal azimut, navyše násobený hodnotou \cos(\text{el}) — a tú odhad azimutu nemá ako poznať: azimut sa určuje uhlovou FFT po vodorovnom rade virtuálnych prvkov, ktorá pracuje len s hodnotou \sin(\text{az}) a eleváciu zanedbáva (podrobnejšie 8.5). Konštrukcia párov s \Delta x = 0 tento člen odstraňuje exaktne a bezpodmienečne: nezávisle od azimutu cieľa, od člena \cos(\text{el}) aj od presnosti odhadu azimutu. Kód si napriek tomu \Delta x počíta z tabuľky geometrie a od fázy každého páru odčítava 2\pi\,.\,\Delta x\,.\,\sin(\text{az}) s azimutom prevzatým z RA mapy. Pri \Delta x = 0 je to nulová operácia; zmysel má ako poistka konštrukcie — keby sa párovacia logika alebo tabuľka geometrie niekedy zmenila (iná doska, iné rozloženie antén) a páry prestali sedieť presne, odhad by degradoval len na aproximáciu prvého rádu namiesto tichého primiešania azimutu do výšky. Poistka pritom používa zjednodušený tvar bez \cos(\text{el}) a spolieha sa na odhad azimutu — plnú presnosť má len exaktné párovanie, čo je ďalší dôvod, prečo sa geometria párov nemá meniť bez rekalibrácie (kapitola 12).

8.3 Od fázy k výške

Postup na jednu detekciu (range bin + azimut z RA mapy):

(1) Fáza páru. Pracuje sa so štyrmi interferometrickými pármi z kapitoly 8.2; „prvkami páru“ sú jeho horný virtuálny prvok (TX1·RXk) a spodný prvok s rovnakou vodorovnou polohou podľa tabuľky 8.1 (napr. pár 1 = TX1·RX0 hore a TX0·RX2 dole). Pre každý z ôsmich zúčastnených virtuálnych prvkov sa vezme range-FFT jeho signálu, spriemerovaná cez chirpy príslušného vysielača v rámci, a z nej komplexná hodnota V v range bine detekcie. Fázový rozdiel páru je Δφ = angle(V_horný · conj(V_spodný)) — teda fáza horného prvku mínus fáza spodného.

(2) Kalibrácia. Od Δφ každého páru sa odčíta jeho kalibračný ofset — konštantný fázový rozdiel hardvérových reťazcov práve toho páru, zmeraný na referenčnom cieli v nulovej elevácii (kapitola 12); vektor štyroch ofsetov je ELEV_CALIB.

(3) Kombinácia párov. Štyri kalibrované fázy sa skombinujú kruhovým priemerom angle(mean(exp(jφ))), ktorý je — na rozdiel od aritmetického priemeru — odolný voči preskokom ±π.

(4) Prepočet. Z výslednej fázy sa vypočíta elevácia:

\sin(\text{el}) = \dfrac{-\varphi_{\text{elev}}}{2\pi\,.\,0{,}8\,.\,k},(8.3)

kde k = 1{,}20 je empirická škála (kapitola 10) a výsledná výška je:

z = R\,.\,\sin(\text{el})(8.4)

Záporné znamienko je konvencia osi z nahor overená kalibračnou kampaňou (kapitola 10); škála k je empirická korekcia sklonu odozvy zmeraná na sérii známych výšok.

8.4 Jednoznačnosť

Fázový rozdiel je jednoznačný len v intervale (−π, π⟩. Z rovnice páru tak plynie hranica:

|\sin(\text{el})| \le \dfrac{1}{2\,.\,0{,}8} = 0{,}625,(8.5)

teda |el| ≤ 38,7°. Cieľ nad touto hranicou by sa „pretočil“ na nesprávnu eleváciu — preto ju zobrazovacie nástroje (show_pc3d) vyznačujú červenými čiarami. Zvislý rozostup 0,8λ je kompromis výrobcu: väčší rozostup = jemnejšie fázové rozlíšenie, ale užšie pásmo jednoznačnosti.

8.5 Podmienka platnosti výšky

Azimut detekcie sa určuje uhlovou FFT po vodorovnom rade virtuálnych prvkov: signály prvkov sa sčítavajú s upravenými fázami a modifikáciou týchto fáz sa natáča smer hlavného laloka prijímacieho vyžarovacieho diagramu sústavy — a s natáčaním sa menia aj vlastnosti postranných lalokov. FFT tieto súčty vyhodnotí pre všetky smery naraz (každý jej bin zodpovedá jednému natočeniu) a z porovnania odoziev vzniká uhlový profil (v anglickej literatúre beamforming). Samotné tvarovanie diagramu — šírka hlavného laloka a úroveň postranných — je dané sústavou: počtom a rozostupmi virtuálnych prvkov a prípadným váhovaním ich amplitúd. Zero-padding uhlovej FFT diagram netvaruje, len modifikuje jeho vyhodnotenie: ten istý priebeh sa vzorkuje na hustejšej mriežke smerov, profil je hladší a maximum sa odčíta jemnejšie — šírka hlavného laloka, a teda uhlové rozlíšenie, sa nemení. Tento odhad pracuje s hodnotou \sin(\text{az}) a zanedbáva člen \cos(\text{el}) — pri cieľoch ďalej od osi preto azimutová chyba rastie a s ňou aj chyba odhadu výšky (azimut vstupuje do výberu range binu a interpretácie geometrie). Kampaň (kapitola 10) ukázala dôveryhodné výšky do ±3° azimutu a nespoľahlivé od ±13,4°; prevádzková hranica je konzervatívnych |az| ≤ 6°. Druhá časť podmienky je SNR: fáza slabých detekcií je zašumená, preto sa výška počíta len nad prahom (voliteľné > 15/20/25, porovnanie peak/medián RA profilu). Zamietnuté body dostanú z = NaN a v oblaku bodov ostávajú — ich vodorovná poloha platí naďalej.

9. Kalibračná kampaň — zostava a datasety

9.1 Meraný cieľ a jeho umiestnenie

Referenčným cieľom kampane bol kútový odrážač — tri navzájom kolmé odrazné steny (vrcholový uhol stien 3 × 90°). Trojnásobný odraz vracia vlnu späť k zdroju v širokom rozsahu natočení, takže ide o silný, priestorovo malý a polohovo stály bodový cieľ, ktorý sa v RA mape prejavuje jedným výrazným peakom. Odrážač bol umiestnený na kevlarovom trojnohom statíve s výškovo posuvnou stredovou tyčou: zvislý posun medzi úrovňami (0, ±10, ±20 cm) sa nastavoval posunom tyče, takže zmena výšky bola jednoznačne merateľná a opakovateľná. Aby sa so zmenou výšky nemenila pozícia cieľa vo vodorovnej rovine, kontrolovala sa olovnicou — vrchol odrážača sa vracal nad ten istý bod podlahy.

9.2 Radar a nivelácia

Radar bol položený na vodorovnej podložke, ktorej uhol náklonu sa meral a kontroloval digitálnym inklinometrom. Výšková referencia zostavy je výška stredu antén — rozumie sa ňou výška stredu zvislej anténnej sústavy z ôsmich patch prvkov nad sebou, z ktorých je zložená každá anténa dosky (RX aj TX). Meranie výšky cieľa z je vždy relatívne k tejto úrovni: z = 0 znamená vrchol odrážača presne vo výške stredu antén.

Poučenie kampane: nivelácia nie je voliteľný krok. Prvá časť E-série sa merala pred dôslednou niveláciou — zostava mala systematický náklon ≈ 0,7–0,8°, ktorý je natrvalo obsiahnutý v nameraných dátach a pri výškach sa prejavuje ako konštantný ofset niekoľko cm rastúci so vzdialenosťou (kapitoly 10 a 11). Od meraní E7c/F3 je nivelácia inklinometrom povinnou súčasťou postupu a rekalibrácia bez nej nemá zmysel (kapitola 12).

9.3 Dve zostavy

Tunelová zostava (série E a F): radar s výškou stredu antén 146 cm, odrážač na statíve vo vzdialenostiach 3–5 m na osi meracieho tunela — dlhá voľná dráha, minimum blízkych odrazných plôch. Laboratórna zostava (séria G): radar položený na stole (výška stredu antén ≈ 88 cm), odrážač opäť na statíve, vo vzdialenosti ≈ 1,9 m; hrana stola končí necelých 10 cm pred pozíciou antén, takže dráha k cieľu vedie nad voľnou podlahou. Zostava je nenáročná na priestor aj prípravu; rozptyl fázových rozdielov medzi štyrmi interferometrickými pármi — ktoré by sa pri ideálnom bodovom cieli mali zhodovať (kapitola 8.3) a ich zhoda je preto prirodzeným ukazovateľom kvality merania — v nej však vyšiel výrazne väčší než v tuneli. Rušivými prvkami boli objekty za odrážačom a v jeho okolí, ale aj za radarom — na krátkej dráhe tak mohlo dochádzať aj k viacnásobným odrazom; k tomu sa pridáva blízka hrana stola a iná geometria odrazu od podlahy pri nižšej výške. Príspevky jednotlivých mechanizmov nie sú jednoznačne rozlíšené, preto výsledky z tejto zostavy treba brať ako indikatívne (podrobnejšie kapitola 13).

9.4 Prehľad datasetov

Všetky záznamy sú krátke statické merania (rádovo 20 rámcov) s predvoleným profilom DCA_RX1111_TX1110_TDM.cfg. Každý dataset tvorí dvojica adc_data_Raw_0.bin + adc_data_LogFile.txt (+ kópia profilu). Vyhodnocuje sa AVG rámec (koherentný priemer, statická scéna; prehľad datasetov v tabuľke 9.1).

Kde sú dáta. Všetky záznamy z tabuľky 9.1 sú zverejnené spolu s touto publikáciou na radary-metodika.tuke.sk/data/ ako jeden balík .zip (približne 60 MB). Obsahuje datasety, použitý profil DCA_RX1111_TX1110_TDM.cfg, štyri analytické skripty kampane (príloha, kapitola 15) a súbor README. Balík sa po vydaní už nemení — čísla uvedené v kapitolách 9 až 11 sa vzťahujú práve na tieto záznamy.

Tabuľka 9.1. Prehľad datasetov kalibračnej kampane

DatasetSkutočné zRZostavaÚčel
E0_prazdna_R3, E0_prazdna_R5——tunel (stará)prázdne pozadie bez odrážača — referencia scény
E1_z0_R3, E1_z0_R503 m / 5 mtunel (stará)prvý kalibračný vektor (neskôr nahradený — prevzal do seba náklon vtedajšej zostavy)
E2_p10_R3 / E3_p20_R3+10 / +20 cm3 mtunel (stará)kladné výšky — znamienko a škála
E4_m10_R3 / E5_m20_R3−10 / −20 cm3 mtunel (stará)záporné výšky — symetria odozvy
E7_z0_R404 mtunel (stará)nula na inej vzdialenosti; odhalila anomáliu (≈ −22 cm) — príčinou náklon skrine radaru
E7b_z0_R4_pitch104 mtunelkontrolovaný náklon 1° — experimentálne potvrdenie príčiny anomálie E7
E7c_z0_R4_level04 mtunel, nivelovanánivelovaná nula na 4 m — nezávislá kontrola kalibrácie naprieč vzdialenosťou
E8_z0_az10_R303 mtunelcieľ mimo osi (azimut ≈ 10°) — podklad pre hranice uhlovej validity
F3_z0_R3_level03 mtunel, nivelovanáreferencia aktuálneho kalibračného vektora ELEV_CALIB
F3_z0_R3_pitch103 mtunelkontrolovaný náklon k nivelovanej referencii
G1_z0_R1880≈ 1,9 mlaboratórnanula laboratórnej zostavy
G2_p10_R188+10 cm≈ 1,9 mlaboratórnaznáma výška na krátkej vzdialenosti (≈ 3° elevácie); obrázok príkladu 8.10 v príručke k toolboxu

V priečinku sú aj analytické skripty kampane: elev_sign_eval.m (vyhodnotenie znamienka a škály na všetkých datasetoch; výpis v prílohe, kapitola 15.1), gate_analyza.m/gate_test.m (návrh podmienky platnosti výšky; výpisy v prílohe, kapitoly 15.2 a 15.3) a kvety_check.m (vylúčenie rastlín v scéne ako zdroja kontaminácie; výpis v prílohe, kapitola 15.4). Dataset T1_restart je technický test reštartu merania, s eleváciou nesúvisí.

9.5 Postup jedného merania

(1) Kontrola náklonu podložky inklinometrom (nivelácia). (2) Nastavenie výšky vrcholu odrážača stredovou tyčou statívu, kontrola pozície vo vodorovnej rovine olovnicou. (3) Krátky záznam predvoleným profilom (capture s ukladaním .bin + LogFile); počas záznamu pozastavená synchronizácia OneDrive (strata UDP paketov). (4) Okamžitá kontrola v BIN2MAT_2944 (PC, AVG rámec), až potom zmena konfigurácie na ďalší bod série.

Množina povelov v MATLABe pre jeden bod série:

% zaznam (predvoleny profil; ukladanie .bin + LogFile je predvolene zapnute)
src = awr2944_dca;
cube = src.capture(); % kratky staticky zaznam (~20 ramcov)
src.release();

% okamzita kontrola prave ulozeneho zaznamu
BIN2MAT_2944 % otvorit novy .bin z Downloads; View -> PC, Frame -> AVG
show_pc3d % priestorova kontrola vysky a uhloveho priestoru

% archivacia datasetu pod nazvom kampane (nazov nesie z_skut a vzdialenost)
movefile("C:\Users\...\Downloads\awr2944_2026-07-03_10-12-33", ...
 "C:\radar\merania_elevacia\E3_p20_R3");

10. Výsledky kampane

10.1 Znamienko

Prvé merania so známou výškou ukázali, že nekorigovaný odhad má opačné znamienko: pomer nameraného a skutočného z vychádzal záporný (−1,14 až −1,25 na bodoch E2–E5) — záporný pomer znamená, že odhad mal vždy opačné znamienko než skutočnosť (napr. roh na +10 cm vychádzal ≈ −12 cm). Pomer je tu výrečnejší než rozdiel: jeho znamienko nesie vzťah znamienok a jeho absolútna hodnota škálu (10.3), kým rozdiel by oba efekty zmiešal do jedného čísla. Konvencia toolboxu je os z nahor, preto sa do prepočtu zaviedlo záporné znamienko (vzorec 8.3, kapitola 8.3) — zhodne v BIN2MAT_2944 aj live_display. Absolútna hodnota tých istých pomerov zároveň prezradila škálovú chybu (10.3).

10.2 Kalibračný vektor: cesta E1 → F3

Prvý vektor ofsetov jednotlivých párov (kapitola 8.3, krok 2) vznikol z E1_z0_R3 (2026-07-02). Nezrovnalosť odhalila až nulová kontrola na inej vzdialenosti: E7_z0_R4 ukazovala ≈ −22 cm namiesto nuly. Príčinou nebol výpočet, ale náklon zostavy — radar stál na pojazdnom podstavci, ktorého sklon sa pri premiestnení medzi sériami menil; potvrdil to kontrolovaný experiment E7b_z0_R4_pitch1 (zámerný náklon 1° posunul nulu predvídateľne). E1 vektor mal do seba prevzatý náklon vtedajšej zostavy ≈ 0,8° (≈ +4 cm na 3 m). Po zavedení nivelácie vznikol referenčný vektor z F3_z0_R3_level (2026-07-03, 19-rámcový priemer, skript elev_sign_eval.m — výpis v prílohe, kapitola 15.1), ktorý platí ako master hodnota až do súčasnosti:

ELEV_CALIB = [−0,0940 +0,0881 +0,5411 +0,3502] rad
(poradie párov 1–4 = rastúca vodorovná poloha, kapitola 8.2)
Platnosť vektora. Vektor je viazaný na páry TDM profilu s maskou TX1110 (TX0/TX2/TX1). Pri inej TX maske (napr. TX1011) sa prekrýva len časť párov a kalibrácia sa uplatní čiastočne. Master hodnota žije v radar_cfg.m (P.elevCalib; súbor je v priečinku matlab\ toolboxu); BIN2MAT_2944 má zámernú vlastnú kópiu (ELEV_CALIB, nástroj je samostatný) — pri rekalibrácii treba aktualizovať obe miesta (kapitola 12).

10.3 Empirická škála

Body so známou výškou E2–E5 (elevácie 1,8–3,8°) ukázali, že |z| je systematicky ≈ 1,2× nadhodnotené: pomery |namerané/skutočné| ležali v pásme 1,14–1,25 bez uhlového trendu, preto sa korekcia zaviedla ako konštanta k = 1,20 v menovateli prepočtu (kapitola 8.3). Bod laboratórnej zostavy G2 (pomer ≈ 1,39 pri 3,1°) bol z fitu vylúčený — zostava má nerozlíšené rušivé mechanizmy (kapitola 9.3). Fyzikálna príčina škály nie je uzavretá. Pracovná hypotéza súvisí so zvislou sústavou ôsmich patch prvkov, z ktorej je zložená každá anténa (kapitola 9.2): tá istá apertúra, ktorá zužuje hlavný lalok v elevácii, môže mať naprieč lalokom aj fázový priebeh — a posun efektívneho fázového stredu stĺpca s uhlom je ekvivalentný inej efektívnej zvislej základni párov. Číselne: škála 1,20 zodpovedá efektívnej základni:

1{,}2\,.\,0{,}8\lambda = 0{,}96\lambda(10.1)

namiesto geometrických 0,8λ a pri malých uhloch kampane by dávala konštantný pomer bez uhlového trendu — presne pozorované správanie. Hypotéza nie je overená (vyžadovala by meranie alebo EM model diagramu antény); úzky hlavný lalok tej istej sústavy má popri tom amplitúdový dôsledok — pokles SNR pre ciele ďalej od osi laloka — ktorý sa premieta do SNR časti podmienky platnosti, nie do škály (otvorené otázky, kapitola 13).

10.4 Podmienka platnosti výšky (uhlová a SNR časť)

Návrh podmienky vznikol na tunelových dátach (skripty gate_analyza.m/gate_test.m — výpisy v prílohe, kapitoly 15.2 a 15.3, súbory aj v balíku s dátami kampane; cieľ mimo osi dodal dataset E8_z0_az10_R3). Výsledok: dôveryhodné výšky mali body do |az| ≤ 3,0°, zjavne nespoľahlivé od |az| ≥ 13,4°; prevádzkový prah 6° je zvolený v strede medzery. Ako metrika sa skúšal aj rozptyl fáz medzi pármi, bol však zamietnutý: nediskriminuje, lebo koherentný clutter (napr. zárubňa dverí) má fázy párov rovnako konzistentné ako skutočný bodový cieľ. Druhá časť podmienky je sila detekcie (SNR); prah má každý nástroj samostatný, lebo ich metriky majú rôzne jednotky: offline 19-rámcový priemer mal medzi rohom a pozadím širokú medzeru, prah v režime v reálnom čase (jeden rámec) sa určil meraním. Aktuálne prevádzkové prahy sú používateľsky voliteľné (> 15/20/25 offline, argument elevSnrThr v reálnom čase) — pozri príručku k toolboxu, heslo 7.2.b a príklad 8.10.

10.5 Súhrn parametrov zavedených kampaňou

Prehľad týchto parametrov je v tabuľke 10.1:

Tabuľka 10.1. Parametre zavedené kalibračnou kampaňou

ParameterHodnotaMasterKópia
znamienko prepočtu− (os z nahor)zhodne v oboch nástrojoch
elevCalib (ofsety párov)[−0,0940; 0,0881; 0,5411; 0,3502] radradar_cfg.mBIN2MAT_2944.m (ELEV_CALIB, vlastná kópia nástroja)
elevScale (škála)1,20radar_cfg.mBIN2MAT_2944.m (ELEV_SCALE, vlastná kópia nástroja)
elevGateAzDeg (uhlový prah)6°radar_cfg.m—
SNR prah výškyvoliteľný: > 15/20/25 (offline), elevSnrThr (v reálnom čase)pozri príručku k toolboxu, heslá 7.2.a a 7.2.b

11. Verifikácia na archívnych dátach a absolútna presnosť

11.1 Motivácia a metóda

Verifikácia (2026-07-10) vznikla z rutinnej úlohy: pripraviť ilustračný obrázok merania výšky z datasetu E3_p20_R3. Nameraná hodnota z ≈ +0,169 m namiesto očakávaných +0,20 m vyvolala systematickú kontrolu všetkých datasetov so známou výškou. Metóda bola pri každom zázname rovnaká a totožná s postupom príkladu 8.10 z príručky k toolboxu: BIN2MAT_2944, pohľad PC v režime 2D+elev (prah > 15), AVG rámec, odčítanie z bodu odrážača (datatip v show_pc3d). Kalibrácia aj škála boli počas celého testu v aktuálnom stave (vektor F3, k = 1,20).

11.2 Výsledky

Výsledky verifikácie sú v tabuľke 11.1:

Tabuľka 11.1. Výsledky verifikácie na archívnych záznamoch

DatasetZostavaSkutočné zNamerané zChyba
E2_p10_R3tunel, stará (nenivelovaná)+0,100 m+0,061 m−3,9 cm
E3_p20_R3tunel, stará+0,200 m+0,169 m−3,1 cm
E4_m10_R3tunel, stará−0,100 m−0,134 m−3,4 cm
E5_m20_R3tunel, stará−0,200 m−0,239 m−3,9 cm
F3_z0_R3_leveltunel, nivelovaná0+0,019 m+1,9 cm
E7c_z0_R4_leveltunel, nivelovaná0−0,006 m−0,6 cm
G1_z0_R188laboratórna0+0,009 m+0,9 cm
G2_p10_R188laboratórna+0,100 m+0,124 m+2,4 cm

11.3 Diagnostický podpis: náklon vs. škála

Body starej zostavy E2–E5 majú chybu konštantnú (−3,1 až −3,9 cm) — nezávisí od veľkosti ani znamienka výšky. Konštantná chyba −3,6 cm na R ≈ 3,13 m zodpovedá uhlovému ofsetu ≈ −0,66° — veľkosťou konzistentnému s náklonom starej zostavy, nezávisle odhadnutým už pri náhrade E1 vektora (≈ 0,7–0,8°, kapitola 10.2). Sklon odozvy je pritom správny: rozdiely susedných úrovní vychádzajú 0,105–0,108 m na skutočných 0,10 m, čiže škála 1,20 linearizuje odozvu korektne. Z toho plynie všeobecne použiteľný diagnostický podpis (tabuľka 11.2):

Tabuľka 11.2. Diagnostický podpis: pozorovanie a jeho interpretácia

Pozorovanie na bodoch so známou výškouInterpretácia
chyba konštantná, nezávislá od |z| aj znamienka; pri nule rastie so vzdialenosťounáklon zostavy (ofset [rad] ≈ chyba / R); rieši sa niveláciou a rekalibráciou
chyba rastúca úmerne s |z|, symetrická podľa znamienka; nuly sediaškálová chyba; rieši sa úpravou elevScale

11.4 Absolútna presnosť

Nivelované záznamy (F3, E7c, G1, G2) dajú chyby −0,6 / +0,9 / +1,9 / +2,4 cm na vzdialenostiach 1,9–4 m. Absolútna presnosť výšky systému je teda ≈ ±2–3 cm — táto hodnota je prevzatá aj do príkladu 8.10 v príručke k toolboxu. Najväčšia odchýlka (G2, +2,4 cm) patrí laboratórnej zostave s nerozlíšenými rušivými mechanizmami (kapitola 9.3); časť z nej môže byť aj neistota nastavenia vrcholu odrážača — z dát sa tieto príspevky oddeliť nedajú.

11.5 Závery

(1) Kalibračný vektor F3 aj škála 1,20 platia — nivelované nuly sedia do 2 cm na dvoch rôznych vzdialenostiach a sklon odozvy je správny. (2) Body E2–E5 nesú náklon starej zostavy, takže sa nepoužívajú na demonštrácie ani na fitovanie; ich sklonová informácia (škála) však ostala platná, lebo konštantný ofset sklon neovplyvní. (3) Každá budúca pochybnosť o elevácii sa dá triediť podľa diagnostického podpisu z kapitoly 11.3 skôr, než sa siahne na kalibráciu či škálu.

12. Rekalibračná procedúra

12.1 Kedy rekalibrovať

Kalibračný vektor kompenzuje fázové rozdiely hardvérových reťazcov konkrétneho kusu EVM — je teda viazaný na daný hardvér a na geometriu párov profilu (TX maska 1110). Rekalibrácia je namieste, keď: (a) sa použije iný kus dosky AWR2944; (b) nivelované nulové merania prestanú sedieť (diagnostický podpis z kapitoly 11.3 ukáže konštantný ofset, ktorý sa niveláciou neodstráni); (c) sa zasiahne do anténnej časti alebo geometrie párov. Naopak — pri podozrení na škálovú chybu (chyba rastúca s |z|) sa nerekalibruje vektor, ale rieši sa elevScale (kapitola 11.3).

12.2 Postup

(1) Nivelovaná zostava. Radar na vodorovnej podložke, náklon zmeraný digitálnym inklinometrom; kútový odrážač na statíve s vrcholom presne vo výške stredu antén (z = 0, kapitola 9.2), pozícia vo vodorovnej rovine olovnicou, azimut ≈ 0°, vzdialenosť ≈ 3 m, voľná dráha (tunelové podmienky).

(2) Záznam. Krátke statické meranie predvoleným profilom (≈ 20 rámcov), postup a povely podľa kapitoly 9.5 (vrátane pauzy OneDrive).

(3) Odčítanie fáz. Záznam otvoriť v BIN2MAT_2944, pohľad PC — nástroj pri ňom exportuje do workspace tabuľku elevPairPhaseTable (dosah, azimut, nekalibrované fázy štyroch párov). Pre riadok cieľa (správny dosah, azimut ≈ 0) sú tieto štyri fázy pri z = 0 priamo novými ofsetmi; priemerovanie cez rámce robí referenčný skript elev_sign_eval.m (výpis v prílohe, kapitola 15.1; kampaň použila 19-rámcový priemer).

(4) Zápis nového vektora. Štyri nové hodnoty sa zapisujú v poradí párov podľa rastúcej vodorovnej polohy (kapitola 8.2), a to na dve miesta — oba súbory sú v priečinku matlab\ toolboxu: do P.elevCalib v radar_cfg.m, čo je hlavná hodnota pre triedu, a do ELEV_CALIB v BIN2MAT_2944.m, ktorý si drží vlastnú kópiu, lebo je to samostatný nástroj. Ak sa zmení len jedno miesto, obe cesty spracovania budú počítať s iným vektorom — a to je najnepríjemnejší druh chyby, lebo sa navonok nijako neohlási.

Keď nechcete siahať do zdroja. Nový vektor sa dá podsunúť aj zvonku: stačí položiť kamkoľvek na cestu MATLABu súbor elev_calib_local.m — funkciu, ktorú si napíšete sami a ktorá vracia struct s poľom elevCalib (voliteľne aj elevScale, elevGateAzDeg a elevGateSnrLive). Trieda aj nástroj ho cez elev_calib_load.m nájdú samy a hodnoty prevezmú; zápisy v zdroji ostanú nedotknuté. Keď súbor na ceste nie je, nič sa nemení. Hodí sa pri viacerých kusoch EVM s odlišnou kalibráciou alebo pri dočasnom pokuse, ktorý nemá ostať v kóde.

(5) Overenie. Nivelovaná nula na inej vzdialenosti (vzor E7c_z0_R4_level) musí ukazovať z ≈ 0 v pásme absolútnej presnosti (±2–3 cm, kapitola 11.4); známa nenulová výška (±10/±20 cm) skontroluje znamienko a sklon odozvy. Až potom vektor platí.

Bez nivelácie je rekalibrácia škodlivá. Vektor meraný na naklonenej zostave prevezme náklon do seba (prípad E1, kapitola 10.2) a systém potom ukazuje ofset na všetkých ďalších meraniach. Inklinometer pred záznamom nie je voliteľný krok.

13. Známe limity a otvorené otázky

13.1 Limity systému

(a) Jednoznačnosť ±38,7° — daná rozostupom 0,8λ (kapitola 8.4); cieľ nad hranicou sa pretočí na nesprávnu eleváciu. (b) Uhlová validita — výška sa počíta len pre |az| ≤ 6°; dôveryhodnosť overená do ±3° (kapitoly 8.5 a 10.4). (c) Absolútna presnosť ≈ ±2–3 cm na 1,9–4 m (kapitola 11.4); na iných vzdialenostiach neoverená. (d) Jedna výška na detekciu — interferometria vracia jedinú fázu na range bin: dva ciele v rovnakom bine a azimute dajú zmiešanú fázu, teda nezmyselnú výšku, bez varovania. (e) Výška len nad SNR prahom — slabé detekcie dostanú z = NaN zámerne; prah v režime v reálnom čase (jeden rámec) je v kóde označený ako predbežný. (f) Non-TDM profily — keď vysielajú všetky TX naraz, virtuálne kanály sa nedajú oddeliť, interferometrické páry neexistujú a výška nie je k dispozícii; vysielacia sústava vtedy tvorí jeden spoločný vyžarovací diagram daný fázovými vzťahmi TX.

13.2 Limity kalibrácie a škály

(a) Vektor je viazaný na konkrétny kus EVM a TX masku 1110; pri inej TDM maske (napr. TX1011) sa prekrýva len časť párov a kalibrácia sa uplatní čiastočne — pre trvalo používanú inú masku treba zmerať vlastný vektor (postup kapitola 12). (b) Škála 1,20 je empirická a overená len na malých eleváciách (≈ 1,8–3,8°); jej extrapolácia na väčšie uhly je neoverená.

13.3 Nevyriešené pozorovania

(a) Laboratórna zostava: zvýšený rozptyl fáz medzi pármi a odchýlka G2 (+2,4 cm) — kandidátne mechanizmy (objekty za odrážačom aj za radarom s možnosťou viacnásobných odrazov, blízka hrana stola, geometria odrazu od podlahy) nie sú rozlíšené (kapitola 9.3). (b) Reziduálny ofset F3 (+1,9 cm na vlastnej referenčnej vzdialenosti) — v pásme presnosti, ale najväčší z nivelovaných núl; príčina neurčená.

13.4 Otvorené otázky a návrhy experimentov

(a) Fyzikálna príčina škály — hypotéza posunu efektívneho fázového stredu zvislej sústavy ôsmich patch prvkov (ekvivalent základne 0,96λ, kapitola 10.3). Navrhovaný test bez EM modelu: séria meraní na väčších eleváciách (≈ 6–15°, kratšia vzdialenosť alebo väčší zvislý posun) — ak pomer namerané/skutočné prestane byť konštantný, potvrdí sa fázový priebeh naprieč lalokom a škála sa dá nahradiť uhlovo závislou korekciou. (b) Systematické určenie SNR prahu pre režim v reálnom čase (dnes predbežná hodnota 15). (c) Zopakovanie laboratórnej série v upratanom okolí (bez objektov za odrážačom a radarom) — rozlíšenie mechanizmov z kapitoly 13.3 (a). (d) Vlastný kalibračný vektor pre masku TX1011, ak sa profil s ňou začne používať trvalo.

Poznámka: polia elevCalib, elevScale, elevGateAzDeg a elevGateSnrLive sú popísané aj v príručke k toolboxu, heslo 7.1.b.

14. Zadania

Štyri zadania nadväzujú na predchádzajúce kapitoly a sú stavané ako postupnosť: každé predpokladá, že to pred ním je zvládnuté. Zadania 1 a 2 vychádzajú z kapitol 2 až 5, Zadanie 3 navyše z kapitol 6 a 7, a Zadanie 4 stojí na kapitolách 8 až 13. Nie sú to cvičenia na overenie prečítaného — každé vyžaduje vlastné meranie, vlastné čísla a vysvetlenie rozdielu medzi tým, čo ste čakali, a tým, čo vyšlo.

Podmienky práce. Pracujete v skupinách 3–4 študentov s radarom AWR2944 EVM + DCA1000EVM (voliteľne aj AWR1843BOOST na porovnanie), s rohovými odrážačmi, v laboratóriu alebo väčšej miestnosti (nie vo voľnom priestore). Zapojenie, nahratie firmvéru a prvé meranie nájdete v Príručke k toolboxu AWR2944, kapitola 4. Metodika merania výšky je v kapitolách 8 až 13 tejto knihy.
Ako pracovať so zadaním. Každá úloha obsahuje krok „predikcia" — vaše vlastné číslo alebo odhad zapísaný pred meraním. Znamená to, že ešte pred zapnutím radaru si spočítate, čo čakáte, a to číslo si zapíšete — napríklad: „pri šírke pásma 1,8 GHz čakám rozlíšenie asi 8 cm, takže dva odrážače vzdialené 10 cm by som mal ešte rozlíšiť". Po meraní potom porovnáte, čo vyšlo. Bez tohto kroku sa úloha nedá zmysluplne vypracovať, pretože jadrom hodnotenia nie je to, či vám vyšlo správne číslo, ale to, ako viete vysvetliť rozdiel medzi predikciou a tým, čo reálne namerala vaša konkrétna zostava. Parametre scény (vzdialenosť, uhol, zvolený objekt) si volí každá skupina sama a líšia sa skupina od skupiny — cudzie riešenie sa preto nedá prevziať priamo. Na obhajobe vás vyučujúci môže požiadať upraviť alebo vysvetliť konkrétny riadok vášho vlastného kódu.

14.1 Zadanie 1 — Od surového signálu k spektrogramu

Cieľ: pochopiť, čo radar fyzicky meria, a odvodiť si sami celý reťazec spracovania na jednom kanáli — bez akejkoľvek anténnej sústavy.

Úlohy

  1. Zapojte radar podľa Príručky k toolboxu AWR2944 (kapitola 4) a overte funkčnosť jednoduchým meraním (awr2944_dca, kapitola 4.5).
  2. Zvoľte si vlastnú vzdialenosť R rohového odrážača (líšte sa od ostatných skupín) a zmerajte krátky záznam statickej scény.
    Pred zapnutím radaru si z parametrov zvoleného .cfg profilu vypočítajte a zapíšte: očakávanú polohu peaku (bin aj metre), rozlíšenie ΔR a maximálny dosah Rmax. Tento zápis odovzdávate spolu s výsledkami — bez neho nie je čo porovnávať.
  3. Naprogramujte vlastnú funkciu, ktorá z jedného chirpu (jeden RX, jeden chirp, jeden rámec) vypočíta range-FFT: aplikujte váhovacie okno, doplňte nulami (zero-padding), vypočítajte os vzdialenosti priamo z parametrov profilu. Nepoužívajte hotové plot_chirp ani BIN2MAT_2944 — tento krok si naprogramujte sami.
  4. Porovnajte polohu peaku z vlastného výpočtu s predikciou z bodu 2 aj s výstupom plot_chirp. Ak sa niektorá z hodnôt nezhoduje, vysvetlite prečo — chyba vo výpočte, nepresnosť merania vzdialenosti páskou, alebo niečo iné?
  5. Empiricky overte rozlíšenie ΔR: dva odrážače blízko seba, postupne ich približujte, kým ich RP prestane rozlišovať ako dva samostatné peaky. Porovnajte túto medznú vzdialenosť s teoretickým ΔR z bodu 2.
  6. Rozšírte výpočet o Doppler-FFT na tom istom range bine, cez chirpy jedného vysielača v rámci.
    Pred meraním pohybujúceho sa cieľa si vypočítajte a zapíšte očakávanú max. rýchlosť a rozlíšenie rýchlosti pre váš profil.
  7. Micro-Doppler. Vyberte si vlastný objekt s drobným opakovaným pohybom (nie z tohto zoznamu: ventilátor, kývajúca ruka — zvoľte niečo iné a v správe zdôvodnite, prečo ste čakali práve takýto vzor v spektrograme). Zaznamenajte aspoň 150 rámcov, zopakujte Doppler-FFT z bodu 6 pre každý rámec zvlášť a poskladajte spektrogram (čas × rýchlosť). Porovnajte s výstupom micro_doppler aj s vašou predikciou tvaru spektrogramu, ktorú ste si zapísali pred meraním.
Čo odovzdať: predikcie, ktoré ste si zapísali ešte pred meraním — čísla z bodov 2 a 6 aj s krátkym zdôvodnením, ako ste k nim došli (stačí niekoľko riadkov na začiatku protokolu), vlastný kód (príloha), grafy porovnania vlastného výpočtu oproti nástrojom toolboxu, tabuľku teoretických vs. nameraných hodnôt vrátane empiricky zistenej medznej rozlišovacej vzdialenosti (bod 5), spektrogram z bodu 7 a vysvetlenie vášho konkrétneho vzoru mikro-pohybu — nie všeobecnú úvahu o tom, aké ciele dávajú aký vzor.

14.2 Zadanie 2 — Virtuálna anténa, uhol a Point Cloud

Cieľ: pochopiť, ako z niekoľkých antén vzniká priestorový (uhlový) odhad, a čo presne prináša MIMO navyše oproti jednému vysielaču.

Úlohy

  1. Zvoľte si vlastný azimutový uhol (mimo osi radaru, líšte sa od ostatných skupín) a zmerajte scénu s jedným rohovým odrážačom pod týmto uhlom, profilom s jedným aktívnym vysielačom.
    Pred meraním si z rozostupu prijímačov (λ/2) vypočítajte očakávanú šírku hlavného laloka (uhlové rozlíšenie) pre 4 prvky, aj pre plnú virtuálnu sústavu 12 prvkov o krok 4 nižšie.
  2. Naprogramujte 1D beamforming (uhlovú FFT) len zo štyroch prijímačov (RX0–RX3) — vypočítajte range-angle (RA) mapu a nájdite uhol peaku. Porovnajte s vaším zvoleným uhlom aj s predikciou šírky laloka z bodu 1.
  3. Zopakujte s plným TDM-MIMO profilom (tri vysielače, 12 virtuálnych prvkov) na tej istej scéne. Porovnajte nameranú šírku peaku s predikciou z bodu 1 a číselne vyjadrite skutočné zlepšenie oproti kroku 2.
  4. Naprogramujte jednoduchý CFAR detektor na range-Doppler mape. Skombinujte detekcie s uhlom z bodu 3 a vytvorte oblak bodov (Point Cloud). Najskôr si zapíšte, aký prah CFAR ste zvolili a prečo, a až potom porovnajte výsledok aj riešenie s BIN2MAT_2944.
  5. Zmerajte scénu s dvoma rohovými odrážačmi v podobnej vzdialenosti. Postupne zmenšujte uhlový odstup medzi nimi (zvoľte si vlastný postup krokov), kým ich váš Point Cloud prestane rozlišovať ako dva body. Porovnajte túto medznú hodnotu s teoretickým uhlovým rozlíšením z bodu 1.
Čo odovzdať: predikcie šírky laloka, ktoré ste si zapísali ešte pred meraním (aj s tým, ako ste ich vypočítali), vlastný kód RA a CFAR, porovnávacie grafy uhlového rozlíšenia (jeden TX vs. MIMO) s vysvetlením rozdielu oproti predikcii, výsledný Point Cloud oboch scén vrátane vami zistenej medznej rozlišovacej hodnoty z bodu 5, a krátku diskusiu: aké obmedzenie má 1D beamforming, ak sa vaše dva ciele líšia aj v elevácii, nielen v azimute? (Overíte v Zadaní 4.)

14.3 Zadanie 3 — Porovnanie štyroch ciest spracovania

Cieľ: na reálnom príklade pochopiť, čo prináša a čo stojí každá zo štyroch existujúcich ciest práce s radarom — nie len naspamäť jednu z nich.

Úlohy

  1. Pripravte si vlastnú opakovateľnú scénu (statický rohový odrážač na presne zameranej pozícii — zapíšte si súradnice, aby ste sa k nim vedeli vrátiť) a zmerajte ju postupne všetkými štyrmi cestami:
    1. TI mmWave Studio (nespracované dáta, PostProc),
    2. TI Demo Visualizer (spracované TLV dáta),
    3. LIVE_DAT2MAT_2944 alebo DAT2MAT_2944 (MATLAB náhrada Demo Visualizera),
    4. awr2944_dca + BIN2MAT_2944 (MATLAB nespracované dáta).
  2. Pre každú cestu si zaznamenajte konkrétnu hodnotu vzdialenosti a uhla vášho odrážača tak, ako ju táto cesta ukázala — a porovnajte tieto štyri čísla medzi sebou aj s vašou fyzicky odmeranou referenciou. Vysvetlite akékoľvek rozdiely (iné spracovanie, iné rozlíšenie, iná interpolácia).
  3. Vypracujte tabuľku porovnania podľa aspoň piatich kritérií vlastného výberu (napr. dostupnosť nespracovaných dát, potreba mmWave Studio Runtime, možnosť vlastného spracovania, formát výstupu, rýchlosť/pohodlnosť merania).
  4. Skúste spustiť micro_doppler na dátach z ciest (c) a (d) na scéne s pohybujúcim sa cieľom z Zadania 1. Funguje to na oboch? Doložte konkrétnym výstupom (alebo chybovým hlásením) a zdôvodnite výsledok na základe toho, čo presne každá cesta ukladá — nie všeobecným tvrdením „TLV neobsahuje fázu".
Bonus (ak je k dispozícii AWR1843BOOST).
Pred meraním odhadnite z počtu a rozostupu antén oboch dosiek očakávaný pomer uhlových rozlíšení AWR1843 : AWR2944 a očakávaný pomer elevačných šírok laloka.
Zopakujte meranie RA mapy (jeden TX aj MIMO) na rovnakej scéne s AWR1843 a porovnajte namerané uhlové rozlíšenie s predikciou aj s AWR2944. Odmerajte alebo odhadnite elevačnú šírku hlavného laloka oboch dosiek a porovnajte s teoretickým vzťahom šírka ≈ λ/(N·d) aj s vašou predikciou. Na základe vlastných čísel zdôvodnite, prečo by bol elevačný odhad na AWR1843 — aj keby mal elevačný vysielač — v praxi menej presný.
Čo odovzdať: tabuľku porovnania štyroch ciest s konkrétnymi nameranými hodnotami vzdialenosti/uhla z bodu 2, doložený výsledok micro-Doppler testu z bodu 4, a (ak robené) bonusové porovnanie AWR1843 vs. AWR2944 s predikciami aj nameranými číslami.

14.4 Zadanie 4 — Elevácia: kalibrácia a limity systému

Cieľ: vykonať vlastnú malú kalibračnú kampaň merania výšky a kriticky zhodnotiť výsledky v reálnych podmienkach laboratória.

Úlohy

  1. Preštudujte princíp interferometrického merania výšky (kapitola 8 tejto knihy) a vlastnými slovami vysvetlite, prečo páry prvkov so zhodnou vodorovnou polohou dávajú odhad výšky nezávislý od azimutu cieľa.
  2. Pripravte rohový odrážač na statíve s nastaviteľnou výškou. Zmerajte náklon podložky radaru digitálnym inklinometrom (nivelácia je povinný krok) a nastavte referenčnú nulovú výšku.
  3. Zvoľte si vlastné testovacie výšky (líšte sa od ostatných skupín — nepoužívajte fixne 0/+10/−10 cm) a na jednej vzdialenosti z nich vypočítajte vlastný kalibračný vektor fázových ofsetov podľa postupu v kapitole 12.
    Pred touto sériou meraní si z vašich zvolených výšok a vzdialenosti vypočítajte očakávané elevačné uhly a odhadnite, či ležia v pásme spoľahlivosti (do ±3°) alebo za ním — a teda čo môžete od kalibrácie realisticky čakať.
  4. Overte svoju kalibráciu na inej vzdialenosti a inej výške, než ste použili na výpočet vektora. Porovnajte nameranú a skutočnú hodnotu a vyjadrite chybu v centimetroch.
  5. Vo vašom prostredí (laboratórium, nie voľný priestor) očakávajte zvýšený rozptyl fáz medzi interferometrickými pármi spôsobený odrazmi od stien alebo nábytku. Použite diagnostický podpis z kapitoly 11.3 (konštantný ofset = náklon zostavy; chyba rastúca s výškou = škálová chyba; zvýšený rozptyl fáz medzi pármi = mnohocestné šírenie) na vyhodnotenie kvality vášho konkrétneho merania — ktorý z týchto troch javov u vás prevažuje a ako to viete?
  6. Na základe vami nameranej presnosti (chyba z bodu 4, v cm) posúďte: stačila by táto presnosť na spoľahlivé rozlíšenie statického objektu nad vozovkou (napr. most vo výške 5 m) od vozidla s výškou strechy okolo 1,5 m v rovnakom range-Doppler bine, pri vzdialenosti, akú bežne používa asistenčný systém vozidla (zvoľte si a zdôvodnite konkrétnu vzdialenosť)? Podložte výpočtom z vašich čísel, nie všeobecnou úvahou.
Čo odovzdať: zdôvodnenie princípu vlastnými slovami, predikciu elevačných uhlov, ktorú ste si zapísali ešte pred kalibráciou, vlastný kalibračný vektor s postupom výpočtu, overenie na testovacom bode s chybou v cm, diagnostiku kvality merania (bod 5) a číselne podloženú odpoveď na otázku o rozlíšení mosta od vozidla (bod 6).

15. Príloha: analytické skripty kalibračnej kampane

Konštanty, na ktorých stojí kapitola 10 — kalibračný vektor, škála 1,20 a prahy podmienky platnosti — nevznikli odhadom, ale vyhodnotením kampane. Nasledujúce štyri skripty sú presne tie, ktorými sa k nim dospelo, a sú tu uvedené preto, aby sa dali overiť.

Čo s nimi ide a čo nie. Skripty čítajú záznamy kampane z priečinka uvedeného v premennej base, ktorý si čitateľ musí upraviť podľa toho, kam si balík s dátami rozbalil (odporúčané C:\radar\merania_elevacia). Samotné záznamy sú zverejnené na radary-metodika.tuke.sk/data/, takže postup sa dá nielen skontrolovať, ale aj zopakovať. Konvencie geometrie aj spracovania sú v nich totožné s nástrojmi toolboxu.

15.1 elev_sign_eval.m

Overuje znamienkovú konvenciu elevácie a určuje kalibračné fázy párov. Prejde záznamy kampane, na bine rohu spočíta fázu každého elevačného páru a vypíše pomer nameranej a skutočnej výšky. Práve z jeho výstupu vyplynulo, že holá konvencia dáva obrátené znamienko.

function elev_sign_eval
% ELEV_SIGN_EVAL  Znamienkovy test elevacie z chodbovej serie (2026-07-02).
%
% Cita adc_data_Raw_0.bin z priecinkov E1..E5 (+E8, E7), pocita fazu
% elevacnych parov na binu rohu PRESNE v konvencii BIN2MAT_2944 /
% live_display:  phase = angle(top * conj(bot)),  dz = +0.8 lambda,
% sinEl = phase/(2*pi*0.8),  z = R*sinEl.
% ZIADNA oprava znamienka tu nie je - meriame holu konvenciu.
% Kalibracia parov = E1 (roh na osi, z_skut = 0).
%
% Ocakavanie podla live merani (5.9): z_meas/z_skut ~ -1 (obratene).

base = 'C:\radar\merania_elevacia';
% {priecinok, z_skut [m], okno dosahu [m], kalibracny riadok}
% (index do E; 0 = tento riadok JE kalibracia)
E = { 'E1_z0_R3',      0.00, [2.85 3.30], 0;
      'E2_p10_R3',     0.10, [2.85 3.30], 1;
      'E3_p20_R3',     0.20, [2.85 3.30], 1;
      'E4_m10_R3',    -0.10, [2.85 3.30], 1;
      'E5_m20_R3',    -0.20, [2.85 3.30], 1;
      'E8_z0_az10_R3', 0.00, [2.85 3.30], 1;
      'E7_z0_R4',      0.00, [3.85 4.35], 1;
      % --- 2026-07-03: kontrolovany pitch experiment (vodovaha) ---
      'F3_z0_R3_pitch1',  0.00, [2.85 3.30], 1;   % 1 st nos dole, R=3
      'F3_z0_R3_level',   0.00, [2.85 3.30], 1;   % vyrovnane 0 st, R=3
      'E7b_z0_R4_pitch1', 0.00, [3.85 4.35], 1;   % E7 znacky, 1 st nos dole, R=4
      'E7c_z0_R4_level',  0.00, [3.85 4.35], 1;   % E7 znacky, vyrovnane, R=4
      % --- 2026-07-03: stolova G seria pre skalu na velkom uhle (R=1.88 m) ---
      'G1_z0_R188',    0.00, [1.80 2.20], 0;      % lokalna kalibracia (naklon)
      % +10 cm ~ 3.1 st -> test skaly (kalib = G1, riadok 12)
      'G2_p10_R188',   0.10, [1.80 2.20], 12 };

% pevne parametre profilu DCA_RX1111_TX1110_TDM (z logu capture)
nS = 560; nR = 4; nC = 48; nTx = 3;
patterns = [1 4 2];              % chirpCfg txEnable poradie: TX0, TX2, TX1
fs = 11.396e6; slope = 70e12; c = 3e8;
NfftR = 1024; NrBins = NfftR/2;
rAxis = (0:NrBins-1) * c * fs / (2*slope*NfftR);
w = 0.5 - 0.5*cos(2*pi*(0:nS-1)'/nS);   % hann 'periodic' (vlastny vzorec)

% --- geometria (identicka s BIN2MAT_2944 / live_display) ---
TXh = 3.5 + [0 1 2 4];  TXv = [0 0.8 0 0];  RXp = (0:3)*0.5;
posH = zeros(1, nTx*nR); posV = zeros(1, nTx*nR); col = 0;
for t = 1:nTx
    ph = find(bitget(uint32(patterns(t)), 1:4));   % fyzicky TX (1-based)
    for r = 1:nR
        col = col + 1;
        posH(col) = TXh(ph) + RXp(r);
        posV(col) = TXv(ph);
    end
end
topIdx = find(posV > 0); pairTop = []; pairBot = [];
for it = topIdx
    cand = find(abs(posH - posH(it)) < 1e-9 & posV == 0, 1, 'first');
    if ~isempty(cand), pairTop(end+1) = it; pairBot(end+1) = cand; end %#ok<AGROW>
end
np = numel(pairTop);
fprintf('Pary top<->bot na posH [lambda]:');
fprintf(' %g', posH(pairTop)); fprintf('\n\n');

% --- prechod experimentov ---
nE = size(E,1);
rawPh = nan(nE, np); Rm = nan(nE,1);
for e = 1:nE
    f = fullfile(base, E{e,1}, 'adc_data_Raw_0.bin');
    fid = fopen(f, 'rb');
    if fid < 0, fprintf('%-16s CHYBA: subor nenajdeny\n', E{e,1}); continue; end
    d = fread(fid, inf, 'int16=>double'); fclose(fid);
    nF = floor(numel(d)/(nS*nR*nC));
    cube = reshape(d(1:nF*nS*nR*nC), [nS nR nC nF]);

    % komplexne hodnoty vsetkych virtualov (koherentny priemer loops+frames)
    V = zeros(NrBins, nTx*nR); col = 0;
    for t = 1:nTx
        cidx = t:nTx:nC;
        for r = 1:nR
            col = col + 1;
            cm = reshape(double(cube(:, r, cidx, :)), nS, []);
            Rf = fft(cm .* w, NfftR, 1);
            V(:, col) = mean(Rf(1:NrBins, :), 2);
        end
    end

    % bin rohu = max sumy |V| cez azimutove virtualy v zadanom okne dosahu
    prof0 = sum(abs(V(:, posV == 0)), 2);
    prof = prof0; prof(~(rAxis >= E{e,3}(1) & rAxis <= E{e,3}(2))) = 0;
    [pk, bi] = max(prof);
    Rm(e) = rAxis(bi);

    for k = 1:np
        rawPh(e,k) = angle(V(bi, pairTop(k)) * conj(V(bi, pairBot(k))));
    end
    fprintf('%-16s bin=%3d  R=%.3f m  p/m=%5.0f  rawPh[rad]=', ...
        E{e,1}, bi, Rm(e), pk/median(prof0));
    fprintf(' %+8.4f', rawPh(e,:)); fprintf('\n');
end

% --- kalibracia per-riadok a vyhodnotenie ---
% (stlpec 4 = index kalibracneho riadku; 0 = vlastna)
fprintf('\nKALIBRACIE:  E-seria = E1 (riadok 1),  G-seria = G1 (riadok 13)\n');
fprintf('  (ELEV_CALIB v BIN2MAT od 2026-07-03 = F3_z0_R3_level:\n');
fprintf('   [-0.0940 0.0881 0.5411 0.3502])\n\n');

fprintf(['%-18s  z_skut    phaseElev   sinEl      z_meas    ' ...
         'z_meas/z_skut\n'], 'exp');
for e = 1:nE
    if any(isnan(rawPh(e,:))), continue; end
    ci = E{e,4};  if ci == 0, ci = e; end
    calib = rawPh(ci,:);
    if any(isnan(calib))
        fprintf('%-18s  kalibracny riadok chyba\n', E{e,1}); continue
    end
    pe = angle(exp(1j*(rawPh(e,:) - calib)));
    phEl = angle(mean(exp(1j*pe)));          % kruhovy priemer (ako BIN2MAT)
    sinEl = phEl / (2*pi*0.8);
    z = Rm(e) * sinEl;
    if E{e,2} ~= 0
        rs = sprintf('%+.2f', z / E{e,2});
    else
        rs = '  -  ';
    end
    fprintf('%-18s  %+5.2f     %+8.4f    %+7.4f    %+6.3f     %s\n', ...
        E{e,1}, E{e,2}, phEl, sinEl, z, rs);
end
fprintf(['\nVERDIKT: z_meas/z_skut ~ -1 pre E2..E5  -> znamienko ' ...
         'OBRATENE (ako v live).\n' ...
         '         z_meas/z_skut ~ +1              -> konvencia ' ...
         'spravna, problem bol inde.\n']);
end

15.2 gate_analyza.m

Hľadá metriku, ktorá oddelí dôveryhodnú výšku od nedôveryhodnej. Pre každý testovací bod počíta kruhový rozptyl párových fáz, azimut detekcie a odstup signálu, a to pre body so známou výškou aj pre rušivé odrazy. Z jeho tabuľky vzišli prahy podmienky platnosti.

function gate_analyza
% GATE_ANALYZA  Podklady pre navrh elevacneho gate z existujucich dat.
%
% Ciel: najst metriku, ktora oddeli DOVERYHODNE z (roh na osi, vysoke SNR)
% od NEDOVERYHODNEHO (off-axis, nizke SNR, clutter s nezmyselnym z).
%
% Kandidatske metriky pre kazdu detekciu (range bin):
%   1) pairSpread - kruhova smerodajna odchylka parovych faz [rad]
%      (roh na osi: ~0.01-0.03; kontaminovane/sumove: >>)
%   2) |azimut| detekcie [st] (z je doveryhodne len blizko osi - uzky elev. lucik)
%   3) SNR = peak/median range profilu [-]
%
% Testovacie mnoziny z merania_elevacia:
%   DOBRE:  roh v E1-E5, F3_level, E7c_level (znamy z, na osi)
%   ZLE:    E8 (roh az ~+10 st -> z bias -12 cm), vzdialeny clutter v E0
%           (biny so z +0.45..+0.87 z BIN2MAT pozorovania)
%
% Vystup: tabulka metrik pre kazdy testovaci bod + navrh prahov.

base = 'C:\radar\merania_elevacia';
% {priecinok, popis, okno dosahu [m], trieda: 1=dobry z, 0=zly z}
T = { 'E1_z0_R3',       'roh os 3m',        [2.85 3.30], 1;
      'E2_p10_R3',      'roh os 3m +10',    [2.85 3.30], 1;
      'E3_p20_R3',      'roh os 3m +20',    [2.85 3.30], 1;
      'E4_m10_R3',      'roh os 3m -10',    [2.85 3.30], 1;
      'E5_m20_R3',      'roh os 3m -20',    [2.85 3.30], 1;
      'F3_z0_R3_level', 'roh os 3m level',  [2.85 3.30], 1;
      'E7c_z0_R4_level','roh os 4m level',  [3.85 4.35], 1;
      'E8_z0_az10_R3',  'roh AZ +10st',     [2.85 3.30], 0;
      'E0_prazdna_R3',  'stena 3.6m',       [3.45 3.90], 0;
      'E0_prazdna_R3',  'clutter 5-6m',     [5.00 6.20], 0;
      'E0_prazdna_R3',  'clutter 8-9.5m',   [8.00 9.50], 0;
      'E0_prazdna_R3',  'clutter 10-12m',   [10.0 12.0], 0 };

nS = 560; nR = 4; nC = 48; nTx = 3;
patterns = [1 4 2];
fs = 11.396e6; slope = 70e12; c = 3e8;
NfftR = 1024; NrBins = NfftR/2;
rAxis = (0:NrBins-1) * c * fs / (2*slope*NfftR);
w = 0.5 - 0.5*cos(2*pi*(0:nS-1)'/nS);

% geometria + pary (ako elev_sign_eval)
TXh = 3.5 + [0 1 2 4];  TXv = [0 0.8 0 0];  RXp = (0:3)*0.5;
posH = zeros(1, nTx*nR); posV = zeros(1, nTx*nR); col = 0;
for t = 1:nTx
    ph = find(bitget(uint32(patterns(t)), 1:4));
    for r = 1:nR
        col = col + 1;
        posH(col) = TXh(ph) + RXp(r);
        posV(col) = TXv(ph);
    end
end
topIdx = find(posV > 0); pairTop = []; pairBot = [];
for it = topIdx
    cand = find(abs(posH - posH(it)) < 1e-9 & posV == 0, 1, 'first');
    if ~isempty(cand), pairTop(end+1) = it; pairBot(end+1) = cand; end %#ok<AGROW>
end
np = numel(pairTop);
azm = (posV == 0); azIdx = find(azm);
[pos_s, ord] = sort(posH(azIdx));
thGrid = asind(linspace(-0.95, 0.95, 181));
A = exp(-1j*2*pi*pos_s(:).' .* sind(thGrid(:)));   % steering [181 x 8]

fprintf('%-18s %-16s %5s %7s %6s | %10s %8s %6s | %s\n', ...
    'zaznam','popis','bin','R[m]','trieda','pairSpread','|az|[st]',...
    'SNR','z_raw[m] (bez skaly/kalib)');
lastFile = ''; V = [];
for k = 1:size(T,1)
    f = fullfile(base, T{k,1}, 'adc_data_Raw_0.bin');
    if ~strcmp(f, lastFile)
        V = local_virtuals(f, nS,nR,nC,nTx,NfftR,NrBins,w);
        lastFile = f;
    end
    prof = sum(abs(V(:, azm)), 2);
    win = rAxis >= T{k,3}(1) & rAxis <= T{k,3}(2);
    p = prof; p(~win) = 0;
    [pk, bi] = max(p);
    snr = pk / median(prof);
    % azimut detekcie (max steering)
    sig = V(bi, azIdx(ord));
    Saz = abs(A * sig(:));
    [~, im] = max(Saz);
    azDeg = thGrid(im);
    % parove fazy + kruhovy rozptyl PO ODCITANI KALIBRACIE (inak rozptylu
    % dominuje staticka per-par kalibracna struktura a metrika nediskriminuje)
    ELEV_CALIB = [-0.0940, 0.0881, 0.5411, 0.3502];   % F3_z0_R3_level (aktualna)
    pp = zeros(1, np);
    for q = 1:np
        pp(q) = angle(V(bi, pairTop(q)) * conj(V(bi, pairBot(q))) ...
                      * exp(-1j*ELEV_CALIB(q)));
    end
    Rbar = abs(mean(exp(1j*pp)));
    spread = sqrt(max(0, -2*log(max(Rbar, 1e-12))));   % kruhova SD [rad]
    phEl = angle(mean(exp(1j*pp)));
    zraw = rAxis(bi) * (phEl / (2*pi*0.8));   % bez kalib/skaly - len skala
    fprintf('%-18s %-16s %5d %7.3f %6d | %10.4f %8.1f %6.0f | %+7.3f\n', ...
        T{k,1}, T{k,2}, bi, rAxis(bi), T{k,4}, spread, azDeg, snr, zraw);
end
fprintf(['\nCitanie: gate ma prepustit triedu 1 a zamietnut triedu 0.\n' ...
         'Hladame prah(y) v pairSpread / |az| / SNR s cistou separaciou.\n']);
end

function V = local_virtuals(f, nS, nR, nC, nTx, NfftR, NrBins, w)
    fid = fopen(f, 'rb');
    if fid < 0, error('subor nenajdeny: %s', f); end
    d = fread(fid, inf, 'int16=>double'); fclose(fid);
    nF = floor(numel(d)/(nS*nR*nC));
    cube = reshape(d(1:nF*nS*nR*nC), [nS nR nC nF]);
    V = zeros(NrBins, nTx*nR); col = 0;
    for t = 1:nTx
        cidx = t:nTx:nC;
        for r = 1:nR
            col = col + 1;
            cm = reshape(double(cube(:, r, cidx, :)), nS, []);
            Rf = fft(cm .* w, NfftR, 1);
            V(:, col) = mean(Rf(1:NrBins, :), 2);
        end
    end
end

15.3 gate_test.m

Suchá skúška navrhnutej podmienky na dvoch záznamoch. Pri každej detekcii ukáže výšku pred uplatnením podmienky, rozhodnutie a dôvod prípadného zamietnutia.

function gate_test
% GATE_TEST  Sucha skuska navrhnuteho elevacneho gate na existujucich datach.
%
% Gate (navrh): z sa pocita LEN ak |az| <= AZ_MAX a SNR >= SNR_MIN;
% inak z = NaN (bod ostava, elevacia "nezname").
% Plna z-pipeline ako v nastrojoch: kalibracia (F3_level) + negacia + skala 1.20.
%
% Detekcie: lokalne maxima 19-ramcoveho priemeru range profilu nad prahom
% (zastupuje CFAR; ide o spravanie gate, nie o presnu repliku detektora).

AZ_MAX  = 6;      % [st]
SNR_MIN = 100;    % [-] v jednotkach peak/median 19-ramcoveho priemeru (offline)

ELEV_CALIB = [-0.0940, 0.0881, 0.5411, 0.3502];
ELEV_SCALE = 1.20;

base = 'C:\radar\merania_elevacia';
subory = { 'E2_p10_R3'; 'E0_prazdna_R3' };

nS = 560; nR = 4; nC = 48; nTx = 3;
patterns = [1 4 2];
fs = 11.396e6; slope = 70e12; c = 3e8;
NfftR = 1024; NrBins = NfftR/2;
rAxis = (0:NrBins-1) * c * fs / (2*slope*NfftR);
w = 0.5 - 0.5*cos(2*pi*(0:nS-1)'/nS);

TXh = 3.5 + [0 1 2 4];  TXv = [0 0.8 0 0];  RXp = (0:3)*0.5;
posH = zeros(1, nTx*nR); posV = zeros(1, nTx*nR); col = 0;
for t = 1:nTx
    ph = find(bitget(uint32(patterns(t)), 1:4));
    for r = 1:nR
        col = col + 1;
        posH(col) = TXh(ph) + RXp(r);
        posV(col) = TXv(ph);
    end
end
topIdx = find(posV > 0); pairTop = []; pairBot = [];
for it = topIdx
    cand = find(abs(posH - posH(it)) < 1e-9 & posV == 0, 1, 'first');
    if ~isempty(cand), pairTop(end+1) = it; pairBot(end+1) = cand; end %#ok<AGROW>
end
np = numel(pairTop);
azm = (posV == 0); azIdx = find(azm);
[pos_s, ord] = sort(posH(azIdx));
thGrid = asind(linspace(-0.95, 0.95, 181));
A = exp(-1j*2*pi*pos_s(:).' .* sind(thGrid(:)));

for s = 1:numel(subory)
    f = fullfile(base, subory{s}, 'adc_data_Raw_0.bin');
    V = local_virtuals(f, nS,nR,nC,nTx,NfftR,NrBins,w);
    prof = sum(abs(V(:, azm)), 2);
    med  = median(prof);

    % detekcie: lokalne maxima nad 8x median, min odstup 4 biny, range > 0.5 m
    isPk = [false; ...
            prof(2:end-1) >= prof(1:end-2) & prof(2:end-1) >= prof(3:end) ...
                   & prof(2:end-1) > 8*med; false];
    isPk(rAxis < 0.5) = false;
    bins = find(isPk);
    % zluc bliyke maxima (nechaj silnejsie)
    keep = true(size(bins));
    for i = 2:numel(bins)
        if bins(i) - bins(i-1) < 4
            if prof(bins(i)) > prof(bins(i-1))
                keep(i-1) = false;
            else
                keep(i) = false;
            end
        end
    end
    bins = bins(keep);
    [~, o] = sort(prof(bins), 'descend');
    bins = bins(o(1:min(10, end)));          % top 10
    bins = sort(bins);

    fprintf('\n=== %s ===  (AZ_MAX=%g st, SNR_MIN=%g)\n', ...
            subory{s}, AZ_MAX, SNR_MIN);
    fprintf('%7s %8s %8s | %9s | %9s -> %9s | %s\n', ...
        'R[m]','az[st]','SNR','z PRED','gate','z PO','dovod zamietnutia');
    for k = 1:numel(bins)
        bi = bins(k);
        snr = prof(bi)/med;
        sig = V(bi, azIdx(ord));
        Saz = abs(A * sig(:));
        [~, im] = max(Saz);
        azDeg = thGrid(im);
        pp = zeros(1, np);
        for q = 1:np
            pp(q) = angle(V(bi, pairTop(q)) * conj(V(bi, pairBot(q))) ...
                          * exp(-1j*ELEV_CALIB(q)));
        end
        phEl = angle(mean(exp(1j*pp)));
        sinEl = -phEl / (2*pi*0.8*ELEV_SCALE);  % ako v nastrojoch (negacia+skala)
        sinEl = max(-1, min(1, sinEl));
        zPred = rAxis(bi) * sinEl;
        okAz  = abs(azDeg) <= AZ_MAX;
        okSnr = snr >= SNR_MIN;
        if okAz && okSnr
            zPo = zPred; gate = 'PREPUSTA'; why = '';
        else
            zPo = NaN;   gate = 'ZAMIETA ';
            why = '';
            if ~okAz,  why = sprintf('|az|=%.1f > %g', abs(azDeg), AZ_MAX); end
            if ~okSnr
                if ~isempty(why), why = [why ' + ']; end %#ok<AGROW>
                why = [why sprintf('SNR=%.0f < %g', snr, SNR_MIN)]; %#ok<AGROW>
            end
        end
        fprintf('%7.2f %+8.1f %8.0f | %+9.3f | %s -> %9s | %s\n', ...
            rAxis(bi), azDeg, snr, zPred, gate, num2str(zPo, '%+.3f'), why);
    end
end
fprintf('\nPoznamka: SNR_MIN=100 plati pre 19-ramcovy priemer (offline);\n');
fprintf('live ekvivalent sa urci meranim (ocakavany ~13 dB nizsie).\n');
end

function V = local_virtuals(f, nS, nR, nC, nTx, NfftR, NrBins, w)
    fid = fopen(f, 'rb');
    if fid < 0, error('subor nenajdeny: %s', f); end
    d = fread(fid, inf, 'int16=>double'); fclose(fid);
    nF = floor(numel(d)/(nS*nR*nC));
    cube = reshape(d(1:nF*nS*nR*nC), [nS nR nC nF]);
    V = zeros(NrBins, nTx*nR); col = 0;
    for t = 1:nTx
        cidx = t:nTx:nC;
        for r = 1:nR
            col = col + 1;
            cm = reshape(double(cube(:, r, cidx, :)), nS, []);
            Rf = fft(cm .* w, NfftR, 1);
            V(:, col) = mean(Rf(1:NrBins, :), 2);
        end
    end
end

15.4 kvety_check.m

Kvantifikuje, koľko z odozvy na bine rohu pochádza z listov rastlín stojacich v scéne. Porovnáva záznam s rohom a bez neho a vykreslí azimutové spektrum oboch.

function kvety_check
% KVETY_CHECK  Kvantifikacia kontaminacie binu rohu listim (velkoliste kvety).
%
% Kvety stali medzi stenou a rohom, range-ovo ~v rovine vrcholu rohu,
% z = -30..-70 cm, bocne VLAVO od rohu. E0_prazdna_R3 = scena BEZ rohu,
% ale S kvetmi -> na binu rohu obsahuje cistu odozvu listia.
%
% Vystupy:
%   1) |E0|/|E1| na binu rohu [dB]  -> sila rusica voci rohu
%      (na fazovy posun 0.27 rad staci rusic ~-11 dB; pod -25 dB zanedbatelne)
%   2) parova elevacna faza E0 na binu rohu -> smer, ktorym listie taha
%   3) azimutove spektrum na binu rohu: E1 (roh na osi) vs E0 (listie vlavo)
%
% Konvencie zhodne s elev_sign_eval.m.

base = 'C:\radar\merania_elevacia';
nS = 560; nR = 4; nC = 48; nTx = 3;
patterns = [1 4 2];
fs = 11.396e6; slope = 70e12; c = 3e8;
NfftR = 1024; NrBins = NfftR/2;
rAxis = (0:NrBins-1) * c * fs / (2*slope*NfftR);
w = 0.5 - 0.5*cos(2*pi*(0:nS-1)'/nS);

TXh = 3.5 + [0 1 2 4];  TXv = [0 0.8 0 0];  RXp = (0:3)*0.5;
posH = zeros(1, nTx*nR); posV = zeros(1, nTx*nR); col = 0;
for t = 1:nTx
    ph = find(bitget(uint32(patterns(t)), 1:4));
    for r = 1:nR
        col = col + 1;
        posH(col) = TXh(ph) + RXp(r);
        posV(col) = TXv(ph);
    end
end
topIdx = find(posV > 0); pairTop = []; pairBot = [];
for it = topIdx
    cand = find(abs(posH - posH(it)) < 1e-9 & posV == 0, 1, 'first');
    if ~isempty(cand), pairTop(end+1) = it; pairBot(end+1) = cand; end %#ok<AGROW>
end
np = numel(pairTop);

V1 = local_virtuals(fullfile(base,'E1_z0_R3','adc_data_Raw_0.bin'), ...
                    nS,nR,nC,nTx,NfftR,NrBins,w);
V0 = local_virtuals(fullfile(base,'E0_prazdna_R3','adc_data_Raw_0.bin'), ...
                    nS,nR,nC,nTx,NfftR,NrBins,w);

% bin rohu z E1 (max v okne 2.85-3.30 m cez azimutove virtualy)
azm = (posV == 0);
prof1 = sum(abs(V1(:,azm)), 2);
win = rAxis >= 2.85 & rAxis <= 3.30;
p = prof1; p(~win) = 0; [~, bi] = max(p);
fprintf('Bin rohu (z E1): %d  (R = %.3f m)\n\n', bi, rAxis(bi));

% --- 1) pomer amplitud na binu rohu (a susednych binoch) ---
fprintf('%-6s %-10s %-12s %-12s %-10s\n', 'bin','R [m]', ...
        '|E1| (roh)','|E0| (kvety)','E0/E1 [dB]');
for b = bi-2:bi+2
    a1 = sum(abs(V1(b,azm))); a0 = sum(abs(V0(b,azm)));
    fprintf('%-6d %-10.3f %-12.3g %-12.3g %+8.1f\n', ...
            b, rAxis(b), a1, a0, 20*log10(a0/a1));
end

% --- 2) parova elevacna faza E0 (len listie) na binu rohu ---
fprintf('\nParova faza E0 (listie) na binu %d [rad]: ', bi);
peF = zeros(1,np);
for k = 1:np
    peF(k) = angle(V0(bi, pairTop(k)) * conj(V0(bi, pairBot(k))));
end
fprintf(' %+8.4f', peF); fprintf('\n');
fprintf(['  (E1 kalibracne fazy boli:                 ' ...
         '+0.0022  +0.1689  +0.6087  +0.4070)\n']);
fprintf(['  Ak su fazy E0 vyrazne zapornejsie -> listie taha z dole ' ...
         '(smer E7 anomalie).\n']);

% --- 3) azimutove spektrum na binu rohu (E1 vs E0) ---
azIdx = find(azm);                       % 8 azimutovych virtualov
[pos_s, ord] = sort(posH(azIdx));        % zorad podla posH
sig1 = V1(bi, azIdx(ord));  sig0 = V0(bi, azIdx(ord));
th = asind(linspace(-0.95, 0.95, 181));  % azimut [-72..72 st]
% steering pre nerovnomerne pozicie (medzera v rade): explicitny DFT
A = exp(-1j*2*pi*pos_s(:).' .* sind(th(:)));   % [181 x 8]
S1 = abs(A * sig1(:)); S0 = abs(A * sig0(:));
figure('Name','kvety_check: azimut na binu rohu');
plot(th, 20*log10(S1/max(S1)), 'r', th, 20*log10(S0/max(S1)), 'b', ...
     'LineWidth', 1.2);
grid on; xlabel('azimut [st]'); ylabel('rel. [dB]'); ylim([-50 3]);
legend('E1 (roh+kvety)', 'E0 (len kvety)', 'Location', 'south');
title(sprintf('Azimutove spektrum, bin %d (R=%.2f m)', bi, rAxis(bi)));
[~, im] = max(S0);
fprintf(['\nAzimut maxima E0 (listie): %+.1f st  ' ...
         '(zaporne = vlavo, ocakavane)\n'], th(im));
fprintf('Azimut maxima E1 (roh):    %+.1f st\n', th(find(S1==max(S1),1)));
end

function V = local_virtuals(f, nS, nR, nC, nTx, NfftR, NrBins, w)
    fid = fopen(f, 'rb');
    if fid < 0, error('subor nenajdeny: %s', f); end
    d = fread(fid, inf, 'int16=>double'); fclose(fid);
    nF = floor(numel(d)/(nS*nR*nC));
    cube = reshape(d(1:nF*nS*nR*nC), [nS nR nC nF]);
    V = zeros(NrBins, nTx*nR); col = 0;
    for t = 1:nTx
        cidx = t:nTx:nC;
        for r = 1:nR
            col = col + 1;
            cm = reshape(double(cube(:, r, cidx, :)), nS, []);
            Rf = fft(cm .* w, NfftR, 1);
            V(:, col) = mean(Rf(1:NrBins, :), 2);
        end
    end
end

Použitá literatúra

Zoznam obsahuje pramene, na ktoré sa text odvoláva. Dokumenty spoločnosti Texas Instruments sú uvedené s kódom, pod ktorým ich výrobca zverejňuje; internetové adresy platia k dátumu vydania.

  1. TEXAS INSTRUMENTS. AWR2944 Evaluation Module (AWR2944EVM) — User's Guide. SPRUJ22C. Dostupné na: www.ti.com/lit/ug/spruj22c/spruj22c.pdf.
  2. TEXAS INSTRUMENTS. DCA1000EVM Data Capture Card — User's Guide (Rev. A). SPRUIJ4A. Dostupné na: www.ti.com/lit/ug/spruij4a/spruij4a.pdf.
  3. TEXAS INSTRUMENTS. MIMO Radar (Rev. A). Application Report SWRA554A. Dostupné na: www.ti.com/lit/an/swra554a/swra554a.pdf.
  4. TEXAS INSTRUMENTS. mmWave Demo Visualizer, verzia 3.6.0 [online]. Dostupné na: dev.ti.com/gallery/view/mmwave/mmWave_Demo_Visualizer/ver/3.6.0/.
  5. GAMCOVÁ, M. — GAMEC, J. Radary v automobiloch: príručka k toolboxu AWR2944. Košice: Technická univerzita v Košiciach, 2026. ISBN 978-80-553-4963-3. Dostupné na: radary-prirucka.tuke.sk.

Použitý softvér

Programové vybavenie nie je literatúra; uvádza sa preto zvlášť a s verziou, s ktorou boli postupy overené.

Zadná strana obálky