Функции > Обработка сигналов > Цифровая фильтрация > Пример: Фильтры с импульсной характеристикой конечной длительности по обмену Remez
  
Пример: Фильтры с импульсной характеристикой конечной длительности по обмену Remez
Функция remez реализует алгоритм обмена Ремеза для конструкции фильтра с импульсной характеристикой конечной длительности.
Чтобы ознакомиться с основными проблемами использования алгоритма и примерами, см. книги Rabiner, Gold "Theory and Application of Digital Signal Processing" (Рабинер, Голд. Теория и практика обработки цифрового сигнала) (на английском языке) (издатель Prentice-Hall, Inc.) и Parks, Burrus "Digital Filter Design" (Паркс, Беррас. Создание цифрового фильтра) (на английском языке) (издательство Wiley-Interscience).
Фильтр нижних частот
1. Определите отклик 1 в полосе пропускания и 0 в полосе затухания и интерполируйте прямой переход между кромками полосы пропускания и полосы затухания.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Как правило, число точек в сетке частот должно быть в 8-10 раз больше длины фильтра, с частотами, которые начинаются с 0 и равномерно возрастают до 0.5. Определение отклика требует определения кромок полосы и весов, назначенных ошибкам в каждой полосе. Алгоритм минимизирует максимальную взвешенную ошибку по диапазону частот [0, 0.5].
2. Определите края полосы пропускания и полосы задерживания:
Нажать для копирования этого выражения
Нажать для копирования этого выражения
3. Определите веса полосы пропускания, полосы задерживания и полосы перехода:
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
4. Определите функцию, которая дает требуемый отклик, как функцию частоты. Расчет в каждой точке сетки позволяет построить вектор отклика.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
5. Определите весовой вектор, который назначает вес каждой точке сетки для соответствующей полосы.
Нажать для копирования этого выражения
6. Используйте функции remez и length, чтобы вычислить коэффициенты фильтра:
Нажать для копирования этого выражения
Нажать для копирования этого выражения
7. Используйте функцию gain, чтобы вычислить для этого нечетного по длине фильтра максимальные ошибки полосы пропускания и полосы задерживания, которые задаются усилением в точках 0 и 0.5:
Нажать для копирования этого выражения
Нажать для копирования этого выражения
8. Постройте график функции и ее частотной характеристики от 0 до .5.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Видимыми являются десять экстремальных частот, включая точку, где линия (1 - δ1) пересекает край полосы пропускания pb, и точку, где линия δ2 пересекает край полосы задерживания sb. Ошибка равномерно чередуется на экстремальных частотах каждой полосы. Чтобы увидеть пример, в котором две ошибки d неодинаковы, измените вес полосы затухания на 0.5 в приведенной выше спецификации фильтра.
Полосовой пропускающий фильтр
1. Определите функцию отклика, которая конструируется путем добавления функций для отклика в каждой полосе перехода и полосе пропускания.
Нажать для копирования этого выражения
2. Примените функцию фильтра одновременно ко всей сетке, используя оператор умножения векторов. Веса являются равномерными.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
3. Создайте фильтр с 45 коэффициентами:
Нажать для копирования этого выражения
Нажать для копирования этого выражения
4. Постройте график частотной характеристики фильтра:
Нажать для копирования этого выражения
Нажать для копирования этого выражения