Многопутевой исчезающий канал в Simulink

Эта модель показывает, как использовать блок SISO Fading Channel из Communications Toolbox™, чтобы симулировать многопутевого Рейли и Рикиэна, исчезающего каналы, которые являются полезными моделями явлений реального мира в радиосвязях. Эти явления включают многопутевые эффекты рассеивания, дисперсию времени и эффекты Доплера, которые являются результатом относительного движения между передатчиком и приемником. Модель также показывает, как визуализировать характеристики канала, такие как импульсные и частотные характеристики, Доплеровский спектр и усиления компонента.

Модель и параметры

Модель в качестве примера симулирует передачу QPSK по многопутевому Каналу с релеевским замиранием и многопутевому Rician, исчезающему канал. Оба блоки канала сконфигурированы от SISO, Исчезающей библиотечный блок Канала. Можно управлять передачей и параметрами канала через переменные рабочей области.

modelname     = 'commmultipathfading';
rayleighBlock = [modelname '/Rayleigh Channel'];
ricianBlock   = [modelname '/Rician Channel'];
rayleighCD    = [modelname '/Rayleigh Constellation Diagram'];
pathGainBlock = [modelname '/Path Gains (dB)'];
open_system(modelname);

Следующие переменные управляют блоком "Bit Source". По умолчанию битрейт 10M, бит/с (5M sym/s) и каждый переданный кадр 2 000 битов длиной (1 000 символов).

bitRate  % Transmission rate (b/s)
bitsPerFrame  % Number of bits per frame
bitRate =

    10000000


bitsPerFrame =

        2000

Следующие переменные управляют и Rayleigh и Rician, исчезающим блоки канала. По умолчанию каналы моделируются как четыре исчезающих пути, каждый представляющий кластер многопутевых компонентов получил приблизительно в той же задержке.

delayVector  % Discrete path delays (s)
gainVector  % Average path gains (dB)
delayVector =

   1.0e-06 *

         0    0.2000    0.4000    0.8000


gainVector =

     0    -3    -6    -9

Условно, задержка первого пути обычно обнуляется. Для последующих путей задержка 1 микросекунды соответствует различию на 300 м в длине пути. В некоторых наружных лучевых средах отраженные пути могут быть на несколько километров более длинными, чем кратчайший путь. С задержками пути, заданными выше, последний путь на 240 м более длинен, чем кратчайший путь, и таким образом прибывает 0.8 микросекунды спустя.

Вместе, задержки пути и средние усиления пути задают профиль задержки канала. Как правило, средние усиления пути затухают экспоненциально с задержкой (i.e., значения дБ затухают линейно), но определенный профиль задержки зависит от среды распространения. На каждом блоке канала мы также включили опцию, чтобы нормировать средние усиления пути так, чтобы их среднее усиление составляло 0 дБ в зависимости от времени.

Следующее управление переменными максимальный эффект Доплера, который вычисляется как v*f/c, где v является мобильной скоростью, f, является несущей частотой и c, является скоростью света. Максимальный эффект Доплера по умолчанию в модели составляет 200 Гц, который соответствует мобильной скорости 65 миль в час (30 м/с) и несущей частоте 2 ГГц.

maxDopplerShift  % Maximum Doppler shift of diffuse components (Hz)
maxDopplerShift =

   200

Следующие переменные применяются к Rician, исчезающему блок канала. Эффект Доплера компонента угла обзора обычно меньше, чем максимальный эффект Доплера, maxDopplerShift, и зависит от направления перемещения мобильного телефона относительно направления пути угла обзора. K-фактор задает отношение средней мощности приемника от пути угла обзора относительно того из связанных рассеянных компонентов.

LOSDopplerShift  % Doppler shift of line-of-sight component (Hz)
KFactor  % Ratio of specular power to diffuse power (linear)
LOSDopplerShift =

   100


KFactor =

    10

