Altitude profileJak na DXClusterSeriál: SDR pro QRPZávody
čtvrtek 16.července 2020    

SDR pro QRP - 3.díl: Jak zpracovat analogový signál softwarem

V minulém díle jsme si ukázali na několika zapojeních, jak jsou řešeny obvody pro demodulaci pomocí druhé (fázové) a třetí (weaver) metody. Cílem tohoto seriálu je postavit CW TRX, který bude místo fázovacích článku nebo kvadraturních oscilátorů a směšovačů používat software.
Jaké SDR budeme tedy vlastně stavět?
Abychom mohli hardware nahradit softwarem, je potřeba nahradit nejprve analogový signál digitálním. Zde je na místě možná osvětlit to, že to "pravé" SDR používá jako zdroj signálu přímo anténu. Náhrada analogového signálu za digitální se děje přímo digitalizováním (vzorkováním) signálu přímo z antény velmi rychlým analogově-digitálním převodníkem (ADC - Analog to Digital Converter). V těchto DDC (Direct Digital Conversion) rádiích se vzorkuje celé KV pásmo 0-30MHz.

Z teorie (studovat lze začít tady) vyplývá, že musíme vzorkovat nejmémě dvojnásobnou rychlostí, než je nejvyšší kmitočet, s kterým chceme pracovat. To tedy znamená, že ADC musí poskytnout minimálně 60 miliónů vzorků za sekundu a ty je potřeba dále zpracovat. To je i na dnešní procesory pořádná porce. Řeší se to tedy pomocí programovatelných hradlových polí FPGA. Co to je, se můžete dočíst třeba tady. Tak takové rádio budovat nebudu, tohle už, jen vzhledem ke spotřebě, není QRP. Takže DDC opustíme.

My se dále budeme zabývat softwarovým zpracováním audio signálu. Tedy budeme vzorkovat až výstupy "I" a "Q", které získáme z QSD, o kterém jsme mluvili v předchozím díle. Máme 2 možnosti čím vzorkovat. Můžeme použít nějaký audio codec nebo použít ADC, který je součástí procesoru. Audio codec je součástka, která se používá ve zvukových kartách ať integrovaná na motherboardu PC nebo jako samostatná, v dnešní době převážně PCIe karta nebo jako externí v převážné většině USB zařízení. Hlavní devizou codecu je to, že codec obsahuje jak ADC tak DAC (COder/DECoder). Dnešní kvalitní codecy mají rozlišení 24 bitů i více, vzorkovací rychlost (sample rate) až 192kHz, některé codecy mají i vestavěný nf zesilovač. Codecy používají sigma-delta převodníky, které z principu fungování odstraňují šum a linearizují vlastní převod. My ale budeme stavět QRP zařízení, které by mělo být obvodově co nejjednodušší a mělo co možná nejmenší spotřebu. Proto v první verzi použijeme ADC vestavěný přímo v procesoru.

Počet bitů kterými se vzorkuje, ovlivňuje dynamický rozsah přijímače. Obecně lze říci, že dynamický rozsah je poměr mezi nejsilnějším a nejslabším signálem, který lze přijímat. Velmi srozumitelně je o tom napsáno na stránkách Z33T. K odhadovanému dynamickému rozsahu přijímače při použití "vestavěného" ADC se ještě vrátíme někdy příště.

V tomto okamžiku máme "navzorkováno" a data uložena v nějakém bufferu. Co vlastně v tom bufferu máme? No máme tam čísla od nuly po 4095, která reprezentují v případě 12-ti bitového ADC hodnotu napětí na jeho vstupu v době měření. Co dále musíme s daty udělat, abychom měli ve sluchátkách CW signál z pásma? Musíme udělat analogicky to samé jako to v QCX udělá fázovací článek nebo vyrobit softwarovou podobu weaver demodulátoru. V případě fázové metody jako v QCX "proženeme" data z kanálů "I" i "Q" tzv. Hilbert filtrem, což je dolní propust, která ještě navíc posouvá fázi. Zde můžeme použít dvojici filtrů s posuvem fáze 0° a 90° nebo -45° a +45°. Každému softwarovému filtru nějakou dobu zpracování (filtrování) signálu trvá, tzn. vkládá do postupu signálu určitou latenci. Proto musíme v prvém případě použít filtr s posuvem fáze 0°, jinak bychom museli vložit nějakou zpožďovací linku, abychom docílili stejné latence jako s filtrem s posuvem fáze o 90°. V případě použití weaver demodulátoru musíme vyrobit softwarový oscilátor 1500Hz a ten "vysměšovat" s oběma signály "I" a "Q". Tento oscilátor, zvaný též NCO (Numerically Controlled Oscillator) produkuje dva výstupy, které jsou obdobně jako v QSD od sebe posunuty fázově o 90°. Takže pro jedno postranní pásmo směšujeme výstup oscilátoru 0° se signálem "I" a 90° výstup oscilátoru se signálem "Q". Pro opačné postranní pásmo stačí výstupy oscilátoru přehodit mezi sebou.

Potlačení "nechtěného" postranního pásma bude záviset na dvou věcech. Za prvé je dané velikostí odchylky amplitudy a fáze "I" a "Q" signálů ještě před vstupem do filtrů nebo směšovačů demodulátoru, za druhé v případě fázové metody kvalitou (strmostí) Hilbert filtrů, v případě weaver metody demodulace hlavně odchylkou posunu fáze mezi výstupy NCO.

A jsme téměř u konce. Následuje sečtení nebo odečtení (LSB/USB) signálů z obou filtrů v případě fázové metody nebo v případě weaver demudulátoru stejná operace, sečtení signálů z obou směšovačů. Přehazování postranních pásem jsme zde udělali přehazováním výstupů z oscilátoru. Ale samozřejmě můžeme i zde nechat oscilátorové výstupy připojené trvale jedním způsobem a přehození postranních pásem realizovat odečtem nebo součtem výstupů směšovačů. Za výstup součtových (odečtových) členů můžeme ještě zařadit nějaký SSB nebo CW filtr. Pro výstup signálu pak už jen stačí tento signál zpět změnit z digitálního na analogový v DAC (Digital to Analog Converter) a ten zesílit do sluchátek. Vypadá to jednoduše, viďte? Ale jak asi tušíte, tak jednoduché to zase nebude, ale rozhodně je to řešitelné.

Příště se Vás o tom pokusím přesvědčit.

Zpět
Translate this page

O mně

    S radioamatérstvím jsem začal ve 12 letech v radioklubu OK2KAU v Orlové, pod vedením skvělých hamů jako OK2BPR, OK2BFH, OK2BJJ, OK2BTI a dalších.
První koncesi jsem získal v 15 letech a začal jsem vysílat jako OL7AWQ. Po delší pauze jsem další koncesi získal v roce 1986 jako OK1FUG.
V Rokycanech jsem se s OK1KRY účastnil Polních dnů i jiných závodů, ve Strašicích u Rokycan jsme spolu s OM3CUG a OK2PWR založili radioklub OK1ORG.
Pak jsem se vrátil zpátky na Moravu a zhruba od roku 2000 závodíme spolu s Romanem OK2UKG na pásmech od 2m až do 1,2cm.(24GHz).