Fórum témák
» Több friss téma |
Sziasztok!
FIR szűrőnél hogyan lehet kiszámolni a szükséges mintaszámot? Kaiser-hez van képlet ami megadott frekvencia-meredekség és csillapítás értékéhez számol egy fokszámot, amiből ugye jön a mintaszám. dOmega = 2 * pi * ftw / fs ahol -> ftw = min(abs(f_stopband_1 - f_passband_1), abs(f_stopband_2 - f_passband_2)) N = upround[(A - 7.95) / (2.285 * dOmega)] @ A > 21dB N = upround[ 5.794 / dOmega ] @ A <= 21dB (same as rectangular window) Más szűrőnél hogyan lehet meghatározni? IIR-nél szintén egyszerű, de nekem FIR-hez kellene. Thx!
Mármint az együtthatók számára vagy kíváncsi ?
Ugye, több féle metódus van FIR szűrő tervezésére. Nekem a legszimpatikusabb a "kézzel rajzolt" karakterisztika által definiált módszer.
Ekkor ugye megtervezed a frekvenciaátvitelt, majd ez alapján kiszámolod az impulzusválaszát(Frekimenet->FFT=impulzusválasz). Ez egy végtelenhez konvergáló hosszúságot eredményezne, de mi előre bekorlátozzuk a hosszát az átalakítás során. Alkalmazunk rá valamilyen ablakoló függvényt(ez erősen befolyásolja az eredményt), és visszaalakítod frekvenciadoménre. Ekkor látni fogod a létrejött szűrő valós frekvenciamenetét. Ha az megfelel, akkor örülsz neki..., ha nem...változtatsz a paramétereken.
Hümm, képletekkel esetleg ?
![]() Vagy esetleg linket tudnál mutatni? Köszönöm.
Itt mindent megtalálsz, amire szükséged lehet a témában.
Akkor válaszolok:
M = 4/BW (vagyis coefs_num = fsample*4/f_filter_bw + 1) http://www.dspguide.com/ch16/2.htm |
Bejelentkezés
Hirdetés |





