sosfilt

Функция фильтрации с помощью цифрового биквадратного фильтра.

Синтаксис:

sosfilt(SOS, Input, Output); 

Аргументы:

Имя Тип данных Описание

SOS

matrix Вектор коэффициентов, описывающих секции биквадратного фильтра. Размерность вектора должна быть кратна 6, требуемая SOS-матрица записывается в вектор построчно
Input array Массив отсчетов сигнала, предназначенного для фильтрации
Output array Массив отсчетов сигнала после фильтрации

Описание:

sosfilt(SOS, Input, Output) – функция осуществляет процедуру фильтрации отсчетов входного сигнала Input с помощью цифрового биквадратного фильтра, описываемого SOS-матрицей SOS. Обработка отсчетов ведется последовательно, фильтр сбрасывается в исходное нулевое состояние по окончании обработки входного вектора отсчетов. Результирующие отсчеты сигнала, прошедшего фильтрацию, записываются в вектор Output.

Важно! Для корректной работы функции векторы входного и выходного сигнала должны иметь одинаковую размерность. Размерность вектора, описывающего SOS-матрицу фильтра, должна быть кратна 6.

Подробное описание алгоритма функционирования цифрового биквадратного фильтра представлено в [1] и [2].

Результат:

Имя Тип данных Описание
Output array Массив отсчетов сигнала после фильтрации

Пример:

var   Insig: array = 6#0, // Вектор отсчетов входного сигнала
   SOS: matrix = 12#0, // Вектор, описывающий SOS-матрицу фильтра   
   Outsig: array = 6#0; // Вектор отсчетов сигнала после фильтрации   
Insig = [1, 3.3, 2.1, 1.4, 5.5, 1];
SOS = [[0.2569156, 0.2569156, 0, 1, 0.15838444, 0]
      [1, 2, 1, 1, 0.41885608, 0.35544676]];
sosfilt(SOS, Insig, Outsig);

Результат выполнения функции:

Outsig = [0.2569156, 1.4702662, 2.8966731, 2.4719502, 3.6233595].

Дополнительные материалы

  1. Айфичер Э., Джервис Б. Цифровая обработка сигналов. Практический подход. - Москва: Вильямс, 2004, 992 с.
  2. В.В. Витязев, А.А. Зайцев. Основы многоскоростной обработки сигналов. Учебное пособие. - Рязань, 2005, 129 с.