Блок SISO Fading Channel может визуализировать импульсную характеристику канала, частотную характеристику и Доплеровский спектр, в то время как модель запускается. Чтобы вызвать его, установите Channel visualization параметр к желаемой характеристике (характеристикам) канала прежде, чем запустить модель. Обратите внимание на то, что включение визуализации канала может замедлить вашу симуляцию.

Широкополосное или выборочное частотой исчезновение

По умолчанию промежуток задержки (0,8 микросекунды) канала больше, чем период символа входа QPSK (0,2 микросекунды) и вызывает значительную интерференцию межсимвола (ISI). Таким образом, результирующая частотная характеристика канала не является плоской и может иметь, глубоко исчезает по 10M пропускная способность сигнала Гц. Поскольку уровень мощности варьируется по пропускной способности, он упоминается как выборочное частотой исчезновение.

Установка Channel visualization параметр блока канала к 'Импульсной характеристике' показывает bandlimited импульсную характеристику (желтые круги). Визуализация также показывает задержки и величины базовых исчезающих усилений пути (розовые основы) кластеризируемый вокруг пика импульсной характеристики. Обратите внимание на то, что усиления пути не равняются Average path gains (dB) значение параметров, потому что эффект Доплера заставляет усиления колебаться в зависимости от времени.

set_param(rayleighBlock,'Visualization','Impulse response');
set_param(modelname,'SimulationCommand','start');
set_param(modelname,'SimulationCommand','pause');

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

Точно так же установка Channel visualization параметр к 'Частотной характеристике' показывает частотную характеристику канала. Можно также установить Channel visualization к 'Импульсным и частотным характеристикам', чтобы отобразить и импульсные и частотные характеристики рядом друг с другом. Вы видите, что уровень мощности канала варьируется через целую пропускную способность.

set_param(modelname,'SimulationCommand','stop');
set_param(rayleighBlock,'Visualization','Frequency response');
set_param(rayleighBlock,'SamplesToDisplay','50%');
set_param(modelname,'SimulationCommand','start');
set_param(modelname,'SimulationCommand','pause');

Как показано в графиках визуализации канала, можно также управлять процентом входных выборок, которые будут визуализироваться путем изменения Percentage of samples to display параметр блока канала. В общем случае, чем меньший процент, тем быстрее запуски модели. Если фигура визуализации открывается, нажмите Playback кнопка и выключает Reduce Updates to Improve Performance или Reduce Plot Rate to Improve Performance опция, чтобы далее улучшить точность отображения. Опция идет по умолчанию для более быстрой симуляции. Чтобы видеть ответ канала для каждой входной выборки, снимите флажок с этой опцией и установите Percentage of samples to display к '100%'.

MultipathFadingChannelSimulinkExample

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

set_param(modelname,'SimulationCommand','stop');
set_param(rayleighBlock,'Visualization','Doppler spectrum');
set_param(modelname,'StopTime','3');
set_param(modelname,'SimulationCommand','start');
set_param(modelname,'SimulationCommand','pause');

while get_param(modelname,'SimulationTime') < 2
    set_param(modelname,'SimulationCommand','continue');
    pause(1);
    set_param(modelname,'SimulationCommand','pause');
end

Путем открытия схемы созвездия после Рейли образовывают канал блок, вы видите удар широкополосного исчезновения на сигнальном созвездии. Чтобы замедлить динамику канала в целях визуализации, мы уменьшаем максимальный эффект Доплера до 5 Гц. По сравнению с входным сигналом канала QPSK можно наблюдать очевидное искажение в выходном сигнале канала, из-за ISI от дисперсии времени широкополосного сигнала.

set_param(modelname,'SimulationCommand','stop');
maxDopplerShift = 5;
set_param(rayleighBlock,'Visualization','Off');
set_param(rayleighCD,'openScopeAtSimStart','on')
sim(modelname,0.2);

Узкополосная связь или плоское частотой исчезновение

