exponenta event banner

Модели HF ионосферных каналов

В этом примере показано, как моделировать высокочастотные (HF) ионосферные каналы на основе моделей, описанных в рекомендации ITU-R F.1487. В частности, показано, как моделировать общую модель канала Уоттерсона, и другие упрощенные модели канала, используемые при количественном тестировании HF-модемов. Он использует comm.RayleighChannel Системные object™ и stdchan функция наряду с гауссовой и би-гауссовой doppler структуры из Toolbox™ связи.

Модели каналов HF ITU-R: обзор

В высокочастотной ионосферной радиосвязи передаваемый сигнал может несколько раз отскакивать от Е и F слоев ионосферы, что приводит к нескольким путям распространения, также называемым режимами [1]. Обычно расширения задержки многолучевого распространения велики по сравнению с мобильным радио. Также сигнал может страдать от доплеровского распространения из-за турбулентности ионосферы. Однако скорость замирания обычно меньше, чем для мобильной радиосвязи.

Рекомендация ITU-R F.1487 [1] предлагает общую модель гауссова рассеяния для моделирования HF ионосферных каналов. Эта модель основана на модели канала Уоттерсона [2]. Более простые модели также предложены в [1] для использования в тестах HF модема с заданными параметрами.

Инициализация параметров, специфичных для моделирования

Частота имитационного отбора проб Rs имеет значение 9.6K Гц и остается неизменным в оставшейся части примера. Мы используем схему модуляции QPSK с нулевым фазовым сдвигом.

Rs = 9.6e3;                      % Channel sampling rate
M = 4;                           % Modulation order
qpskMod = comm.QPSKModulator(0); % QPSK modulator object

Модель канала Уоттерсона

Модель канала Уоттерсона состоит из отводимой линии задержки, где каждый отвод соответствует разрешимому тракту распространения. На каждом отводе присутствуют две магнитоионные составляющие: каждая моделируется как комплексный гауссовский случайный процесс с заданным усилением и сдвигом частоты, и доплеровский спектр которого является гауссовым с заданным стандартным отклонением [2]. Следовательно, каждый отвод характеризуется бигауссовым доплеровским спектром, который состоит из двух гауссовых функций в частотной области, каждая из которых имеет свой собственный набор параметров (усиление мощности, сдвиг частоты и стандартное отклонение).

В этом примере мы следуем симуляционной модели Ваттерсона, указанной в [1], в которой комплексный процесс замирания на каждом отводе получается путем сложения двух независимых сдвинутых по частоте комплексных гауссовых случайных процессов (с гауссовыми доплеровскими спектрами), соответствующих двум магнитно-ионным компонентам. Эта имитационная модель приводит к сложному процессу замирания, оболочка которого, как правило, не распределена по Рэлею. Следовательно, чтобы быть верными имитационной модели, мы не можем просто генерировать канал Рэлея с двугауссовым спектром Доплера. Вместо этого мы генерируем два независимых канала Рэлея, каждый со сдвинутым по частоте доплеровским спектром, масштабируем по коэффициенту усиления и складываем их вместе, чтобы получить модель канала Уоттерсона с двухгауссовым доплеровским спектром. Для простоты моделируем канал Уоттерсона только одним отводом.

Сдвинутый по частоте доплеровский спектр может рассматриваться как двугауссовский доплеровский спектр, в котором присутствует только одна гауссова функция (вторая имеет нулевой коэффициент усиления мощности). Следовательно, для эмуляции сдвинутого по частоте доплеровского спектра Гаусса каждой магнитоионной составляющей мы построим двухгауссову доплеровскую структуру так, что одна из двух гауссовых функций имеет заданный сдвиг по частоте и стандартное отклонение, в то время как другая имеет нулевой коэффициент усиления мощности.

Первый магнитоионный компонент имеет гауссовский доплеровский спектр со стандартным отклонением sGauss1, сдвиг частоты fGauss1и усиление мощности gGauss1. Двугауссова доплеровская структура dopplerComp1 строится так, что вторая гауссова функция имеет нулевой коэффициент усиления мощности (ее стандартное отклонение и центральная частота, следовательно, не имеют значения и принимают значения по умолчанию), в то время как первая гауссова функция имеет нормализованное стандартное отклонение sGauss1/fd и нормированный сдвиг частоты fGauss1/fd, где коэффициент нормализации fd - максимальный доплеровский сдвиг соответствующего канала. В этом примере, поскольку коэффициент усиления второй гауссовой функции равен нулю, значение, назначенное коэффициенту усиления первой гауссовой функции, не имеет значения (оставим его значением по умолчанию, равным 0,5), поскольку связанный объект Системы канала, созданный позже, нормализует спектр Доплера, чтобы иметь общую мощность, равную 1.

Дополнительные сведения о построении двугауссовой доплеровской структуры см. в разделе doppler.

