====== Цифровые фильтры ======
В файлах {{digfilters:iir.c}} и {{digfilters: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);
====== Фильтры Чебышева ======
В книге [[http://www.dspguide.com/ | "Digital signal processing"]] приводится программа для вычисления коэффициентов фильтра Чебышева. В файле {{digfilters:cheb.py}} - вариант этой программы на языке [[http://python.org | 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
====== Литература ======
[[http://dsp-book.narod.ru/books.html | Литература]] по цифровой обработке сигналов.