Автоматическая интерполяция шага расчета во входном порту

Этот пример показывает, как непосредственно использовать основополосные коммуникационные сигналы с помощью более низкой частоты дискретизации в симуляции конверта схемы более широкой полосы. Вы будете видеть, как выполнить симуляцию РФ с помощью входных сигналов с частотой дискретизации, отличающейся от шага времени симуляции, заданного в Блоке Configuration.

Пример требует Communications Toolbox™.

Часть 1: Один сигнал, вводящий систему РФ

Следующая модель включает Zigbee (802.15) основополосный сигнал, поданный в прямое преобразование получатель РФ. Основополосный передатчик ZigBee создается с помощью блоков от Communications Toolbox и DSP System Toolbox™, в то время как получатель РФ моделируется с помощью RF Blockset.

Для решателя Конверта Схемы RF Blockset рекомендуется использовать шаг времени симуляции, который меньше, чем обратная величина скорости передачи данных входного основополосного сигнала. Это обеспечивает пропускную способность симуляции, которая достаточна для решателя РФ, чтобы получить артефакты в ребре пропускной способности точно и физических эффектов, которые требуют дополнительной пропускной способности, такой как спектральный перерост. В целом использование коэффициента интерполяции 4 - 8 позволяет увеличивать пропускную способность симуляции вне уровня Найквиста основополосного сигнала, сгенерированного в передатчике. Этот пример обсуждает детали того, как справиться с переходом уровня правильно.

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

  • зеленый для частоты дискретизации основополосного сигнала

  • красный для временного шага решателя конверта схемы РФ

model = 'simrfV2_sampletime_example';
open_system(model);
sim(model);

% Do not show any scope results yet (see PostLoadFcn Model Callback
% for more details):
SpTxScopeConf.Visible = false;
SpTXiScopeConf.Visible = false;
SpRxScopeConf.Visible = false;

Системы получателя РФ в модели идентичны, и состоит из фильтра Pre-LNA, сопровождаемого LNA, квадратурным демодулятором и другим усилительным каскадом. Все компоненты РФ включают типичные нарушения, такие как шум, нелинейность и конечная изоляция.

open_system([model '/RF Blockset Direct Conversion RX1']);

Как задано в диалоговом окне Mask Parameters Блока Configuration, симуляция выполняется с входным фильтром интерполяции, включенным для топ-модели, и отключила для нижней модели.

Получатель РФ на верхней части питается основополосным сигналом с частотой дискретизации, которая в 4 раза медленнее, чем уровень, используемый для симуляции РФ, как установлено в Блоке Configuration. Модель автоматически интерполирует входной сигнал к желаемому уровню.

Получатель РФ в нижней части питается основополосным сигналом с помощью частоты дискретизации, которая совпадает с набором того в Блоке Configuration и используемый для симуляции РФ. Модель использует явный фильтр интерполяции (подсвеченный в оранжевом) в модели.

% Show these two scope results:
SpTxScopeConf.Visible = true;
SpTXiScopeConf.Visible = true;

Вывод обоих получателей является тем же самым и правильный, когда входной сигнал передискретизируется фильтром интерполяции, который уменьшает эффекты искажения из-за перехода частоты дискретизации. В топ-модели переход частоты дискретизации автоматически управляем настройкой конверта схемы. В нижней модели переход частоты дискретизации явным образом управляем фильтром интерполяции.

% Show this scope result:
SpRxScopeConf.Visible = true;

Используя интерполяцию фильтр улучшает спектральные результаты симуляции, но прибывает в цену: это вводит задержку. Поскольку КИХ-фильтр используется для интерполяции, задержка соответствует половине количества коэффициентов фильтра. В этом случае фильтр имеет 640 касаний. Поэтому фильтр интерполяции вводит задержку 320 временных шагов на уровне более быстрой частоты дискретизации или 80 временных шагов на уровне более медленной частоты дискретизации. В случае нескольких входных параметров может быть необходимо компенсировать эту задержку путем выравнивания всех сигналов, вводящих систему РФ.

При включении входного фильтра интерполяции в нижней части диалогового окна Mask Parameters Блока Configuration задержка, введенная фильтром интерполяции на уровне более быстрой частоты дискретизации решателя РФ, отображена в диалоговом окне Mask Parameters.

RF Blockset по умолчанию автоматически передискретизирует входной сигнал и вставляет фильтр интерполяции. Вы можете хотеть решить отключить опцию по умолчанию и явным образом вставить фильтр интерполяции, если вы имеете:

  • конкретные требования относительно спецификаций фильтра интерполяции;

  • несколько входных сигналов, требующих различных входных портов (случай, описанный ниже);

  • Управляющие сигналы Simulink (например, применился к VGA, переменному фазовращателю, блокам switch), которые внутренне медленнее, чем РФ, сигнализируют и не требуют передискретизации.

