|
Kategorie: Diplomové, bakalářské práce |
Tento dokument chci!
Táto práca sa zaoberá možnosťami využitia koncepcie softwarového rádia pre rádioamatérske účely v pásme KV a jej následnej implementácie do vhodne navrhnutého hardwaru. Cieľom je návrh transceiveru schopného pracovať v režimoch AM, FM, SSB, a CW. V rámci teoretického rozboru problematiky sú preskúmané používané architektúry softwarových rádií a ich jednotlivé bloky. Rozbor je zameraný hlavne na analógové časti reťazca, ako sú vstupný a koncový zosilňovač, filtre a prevodníky. Ďalej sú preskúmané algoritmy spracovania signálov pre prijímač aj vysielač v daných režimoch a zostavené ich počítačové modely. Navrhnuté algoritmy sú následne implementované do obvodu FPGA (Virtex-5) na dostupnej vývojovej doske.
prípade žiadaného neceločíselného násobku nutné použiť
kaskádu filtrov. Ako výhodné javí pri
implementácii FPGA využitie filtrov typu FIR, ktoré ľahko realizovateľné
a stabilné. Pri jeho použití dôjde orezaniu bitov, ktoré presahujú zadané
výstupné parametre, čím vzniká spomenuté riziko poškodenia signálu. delenie
vzorkovacieho kmitočtu. Medzi najjednoduchšiu realizáciu digitálnych filtrov patria filtre typu MAC
(Multiply and Accumulate). Blok
Reinterpret slúži posun desatinnej čiarky, teda zmeny počtu celočíselných
a zlomkových bitov. Nástroj priamo zobrazí
aj frekvenčnú charakteristiku navrhnutého filtru. Využitie výhodné napríklad, výstupný signál CIC filtru
vysokú hodnotu. Preto jeho výstupe zväčša nutné
upraviť rozsah signálu. zrýchlenie filtrácie (zníženie oneskorenia signálu) možné
násobenie sčítavanie vykonávať paralelne niekoľkými násobičkami sčítačkami. modeli táto funkcia realizovaná pomocou bloku CIC Filter. Ich využitie závisí od
situácie. Nevhodným použitím môže mať signál zníženú presnosť dynamiku,
v najhoršom prípade môže signál úplne zdegradovať. Celočíselné bity, ktoré zostanú len
znamienkové, preto nich stačí ponechať iba jeden.
4 paralelné vetvy.
Na pokročilejšie spracovanie slúži kmitočtová filtrácia.63
Úpravu bitovej šírky možné realizovať rôznymi spôsobmi. prípade vysielača je
vzorkovací kmitočet zvyšovaný (interpolácia), prípade prijímača naopak znižovaný
(decimovanie). Vzorky vstupného signálu nich násobené
s koeficientmi filtra (počet koeficientov zmenšený udáva rád filtru) následne sa
sčítajú (akumulujú). Návrh charakteristiky filtru
je zjednodušený pomocou nástroja FDATool, ktorý súčasťou programu Matlab. Medzi spomenuté bloky patria
hlavne bloky Convert Reinterpret. decimačného pomeru. Pre spracovanie signálu výhodné držať hodnotu signálu rozsahu
medzi +1. Ďalej možné nastaviť
pomer zmeny vzorkovacej frekvencie, počet stupňov oneskorenie jednom stupni. spojiť dva signály (signály sa
poskladajú bitovo vedľa seba). tom prípade vhodné posunúť desatinnú čiarku tesne nad
najvýznamnejší nastavený bit pri kladnom čísle. možné tiež vybrať aproximáciu filtru.
V rámci jedného bloku možné vykonať len celočíselné násobenie resp.
Použiť možno napríklad filter typu 2-n tap alebo 4-n tap MAC, ktorý obsahuje resp.
Vzhľadom veľký rozdiel medzi frekvenciou modulačného audio signálu (na
fónický prenos kHz) frekvenciou nosnej vlny (3-30 MHz), nutné istom
mieste systému vykonať zmenu vzorkovacieho kmitočtu.
Vstupom pre návrh filtru jeho parametre, ako medzné frekvencie, vzorkovacia
frekvencia rád filtru. Bity najmenej významných
pozíciách (počet závisí veľkosti posunu) môžu byť potom hľadiska presnosti
vyjadrenia hodnoty signálu zanedbateľné možno ich bez straty rozlíšenia orezať. Blok Convert transformuje signál priamo na
zvolený číselný formát.
. Na
zmenu číselnej reprezentácie možno taktiež použiť bloky Slice Concatenate, ktoré
umožňujú signálu „vyrezať“ určitý úsek bitov, resp. CIC filtre vyznačujú vysokým ziskom, ktorý úmerný hodnote
interpolačného resp. Zrýchlenie filtru však cenu väčšej hardwarovej náročnosti pri
implementácii (je nutné použiť viac násobičiek sčítačiek). Podľa
nastavenia správa buď ako interpolátor alebo decimátor. Koeficienty filtru možné exportovať
do premennej alebo možné pri nastavovaní bloku MAC Filter odvolať na
nastavenie nástroja FDATool pomocou príkazu xlfda_numerator()