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)

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 дБ 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ω)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 к значению, больше, чем порядок фильтра.

Коэффициенты секции второго порядка в виде матрицы. 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