Полифазный блок фильтров синтеза БПФ
DSP System Toolbox/Фильтрация/Многомерные фильтры
Блок Channel Synthesizer объединяет несколько узкополосных сигналов в широкополосный сигнал с помощью набора синтезирующих фильтров на основе БПФ. Банк фильтров использует прототип 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- M матрица - Вывод представляет собой вектор L×M -by-1. M - количество полос частот.
L -by- M -by- N матрица - Вывод представляет собой L×M -by- N матрицу.
Типы данных: single
| double
Поддержка комплексного числа: Да
Если параметр указан как настраиваемый, то можно изменить его значение во время симуляции.
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 порт.
Number of filter taps per frequency band
- Количество коэффициентов фильтра на полосу12
(по умолчанию) | положительное целое числоКоличество коэффициентов фильтра, которые использует каждая полифазная ветвь. Количество полифазы ветвей совпадает с количеством частотных полос. Общее количество коэффициентов фильтра для прототипа lowpass фильтра определяется продукт количества частотных полос и количества отводов фильтра на частотную полосу. Количество полос частот равняется количеству столбцов во входе. При данном затухании в полосе задерживания увеличение количества отводов на полосу сужает ширину перехода фильтра. В результате, существует более полезная полоса пропускания для каждого диапазона частот, за счет увеличения расчетов.
Чтобы включить этот параметр, установите 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.
Чтобы включить этот параметр, установите Polyspace 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® генерирует код С для блока. Код С повторно используется для последующих симуляций, пока модель не меняется. Эта опция требует дополнительного времени запуска, но обеспечивает более быстрые последующие симуляции.
Типы данных |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Блок синтезирующих фильтров состоит из набора параллельных полосно-пропускающих фильтров, которые объединяют несколько входных узкополосных сигналов, y0 (n), y1 (n),..., yM-1 (n) в один широкополосный сигнал, v(n). Входные узкополосные сигналы находятся в основной полосе частот. Каждый узкополосный сигнал интерполируется до более высокой частоты дискретизации при помощи усилителя, а затем фильтруется lowpass. Система комплексной экпоненты, следующая за фильтром lowpass, центрирует сгенерированный модулированный сигнал вокруг wk.
Для эффективной реализации банка синтезирующих фильтров синтезатор использует прототип lowpass. У этого фильтра есть импульсная характеристика <reservedrangesplaceholder4>[n], нормализованная двухсторонняя пропускная способность 2π / M, и частота среза π / M. M - количество полос частот, то есть ветвей банка синтезирующих фильтров. Это значение соответствует длине БПФ, которую использует банк фильтров. M может быть высоким, порядка 2048 или более. Это затухание в полосе задерживания определяет минимальный уровень интерференции (сглаживания) от одной частотной полосы к другой. Эта неравномерность в полосе пропускания должен быть маленьким, чтобы входной сигнал не искажался в полосе пропускания.
Прототип lowpass фильтра моделирует первое отделение банка фильтров. Другие M - 1 ветви моделируются фильтрами, которые являются модулированными версиями фильтра прототипа. Коэффициент модуляции задается как .
Выход каждого полосно-пропускающего фильтра формирует определенный фрагмент широкополосного сигнала. Выходы всех ветвей складываются для формирования широкополосного сигнала, v(n).
Блок синтезирующих фильтров может быть эффективно реализован с использованием структуры полифазы.
Чтобы вывести полифазную структуру, начните с передаточной функции lowpass прототипа.
N + 1 - длина фильтра прототипа.
Можно переставить это уравнение следующим образом:
M - количество полифазы компонентов.
Можно записать это уравнение как:
E0 (zM), E1 (zM),..., EM-1 (zM) являются полифазными компонентами lowpass прототипа, H0 (z).
Другие фильтры в группе фильтров Hk (z), где k = 1,..., M -1, являются модулированными версиями этого фильтра прототипа .
Можно записать передаточную функцию k-го модулированного полосно-пропускающего фильтра как. Замена z на zejwk,
N + 1 - длина k-го фильтра.
В полифазной форме уравнение выглядит следующим образом:
Для всех M каналов в банке фильтров передаточная функция MIMO, H (z), определяется:
Вот многоразовые благородные тождества для интерполяции, принимая, что D = M:
Для рисунка рассмотрим первую ветвь группы фильтров, которая содержит lowpass.
Замените H0 (z) своим полифазным представлением.
После применения благородных тождеств для интерполяции можно заменить задержки, коэффициент интерполяции и сумматор на коммутатор.
Для всех каналов M в банке фильтров передаточная функция MIMO, H (z), определяется:
Матрица слева является матрицей IDFT. С помощью матрицы IDFT эффективная реализация банка фильтров на основе прототипов 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.