fd = 10; % Chosen maximum Doppler shift for simulation
sGauss1 = 2.0;
fGauss1 = -5.0;
dopplerComp1 = doppler('BiGaussian', ...
    'NormalizedStandardDeviations', [sGauss1/fd 1/sqrt(2)], ...
    'NormalizedCenterFrequencies',  [fGauss1/fd 0], ...
    'PowerGains',                   [0.5        0])
dopplerComp1 = struct with fields:
                    SpectrumType: 'BiGaussian'
    NormalizedStandardDeviations: [0.2000 0.7071]
     NormalizedCenterFrequencies: [-0.5000 0]
                      PowerGains: [0.5000 0]

Чтобы смоделировать первый магнитоионный компонент, построим однопутный объект системы Рэлея канала chanComp1 со смещенным по частоте доплеровским спектром Гаусса, определяемым доплеровской структурой dopplerComp1. Среднее усиление мощности тракта канала составляет 1 (0 дБ).

chanComp1 = comm.RayleighChannel( ...
    'SampleRate',          Rs, ...
    'MaximumDopplerShift', fd, ...
    'DopplerSpectrum',     dopplerComp1, ...
    'RandomStream',        'mt19937ar with seed', ...
    'Seed',                99, ...
    'PathGainsOutputPort', true)
chanComp1 = 
  comm.RayleighChannel with properties:

             SampleRate: 9600
             PathDelays: 0
       AveragePathGains: 0
     NormalizePathGains: true
    MaximumDopplerShift: 10
        DopplerSpectrum: [1x1 struct]

  Show all properties

Аналогично, второй магнитоионный компонент имеет гауссовский доплеровский спектр со стандартным отклонением sGauss2, сдвиг частоты fGauss2и усиление мощности gGauss2. Двугауссова доплеровская структура dopplerComp2 строится так, что вторая гауссова функция имеет нулевой коэффициент усиления мощности (ее стандартное отклонение и центральная частота, следовательно, не имеют значения и принимают значения по умолчанию), в то время как первая гауссова функция имеет нормализованное стандартное отклонение sGauss2/fd и нормированный сдвиг частоты fGauss2/fd (снова его усиление мощности не имеет значения).

sGauss2 = 1.0;
fGauss2 = 4.0;
dopplerComp2 = doppler('BiGaussian', ...
    'NormalizedStandardDeviations', [sGauss2/fd 1/sqrt(2)], ...
    'NormalizedCenterFrequencies',  [fGauss2/fd 0], ...
    'PowerGains',                   [0.5        0])
dopplerComp2 = struct with fields:
                    SpectrumType: 'BiGaussian'
    NormalizedStandardDeviations: [0.1000 0.7071]
     NormalizedCenterFrequencies: [0.4000 0]
                      PowerGains: [0.5000 0]

Чтобы смоделировать второй магнитоионный компонент, построим однопутный объект системы Рэлея канала chanComp2 со смещенным по частоте доплеровским спектром Гаусса, определяемым доплеровской структурой dopplerComp2.

chanComp2 = comm.RayleighChannel( ...
    'SampleRate',          Rs, ...
    'MaximumDopplerShift', fd, ...
    'DopplerSpectrum',     dopplerComp2, ...
    'RandomStream',        'mt19937ar with seed', ...
    'Seed',                999, ...
    'PathGainsOutputPort', true)
chanComp2 = 
  comm.RayleighChannel with properties:

             SampleRate: 9600
             PathDelays: 0
       AveragePathGains: 0
     NormalizePathGains: true
    MaximumDopplerShift: 10
        DopplerSpectrum: [1x1 struct]

  Show all properties

Вычисляем в цикле ниже выхода на канал Уоттерсона в ответ на входной сигнал и сохраняем его в y. В получении y, вызов функции на chanComp1 эмулирует действие первого магнитоионного компонента, в то время как функция вызывает chanComp2 эмулирует эффект второго компонента.

Для получения требуемого коэффициента усиления мощности gGauss1 и gGauss2для каждой магнитно-ионной составляющей необходимо масштабировать выходной сигнал для каждой магнитно-ионной составляющей на соответствующие коэффициенты усиления амплитуды, sqrt(gGauss1) и sqrt(gGauss2).

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

gGauss1 = 1.2;       % Power gain of first component
gGauss2 = 0.25;      % Power gain of second component

Ns     = 2e6;        % Total number of channel samples
frmLen = 1e3;        % Number of samples per frame
numFrm = Ns/frmLen;  % Number of frames

[y, g] = deal(zeros(Ns, 1));
for frmIdx = 1:numFrm
    x = qpskMod(randi([0 M-1], frmLen, 1));
    [y1, g1] = chanComp1(x);
    [y2, g2] = chanComp2(x);
    y(frmLen*(frmIdx-1)+(1:frmLen)) = sqrt(gGauss1) * y1 ...
        + sqrt(gGauss2) * y2;
    g(frmLen*(frmIdx-1)+(1:frmLen)) = sqrt(gGauss1) * g1 ...
        + sqrt(gGauss2) * g2;
end

Доплеровский спектр оценивается по комплексным коэффициентам усиления траектории и наносится на график.

