Umožňuje příjem AM/SSB/CW stanic v rozsahu kmitočtu oscilátoru, t.j. od 0 do asi 20 MHz, dost záleží na hlavním oscilátoru, zde je kmitočet 80 MHz a na vstupních obvodech (zde žádné nejsou a tedy je tu prostor pro experimenty, rozhodně nějaký preselektor to chtít bude, pro poslech na amatérských KV pásmech je nutné odříznout alespoň SV). Celý projekt není stavebním návodem, je třeba jej chápat spíš jako inspiraci pro vlastní konstrukci. Projekt ověřil, že i s jednoduchým obvodem jako je SA612A je možné slušně přijímat CW/SSB stanice na amatérských KV pásmech.
Tento projekt vznikl po neúspěchu s Tayloe detektorem. Nevím proč, ale nějak se mi ho nepodařilo rozchodit. Asi obyčejná 4053 nebude pro KV už to pravé. Metoda Tayloe vypadá na první pohled velice pěkně, ale je poněkud netradiční, lépe je se řídit osvědčenými postupy, proto zde je použit obvod SA612, využívající Gilbertovu buňku v "lineárním" režimu, tj. signál místního oscilátoru (DDS) nesmí obvod přebudit. Přebuzením vznikají vyšší harmonické, což je v případě širokopásmového vstupu dost velký problém. Projekt je tak jednoduchý, jak jen může být. Není zde mikroprocesor, zpracování dat probíhá v PC, zato je použito FPGA i když jen na DDS. Takže DDS čip od AD by svou úlohu také zastal, řídit půjde velice podobně - většina má sériové rozhraní, které by FT2232 měl zvládnout.
Základem jakéhokoli softwarového rádia je samosebou oscilátor. Z toho, co bylo k dispozici (v šuplíku) se nakonec podařilo rozchodit DDS na FPGA XC2S150 (vývojový kit PK-design). Není to ideální, ale dá se to použít. Pro převod D/A jsou použity jen odporové žebříčky v obvyklém zapojení, 8 bit pro začátek úplně stačí. Pro vyšší kmitočty nad 10 MHz bude ještě potřeba rekonstrukční filtr DP alespoň 3.řádu, v této zkušební verzi není. Harmonický signál pro kanály I i Q má ve FPGA vlastní tabulku hodnot, místa je tam dost. Aby nevedlo k počítači moc drátů, je DDS-ka laděna po JTAG rozhraní zápisem do 32-bit registru. JTAG slouží zároveň i k inicializaci FPGA, která je prováděna přímo z tohoto programu. Takže do počítače vedou už jen dráty do mikrofonních vstupů zvukovky (tyto vstupy jsou citlivější). Celý hardware sestává tedy kromě FPGA a odporového žebříčku jen z vyvážených směšovačů pro I a Q kanály. Není ani nutné používat obvody s Gilbertovou buňkou, obyčejné diody vedou k poměrně slušným výsledkům. Bez problému se dají chytit rozhlasové stanice na KV, v amatérských pásmech 3.5 MHz 7 MHz CW, občas i SSB, ale na pokraji citlivosti. Hardware je popsáno v adresáři hardware, kresleno je to v Kicad. Zdrojové kódy pro FPGA ve VHDL byly použity v Xilinx ISE Webpack 10.1, výsledný design je v souboru dds.svf.
Schema destičky
A jak je osazena. Konektory jsou na druhé straně. Deska je jednostranná, vrstva spojů je kreslena "nahoře", tedy ve vrstvě součástek, naopak konektory jsou ze strany "spojů", na níž žádné spoje nejsou (ach jo). 20-pinový konektor je dvouřadá dutinková lišta, která se zapíchne přímo do kitu PK-design.
Program bere data ze zvukovky - třída Audio - I a Q signál jako stereo, dále je zpracovává jako komplexní čísla Complex . Umí vykreslit Waterfall = spektrum vstupního signálu za použití FFT. FFT není z knihovny fftw, jak bývá obvyklé, pro tak nenáročnou funkci je použita vlastní třída Fft s rekurzívním voláním (fakt je to jednoduché). Filtrace signálu (třída FilterChain) není dělána pomocí zpětné FFT, ale komplexním filtrem FIR (FirBp) typu pásmová propust. Překlad kmitočtového pásma do nuly je zajištěn komplexním součinem (komplexní součin je vlastně "pootočení" vektoru, tedy komplexního čísla v komplexní rovině) s harmonickým signálem, generovaným třídou Generator. To je tedy něco jako BFO. Je to tak pro sluch lepší a hlavně jednodušší. Hlavní okno programu je v MainWindow.
Náhled GUI (design Linux, Gnome)
jsem se snažil omezit na míru co nejmenší. I tak je nutné použít (měla by to být multiplatformní aplikace) několik externích knihoven :
Pro parser svf je potřeba ještě flex a bison, pro generování dokumentace dogygen. To ale není nutnost.
Podrobnější popis instalace asi nemá cenu sem psát, kdo se do toho pustí, stejně o tom už něco ví, začátečník patrně skončí na první chybě. A postihnout všechny chyby nejde. Vyzkoušel jsem tedy:
Pokud se vše podaří přeložit, první spuštění aplikace sdr selže. Je nutné nastavit v konfiguraci správné sériové číslo FTDI adaptéru (interface A). To lze zjistit spuštěním pomocné aplikace jtag v adresáři ./jtag. Sériové číslo je uloženo v OS Linux v souboru $HOME/.config/MrazikSoft/SDR.conf (proměnná Jtag_serial_number), ve Windows v registry HKEY_CURRENT_USER/Software/MrazikSoft/SDR (upravit lze programem regedt32).
Použitý JTAG adaptér je od firmy Kramara a používá obvod FT2232C v MPSSE módu. V zásadě není problém použít jiný adaptér, zde však pro něj není podpora. Je zde použit prakticky beze změny projekt svfPlayer, kde lze najít bližší podrobnosti.
Pro adaptér Kramara je nutné vyrobit kablík, připojující JTAG vývojového kitu PK-design. Protože ten používá jako napájení +5V, je třeba např. do série zařadit červenou LED a zmenšit tak napájecí napětí JTAG.
Obvod je použitelný pro první pokusy. Má to samosebou určitá omezení. Předpokladem úspěchu je dobrá anténa. Použil jsem asi 2x18 m drátu jako půlvlnný dipól ve výšce 5 m. K tomu proudový balun 1:1 navinutý na jakémsi toroidu prům.15 mm z vadné základní desky počítače. Úmyslně jsem na něj navinul jen 3x15 závitů, aby moc nepropouštěl střední vlny. Přes den se dá poslouchat od 2 MHz do cca 25 MHz, výš už by musel být na DDS lepší rekonstrukční filtr (alespoň pí-článek). Moje zvukovka umí na mikrofonním vstupu zisk +33 dB - s tímto nastavením je citlivost dostatečná na to, aby se dalo poslouchat v podvečer na 80 m SSB vysílání českých a slovenských radioamatérů. Bohužel jsem v ďolíku a dipól můžu orientovat jen ve směru východ-západ a tak slyším ještě Němce, Italy a Poláky. Občas i Rusy na vyšších pásmech. Takže citlivost je celkem dobrá i když jí nemám jak změřit. Problémy nastávají po 20.hodině (letního času). V pásmu 79m (a výše) začnou vysílat AM rádia s obrovskou úrovní a přijímač se "zahltí" - je vidět kolem středu zkreslenou obálku silných stanic, objevují se produkty intermodulace. Takže co s tím:
Kód bude uvolněn pod GPL2 licencí
Lokální odkazy na této stránce nefungují, dokumentace není uložena na serveru celá.