====== Softwarově definovaný přijímač SDRX01B ======
{{:cs:sdr:sdrx01b_setup.jpg?300|}}
Jde o [[http://en.wikipedia.org/wiki/Software-defined_radio| SDR přijímač]] zkonstruovaný původně pro účely radioastronomie. Ale je použitelný i pro radioamatéry, například jako přehledový přijímač. Zvláště se ale hodí pro různé experimentální konstrukce, kde je vyžadována velká variabilita systému.
{{:cs:sdr:sdrx01b_concept.png?300|Blokové schéma základního systému s přijímačem SDRX01B}}
Od jiných řešení SDR přijímačů, jako SoftRock, Lima SDR, UHF SDR, RTL-SDR a dalších, se liší především tím, že je vhodný nejen pro radioamatérské, ale i pro radioastronomické aplikace. Neboť díky svojí variabilitě umožňuje použití v konfiguraci interferometru a dalších komplexních systémech, které umožňují pokročilé směrové zpracování signálu. V rozsahu cca 100kHz až minimálně do 200MHz.
[[http://www.mlab.cz/Designs/HAM%20Constructions/SDRX01B/DOC/SDRX01B.cs.pdf|Konstrukční dokumentace k SDRX01B]] je k dispozici na serveru [[http://www.mlab.cz/PermaLink/SDRX01B|MLAB]].
===== Možnosti použití =====
* Radioastronomická pozorování (Slunce, Jupiter, [[cs:rmds|Meteory]]..)
* Přijímač pro kosmickou komunikaci, ISS, Amsat, ARISsat.
* Přehledový přijímač pro radioamatérská pásma.
* Poslech letecké radiokomunikace
Primárně byl přijímač vyvíjen hlavně pro požití v nižších [[http://www.ukaranet.org.uk/basics/frequency_allocation.htm|radioastronomických pásmech]], ale díky svým parametrům našel i uplatnění v jiných způsobech použití.
V současné době je jeho aktuální verze [[http://www.mlab.cz/Designs/HAM%20Constructions/SDRX01B/DOC/SDRX01B.cs.pdf|SDRX01B]], SDRX01A byl prvním testovacím prototypem a existuje v jednom exempláři, který se nachází na [[http://obsupice.cz/new/index.php|Úpické hvězdárně]].
===== Napájení přijímače =====
{{ :cs:sdr:sdrx01b_power_source_connection.jpg?direct&300 |Napájení přijímače SDRX01B}}
Přijímač pro svojí správnou funkci potřebuje několik napájení:
==== Symetrické napájení analogové části ====
Analogová část přijímače je obvykle napájena symetricky +5V a -5V. Takové napětí vytváří napájecí modul [[cs:sympower|sympower]] ze vstupního napájecího napětí 5V.
==== Napájení digitální části směšovače ====
Digitální část přijímače obsahuje integrovaný lineární stabilizátor, který je možné napájet přímo +5 V (napájecí napětí se interně stabilizuje na +3,3 V). Digitální část přijímače není výrazně citlivá na šum v napájení proto je možné použít například napájecí napětí z USB přivedené z kmitočtového syntezátoru.
===== Digitalizace signálu =====
Přesto že SDRX01B je softwarově definovaným přijímačem, tak signál z přijímače je na výstupu stále analogový a je třeba jej digitalizovat.
Standardním použitím přijímače je připojení digitalizační jednotky [[cs:sdr-widget|sdr-widget]]. Která má parametry optimalizované pro připojení symetrických výstupů z přijímače, relativně velkou šířku pásma a vysoký dynamický rozsah.
==== Digitalizace zvukovou kartou ====
Použití zvukové karty je alternativní metoda digitalizace signálu, která je vhodná především pro starší softwarová řešení.
Vhodné parametry zvukovy jsou například tyto:
* Stereo vstup
* Odstup signál/šum cca >80dB (ovlivňuje MDS přijímače a šumové parametry systému)
* Dynamický rozsah >16bit (hlavní činitel omezení dynamického rozsahu systému)
* Vzorkovací frekvence (limituje šířku pásma přijímače) záleží na požadované šířce pásma přijímaného signálu. Zde je třeba poznamenat, že vzorkovací frekvence je přímo šířkou pásma (díky kvadraturnímu I/Q formátu)
U moderních zvukových karet jsou tyto parametry díky různým marketingovým trikům těžko ověřitelné, proto zde uvedeme ještě příklady externích zvukových karet u kterých máme ověřenu jejich korektní funkčnost.
- [[http://support.creative.com/Products/ProductDetails.aspx?catID=1&subCatID=206&prodID=10702&prodName=Live!%2024-bit%20External&subCatName=Live!&CatName=Sound+Blaster|Creative SoundBlaster External Live! USB 24bit]] Externí zvuková karta s výbornými parametry - už se nevyrábí.
- [[http://us.store.creative.com/Creative-Sound-Blaster-XFi-Surround-5.1/M/B0044DEDCA.htm|Creative Sound Blaster X-Fi Surround 5.1 Pro USB]] Nástupce předchozího typu, nemá stereo mikrofon, lze ale použít linkový vstup.
- [[http://www.behringer.com/FR/Products/UCA222.aspx|BERINGHER U-CONTROL UCA222]], její zřejmou nevýhodou je nižší šířka pásma (48kHz), která je však pro některé aplikace (jako je třeba [[cs:rmds|detekce meteorů]]) dostatečná. Výhodou je nižší cena. Používá čipset [[http://www.ti.com/product/pcm2902|PCM2902E]]
===== Připojení antény =====
==== Long wire antenna ====
Přijímač SDRX01B je standardně vybaven přímým SMA F konektorem (SMA zásuvka do PCB), na který se například základní [[http://en.wikipedia.org/wiki/Random_wire_antenna|LW anténa]] připojuje dost těžko. Proto je dobré použít redukci. Vhodnou kombinací je například redukce [[http://www.ust.cz/shop/product_info.php?cPath=30_51&products_id=124|BNC/SMA Z/V]] a následně [[http://rasel.cz/detail7385.101/redukce-bnc/bananek-v/2xz|redukce BNC/banánek V/2xZ]]. Pod svorky je pak možné přímo našroubovat dlouhý kus drátu (řádově jednotky až desítky metrů) nebo PK.
Na takovouto anténu lze pak bez problémů přijímat velké množství krátkovlnných vysílačů a v podstatě je tato konfigurace základním testem správně fungujícího přijímače SDRX01B.
{{:cs:sdrx01b_antenna_connection.jpg?direct&300|}}
**Tento způsob zapojení slouží pouze k základnímu ověření a není jej možné provozovat trvale. Viz. odstavec [[cs:sdrx#vyzarovani|vyzařování]]**
Tato anténa by se navíc měla k přijímači připojovat přes impedanční přizpůsobení [[http://users.belgacom.net/hamradio/schemas/Magnetic%20Longwire%20Balun_MLB.htm|balunem]].
[[http://www.n4lcd.com/wireantennas/|Další typy drátových antén]]
===== Připojení lokálního oscilátoru =====
Lokální Oscilátor ([[http://en.wikipedia.org/wiki/Local_oscillator|LO]]) se k přijímači připojuje externě pomocí standardního kabelu SATA. Z praktických důvodů je vhodné zvolit co nejkratší.
Jako LO se nejčastěji používá modul [[cs:clkgen|CLKGEN01B]] v kombinaci s vhodným řídícím procesorem ([[http://www.ust.cz/shop/product_info.php?products_id=90|Obvykle PIC]]). Pokud máte celou přijímací sestavu MLAB, tak je to tato část:
{{:cs:sdr:pic_lo.jpg?200|}}
Použití externího lokálního oscilátoru má výhodu především v tom, že LO pak může být sdílený mezi několika přijímači (pomocí modulu [[cs:clkhub|CLKHUB02A]]). To umožní aby všechny přijímače byly naladěny na stejný kmitočet o identické fázi. To je pak velmi výhodné pro interferometrické experimenty.
Výhodou externí lokálního oscilátoru je, že umožňuje [[http://www.mlab.cz/Articles/Texts/Time_sync/DOC/HTML/Time_synchronization.cs.html| frekvenční synchronizaci k časovému normálu]], například díky GPS. Navíc je tak možné používat několik přijímačů koherentně navázaných na jeden LO.
==== Ladění frekvence přijímaného pásma ====
=== Windows ===
== Instalace ovladače ==
LO komunikuje s PC přes knihovny [[http://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/|libusb]]. Po rozbalení je třeba použít utilitu "INF_wizard", která vygeneruje správný konfigurační soubor ovladače pro lokální oscilátor (při této proceduře je třeba mít k počítači syntezátor připojený).
== Instalace ladící utility ==
Ladící program [[http://www.pe0fko.nl/CFGSR/|CFGSR]] lze stáhnout a nainstalovat pomocí [[http://www.pe0fko.nl/CFGSR/Install_CFGSR_V2.4.msi|automatického instalátoru]]. Po spuštění programu je pak třeba v záložce LO nastavit hodnoty "multiply" na 2 (pro běžný SDR přijímač je původně nastaveno 4). A pak dále rozsah LO na 10-810 MHz (ovlivňuje v jakém rozsahu bude povoleno LO ladit).
Po instalaci a nastavení ladící utility by měl vlevo dole svítit zelený puntík, oznamující správné propojení s Si570. Potřebnou frekvenci je pak možné nastavit v záložce "Tune".
=== Linux ===
Kromě klikací Windows utility [[http://www.pe0fko.nl/CFGSR/|CFGSR]] I pro Linux existuje nástroj [[https://code.google.com/p/usbsoftrock/|usbsoftrock]], jde o řádkovou utilitu a její použití je víceméně intuitivní.
Kompilace se provede následujícími kroky:
sudo apt-get install libusb-dev libncurses5-dev subversion make
svn checkout http://usbsoftrock.googlecode.com/svn/trunk/ usbsoftrock-read-only
cd usbsoftrock-read-only/
./configure
make
Do systému se pak usbsoftrock nakopíruje příkazem
sudo make install
Zde příklad výpisu, stavu LO na Ubuntu 13.04.:
kaklik@popelnice:~/programy/usbsoftrock-read-only$ sudo ./usbsoftrock status
[sudo] password for kaklik:
Version : 16.4
USB SerialID: TF3LJ-1.0
Startup Freq: 0.000000 (x 4.00)
Xtall Freq : 114.225586
Smooth Tune : 3500 PPM
Si570 I2C : 0 Hex
BPF Enabled: 1
Band BPF Si570
---------- --- -----------------
0.0.. 9.6 0 (F - 0.00) * 1.00000
9.6..34.0 1 (F - 0.00) * 1.00000
34.0..76.0 2 (F - 0.00) * 1.00000
76.0.. 3 (F - 0.00) * 1.00000
LPF Enabled: 1
Band LPF
---------- ---
0.0.. 8.0 0
8.0..16.0 1
16.0..36.0 2
36.0..44.0 3
44.0..58.0 4
58.0..80.0 5
80.0..120.0 6
120.0.. 7
kaklik@popelnice:~/programy/usbsoftrock-read-only$
Usbsoftrock má i interaktivní mód kdy je možné frekvenci ladit, klávesami na klávesnici.
sudo ./usbsoftrock -m 2 interactive
{{:cs:sdr:softrock.png?200|}}
Ve všech případech je třeba ladícímu programu definovat následující parametry:
* LO multiply 2 - znamená, že LO se bude ladit dvakrát výše, než přijímaná frekvence (v přijímači je před přijímačem z konstrukčních důvodů dělička 2)
* LO range 3-810MHz - Omezuje rozsah ve kterém jde LO ladit. (Některé softwary jako třeba CFGSR mají omezený rozsah na nižší kmitočty, do 160MHz protože běžné SDR přijímače podobné konstrukce nad těmito frekvencemi nepracují)
==== Kalibrace lokálního oscilátoru ====
Lokální oscilátor s čipem Si570 nemusí být z výroby optimálně kalibrovaný pro všechny frekvence. Je tedy vhodné si ověřit jeho kalibraci a případně (pokud je frekvenční rozdíl velký) oscilátor [[http://sites.google.com/site/g4zfqradio/calibrating-the-softrock-si570-usb-controller|dokalibrovat]]..
Je ale třeba postupovat velmi opatrně, protože v případě nepovedené kalibrace může být třeba přepsat firmware v řídícím MCU od oscilátoru.
----
**Pozor!** Obvod Si570 typu 570ABB000107DG má počáteční frekvenci (start up frequency) 10,0MHz a je třeba ji správně nastavit v případě kalibrace podle výrobních parametrů (default settings).
===== SDR demodulační Software =====
==== Windows ====
* [[http://www.hdsdr.de/|HDSDR (WinRAD)]] - Velmi oblíbený Windows program pro ovládání softwarově definovaných přijímačů. Po doplnění knihovny pro Si570 umožňuje přímé ovládání LO.
* [[http://www.qsl.net/d/dl4yhf/spectra1.html|Spectrum Lab]] - nástroj pro různé zpracování signálů ve slyšitelném pásmu. Používáme jej hlavně pro [[http://wiki.meteory.sk/doku.php?id=cs:radio_navod|detekci meteorů]].
* [[https://github.com/MLAB-project/pysdr|pySDR]] - náš program pro vykreslování waterfallu pomocí OpenGL.
==== Linux ====
* [[http://www.sm5bsz.com/linuxdsp/linrad.htm|Linrad]] - Linuxový nástroj pro SDR příjem, má některé pokročilé funkce, které v HDSDR zatím chybí. Jako například korekce potlačení zrcadel pro různá pásma.
* [[https://github.com/MLAB-project/pysdr|pySDR]] - náš program pro vykreslování waterfallu pomocí OpenGL.
* [[cs:sw:gnuradio]]
==== Mac OS X =====
* [[http://dl2sdr.homepage.t-online.de/|DSP Radio]] Jednoduchy funkcny program na waterfall aj ladenie Si570
* [[http://dekar.wc3edit.net/2012/09/30/osx-port-of-the-awesome-gqrx-sdr-software/|gqrx]] SW zalozeny na GNU Radio
* [[http://fyngyrz.com/?p=915|SdrDx]] oblubeny sw s vela funkciami
==== Multiplatformní ====
* [[http://james.ahlstrom.name/quisk/|QUISK]] - Python program pro ovládání přijímačů typu softrock.
* [[http://gnuradio.org/redmine/projects/gnuradio/wiki|GNU radio]]
===== Změřené charakteristiky přijímače =====
Tyto charakteristiky byly získány na různých navzájem nekalibrovaných zařízeních podle účelu konkrétní aplikace. Mají tedy pouze informativní charakter.
==== Citlivost ====
MDS je -120dBm na 150MHz při 1kHz BW. Byla měřena generátorem přivedeným na RF vstup přijímače a přijímaný signál byl zobrazen na waterfallu v programu HDSDR.
Směrem k nižším frekvencím se zvyšuje a k vyšším snižuje s amplitudou cca 15dBm přes celý pracovní frekvenční rozsah.
==== Potlačení zrcadlového kmitočtu ====
Minimální a snadno dosažitelné potlačení zrcadlových kmitočtů je 50dB na 150MHz RF in. Běžný maximální limit je 70dB (vyšší hodnoty již závisí na konkrétním kusu přijímače).
Potlačení zrcadlového kmitočtu je ale třeba dolaďovat pro každé pásmo, jelikož záleží na rozladění fáze spínání směšovače a ta se pro různé frekvence může měnit.
Vliv teploty na nastavení ale není velký a je tedy možné si vytvořit korekční tabulku pro všechna používaná pásma. Některé softwarové nástroje (například Linrad) umí takovou tabulku vytvářet automaticky po spuštění kalibrace a připojení vhodného generátoru na vstup přijímače.
=== Nastaveni potlačení zrcadlových kmitočtů ===
Vhodnou metodou je použití lineárně frekvenčně modulovaného signálu, který ve spektru vytvoří "kostku", kterou je pak možné dobře vyladit v zrcadle na minimum. Takový signál lze získat například FM rozmodulováním výstupu generátoru.
==== Vyzařování ====
Následující obrázky znázorňují spektrum vyzařované přijímačem SDRX01B za provozu do antény. Jde o principiální jev spínaného směšovače a je to také důvod, proč přijímač nesmí být provozován bez připojeného izolačního předzesilovače.
{{:cs:sdrx01b_lo20mhz.png?320|Při příjmu na 20MHz}} {{:cs:sdrx01b_lo50mhz.png?320|Při příjmu na 50MHz}}{{:cs:sdrx01b_lo70mhz.png?320|Při příjmu na 70MHz}} {{:cs:sdrx01b_lo146mhz.png?320|Při příjmu na 146MHz}}
Následující obrázek ukazuje zlepšení po připojení [[cs:lna|LNA01A]].
{{:cs:sdrx01b_lo146mhz_lna.png?320|}}
Naměřená špička je pravděpodobně způsobena rušením na pracovišti (měření bylo prováděno na nezakrytovaném [[cs:lna|LNA]]). Jak je ale vidět, tak spektrum vyzařované přijímačem je potlačeno pod hranici -70dBm.
===== FAQ =====
* Můžu napájet přijímač +/- 10V ? Ty signály na výstupu dosahují rozkmitu napětí řádově 10-100mV max. Proč je třeba mít tak velký napájecí rozsah?
Velký napájeci rozsah je potřeba kvůli tomu, že v okamžiku, kdy se do NF pásma dostane silný signál, tak je třeba zařídit aby to nikde v SDR nedošlo k saturaci. Jinak by se signál rozlezl po celém výstupním pásmu,
proto je třeba i na v průměru malé signály velký dynamický rozsah.
* Proč nemá přijímač integrovaný stabilizátor napětí? Tenhle způsob napájení komplikuje použití.
Stabilizátor v přijímači není schválně, aby v případě spojování vice přijímačů (interferometrie, radiaoastronomie)
měly všechny přijímače stejné napájení a tím pádem i stejný drift.
* Musím přijímač napájet napětím +/-12V nestačí +/-10V?
Přijímač je možné napájet i +/-5V. Pro použití v portable režimu je vhodné využít Li-ion akumulátory po dvojici v každé větvi celkové napájení tedy bude +/- 7,4V což je na většinu aplikací mimo město (bez silných signálů) použitelné. Vhodné akumulátory jsou například v baterii v z notebooků (obvykle velikost 18650) snížená kapacita starých baterií v případě použití s přijímačem nevadí, nebot odběr přijímače je malý a vydrží tak provozu mnoho hodin.
* Proč má přijímač I a Q výstup? Mohu na digitalizaci signálu použít mono vstup zvukové karty?
Nízkofrekvenční signál z přijímače je ve formátu I/Q proto, aby obsahoval plnou informaci o vstupním vysokofrekvenčním signálu, jde v podstatě o vektorový formát, ze kterého pak lze demodulovat v principu jakoukoli modulaci, která má šířku pásma menší, než šířka pásma A/D konverze. [[http://cs.wikipedia.org/wiki/Konstela%C4%8Dn%C3%AD_diagram|Podrobnější vysvětlení I/Q problému]]
==== Technické "náměty" ====
=== Proč neopoužijete 1bitový A/D převodník (komparátor)? ===
Ano tento druh převodníku je opravdu výrazně levnější, než složitější ADC, ovšem jeho použití je omezeno signálem, který je schopen digitalizovat. Zjednodušeně lze říci, že bude fungovat dobře pokud jeho komparační úroveň se bude shodovat s průměrnou hodnotou signálu. Problémy nastávají právě v případech, kdy je tato úroveň neznámá, nebo se neznámým způsobem mění. Protože v takovém případě komparátor přestává překlápět a tím pádem ztrácí rozlišení. Tato situace je typická pro případ, kdy kromě signálu, který potřebujeme je ve spektru ještě i silný rušivý signál.
====== Příklady využití přijímače ======
===== Interferometrická sestava - zpracování koherentních signálů =====
Následující obrázek ukazuje první pokus o realizaci radioastronomického přijímače. Používá moduly [[cs:clkgen|CLKGEN01B]], [[cs:clkhub|CLKHUB02A]].
{{:cs:sdrx01b_interferometer_dual.jpg?direct&300|První radioastronomická SDR sestava}}
{{ :cs:sdr:radioasronomy_configuration.png?300 |Konfigurace vhodná pro fázové zpracování signálu z více antén}}
===== Stanice pro radiovou detekci meteorů =====
Přijímač může být využit i v síti radiových detektorů meteorů jako je tomu například na několika hvězdárnách v ČR zapojených do projektu [[http://www.bolidozor.cz/|Bolidozor]]. Přijímač pak pracuje jako součást multistatického radarového systému.
{{:cs:designs:metor_shower.jpg?200|}}
Podrobnější informace k tomuto použití přijímače jsou v popisu konstrukce [[cs:rmds|RMDS02D]].
===== Přehledový radioamatérský přijímač =====
Tento SDR přijímač může být využit i pro radioamatérská pásma. Viz. ukázka pro pásmo 80m z programu HDSDR.
{{:cs:sdrx01b_ham1.png?direct&300|}}
{{:cs:sdrx01b_ham2.png?direct&300|}}
Na obrázcích je dobře rozeznatelné vysílání mnoha LSB stanic.
{{:sdrx01b_ham_cw.png?direct&300|}}
Telegrafní oblast pásma.
====== Náměty na vylepšení ======
* Přidat logaritmický skalární výstup indikující "jak moc je přijímač v saturaci". Logaritmický detektor pro měření integrálního výkonu přes vstupní pásmo přijímače. (Mělo by být možné realizovat RF detektorem [[cs:rfdetect|RFdetect01A]])
* Vyřešit možnost srovnání zisku mezi jednotlivými přijímači. (nejlépe digitálně)
===== Samostatný přijímač =====
Přidáním dalších modulů do setu by mohla vzniknout kompletní sestava přijímač nezávislá na klasickém počítači. Její realizace má několik variant:
* Přijímač s laditelným oscilátorem a modulem s LCD na kterém bude vidět naladěná frekvence a tlačítka pod LCD budou umožňovat přeladění přijímaného kmitočtu.
* Druhá varianta je stejná jako předchozí s tím rozdílem, že analogový výstup bude digitalizován a přenášen přes nějaké běžné rozhraní do počítače (USB, ThunderBolt, Ethernet...). Stejné rozhraní by pak bylo využito i ladění lokálního oscilátoru.
====== UHF SDR přijímač SDRX02A ======
**Tato konstrukce přijímače je zatím pouze v přípravné fázi vývoje**
Konstrukce přijímače by měla být pravděpodobně ještě více modulární. Tj. Oddělený vstupní zesilovač VGA, vstupní band-pass filtr, I/Q demodulátor s výstupním band-pass filtrem.
ADC se vstupním anti-alias filtrem a FPGA s paralelním rozhraním na USB.
==== Nekoherentní zpracování signálů ====
{{ :cs:sdr:uhf_sdrx02a_receiver.png?300 |Plánované schéma SDR přijímače pro UHF pásmo}}
==== Koherentní zpracování signálů ====
{{ :cs:sdr:coherent_uhf_sdrx02_receiver.png?300 |Konfigurace pro koherentní zpracování přijímaného signálu}}
Koherentní zpracování spočívá v možnosti synchronizovat lokální oscilátory mezi jednotlivými stanicemi, nebo v případě použití, jako součást radarového systému i s vysílačem signálu.
====== UHF SDR přijímač s velkou šířkou pásma SDRX02B ======
Konstrukce přijímače [[cs:sdrx02|SDRX02B]] by měla obsahovat oddělený vstupní zesilovač (VGA), vstupní band-pass filtr pro omezení potenciální intermodulace, I/Q demodulátor s výstupním band-pass filtrem.
Analog Front End ADC se vstupním anti-alias filtrem a FPGA s rozhraním PCIe pro připojení k thunderbolt modulu.
==== Nekoherentní zpracování signálů ====
{{ :cs:sdr:uhf_sdrx02a_receiver.png?300 |Plánované schéma SDR přijímače pro UHF pásmo}}
==== Koherentní zpracování signálů ====
{{ :cs:sdr:coherent_uhf_sdrx02_receiver.png?300 |Konfigurace pro koherentní zpracování přijímaného signálu}}
Koherentní zpracování spočívá v možnosti synchronizovat lokální oscilátory mezi jednotlivými stanicemi, nebo v případě použití synchronizovaného majáku, jako součást radarového systému i s vysílačem signálu.
====== Související moduly ======
* [[cs:lna|LNA01A]] - nízkošumový předzesilovač určený primárně pro experimentální detekci meteorů.
* [[cs:gb|GB01A]] - modul gain blocku.
* [[cs:clkhub|CLKHUB02A]] - Rozmnožovač signálu lokálního oscilátoru.
* [[cs:clkgen|CLKGEN01B]] - Generátor signálu lokálního oscilátoru.
* [[cs:bp|BP01A]] - Modul univerzálního pásmového filtru.
* [[cs:sympower|]]