freqz

Вычислите частотную характеристику

Описание

пример

[H,f] = freqz(obj) возвращает матрицу комплексных частотных характеристик для каждого фильтра, разработанную как obj.

пример

[H,f] = freqz(obj,ind) возвращает частотную характеристику фильтров с индексами, соответствующими элементам в векторе ind.

пример

[H,f] = freqz(___,Name,Value) задает опции с использованием одного или нескольких Name,Value аргументы в виде пар.

пример

freqz(___) без выходных аргументов строит график частотной характеристики группы фильтров.

Примеры

свернуть все

Создайте gammatoneFilterBank объект. Функции freqz чтобы получить комплексную частотную характеристику, H, банка фильтров и вектор частот, f, при котором вычисляется ответ. Постройте график частотной характеристики группы фильтров.

gammaFiltBank = gammatoneFilterBank;
[H,f] = freqz(gammaFiltBank);

plot(f,abs(H))
xlabel('Frequency (Hz)')

Figure contains an axes. The axes contains 32 objects of type line.

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

[H,f] = freqz(gammaFiltBank,10);

plot(f,abs(H))
xlabel('Frequency (Hz)')

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

Чтобы задать количество точек БПФ, используемых для вычисления частотной характеристики, используйте NFFT Пара "имя-значение". Задайте, что частотная характеристика вычисляется с помощью БПФ с 128 точками. Постройте график частотной характеристики величины.

[H,f] = freqz(gammaFiltBank,'NFFT',128);

plot(f,abs(H))
xlabel('Frequency (Hz)')

Figure contains an axes. The axes contains 32 objects of type line.

Чтобы визуализировать только частотную характеристику величины, вызовите freqz без выходных аргументов. Постройте график величины частотной характеристики в дБ фильтров 20, 21 и 22 с использованием ДПФ с 1024 точками.

freqz(gammaFiltBank,[20,21,22],'NFFT',1024)

Figure contains an axes. The axes contains 3 objects of type line.

Создайте octaveFilterBank объект. Функции freqz чтобы получить комплексную частотную характеристику, H, банка фильтров и вектор частот, f, при котором вычисляется ответ. Постройте график величины частотной характеристики в дБ.

octFiltBank = octaveFilterBank;
[H,f] = freqz(octFiltBank);

plot(f,20*log10(abs(H)))
xlabel('Frequency (Hz)')
ylabel('Magnitude (dB)')
set(gca,'XScale','log')
axis([10 octFiltBank.SampleRate/2 -100 2])

Figure contains an axes. The axes contains 10 objects of type line.

Чтобы получить частотную характеристику подмножества фильтров в группе фильтров, задайте второй аргумент как вектор-строка индексов между одним и количеством фильтров в группе фильтров. Получите частотную характеристику 5-го фильтра в наборе фильтров и постройте график частотной характеристики величины в дБ.

[H,f] = freqz(octFiltBank,5);

plot(f,20*log10(abs(H)))
xlabel('Frequency (Hz)')
ylabel('Magnitude (dB)')
set(gca,'XScale','log')
axis([10 octFiltBank.SampleRate/2 -100 2])

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

Чтобы задать количество точек БПФ, используемых для вычисления частотной характеристики, используйте NFFT Пара "имя-значение". Задайте, что частотная характеристика вычисляется с помощью БПФ с 8192 точками. Постройте график величины частотной характеристики в дБ.

[H,f] = freqz(octFiltBank,'NFFT',8192);

plot(f,20*log10(abs(H)))
xlabel('Frequency (Hz)')
ylabel('Magnitude (dB)')
set(gca,'XScale','log')
axis([10 octFiltBank.SampleRate/2 -100 2])

Figure contains an axes. The axes contains 10 objects of type line.

Чтобы визуализировать только частотную характеристику величины, вызовите freqz без выходных аргументов. Постройте график частотной характеристики величины в дБ фильтров 4, 5 и 6 с помощью ДПФ с 1024 точками.

freqz(octFiltBank,[4,5,6],'NFFT',1024)

Figure contains an axes. The axes contains 3 objects of type line.

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

свернуть все

Объект, из которого нужно получить частотные характеристики фильтра, заданный как объект gammatoneFilterBank или octaveFilterBank.

Индексы фильтров для вычисления частотных характеристик, заданные как вектор-строка из целых чисел со значениями в области значений [1, N]. N - общее количество фильтров, разработанных obj.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'NFFT',2048

Количество интервалов ДПФ, заданное как положительное целое число.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

свернуть все

Комплексная частотная характеристика каждого фильтра, возвращенная как M -by - N матрица. M - количество интервалов ДПФ, заданное NFFT. N - количество фильтров, либо длина (ind) или, если ind не указано, общее количество фильтров в банке фильтров.

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

Частоты, на которых ответ вычисляется в Гц, возвращаются как вектор-столбец.

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

Введенный в R2019a