В задачах расчета цифровых фильтров используются основные функции, рассмотренные далее.
ABS – абсолютное значение и перевод строки в число:
ABS(X) – абсолютное значение элементов . Когда комплексное, то ABS(X) – комплексные модули (величина) элементов X.
Смотри также ANGLE, UNWRAP.
ABS(S), где – строковая переменная MATLAB, возвращает числовое значение, записанное в ASCII-символах строки.
Смотри также SETSTR.
ANGLE – угол фазы:
ANGLE(H) возвращает углы фазы (в радианах) матрицы с комплексными элементами.
Смотри также ABS, UNWRAP.
CONV – свертка и умножение многочленов:
C = CONV(A, B) свертывает вектора и . Результат – вектор длины LENGTH(A) + LENGTH(B) – 1.
Если и – вектора с полиномиальными коэффициентами, то свертывание их эквивалентно умножению двух многочленов.
Смотри также XCORR, DECONV, CONV2.
FFTFILT – метод overlap/add (перекрыть/добавить) фильтрации с использо-ванием FFT:
Y = FFTFILT(B,X) фильтрует вектор с FIR-фильтром B, используя метод перекрыть/добавить;
Y = FFTFILT(B,X,N) использует метод перекрыть/добавить для фильтрования с , используя -точечный метод FFT.
Смотри также FILTER.
FILTER – цифровой фильтр:
Y = FILTER(B, A, X) фильтрует данные вектора с фильтром, описанным векторами и для создания фильтрованных данных Y. Фильтр – реализация прямой формы 2 стандартного разностного уравнения
[Y, Zf] = FILTER(B,A,X,Zi) дает доступ к начальному и конечному состояниям задержек Zi и Zf.
Смотри также FILTFILT.
FILTFILT – прямая и обратная цифровая фильтрация с нулевой фазой:
Y = FILTFILT(B,A,X) фильтрует данные в векторе с фильтром, описанным векторами A и B для создания фильтрованных данных . Фильтр описывается разностным уравнением:
После прямой фильтрации отфильтрованная последовательность разворачивается и вновь пропускается через фильтр. В результирующей последовательности отсутствуют фазовые искажения, при этом фильтр имеет двойной порядок. Длина входного должна быть больше, чем мах(length(b)–1,length(a)–1).
Смотри также FILTER.
FILTIC – cоздание начального состояния для функции filter:
Z = filtic(B,A,Y,X) конвертирует пришедший входной вектор и выходной в начальное значение реализованной в прямой форме 2 переменной Z, необходимое в структуре фильтра. Вектора и содержат входную и выходную последовательности в таком порядке:
где nb = length(B)–1 и na = length(A)–1. Короткие входные вектора и дополняются нулями до длины nb и na соответственно. Если или длиннее, чем или , то значения, превосходящие длины, не подходят для инициализации фильтра, а потому игнорируются.
F = FREQSPACE(N) возвращает 1D-частотный вектор F, предполагающий наличие интервалов на единичной окружности. Для 1D-векторов . F = FREQSPACE(N,'whole') возвращает все интервалов, поэтому .
Когда целое, [H,W] = FREQZ(B,A,N) возвращает для вектора частот в радианах -точечную комплексную частотную характеристику в векторе фильтра :
.
Частота отклика оценивается в точках одинаково расположенных интервалов верхней половины единичной окружности. Если не определено, то по умолчанию равно 512.
[H,W] = FREQZ(B,A,N,'whole') использует точек по всей окружности.
H = FREQZ(B,A,W) возвращает частоту отклика на частотах, назначенных в векторе , в радианах (нормально между 0 и ).
[H,F] = FREQZ(B,A,N,Fs) и [H,F] = FREQZ(B,A,N,'whole',Fs) на заданной частоте дискретизации (в герцах) возвращают вектор частот (в герцах).
H = FREQZ(B,A,F,Fs) на заданной частоте дискретизации (в герцах) возвращает комплексную частоту ответа на частотах, определенных в векторе (в герцах).
FREQZ(B,A,...) без выходных аргументов рисует амплитуду и развернутую частоту в текущем графическом окне.
Смотри также FILTER, FFT, INVFREQZ, FREQS и GRPDELAY.
GRPDELAY– групповая задержка цифрового фильтра:
[Gd,W] = GRPDELAY(B,A,N) возвращает -мерные вектора и , содержащие групповую задержку и частоты (в радианах), на которых будет производиться оценка. Групповая задержка определяется как производная – . Частота отклика оценивается в точках, равномерно расположенных на верхней половине единичной окружности. Когда – степень 2, то вычисления производятся быстрее с использованием FFT. Если вы не определили , то по умолчанию оно равно 512.
GRPDELAY(B,A,N,'whole') использует N точек по всей окружности.
[Gd,F] = GRPDELAY(B,A,N,Fs) и [Gd,F] = GRPDELAY(B,A,N,'whole',Fs) на заданной частоте дискретизации (в герцах) возвращает вектор (в герцах).
Gd = GRPDELAY(B,A,W) и Gd = GRPDELAY(B,A,F,Fs) возвращают задержку группы, оцениваемую в точках (в радианах) или (в герцах), где – частота дискретизации (в герцах).
GRPDELAY(B,A,...) без выходных аргументов рисует задержку группы как функцию нормализованной частоты (Nyquist == 1) в текущем графическом окне.
Смотри также FREQZ.
IMPZ– импульсный отклик цифрового фильтра:
[H,T] = IMPZ(B,A) считает импульсный отклик фильтра , выбирая число выборок, и возвращает отклик в векторе-столбце и вектор промежутков времени (или образца интервалов) в ( = [0, 1, 2, ...]').
[H,T] = IMPZ(B,A,N) считает выборок импульсного отклика.
[H,T] = IMPZ(B,A,N,Fs) вычисляет выборок и шкалу так, что образцы разделены на . по умолчанию.
[H,T] = IMPZ(B,A,[],Fs) выбирает число выборок и шкалу так, что шаблоны разделены на .
IMPZ без выходных аргументов рисует импульсный отклик, используя STEM(T,H), в текущем графическом окне.
Смотри также IMPULSE в "Controls Toolbox for continuous systems".
UNWRAP – корректировка фазовых углов:
UNWRAP(P) корректирует фазовые углы элементов одномерного массива P в (радианах) при переходе через значение , дополняя их значениями ± для того, чтобы убрать разрывы функции.
Смотри также ANGLE, ABS.
ZPLANE– отображение нулей и полюсов цифрового фильтра:
ZPLANE(Z,P) рисует нули и полюсы (в векторах-столбцах) с указателем на единичную окружность. Каждый ноль представляется "o" и каждый полюс "x" на графике. Множество нулей и полюсов отображается множеством номеров, отображаемых справа вверху нуля или полюса. ZPLANE(Z,P), где и/или – матрица точек нулей или полюсов, тогда различные столбцы будут отображаться разными цветами.
Если аргумент – строка, то ZPLANE найдет корни аргумента, используя ROOTS. Таким образом, ZPLANE(B,A), где и – вектора-строки, содержащие передаточную функцию полиномиальных коэффициентов корней и полюсов графика
[H1,H2,H3]=ZPLANE(Z,P) возвращает вектор указателей на строки и сгенерированные объекты текста. – вектор-определитель для нулей, – вектор-определитель полюсов и – вектор-определитель оси единичной окружности и возвращает текст, содержащий в себе нули и полюса. Если нет нулей или полюсов, то или возвращают пустые матрицы.