Skocz do zawartości

[C] Jak skonstruować filtr cyfrowy?


resonator

Pomocna odpowiedź

Witam

Mój projekt odczytuje pewne dane i wyświetla je na wyświetlaczu. Natknąłem się na taki problem że odczyty są dość niestabilne, oscylują wokół tego co powinno być. Chciałbym to jakoś wygładzić aby na wyświetlaczu odczyt tak nie skakał. Nie mam doświadczenia w filtrach cyfrowych ale spróbowałem zastosować filtr alfa-beta, jednak przy zadowalającym wygładzeniu sygnału przeregulowanie było już zbyt duże. Nie interesuje mnie szybki czas reakcji na zmianę mogą to być 2-4 sekundy.

Program działa w ten sposób, że odczytuje okres obrotu wału, zawiera się on w przedziale 0,1 - 2,5s (jednak zwykle nie jest to więcej niż 1s), a w przerwaniu ok. 10Hz mam przeliczanie okresu na prędkość i wysyłanie na wyświetlacz. I właśnie tutaj w przerwaniu po przeliczeniu chciałbym coś wstawić co sprawiło by że zmiany prędkości były by łagodniejsze. Nie mam znam się na filtracji wiec proszę o pomoc bardziej doświadczonych użytkowników.

Wesołych świąt 😃

Link do komentarza
Share on other sites

Twój problem to w zasadzie typowe zagadnienie z przetwarzania sygnałów.

Masz częstotliwość próbkowania 10Hz.

Podstawową decyzją jest wybór typu filtru: nieskończona odpowiedź impulsowa (NOI/IIR) lub skończona odpowiedź impulsowa (SOI/FIR).

Ogólnie to nie da się (wg mnie) streścić zagadnienia w jednym poście (są całe przedmioty na studiach, które są poświęcone DSP) - zakładając, że chcesz dobrze problem rozwiązać. (ze zrozumieniem).

Mogę polecić Ci książkę 'Understanding Digital Signal Processing' (R. Lyons) - bardzo mi się podobała.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.