Полифазный блок фильтров БПФ анализа
DSP System Toolbox/Фильтрация/Многомерные фильтры
Блок Channelizer разделяет широкополосный входной сигнал на несколько узких поддиапазонов с помощью основанной на FFT группы фильтров анализа. Банк фильтров использует прототип lowpass фильтра и реализован с помощью структуры полифазы. Можно задать коэффициенты фильтра непосредственно или через расчётные параметры. Когда вы задаете расчётные параметры, фильтр проектируется с помощью designMultirateFIR
функция.
Этот блок принимает входы переменного размера. То есть во время симуляции можно изменить размер каждого входного канала. Количество каналов не может измениться.
x
- Широкополосный сигналВходной широкополосный сигнал, который канализатор разделяет на несколько узкие полосы. Количество строк в входном сигнале должно быть кратным количеству полос частот группы фильтров. Каждый столбец входа соответствует отдельному каналу.
Этот порт не называется, пока вы не задаете Polyphase filter specification Coefficients
и выберите параметр Specify coefficients from input port.
Типы данных: single
| double
Поддержка комплексного числа: Да
coeffs
- Прототип коэффициентов lowpass фильтраКоэффициенты lowpass прототипа. Должен быть по крайней мере один коэффициент на полосу частот. Если длина lowpass меньше, чем количество полос, блок с нулем заполняет коэффициенты.
Если вы задаете комплексные коэффициенты, блок проектирует фильтр прототипа, который центрируется на ненулевой частоте, также известной как полосно-пропускающий фильтр. Модулированные версии полосно-пропускающего фильтра прототипа появляются относительно фильтра прототипа и обернуты вокруг частотной области значений [− F s F s].
Этот порт появляется, когда вы задаете Polyphase filter specification Coefficients
и выберите параметр Specify coefficients from input port.
Типы данных: single
| double
Поддержка комплексного числа: Да
Port_1
- Несколько узкополосных сигналовНесколько узких поддиапазонов входа широкополосного сигнала. Каждый сигнал узкой полосы формирует столбец в выходе.
Если вход один из следующих:
L вектор -by-1 - Вывод является матрицей L/M -by M. M - количество полос частот.
L -by- N матрица - Вывод представляет собой L/M -by- M -by- N матрицу.
Типы данных: single
| double
Поддержка комплексного числа: Да
Если параметр указан как настраиваемый, то можно изменить его значение во время симуляции.
Number of frequency bands
- Количество диапазонов частот8
(по умолчанию) | положительное целое число, больше 1Количество полос частот, на M блок разделяет входной широкополосный сигнал. Этот параметр указывает длину БПФ и коэффициент десятикратного уменьшения, используемые алгоритмом.
Polyphase filter specification
- Создание фильтра параметров или коэффициентовNumber of taps per band and stopband attenuation
(по умолчанию) | Coefficients
Number of taps per band and stopband attenuation
- Задайте параметры создания фильтра через параметры Number of filter taps per frequency band и Stopband attenuation (dB). Когда вы задаете расчётные параметры, фильтр проектируется с помощью designMultirateFIR
функция.
Coefficients
- Задайте коэффициенты фильтра непосредственно с помощью параметра Prototype lowpass filter coefficients или вводите их через coeffs порт.
DecimationFactor
- Коэффициент десятикратного уменьшения8
(по умолчанию) | положительное целое числоКоэффициент десятикратного уменьшения D задан как положительное целое число, меньше или равное количеству < reservedrangesplaceholder0 > полос частот.
Если D коэффициента десятикратного уменьшения равен количеству частот полос M, то отношение M/ D равняется 1, и канализатор известен как максимально децимируемый канализатор.
Если отношение M/ D больше 1
скорость выхода выборки отличается от расстояния между каналами, и канализатор известен как не максимально децимируемый канализатор. Если отношение является целым числом, канализатор известен как канализатор с избыточной дискретизацией целочисленных чисел. Если отношение не является целым числом, например, 4/3, канализатор известен как рационально избыточно дискретизированный канализатор. Для получения дополнительной информации см. Алгоритм.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Number of filter taps per frequency band
- Количество коэффициентов фильтра на полосу12
(по умолчанию) | положительное целое числоКоличество коэффициентов фильтра, которые использует каждая полифазная ветвь. Количество полифазы ветвей совпадает с количеством частотных полос. Общее количество коэффициентов фильтра для lowpass прототипа определяется Number of frequency bands × Number of filter taps per frequency band. При данном затухании в полосе задерживания увеличение количества отводов на полосу сужает ширину перехода фильтра. В результате, существует более полезная полоса пропускания для каждого диапазона частот, за счет увеличения расчетов.
Чтобы включить этот параметр, установите Polyphase filter specification равным Number of taps per band and stopband attenuation
.
Stopband attenuation (dB)
- Затухание в полосе задерживания80
(по умолчанию) | положительный действительный скалярЗатухание в полосе задерживания lowpass-фильтра, в дБ. Это значение управляет максимальной величиной сглаживания от одной полосы частот к следующему. Когда затухание в полосе задерживания увеличивается, неравномерность в полосе пропускания уменьшается.
Чтобы включить этот параметр, установите Polyphase filter specification равным Number of taps per band and stopband attenuation
.
Specify coefficients from input port
- Флаг для задания коэффициентов lowpassКогда вы выбираете этот параметр, коэффициенты lowpass вводятся через coeffs порт. Когда вы очищаете этот параметр, коэффициенты задаются в диалоге блоков через параметр Prototype lowpass filter coefficients.
Чтобы включить этот параметр, установите Polyphase filter specification равным Coefficients
.
Prototype lowpass filter coefficients
- Коэффициенты lowpass прототипаrcosdesign(0.25,6,8,'sqrt')
(по умолчанию) | вектор-строкаКоэффициенты lowpass прототипа. Значение по умолчанию является вектором коэффициентов, который rcosdesign(0.25,6,8,'sqrt')
возвращает. Должен быть по крайней мере один коэффициент на полосу частот. Если длина lowpass меньше, чем количество полос, блок с нулем заполняет коэффициенты.
Если вы задаете комплексные коэффициенты, блок проектирует фильтр прототипа, который центрируется на ненулевой частоте, также известной как полосно-пропускающий фильтр. Модулированные версии полосно-пропускающего фильтра прототипа появляются относительно фильтра прототипа и обернуты вокруг частотной области значений [− F s F s].
Настраиваемый: Да
Чтобы включить этот параметр, установите Polyphase filter specification равным Coefficients
и очистите параметр Specify coefficients from input port.
Поддержка комплексного числа: Да
Simulate using
- Тип выполняемой симуляцииInterpreted execution
(по умолчанию) | Code generation
Interpreted execution
Симулируйте модель с помощью MATLAB® интерпретатор. Эта опция сокращает время запуска и имеет более высокую скорость симуляции по сравнению с Code generation
.
Code generation
Симулируйте модель с использованием сгенерированного кода C. Первый раз, когда вы запускаете симуляцию, Simulink® генерирует код С для блока. Код С повторно используется для последующих симуляций, пока модель не меняется. Эта опция требует дополнительного времени запуска, но обеспечивает более быстрые последующие симуляции.
Типы данных |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Типовой банк фильтров анализа состоит из серии параллельных полосно-пропускающих фильтров, которые разделяют вход широкополосный сигнал, x(n), на серии узких поддиапазонов. Каждый полосно-пропускающий фильтр сохраняет разный фрагмент входного сигнала. После уменьшения полосы пропускания одним из полосно-пропускающих фильтров сигнал уменьшается до более низкой частоты дискретизации, сопоставимой с новой полосой пропускания.
Чтобы эффективно реализовать банк фильтров анализа, канализатор использует прототип lowpass.
У прототипа фильтр lowpass есть импульсная характеристика h[n], нормализованная двухсторонняя пропускная способность 2π / M, и частота среза π / M. M - количество полос частот, то есть ветвей группы фильтров анализа. Это значение соответствует длине БПФ, которую использует банк фильтров. M может быть высоким порядка 2048 или более. Это затухание в полосе задерживания определяет минимальный уровень интерференции (сглаживания) от одной частотной полосы к другой. Эта неравномерность в полосе пропускания должен быть маленьким, чтобы входной сигнал не искажался в полосе пропускания.
Lowpass прототипа соответствует H0 (z) в группе фильтров. Первая ветвь группы фильтров содержит H0 (z), за которой следует дециматор. Другие M - 1 ветви содержат фильтры, которые являются модулированными версиями фильтра прототипа. Коэффициент модуляции задается следующим уравнением:
Передаточная функция модулированного k го полосно-пропускающего фильтра задается:
Этот рисунок показывает частотную характеристику M фильтров.
Чтобы получить характеристики частотной характеристики фильтра Hk(z), где k = 1,..., M − 1, равномерно сдвиньте частотную характеристику фильтра прототипа, H0(z), на множители 2,/ M. Каждый поддиапазонный фильтр, Hk (z), {k = 1,..., M - 1}, получают из фильтра прототипа.
Далее приведено эквивалентное представление диаграммы частотной характеристики с ω в диапазоне от [−
Частотные составляющие в входном сигнале, x(n), преобразуются по частоте в полосу частот основного диапазона путем умножения x(n) со сложными экспоненциалами, , где , и . Получившиеся сигналы продукта передаются через lowpass, H0(z). Выход lowpass относительно узок по ширине полосы пропускания. Понизите значение сигнала, сопоставимого с новой пропускной способностью. Выберите коэффициент десятикратного уменьшения, D ≤ M, где M количество ветвей банка фильтров анализа. Когда D < M, каналообразующий элемент известен как избыточно дискретизированный или не максимально децимируемый каналообразующий элемент.
Рисунок показывает банк фильтров анализа, который использует lowpass прототипа.
y1(n), y2(n), ..., yM-1(n) узкие поддиапазонные сигналы переведены в основной диапазон.
Группа фильтров анализа может быть эффективно реализована с помощью структуры полифазы. Для получения дополнительной информации о банке фильтров анализа смотрите Analysis Filter Bank.
Чтобы вывести полифазную структуру, начните с передаточной функции lowpass прототипа:
N + 1 - длина фильтра прототипа.
Можно переставить это уравнение следующим образом:
M - количество полифазы компонентов.
Можно записать это уравнение как:
E0 (zM), E1 (zM),..., EM-1 (zM) являются полифазными компонентами lowpass прототипа H0 (z).
Другие фильтры в группе фильтров Hk (z), где k = 1,..., M -1, являются модулированными версиями этого фильтра прототипа .
Можно записать передаточную функцию k-го модулированного полосно-пропускающего фильтра как.
Замена z на ze-jwk,
N + 1 - длина k-го фильтра.
В полифазной форме уравнение выглядит следующим образом:
Для всех каналов M в банке фильтров передаточная функция H (z) определяется:
Когда D = M, разделитель каналов известен как максимально децимированный разделитель каналов или критически дискретизированный разделитель каналов.
Вот многорасовые благородные тождества для десятикратного уменьшения, принимая, что D = M.
Для примера рассмотрим первую ветвь банка фильтров, которая содержит lowpass фильтр.
Замените H0 (z) своим полифазным представлением.
После применения благородных тождеств для десятикратного уменьшения можно заменить задержки и коэффициент десятикратного уменьшения на коммутатор. Переключатель запускается на первой ветви 0 и перемещается в направлении против часовой стрелки, как показано на следующей схеме. Аккумулятор на выходе принимает обработанные входные выборки от каждой ветви полифазной структуры и накапливает эти обработанные выборки до тех пор, пока переключатель не перейдет к ветви 0. Когда переключатель переходит к ветви 0, аккумулятор выводит накопленное значение.
Для всех каналов M в банке фильтров передаточная функция H (z) определяется:
Матрица слева является дискретной матрицей преобразования Фурье (DFT). С помощью матрицы ДПФ эффективная реализация банка фильтров на основе прототипов lowpass выглядит так.
Когда доставляется первая входная выборка, переключатель подает этот вход в ветвь 0, и канализатор вычисляет первый набор выхода значений. Поскольку более выборки входа входят, шаги выключателя в направлении против часовой стрелки через <reservedrangesplaceholder7> −1 ветвей, <reservedrangesplaceholder6> −2, полностью, чтобы ветвиться 0, поставляя одну выборку за один раз каждой ветви. Когда переключатель приходит к ветви 0, channelizer выходов следующий набор выхода значений. Этот процесс продолжается, когда данные продолжают поступать. Каждый раз, когда переключатель приходит к первой ветви 0, канализатор выводит y0[m], y1[m],..., yM-1[m]. Каждая ветвь в канализаторе эффективно выводит одну выборку для каждого полученного ею M выборки. Следовательно, скорость дискретизации на выходе канализатора равна fs/ M.
Когда D < M, разделитель каналов известен как не максимально децимируемый разделитель каналов или избыточно дискретизированный разделитель каналов. В этом строении выходная частота выборки отличается от интервала между каналами. Не максимально децимированные канализаторы обеспечивают повышенную свободу проекта, но за счет увеличения вычислительных затрат.
Если отношение M/ D равняется целому числу, которое больше 1 и меньше или равно M − 1, каналообразующий элемент известен как каналообразующий элемент с избыточной дискретизацией. Если отношение M/ D не является целым числом, тогда канализатор известен как рационально-избыточно дискретизированный канализатор.
В этом строении, когда доставляется первая входная выборка, переключатель подает этот вход в ветвь 0, и канализатор вычисляет первый набор выхода значений. Поскольку более выборки входа входят, шаги выключателя в направлении против часовой стрелки через <reservedrangesplaceholder4> −1 ветвей, <reservedrangesplaceholder3> −2, полностью, чтобы ветвиться 0, поставляя одну выборку за один раз каждой ветви. Когда переключатель приходит к ветви 0, channelizer выходов следующий набор выхода значений. Этот процесс продолжается, когда данные продолжают поступать. Каждый раз, когда переключатель приходит к первой ветви 0, канализатор выводит y0[m], y1[m],..., yM-1[m].
Когда поступает больше данных и коммутатор подает эти выборки на первые D адреса, формальное содержимое этих адресов смещается на следующий набор D адресов, и этот процесс сдвига данных продолжается каждый раз, когда появляется новый набор D входных выборок.
Для каждой D входной выборки, которая подается в полифазную структуру, канализатор выводит M выборки, y0[m], y1[m],..., yM-1[m]. Этот процесс увеличивает скорость выхода выборки от fs/ M в случае максимально децимированного канализатора до fs/ D в случае не максимально децимированного канализатора.
Для получения дополнительной информации см. раздел [2].
После того, как каждая последовательность данных D-точки доставляется в секционированный M-ступенчатый полифазный фильтр, выходы M каскадов вычисляются и обусловливаются для доставки в БПФ M-точки. Сдвиг данных через фильтр вводит частотно-зависимый сдвиг фазы. Чтобы исправить этот сдвиг фазы и псевдонимы всех полос к DC, буфер кругового сдвига вставляется после полифазных фильтров и перед FFT M -точка.
С коммутатором, за которым следует полифазный фильтр M ступени, буфер кругового сдвига и матрица ДПФ, эффективная реализация банка фильтров на основе прототипов lowpass выглядит следующим образом.
[1] Harris, Fredic J, Multirate Signal Processing for Communication Systems, Prentice Hall PTR, 2004.
[2] Харрис, Ф. Дж., Крис Дик и Майкл Райс. «Цифровые приемники и передатчики, использующие Polyphase Filter Banks для беспроводной связи». IEEE® Транзакции по микроволновой теории и методам. 51, № 4 (2003).
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.