Měření frekvence pomocí DSP

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
Mimar
Příspěvky: 45
Registrován: 01 bře 2011, 01:00
Bydliště: České Budějovice

Měření frekvence pomocí DSP

#1 Příspěvek od Mimar »

Pěkný pátek přeji.
Řeším teď jeden poměrně zajímavý problém: měření frekvence sítě pouze pomocí DSPčka a ADC, tedy žádné HW snímání průchodu nulou a následné spouštění čítače atd. Zatím jsem prubnul několik způsobů, jako
DFT s estimací ve spektru, sw. PLL, zero-crossing s předfiltrací a ještě pár metod, které moc nefakaly. DFTéčko funguje dobře, až na přechodové děje. Ty se mi zatím nepodařilo vychytat.
Kdyby někdo už něco podobného někdy dělal a podělil se případně o zkušenosti, byl bych rád.
Děkuji.

popest
Příspěvky: 115
Registrován: 13 bře 2009, 01:00

#2 Příspěvek od popest »

V rámci jedné sem. práce jsem řešil návrh wattmetru pomocí DSP a měl jsem k dispozici jen DSP a jeho ADC vstup.

Princip byl takový, že softwarový komparátor vytvoří z navzorkovaného signálu obdelník a následující kód spočítá periodu:

viz. příloha - výpočtová část z té semestrálky. Trochu nepřehledné, ale snad pochopitelné.
Přílohy
perioda.txt
(704 bajtů) Staženo 107 x

Uživatelský avatar
Mimar
Příspěvky: 45
Registrován: 01 bře 2011, 01:00
Bydliště: České Budějovice

#3 Příspěvek od Mimar »

Ahoj. Díky moc za inspiraci. Něco podobného už jsem též zkoušel, ale šel jsem na to trochu jinak: vstupní data jsem prohnal FIR filtrem plus mediánovým filtrem a pak u vyfiltrovaného signálu sledoval jeho průchody nulou. S těmi je trochu problém v tom, že málokterý vzorek má přímo nulovou hodnotu, tak jsem koukal, kdy se změní znaménko u vzorků a pak použil aproximaci přímkou. Fungovalo to docela spolehlivě, mám ji v záloze. Teď zkouším sliding DFT a Goertzela s aproximací binů ve frekvenční oblasti, ale nefunguje mi to na 100 %. Ještě si na to ale posvítím.

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“