grpdelay

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

Синтаксис

[gd,w] = grpdelay(b,a,n)
[gd,w] = grpdelay(sos,n)
[gd,w] = grpdelay(d,n)
[gd,w] = grpdelay(___,'whole')
[gd,f] = grpdelay(___,n,fs)
[gd,f] = grpdelay(___,n,'whole',fs)
gd = grpdelay(___,win)
gd = grpdelay(___,fin,fs)
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 дБ 0.2π рад/выборка. Используйте grpdelay, чтобы отобразить групповую задержку.

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

grpdelay(sos,128)

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

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')

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

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

Разработайте КИХ-фильтр 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)

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

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

Входные параметры

свернуть все

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

H(ejω)=B(ejω)A(ejω)=b (1)+b (2) ejω+b (3) ej2ω++b (M) ej(M1)ω(1)+(2) ejω+(3) ej2ω++(N) ej(N1)ω.

Пример: b = [1 3 3 1]/6 и a = [3 0 1 0]/3 задают третий порядок Фильтр Баттерворта с нормированной частотой на 3 дБ 0.5π рад/выборка.

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

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

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

Коэффициенты раздела второго порядка, заданные как матрица. sos является K-by-6 матрица, где количество разделов, K, должно быть больше, чем или равным 2. Если количество разделов - меньше чем 2, функция обрабатывает вход как вектор числителя. Каждая строка sos соответствует коэффициентам второго порядка (biquad) фильтр. i th строка 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] задает третий порядок Фильтр Баттерворта с нормированной частотой на 3 дБ 0.5π рад/выборка.

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

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

Пример: d = designfilt('lowpassiir','FilterOrder',3,'HalfPowerFrequency',0.5) задает третий порядок Фильтр Баттерворта с нормированной частотой на 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 до 2π. Если вы задаете n, w имеет длину n. Если вы не задаете n или задаете n как пустой вектор, то w имеет длину 512.

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

Больше о

свернуть все

Групповая задержка

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

τg(ω)=dθ(ω)dω,

где θ (ω) является фазой или аргументом, H (e ).

Смотрите также

| | | | | | | | |

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