Reverzní inženýrství digitálních signálů - meteosondy
Přednáška se zabývá problematikou reverzního inženýrství datových přenosů realizovaných pomocí radiového spojení. Postup je předveden na konkrétním příkladu meteorologických sond Vaisala. Během výkladu je kladen důraz na témata které mají širší souvislost s problematikou příjmu a dekódování radiových signálů.
Proč vlastně provádět reverzní inženýrství radiových protokolů?
poslech vysílání v éteru (vysílačky, telefony, družice, drony, bezdrátové teploměry, meteosondy, …)
bezpečnostní analýza
ověření že zařízení pracuje podle specifikace
Krmení pro ty co nevědí co je meteosonda
(de)modulace - sondy
zjištění typu modulace
vysílá v rozsahu 401-406MHz
modulace FM + pár triků = GFSK/GMSK
rychlost 4800 baud nebo též 4800 symbolů/sec
proč GMSK?
obdélníky se dobře interpretují jako 1 a 0 ale špatně se přenášejí
vlny se hůř interpretují jako 1 a 0 ale dobře se přenášejí
zaoblením se změnšuje rozsah frekvencí použitých pro přenos (bandwidth)
TODO: obr. FFT signálu sondy + bw
TODO: obr. zdemodulovaný signál, proložebý obdélníky
TODO: obr. FFT signálu sondy + obrys FFT pro obdélníkový signál
rozpoznání různých typů modulace
TODO:
obecná problematika: typy modulace a jak je rozpoznat - (AM, FM, OFDM, TDM, FDM, QAM (G/M)FSK)
udělat si FM demodulaci, demodulaci do quadratury a do AM → zjistit jednotlivé složky
dekódování zdemodulovaného signálu
- synchronizace hodin
TODO: orb. vizualizace vlivu rozcházejících se hodin
problém synchronizace hodin pokud je na lince hodně stených bitů za sebou, obr. rozcházení se hodin na vysílači + zdůraznit vliv šumu
TODO: obr
sondy: data jsou vysílání stejně jako by šla po sériové lince
TODO: obr. schéma prtokolu na sériové lince
kódování bitů na symboly (0 → 01, 1 → 10), obrázek porovnávájící původní data a vysílané symboly
způsoby synchronizace hodin: MM (nejčastější) zde ne!
obrázek pro vizualizaci demodulace → synchronizace hodin → dekodovani symbolů → dekodování bitů → bajty
ukázka z oktety jak vypadají data - charakteristické sekvence opakující se každých 240B
obecná problematika vysílání: pakety fixní délky
používají se skoro vždy a všude
snadná synchronizace a nalezení začátku vysílání (začátku paketu)
obrázek s bajty které jsou: a) fixní b) mění se jen mírně nebo systematicky c) mění se chaoticky
odkaz na datasheet, nápověda v podobě: podrámců, CRC a RS
obrázek vyzualizující kde by asi tak mohlo být to předchozí
+ obrázek vizualizující kde je délka subpaketů (2*L)
pro jiné verze sond (nebo další typy senzorů) se nejspíš vysílají subpakety jiného typu/délky
jak přijít na RS
chce to trpělivost, cit a hrubou sílu
co nevíme: z kterých dat se vlastně RS počítá, jaké používá koeficienty, jestli není invertovaný, jestli na začátku není magický bajt v jakém pořadí jdou byty na vstup …
bez dalšího napínání, RS je “obyčejný”, data se tam ládují všechna kromě hlavičky, lezou tam pozpátku a RS je taky pozpátku
recording: http://nat.brmlab.cz/talks/2014-01-09-reverzni-inzenyrstvi-protokolu-sond.mkv
video
TODO: interpretace dat v podrámcích
hledání symetrie
analýza MEAS rámce