exponenta event banner

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 (каналообразователь, [1:4]);

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

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

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

Пример: [H, f] = freqz (каналообразователь, [1:4], «Fs», 44100, «NFFT», 1024, «в целом», 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 nФильтры], где nfft - количество частотных точек, а nФильтры - число фильтров, частотная характеристика которых вычислена. Предположим nfft является 8192 и ind является2:5], H является матрицей размера [8192 4].

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

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

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

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

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

См. также

Функции

Объекты

Представлен в R2017b