digitalni zpracovani signalu z anteny

Miroslav Mraz mrazik na volny.cz
Čtvrtek Září 3 16:53:52 CEST 2015


S RC oscilátorem to taky nějak fungovalo, ale fakt to chce krystal. 
Procesor byl STM32F051, takže je použito DMA, ADC je spouštěn časovačem. 
V ADC bylo nutno použít PCLK/2 místo ADCCLK, to mělo moc velký jitter. 
Zdrojáky jsou k dispozici, koukněte na 
http://mujweb.cz/mrazik/hdo/html/index.html až úplně dole.
Ta stará verze s AT91SAM7S256 nemá DMA a pokud si pamatuji v přerušení 
od ADC jen sype data do buferu, vyhodnocuje to taky najednou.
Když budete mít vzorkování víc jak 200 kHz, patrně to bez DMA nepůjde, 
ono to přerušení má přece jen určitou režii. Výpočet by to mělo 
utáhnout, je to jen jednoduchý FIR filtr. I když pro to DCF by možná 
chtělo použít plnou 32x32 bit násobičku s 64.bit výsledkem. To Cortex-M0 
nemá a budete potřebovat trochu větší dynamiku, protože budete patrně 
vyhodnocovat z řádově více vzorků a to by mohlo přetékat. Takže buď 
použít M3, nebo zkusit jestli M0 utáhne int64_t * int64_t. Nebo použít 
M4 a float, ale to už je dělo na komára.

Mrazík

Dne 3.9.2015 v 12:07 Vláďa Anděl napsal(a):
> Když jste vyhodnocoval těch 200 Hz, měl jste procesor s krystalem, nebo
> s vnitřním (asi RC) oscilátorem? Jak jste spouštěl převodník? Z
> programu, nebo přímo z časovače? Když převodník spouštíte v přerušení,
> nedostane se to do přerušení hned, ale až se nějaká instrukce dokončí.
> Když jsem dělal generátor (a pak i čítač) synchronizovaný na DCF, četl
> jsem okamžitý stav výstupu přijímače a podle toho jsem synchronizoval
> krystal. V jiném časovém okně jsem spouštěl a ukončoval čítání. Dost
> lidí nevěřilo že mi tohle může chodit přesně, ale chodí. Zásada je mít
> program rozdělený na kousky, které se spolehlivě vejdou do jednoho
> časového rámce. Po dokončení procesor (dělal jsem to s 8051) musíte dát
> do stavu IDL a z toho se dostane přerušením do aktivního režimu úplně
> přesně. S krystalem 19,6608 MHz jsem se synchronizací na 77,5 KHz neměl
> problém. U Silabsu (s kterým bych teď tohle dělal) mohu ADC spouštět
> přímo časovačem, procesor se jen dozví že už převod proběhnul. Takže tam
> je jen HW odvozený z krystalu a to by taky mělo chodit přesně.
>
> Ta PSK z DCF se mi tam neprojevila vůbec, protože má cca 570 Bd,
> přenášený polynom má střední hodnotu fáze nulovou (jako signál bez
> modulace) a filtroval jsem to dvěma krystaly s šířkou pásma 3 Hz.
> Anděl
>
>


Další informace o konferenci Hw-list