cyfrowa obróbka sygnału

Nov 03, 2007 16 Replies

Witam !



Usiłuję znaleźć rozwiązanie chyba dość typowego problemu. Zapewne wiele na ten temat zostało napisane ale nie wiem pod jakim hasłem szukać jakiś informacji.



Do przetwornika ADC doprowadzony jest sygnał analogowy o paśmie



50Hz-3kHz. W widmie tego sygnału wyraźnie dominuje jedna częstotliwość. Jednak jest też trochę zakłóceń. Ta dominująca częstotliwość się zmienia ale stosunkowo wolno. W przedziale czasu 0.1 sek. można uznać ją za stałą. W jaki sposób na podstawie próbek z ADC obliczyć częstotliwość tego dominującego sygnału ?

Paweł


z jaka dokladnoscia? moze FFT lub autokorelacja ? ew zaaplikuj filtr pasmowo przepustowy na te czestotliwosc i mierz z definicji?

Jeśli się nie mylę to FFT określa się przedziały częstotliwości dla których liczone są amplitudy sygnałów. Ja mam problem nieco inny. Nie znam częstotliwości sygnału i chcę ją dokładnie obliczyć.

Paweł

I pamietaj, ze przed przetwornikiem nalezy dac filtr antyaliasingowy. H.D.

Paweł schrieb:

trochę się mylisz. Robisz FFT i znajdujesz maksymalną amplidudę w interesującym ciebie zakresie. Rozdzielczość w przestrzeni częstotliwości zależy od ilości punktów fft.

Waldek

Użytkownik "Waldemar Krzok" snipped-for-privacy@infocity.de napisał w wiadomości news: snipped-for-privacy@mid.uni-berlin.de...

Użytkownik "Waldemar Krzok" napisał

Jest wielu, ktorzy nie wierza w teorie i go nie daja :-)

H.D.

P.S. poprzedni post poszedl przypadkowo nawet nie wiem co nacisnalem - przepraszam :-)

H.D. schrieb:

no ten to trzeba zawsze dawać. Przecież to tak, jak pasy bezpieczeństwa w samochodzie czy prezerwatywa do sexu. Człowiek o tym nie myśli, tak automatycznie wychodzi.

Waldek

H.D. schrieb:

no właśnie. Koledze się też tak udało. Chciał mierzyć sygnał 0..50Hz, przetwornik z próbkowaniem 1kHz, więc spokojnie podłączył się bezpośrednio do ADC. Okazało się, że wychodzi kisiel z sokiem malinowym, ale nie to, co chciał. Sygnał niestety miał nałożone różne częstotliwości z dzielnika, który się pałętał w okolicy. Bardzo mało tego było, ale wystarczyło, by ADC zgłupiał.

Waldek

Użytkownik "Paweł" napisał

Zlozonosc obliczeniowa FFT jest rzedu N*log_2(N). Jezeli wiesz jakie czestotliwosci Ciebie interesuja to mozesz policzyc tylko te czestotliwosci inna metoda niz FFT. Wtedy potrzebujesz tylko N * liczba_liczonych_czestotliwosci. Jezeli liczba_liczonych_czestotliwosci. < log_2(N) to otrzymasz zysk wzgledem FFT. Ilosc probek N zalezy, jak pisze Waldemar, od zadanej rozdzielczosci czestotliwosci. Mozna poszukiwac roznych "sztuczek" na liczenie pewnych parametrow ale nie zaliczalbych ich do "metod prostych " :-)

H.D

Ta metoda to trochę jak przysłowiowe szukanie igły w stogu siana. Aby określić częstotliwość z dokładnością do 1Hz trzeba wykonać FFT dla tysięcy punktów. Myślę, że istnieje jakaś prostsza metoda.

Paweł

Użytkownik "Waldemar Krzok" napisał

Dla pojedynczych czestotliwosci da sie to zrobic, ale dla kilku kolejnych niewiele zyskujemy. Kiedys ( a bylo to bardzo dawno) nawet probowalem to liczyc. Sprawe psuje "przeplot adresacji". ( nie pamietam jak to sie poprawnie nazywa). Przy liczeniu fouriera wystepuje wiecej problemow niz tu wymieniono. Rozdzielczosc po czestotliwosci to drobnostka naprzeciw filtrow "wygladzajacych obciecia". itp. Trzeba choc raz to policzyc, zeby potem miec wyobrazenie o wystepujacych problemach z tym zwiazanych. :-) H.D.

H.D. schrieb:

o ile się nie mylę, to możnaby spróbować zrobić pełny fft na start, a potem dłubać falkami (wavelet transformation). Tylko dobrać dobre falki jest nietrywialne.

Waldek

Nie tyle od ilosci co od dlugosci okresu.

0.1s to 10Hz rozdzielczosci.

Co gorsza - jesli okres pomiaru nie jest wielokrotnoscia okresu sygnalu mierzonego, to przebiegi sie komplikuja.

J.

average filter i sprawdzic min/max albo przejscie przez zero, policzyc okres i dalej czestotliwosc

Co dokładnie mam rozumieć pod pojęciem "average filter" ?

Paweł

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required