exponenta event banner

grpdelay

Средняя задержка фильтра (групповая задержка)

Описание

[gd,w] = grpdelay(b,a,n) возвращает значение n-вектор ответа задержки группы точек, gdи соответствующий вектор угловой частоты, w, для цифрового фильтра с коэффициентами передаточной функции, хранящимися в b и a.

пример

[gd,w] = grpdelay(sos,n) возвращает значение nОтвет задержки группы точек, соответствующий матрице сечений второго порядка sos.

пример

[gd,w] = grpdelay(d,n) возвращает значение nОтвет задержки группы точек для цифрового фильтра d.

[gd,w] = grpdelay(___,'whole') возвращает задержку группы в n выборочные точки вокруг всей единичной окружности.

[gd,f] = grpdelay(___,n,fs) возвращает вектор ответа на групповую задержку gd и соответствующий физический частотный вектор f для цифрового фильтра, предназначенного для фильтрации сигналов, дискретизированных со скоростью fs.

[gd,f] = grpdelay(___,n,'whole',fs) возвращает вектор частоты в n точки в диапазоне от 0 до fs.

gd = grpdelay(___,win) возвращает вектор ответа на групповую задержку gd оценивается на нормированных частотах, подаваемых в win.

пример

gd = grpdelay(___,fin,fs) возвращает вектор ответа на групповую задержку gd оценивается на физических частотах, поставляемых в fin.

пример

grpdelay(___) без выходных аргументов отображает ответ фильтра на групповую задержку.

Примеры

свернуть все

Сконструируйте фильтр Баттерворта порядка 6 с нормированной частотой 3-dB 0,2δ рад/образец. Использовать grpdelay для отображения задержки группы.

[z,p,k] = butter(6,0.2);
sos = zp2sos(z,p,k);

grpdelay(sos,128)

Figure contains an axes. The axes contains an object of type line.

Постройте график как групповой задержки, так и фазовой задержки системы на одном рисунке.

gd = grpdelay(sos,512);

[h,w] = freqz(sos,512);
pd = -unwrap(angle(h))./w;

plot(w/pi,gd,w/pi,pd)
grid
xlabel 'Normalized Frequency (\times\pi rad/sample)'
ylabel 'Group and phase delays'
legend('Group delay','Phase delay')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Group delay, Phase delay.

Использовать designfilt для конструирования Фильтра Бабочки шестого порядка с нормированной частотой 3-dB 0,2δ рад/выборка. Отображение ответа на групповую задержку.

d = designfilt('lowpassiir','FilterOrder',6, ...
    'HalfPowerFrequency',0.2,'DesignMethod','butter');
grpdelay(d)

Figure Filter Visualization Tool - Group delay contains an axes and other objects of type uitoolbar, uimenu. The axes with title Group delay contains an object of type line.

Создайте КИХ-фильтр 88-го порядка с произвольной амплитудной характеристикой. Фильтр имеет две полосы пропускания и две полосы останова. Полоса пропускания более низкой частоты имеет двукратное усиление полосы пропускания более высокой частоты. Укажите частоту дискретизации 200 Гц. Визуализируйте амплитудную характеристику и фазовую характеристику фильтра от 10 Гц до 78 Гц.

fs = 200;
d = designfilt('arbmagfir', ...
       'FilterOrder',88, ...
       'NumBands',4, ...
       'BandFrequencies1',[0 20], ...
       'BandFrequencies2',[25 40], ...
       'BandFrequencies3',[45 65], ...
       'BandFrequencies4',[70 100], ...
       'BandAmplitudes1',[2 2], ...
       'BandAmplitudes2',[0 0], ...
       'BandAmplitudes3',[1 1], ...
       'BandAmplitudes4',[0 0], ...
       'SampleRate',fs);
freqz(d,10:1/fs:78,fs)

Figure Filter Visualization Tool - Magnitude Response (dB) and Phase Response contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) and Phase Response contains an object of type line.

Вычислите и отобразите ответ групповой задержки фильтра в том же частотном диапазоне. Убедитесь, что это половина порядка фильтрации.