Часть 2: Несколько сигналов, вводящих систему РФ

RF Blockset поддерживает общую системную топологию с несколькими входными портами. Автоматическая опция интерполяции, обсужденная выше, только поддержана для одного входного порта. При использовании нескольких входных портов пользователь обязан явным образом интерполировать сигналы иметь их всех, вводят систему РФ с частотой дискретизации, заданной в Блоке Configuration РФ.

В то время как входной порт RF Blockset принимает вектор нескольких сигналов каждый заданный в различной несущей частоте, эти сигналы должны иметь те же частоты дискретизации. Следующая модель описывает две системы РФ с несколькими входными параметрами, сосредоточенными вокруг различных поставщиков услуг и правильно передискретизируемыми. Модель похожа на тот в части 1 этой демонстрации, но это также включает широкополосный вмешивающийся сигнал, который сгенерирован с помощью блоков от Communications Toolbox и DSP System Toolbox™. Эти два входных сигнала имеют ту же частоту дискретизации, и решатель RF Blockset быстрее фактором 4.

bdclose(model);
model = 'simrfV2_sampletime_example_interf1';
open_system(model);
sim(model);

Модель похожа на тот, описанный в части 1 этой демонстрации. Также в этом случае интерполяция необходима, чтобы не искажать эффекты из-за перехода уровня.

Более интересный сценарий происходит, когда желаемое и сигналы interferer имеют различные частоты дискретизации. Это видно в следующей модели. В этой модели желаемый сигнал явным образом интерполирован фильтром (подсвеченный в оранжевом) прежде чем быть объединенным в векторе вместе с широкополосным interferer.

Чтобы избежать эффекта искажения, более медленный уровень желаемого входного сигнала должен быть интерполирован и отфильтрован перед стать объединяющимся с вмешивающимся сигналом на более быстром уровне.

bdclose(model);
model = 'simrfV2_sampletime_example_interf2';
open_system(model);
sim(model);

% Do not show any scope results yet (see PostLoadFcn Model Callback
% for more details):
SpTXComScopeConf.Visible = false;
SpRxSepScopeConf.Visible = false;
SpRxComScopeConf.Visible = false;

В главной модели РФ входят два сигнала, система РФ сосредоточила приблизительно двух различных поставщиков услуг. Обратите внимание на то, что частота дискретизации сигнала, вводящего главную систему РФ уже, является тем же самым как тем, заданным в Блоке Configuration РФ. Поэтому включение автоматической входной интерполяции просачивается, Блок Configuration РФ в этом случае не вводит интерполяции.

SpRxSepScopeConf.Visible = true;

Последний сценарий, обсужденный в этой демонстрации, происходит, когда два сигнала, вводящие систему РФ, помещаются в поставщиков услуг, которые являются относительно друг близко к другу. Поскольку количество смешивания гармоник, которые должны быть моделированы, может быть большим, если система показывает сильную нелинейность, рекомендуется объединить два сигнала в одного поставщика услуг, когда они рядом.

SpTXComScopeConf.Visible = true;

В нижней модели более низкая система РФ питается желаемыми и вмешивающимися сигналами, объединенными в одном конверте. Объединенный сигнал достигается умножением сигнала interferer с комплексной экспонентой, которая переключает ее частоту операции на 20 МГц относительно частоты желаемого сигнала. Обратите внимание на то, что пропускная способность должна была получить оба сигнала, когда объединено на одном поставщике услуг, больше, чем пропускная способность каждого отдельного сигнала. Это - причина представления фильтра интерполяции, подсвеченного в зеленом прежде, чем объединить сигналы.

SpRxComScopeConf.Visible = true;

Результаты двух систем РФ (верх и низ) в вышеупомянутой модели показывают превосходное соответствие. Сигнал interferer отсутствует в спектре в верхней системе РФ, поскольку выходной порт ведет себя как идеальный фильтр и только выбирает действительный сигнал полосы пропускания, сосредоточенный в DC. Сигнал interferer отсутствует в спектре в более низкой системе РФ, поскольку Демодулятор IQ включает фильтр выбора канала. Чтобы видеть эффекты сигнала interferer, можно выключить фильтр путем снятия выделения с флажком 'Add Channel Select filter' в диалоговом окне Параметра Маски блока IQ Demodulator. Получившийся спектр замечен ниже.

set_param([model '/RF Blockset Direct Conversion RX2/IQ Demodulator'],  ...
    'AddCSFilters', 'off');
sim(model);

% Do not show other scopes and rescale Y axis:
SpTxSepScopeConf.Visible = false;
SpTXComScopeConf.Visible = false;
SpRxSepScopeConf.Visible = false;
SpRxComScopeConf.YLimits = [-103 0];

bdclose(model);
clear model;