freqz

Частотная характеристика фильтров в канализаторе

Описание

пример

[H,w] = freqz(obj) вычисляет матрицу комплексных частотных характеристик для каждого фильтра в dsp.Channelizer Системные object™. Каждый столбец H соответствует частотной характеристике для одного из фильтров в канализаторе. w является вектором нормированных частот, при которых строки H вычисляются.

пример

[H,w] = freqz(obj,ind) вычисляет частотную характеристику фильтров с индексами, соответствующими элементам вектора ind. ind - вектор-строка индексов между 1 и obj.NumFrequencyBands. По умолчанию этот вектор является [1: N], где N - количество частотных полос.

Для примера, чтобы вычислить частотную характеристику первых 4 фильтров, установите ind на [1:4].

channelizer = dsp.Channelizer;
[H,w] = freqz(channelizer,[1:4]);

пример

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

Для примера, чтобы задать частоту дискретизации 44100 Гц, установите 'Fs' на 44100. Чтобы вычислить частотную характеристику с помощью 1024 частотных точек, задайте 'NFFT' на 1024. В сложение, чтобы вычислить сумму частотной характеристики фильтров, установите 'overall' на true.

channelizer = dsp.Channelizer;
[H,f] = freqz(channelizer,[1:4],'Fs',44100,'NFFT',1024,'overall',true);

Примеры

свернуть все

Вычислите частотную характеристику фильтров в канализаторе с помощью freqz функция.

Проектируйте канализатор с количеством частотных диапазонов или полифазных ветвей, установленным на 8, количеством отводов или коэффициентов на полосу, установленным на 12, и затуханием в полосе задерживания, установленным на 80 дБ. Вычислите матрицу частотной характеристики H и соответствующий вектор частотных точек w.

channelizer = dsp.Channelizer;
[H,w] = freqz(channelizer); %#ok
whos H
  Name         Size              Bytes  Class     Attributes

  H         8192x8             1048576  double    complex   

Количество строк в H соответствует количеству частотных точек, а количество столбцов в H соответствует количеству полос. Чтобы просмотреть только фрагмент банка фильтров, укажите индексы.

[H,w] = freqz(channelizer,(1:4)); %#ok

Установка индексов фильтра как [1:4] вычисляет индивидуальную частотную характеристику первых 4 фильтров. Можно также просмотреть сумму откликов фильтра путем установки 'overall' на true.

[H,w] = freqz(channelizer,1:4,'overall',true);
plot(w/pi,20*log10(abs(H)))
xlabel('Normalized Frequency (\times \pi rad/sample)')
ylabel('Magnitude (dB)')

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

Можно также вычислить частоты в Гц путем передачи частоты дискретизации. Частота в Гц, f, равна (w/2*pi)*Fs, где w - частота в радианах, а Fs - частота дискретизации.

[H,f] = freqz(channelizer,'Fs',44100); %#ok

Задайте количество частотных точек, использующих 'NFFT' аргумент.

[H,f] = freqz(channelizer,'Fs',44100,'NFFT',1024);

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

свернуть все

Входной фильтр, заданный как dsp.Channelizer Системный объект.

Пример: [H, w] = freqz (канализатор);

Фильтруйте индексы, заданные как вектор-строка в области значений [1 obj.NumFrequencyBands]. По умолчанию ind установлено в 1: N, где N - количество частотных полос, заданных через obj.NumFrequencyBands свойство.

Пример: freqz (channelizer, [1:4]);

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

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

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

Пример: [H, f] = freqz (channelizer, [1:4], 'Fs', 44100, 'NFFT', 1024, 'overal', true);

Частота дискретизации, заданная как скаляр. Это значение определяет частоты в Гц, на которых freqz вычисляет частотную характеристику.

Пример: 44100

Пример: 22050

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

Количество частотных точек, используемых для вычисления частотной характеристики, заданное как положительная скалярная величина.

Пример: 8192

Пример: 1024

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

Тип фильтра, заданный как:

  • true –– freqz вычисляет сумму характеристик фильтра.

  • false –– freqz вычисляет отдельные ответы фильтра.

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

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

свернуть все

Комплексная частотная характеристика фильтров в канализаторе. Размерности выхода зависят от значения 'overall' аргумент:

  • Когда 'overall' аргумент trueвектор частотной характеристики содержит сумму частотных характеристик всех фильтров. Вектор имеет размер [nfft 1], где nfft - количество частотных точек. Для примера, если nfft является 8192, H является матрицей размера [8192 1].

  • Когда 'overall' аргумент false, частотная характеристика является матрицей размера [nfft nFilters], где nfft - количество частотных точек, а nFilters - количество фильтров, частотная характеристика которых вычисляется. Предположим nfft является 8192 и ind является [2:5], H является матрицей размера [8192 4].

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

Нормированные частоты, заданные в рад/отсчет, на которых вычисляется частотная характеристика. Вектор имеет размер [nfft 1].

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

Частоты, заданные в Гц, на которых вычисляется частотная характеристика. Вектор имеет размер [nfft 1].

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

См. также

Функции

Объекты

Введенный в R2017b