digfilters:digfilters
Table of Contents
Цифровые фильтры
В файлах iir.c и iir.h находится простая реализация рекурсивного цифрового фильтра. Пример использования:
#include "iir.h" iir_t filter; iir_init (&filter, 4, 0.000753760416177, 0.00301504166471, 0.00452256249706, 0.00301504166471, 0.000753760416177, 3.16981170873, -3.91147934979, 2.21056922286, -0.480961748453); value = iir_filter (&filter, value);
Фильтры Чебышева
В книге "Digital signal processing" приводится программа для вычисления коэффициентов фильтра Чебышева. В файле cheb.py - вариант этой программы на языке Python.
Вызов для вычисления фильтра нижних частот:
python cheb.py "low-pass" cutoff npoles
или для фильтра верхних частот:
python cheb.py "high-pass" cutoff npoles
Здесь:
- cutoff — частота среза, от 0 до 0.5 (от частоты дискретизации)
- npoles — количество полюсов, от 2 до 20 (четное)
Пример:
python cheb.py "low-pass" 0.07 4
Результат:
Chebyshev filter: low-pass Cutoff frequency: 0.07 Number of poles: 4 Percent ripple: 0.5 Stage 1: A = 0.0388306998038 0.0776613996076 0.0388306998038 B = 1.51623806781 -0.592450666503 Stage 2: A = 0.0432862759754 0.0865725519509 0.0432862759754 B = 1.65357364092 -0.811817381001 Coefficients: A = 0.000753760416177 0.00301504166471 0.00452256249706 0.00301504166471 0.000753760416177 B = 3.16981170873 -3.91147934979 2.21056922286 -0.480961748453
Литература
Литература по цифровой обработке сигналов.
digfilters/digfilters.txt · Last modified: 2022/05/16 05:21 by vak