Re: SDR bez smovn

Tom Hamouz konfery.tomas.hamouz na seznam.cz
Steda Prosinec 8 10:47:43 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 :)

Magnitudu teď využívám, podle ní to detekuju.
Marně přemýšlím jak by mi pomohla fáze.


> Korelovat mozete aj vo frekvencnej domene
> Dozviete sa tam fazu aj miesto vasho impulzu.

Korelaci ve frekvenční doméně budu muset dostudovat, ale znamenalo by
to převod do frekvenční domény, zatím dělám všechno v časové.


> 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

Korelace mně také napadla, ale bojím se že by to bylo příliš drahé
(myšleno nároky na CPU čas).
Děkuji za inspiraci se synchronizací, vyzkouším.
Pulzy jsou 1ms a pak je 1ms nebo 2ms mezera, to by mělo projít.
Pokud se podaří správně napsat trigger :-)


> 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

Teď vzorkuju 115200, downsampling 8x na 14400.
Zkusím jít ještě níž, uvidím co to udělá.

V každém případě děkuji za postrčení.

Tomáš


> 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
> _______________________________________________
> 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