====== Цифровые фильтры ====== В файлах {{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 | Литература]] по цифровой обработке сигналов.