RE: SDR bez smovn
Zuffa Jan
ZuffaJ na cgc.sk
Steda Prosinec 8 06:40:46 CET 2021
DR,
Korelacia
AGC
Treshold
V pripade komplexneho signalu mate k dispozicii
pri korelacii magnitudu aj fazu co sice nepotrebujete
ale je dobre to vediet :)
Korelovat mozete aj vo frekvencnej domene
Dozviete sa tam fazu aj miesto vasho impulzu.
Korelacia je vykonovo narocny proces ale da sa optimalizovat
napr. ked su impulzy v rovnakych casovych odstupoch (pripadne ich nasobkoch) tak
zasynchronizovat sa na zaciatok a potom uz korelovat len testne
pred dalsim impulzom
Dalsia metoda ktora vo vasom pripade pripada do uvahy
je FIR downsampling povedzme 10x kedy sa vo FIR vypocitava
len kazda 10. vzorka. Dostanete signal 4khz a usetreny vykon
mozete pouzit pri korelacii
j.
-----Original Message-----
From: Hw-list <hw-list-bounces na list.hw.cz> On Behalf Of Tomáš Hamouz
Sent: Tuesday, December 7, 2021 4:26 PM
To: HW-news <hw-list na list.hw.cz>
Subject: Re: SDR bez směšování
Navázal bych na předchozí debatu.
Odzkoušeno:
Nejprve CORDIC generátor lokálního oscilátoru, ale to bylo příliš náročné na CPU. Funguje, ale hledal jsem méně náročné řešení.
Druhý pokus: Vzorkování 4x přijímaný kmitočet, a vynásobit lokálním oscilátorem na přijímaném kmitočtu. Protože jsou právě 4 vzorky na periodu, fáze LO jsou 0, 90, 180 a 270stupňů, což odpovídá hodnotám sin (0, 1, 0, -1), cos je o 1 pozici posunutý. Tím se vzorky jednoduše rozhází do I a Q větve, jen je potřeba občas změnit znaménko vzorku, násobení nulou je triviální.
V podstatě to odpovídá níže uvedenému příspěvku od p.Anděla.
Problém byl, že ADC je triggerované timerem a ten nešel nastavit přesně na přijímaný kmitočet, byla tam chyba cca 4%.
Pak sem zkusil kompromis - poštelovat systémové hodiny a vzorkovat 3x za periodu. Tabulka sin a cos už nevychází tak pěkně, už se musí násobit, ale na ARMu to není drahá operace a je to jen 6 hodnot v tabulce. Funguje v podstatě stejně jako předchozí verze, jen už se dokážu naladit přesně.
Pak následuje CIC filtrace s decimací, úzký filtr a zbývá jen detekovat modulaci.
V principu potřebuju měřit mezeru mezi pulzama. Pulzy jsou
všechny stejné, mění se jen mezery. Triviální verze (detekce
sestupné hrany a odpočítání vzorkovacích period do dalšího pulzu funguje,
ale pro signál blízko šumu to celkem pochopitelně zlobí. Ono to tedy zlobí i když je signál moc silný, ale to přijde na řadu posléze.
Existuje nějaká metoda, jak detekovat pulz "podle tvaru"?
Nebo použít metodu "SW UART", tzn detekovat hranu a pak vyhodnotit pár vzorků v rozhodném okamžiku?
Tomáš
> Zajímavé, v podstatě Tayloe směšovač provedený také SW. To mě nenapadlo, holt začátečník.
> Tomáš
>> Jej tak to by mě taky zajímalo. Vždycky jsem to dělal tak, že jsem
>> vzal
>> 4 vzorky za periodu, odečetl 1. -3. a 2. -4. A tyhle dva výstupy jsem
>> dál průměroval podle požadované šířky pásma. Ale to čtení musí být
>> synchronní s nosným kmitočtem, což je komplikace. Kdyby to šlo číst
>> nějak nesynchronně, bylo by to fajn. Ale tuším v tom podstatně větší
>> náročnost na výpočetní rychlost toho procesoru, počítat sin, cos,
>> případně ty hodnoty někde tahat z tabulek :-( Nejspíš nějaké DSP
>> tohle zvládá jednodušeji a líp.
>> Anděl
>> Dne 21.10.2021 v 10:59 Tomas Hamouz napsal(a):
>>> Zdravím vespolek
>>>
>>> Potřebuju nakopnout kde začít, prolistovávat se hodinama videí budu
>>> až potom :-)
>>>
>>> Mám signál, cca 40kHz, s AM modulací 1kHz. Chtěl bych ho zkusit
>>> zpracovat pomocí SDR, jsem přesvědčený že to musí jít, ale nějak
>>> nedokážu dohledat jak se generují I a Q signály BEZ použití kvadraturního směšovače, tzn. přímou digitalizací vstupního signálu.
>>>
>>> Tomáš
>>>
>>> _______________________________________________
>>> HW-list mailing list - sponsored by www.HW.cz Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz Hw-list na list.hw.cz http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list