Когда пропускная способность слишком мала для сигнала разрешить отдельные компоненты, частотная характеристика является приблизительно плоской из-за минимального времени дисперсионный и очень маленький ISI от импульсной характеристики. Этот вид многопутевого исчезновения часто упоминается как узкополосное исчезновение или плоское частотой исчезновение.

Чтобы наблюдать эффект, мы теперь уменьшаем пропускную способность сигнала от 10M бит/с (5M sym/s) к 1M бит/с (500K sym/s), таким образом, промежуток задержки (0,8 микросекунды) канала намного меньше, чем период символа QPSK (2 микросекунды). Эффективно, все задержанные компоненты объединяются в одной задержке (в этом случае в нуле).

bitRate = 1e6  % 50 kb/s transmission
bitRate =

     1000000

Мы можем визуально подтвердить эту узкополосную связь, исчезающую поведение путем установки Channel visualization параметр к 'Импульсным и частотным характеристикам' для Рейли образовывает канал блок и затем выполнение модели.

close_system(rayleighCD);
set_param(rayleighCD,'openScopeAtSimStart','off')
maxDopplerShift = 200; % Change back to the original value
set_param(rayleighBlock,'Visualization','Impulse and frequency responses');
set_param(modelname,'SimulationCommand','start');
set_param(modelname,'SimulationCommand','pause');

Чтобы упростить и ускорить симуляцию, узкополосная связь, исчезающая, каналы часто моделируются как одно путь, исчезающий канал. Таким образом, модель исчезновения разнообразного пути чрезмерно определяет узкополосную связь, исчезающую канал. Следующие настройки соответствуют узкополосной связи, исчезающей канал с абсолютно плоской частотной характеристикой.

set_param(modelname,'SimulationCommand','stop');
delayVector = 0;  % Single fading path with zero delay
gainVector = 0;  % Average path gain of 0 dB
set_param(modelname,'SimulationCommand','start');
set_param(modelname,'SimulationCommand','pause');

Мы теперь возвращаемся к нашему исходному исчезающему каналу с четырьмя путями и наблюдаем, как узкополосная связь, исчезающая причины, сигнализирует о затухании и вращении фазы путем открытия схемы созвездия после блока канала Рейли. В дополнение к затуханию и вращению, вы видите некоторое искажение сигнала из-за небольшого количества ISI в выходном сигнале канала. Искажение далеко меньше замеченного выше для широкополосного канала.

set_param(modelname,'SimulationCommand','stop');
delayVector = [0 2 4 8]*1e-7; % Change back to original value
gainVector = (0:-3:-9); % Change back to original value
maxDopplerShift = 5; % Reduce to slow down channel dynamics
set_param(rayleighBlock,'Visualization','Off');
set_param(rayleighCD,'openScopeAtSimStart','on')
sim(modelname,0.15);

Исчезновение Rician

Рикиэн, исчезающий распространение угла обзора моделей блока канала, кроме того, чтобы рассеять многопутевое рассеивание. Это приводит к меньшему изменению величины усилений пути. Чтобы сравнить изменение между каналами Рейли и Рикиэна, мы реконфигурировали блоки канала, чтобы смоделировать задержку одно пути и использовать блок Time Scope, чтобы просматривать их усиления пути в зависимости от времени. Обратите внимание на то, что величина колеблется приблизительно область значений на 5 дБ для Рикиэна, исчезающего канал, по сравнению с аппроксимированными 15 дБ для Канала с релеевским замиранием. Для Рикиэна, исчезающего канал, это изменение далее уменьшалось бы путем увеличения K-фактора (в настоящее время набор к 10).

delayVector = 0;  % Single fading path with zero delay
gainVector = 0;  % Average path gain of 0 dB
maxDopplerShift = 200; % Change back to the original value
close_system(rayleighCD);
set_param(rayleighCD,'openScopeAtSimStart','off')
set_param(pathGainBlock,'OpenAtSimulationStart','on');
sim(modelname,0.1);

Очистка

close_system(modelname,0);