freqz

Частотная характеристика просачивается channelizer

Синтаксис

[H,w] = freqz(obj)
[H,w] = freqz(obj,ind)
[H,f] = freqz(obj,ind,Name,Value)

Описание

пример

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

Например, чтобы задать уровень выборки 44 100 Гц, установите 'Fs' на 44100. Чтобы вычислить частотную характеристику с помощью 1 024 точек частоты, установите 'NFFT' на 1024. Кроме того, чтобы вычислить сумму частотной характеристики фильтров, установите 'overall' на true.

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

Примеры

свернуть все

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

Разработайте channelizer с количеством диапазонов частот или многофазного набора ответвлений к 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)')

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

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

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

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

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

свернуть все

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

Пример: [H, w] = freqz (channelizer);

Отфильтруйте индексы, заданные как вектор - строка в области значений [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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: [H, f] = freqz (channelizer, [1:4], 'Фс', 44100, 'NFFT', 1024, 'полный', верный);

Выборка уровня, заданного как скаляр. Это значение определяет частоты в Гц, на уровне которого 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 вычисляет сумму ответов фильтра.

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

Типы данных: логический

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

свернуть все

Комплексная частотная характеристика фильтров в channelizer. Размерности вывода зависят от значения аргумента '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