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π. Если вы задаете nW имеет длину n. Если вы не задаете n, или задайте n как пустой вектор, затем w имеет длину 512.

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

Больше о

свернуть все

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

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

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

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

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

| | | | | | | | |

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