Re: SDR bez smovn
Tom Hamouz
konfery.tomas.hamouz na seznam.cz
ter Prosinec 7 16:25:54 CET 2021
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
Další informace o konferenci Hw-list