filtord(d)
ans = 88
grpdelay(d,10:1/fs:78,fs)

Figure Filter Visualization Tool - Group delay contains an axes and other objects of type uitoolbar, uimenu. The axes with title Group delay contains an object of type line.

Входные аргументы

свернуть все

Коэффициенты передаточной функции, указанные как векторы. Выразить передаточную функцию с точки зрения b и a как

H (ejω) =B (ejω) (ejω) =b (1) +b (2) e−jω + b (3) e−j2ω + + b (M) e−j (M−1) ωa (1) +a (2) e−jω + (3) e−j2ω + ⋯ + (N) e−j (N−1) ω.

Пример: b = [1 3 3 1]/6 и a = [3 0 1 0]/3 укажите фильтр Баттерворта третьего порядка с нормированной частотой 3 дБ 0,5δ рад/выборка.

Типы данных: double | single
Поддержка комплексного номера: Да

Число точек вычисления, указанное в виде положительного целого скаляра не менее 2. Когда n отсутствует, по умолчанию - 512. Для получения наилучших результатов установите n до значения, большего, чем порядок фильтра.

Коэффициенты сечения второго порядка, заданные как матрица. sos является K-by-6 матрицей, где число сечений, K, должно быть больше или равно 2. Если число сечений меньше 2, функция обрабатывает входные данные как числительный вектор. Каждая строка sos соответствует коэффициентам фильтра второго порядка (биквад). I-й ряд sos соответствует [bi(1) bi(2) bi(3) ai(1) ai(2) ai(3)].

Пример: s = [2 4 2 6 0 2;3 3 0 6 0 0] задает фильтр Butterworth третьего порядка с нормализованной частотой 3 дБ 0,5δ рад/выборка.

Типы данных: double | single
Поддержка комплексного номера: Да

Цифровой фильтр, указанный как digitalFilter объект. Использовать designfilt формируют цифровой фильтр на основе характеристик частотного отклика.

Пример: d = designfilt('lowpassiir','FilterOrder',3,'HalfPowerFrequency',0.5) задает фильтр Butterworth третьего порядка с нормализованной частотой 3 дБ 0,5δ рад/выборка.

Частота выборки, заданная как положительный скаляр. Если единица времени - секунды, fs выражается в герцах.

Типы данных: double

Угловые частоты, определенные как вектор и выраженные в рад/выборке. win должен иметь по крайней мере два элемента, поскольку в противном случае функция интерпретирует его как n. win = λ соответствует частоте Найквиста.

Частоты, заданные как вектор. fin должен иметь по крайней мере два элемента, поскольку в противном случае функция интерпретирует его как n. Если единица времени - секунды, fin выражается в герцах.

Типы данных: double

Выходные аргументы

свернуть все

Ответ на групповую задержку, возвращенный в виде вектора. При указании n, то gd имеет длину n. Если не указать n, или укажите n как пустой вектор, то gd имеет длину 512.

Если вход в grpdelay - единичная точность, функция вычисляет групповую задержку, используя арифметику с единичной точностью. Продукция h - единичная точность.

Угловые частоты, возвращаемые в виде вектора. w имеет значения в диапазоне от 0 до δ. При указании 'whole' во входных данных значения в w диапазон от 0 до . При указании n, w имеет длину n. Если не указать n, или укажите n как пустой вектор, то w имеет длину 512.

Частоты, возвращаемые в виде вектора, выраженного в герцах. f имеет значения в диапазоне от 0 до fs/ 2 Гц. При указании'whole' во входных данных значения в f диапазон от 0 до fs Гц. При указании n, f имеет длину n. Если не указать n, или укажите n как пустой вектор, то f имеет длину 512.

Подробнее

свернуть все

Задержка группы

Отклик групповой задержки фильтра является мерой средней задержки фильтра как функции частоты. Является отрицательной первой производной фазового отклика фильтра. Если частотная характеристика фильтра равна H (ejü), то групповая задержка равна

startg (λ) = dstart( λ) dλ,

где start( λ) - фаза, или аргумент, H (ejλ).

Представлен до R2006a