hFig = figure;
pwelch(g, hamming(Ns/100), [], [], Rs, 'centered');
axis([-0.1 0.1 -80 0]);
legend('Simulation');

Figure contains an axes. The axes with title Power Spectral Density contains an object of type line. This object represents Simulation.

Теоретический двугауссовский доплеровский спектр накладывается на оценочный доплеровский спектр. Мы наблюдаем хорошую посадку между обоими.

f = -(Rs/2):0.1:(Rs/2);
Sd = gGauss1 * 1/sqrt(2*pi*sGauss1^2) * exp(-(f-fGauss1).^2/(2*sGauss1^2)) ...
    + gGauss2 * 1/sqrt(2*pi*sGauss2^2) * exp(-(f-fGauss2).^2/(2*sGauss2^2));

hold on;
plot(f(Sd>0)/1e3, 10*log10(Sd(Sd>0)), 'k--');
legend('Simulation', 'Theory');

Figure contains an axes. The axes with title Power Spectral Density contains 2 objects of type line. These objects represent Simulation, Theory.

ITU-R F.1487 Модель канала с низкими широтами, умеренными условиями (LM)

Рекомендация ITU-R F.1487 определяет упрощенные модели каналов, используемые при количественном тестировании HF-модемов. Эти модели состоят из двух независимо замирающих путей с равной мощностью. На каждом пути предполагается, что две магнитоионные составляющие имеют нулевой сдвиг частоты и равную дисперсию: следовательно, бигауссовский доплеровский спектр на каждом отводе уменьшается до одного гауссова доплеровского спектра, а огибающая комплексного процесса замирания распределяется по Рэлею.

Ниже мы строим объект канала в соответствии с моделью канала низких широт, умеренных условий (LM), указанной в Приложении 3 ITU-R F.1487, используя stdchan функция. Задержки на пути являются 0 и 2 мс Частотный разброс, определяемый как удвоенное стандартное отклонение спектра Доплера Гаусса, составляет 1,5 Гц. Поэтому структура доплеровского спектра Гаусса строится с нормированным стандартным отклонением (1,5/2 )/ fd, где fd 1 Гц (тип help doppler для получения дополнительной информации. При использовании stdchan для построения моделей ВЧ-канала ITU-R максимальный доплеровский сдвиг должен быть установлен в 1 Гц: это гарантирует, что гауссовский доплеровский спектр построенного канала будет иметь правильное стандартное отклонение.

close(hFig);

fd = 1;
chanLM = stdchan('iturHFLM', Rs, fd);
chanLM.RandomStream = 'mt19937ar with seed';
chanLM.Seed = 9999;
chanLM.PathGainsOutputPort = true;
chanLM.Visualization = 'Impulse response'
chanLM = 
  comm.RayleighChannel with properties:

             SampleRate: 9600
             PathDelays: [0 0.0020]
       AveragePathGains: [0 0]
     NormalizePathGains: true
    MaximumDopplerShift: 1
        DopplerSpectrum: [1x1 struct]

  Show all properties

Мы включили визуализацию импульсной характеристики в объекте системы канала Рэлея. Приведенный ниже код имитирует канал LM и визуализирует его ограниченную полосой импульсную характеристику. По умолчанию отклики канала для одного из каждых четырех образцов визуализируются для более быстрого моделирования. Другими словами, для кадра длиной 1000 показаны отклики для 1, 5, 9,..., 997-го выборок. Чтобы наблюдать реакцию для каждого образца, установите SamplesToDisplay имущество chanLM кому '100%'.

numFrm = 10;       % Number of frames
for frmIdx = 1:numFrm
    x = qpskMod(randi([0 M-1], frmLen, 1));
    chanLM(x);
end

Figure Impulse Response contains an axes and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes contains 3 objects of type stem, text. These objects represent Path Gain, Channel Filter Coefficient.

Теперь мы включаем визуализацию доплеровского спектра для объекта канала, чтобы наблюдать теоретический и эмпирический спектры Гаусса доплеровского спектра для первого дискретного пути. Из-за очень низкого доплеровского сдвига может потребоваться некоторое время, чтобы эмпирический спектр сошелся с теоретическим спектром.

release(chanLM);
chanLM.Visualization = 'Doppler spectrum';

frmLen = 2e6;      % Number of samples per frame
numFrm = 80;       % Number of frames
for frmIdx = 1:numFrm
    x = qpskMod(randi([0 M-1], frmLen, 1));
    chanLM(x);
end

Figure Doppler Spectrum contains an axes and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes contains 3 objects of type line, text. These objects represent Theoretical, Empirical.

Избранная библиография

1 - Рекомендация ITU-R F.1487 «Тестирование HF-модемов с полосами пропускания до 12 кГц с использованием имитаторов ионосферных каналов», 2000.

2 - К. К. Уоттерсон, Дж. Р. Юрошек и В. Д. Bensema, «Экспериментальное подтверждение модели HF-канала», IEEE ® Trans. Commun. Технол., т. COM-18, № 6, декабрь 1970.