Конкатенированный OSTBC с TCM в Simulink

Эта модель показывает ортогональный пространственно-временной блочный код (OSTBC), конкатенированный с решетчатой модуляцией (TCM) для передачи информации по каналу с несколькими входами и несколькими выходами (MIMO) с 2 передающими антеннами и 1 приемной антенной.

Введение

OSTBC [1], [2] являются привлекательным методом для беспроводной связи MIMO. Они используют полный порядок пространственного разнесения и пользуются символьным декодированием с максимальной вероятностью (ML). Однако они не предлагают никакого усиления кодирования. Объединитель для OSTBC на стороне приемника предоставляет мягкую информацию переданных символов, которая может использоваться для декодирования или демодуляции внешнего кода.

TCM [3] является эффективной схемой полосы пропускания, которая интегрирует кодирование и модуляцию, чтобы обеспечить большой коэффициент усиления кодирования. Сцепление TCM с внутренним кодом обычно обеспечивает улучшенную производительность.

Этот пример иллюстрирует преимущества схем конкатенации OSTBC и TCM: коэффициент усиления пространственного разнесения, предлагаемый OSTBC, и коэффициент усиления кодирования, предлагаемый TCM. Для сравнения также предусмотрены два образцов модели, содержащие только TCM или OSTBC. Разнесение и усиления кодирования схемы конкатенации по образцам модели могут быть четко наблюдены из результатов симуляции. Больше дискуссий о конкатенировании OSTBC и TCM можно найти, например, в [4], [5] и их ссылках.

Структура примера

Отдельные задачи, выполняемые моделью, включают:

Генерация случайных данных

Блок Bernoulli Binary Generator генерирует источник информации для этой симуляции. Блок генерирует систему координат из 100 случайных бит. The Samples per frame параметр определяет длину выходной системы координат (100 в этом случае).

Треллис-кодированная модуляция (TCM)

Блок M-PSK TCM Энкодера модулирует данные сообщения от Bernoulli Binary Generator к созвездию PSK, которое имеет модуль среднего значения энергии. The Trellis structure параметр принимает структуру MATLAB ®, чтобы задать решетку TCM. The M-ary number параметр задает размер созвездия PSK. В этом примере мы используем схему Ungerboeck TCM для 8-PSK созвездия с 8 состояниями шпалеры [3]. Соответственно, Trellis structure параметру задано значение poly2trellis([2 3], [1 2 0; 4 1 2]). Этот блок имеет выходсистемы координат 50, так как каждые два входных бита генерируют один символ.

Блок M-PSK TCM Decoder использует алгоритм Viterbi для TCM, чтобы декодировать сигналы от объединителя OSTBC. The Operation mode параметру задано значение Truncated обрабатывать каждую систему координат независимо. The Traceback depth параметру задано значение 30 это, по сравнению с длиной ограничения TCM, достаточно долго, чтобы гарантировать эффективность без потерь.

Ортогональные пространственно-временные блочные коды (OSTBC)

Блок Энкодер кодирует информационные символы из TCM Encoder, используя код Аламути [1] для 2 передающих антенн. Выходы этого блока являются матрицей 50x2, записи в каждом столбце которой соответствуют данным, переданным по одной антенне.

Блок Объединителя OSTBC объединяет принятые сигналы от приемной антенны с информацией о состоянии канала (CSI), чтобы вывести оценки переданных символов, которые затем подаются в декодер M-PSK TCM. В этом примере CSI принимается прекрасно известным на стороне приемника.

Канал 2x1 MIMO

Блок MIMO Fading Channel моделирует частотно-плоский Канал с релеевским замиранием 2x1. The Sample rate (Hz) параметр установлен в 500000, который вычисляется на основе длины входного сигнала и шага расчета модели. The Maximum Doppler shift (Hz) параметру задано значение 30. Причина использования этого значения состоит в том, чтобы заставить канал MIMO вести себя как квазистатический канал с замираниями, т.е. он остается постоянным во время передачи одной системы координат и изменяется вдоль нескольких систем координат.

Шум приемника

Блок AWGN Channel добавляет белые Гауссовы шумы на стороне приемника. The Mode параметру задано значение Signal to noise ratio (SNR) mode и Input signal power, referenced to 1 ohm (watts) параметру задано значение 2 потому что созвездие PSK для TCM имеет средний модуль энергии, и усиления пути канала MIMO нормализованы.

Система координат расчета частоты ошибок (FER)

Подсистема вычисления частоты ошибки системы координат (FER) сравнивает декодированные биты с исходными битами источника на систему координат, чтобы обнаружить ошибки и динамически обновляет FER вдоль симуляции. Выходы этой подсистемы являются трехэлементным вектором, содержащим FER, количество наблюдаемых систем координат ошибок и количество обработанных систем координат. Этот вектор из блока Error Rate Calculation, а также сохранен как переменная рабочей области MATLAB ® FER_Data для упрощения симуляции нескольких значений ОСШ, описанных ниже.

The Stop simulation параметр проверяется, чтобы контролировать длительность симуляции. Симуляция останавливается после обнаружения целевого количества систем координат ошибки (задается Target number of errors параметр) или максимальное количество систем координат (задается Maximum number of symbols параметр), в зависимости от того, что наступит раньше.

Теперь мы кратко опишем два образцов модели, используемые для сравнения.

TCM по плоскому Каналу с релеевским замиранием

Модель commtcm.slx моделирует TCM в вышеописанной схеме конкатенации по однократному входу с одним выходом (SISO) плоскому каналу с релеевским замиранием. Пространственно-временное кодирование не используется. Блок SISO Fading Channel имеет ту же спецификацию, что и один подканал канала 2x1 MIMO в вышеописанной модели. The Input signal power, referenced to 1 ohm (watts) параметру блока AWGN Channel задано значение 1 поскольку существует только один символ, переданный на период символа.

Выравниватель канала

Подсистема выравнивателя канала компенсирует эффект затухающего канала на стороне приемника, и его выход подается в блок M-PSK TCM Decoder для декодирования. Обратите внимание, что канал является плоским Релеевского замирания в этой модели.

OSTBC над 2x1 плоским Каналом с релеевским замиранием

Модель commostbc.slx заменяет TCM в вышеописанной схеме конкатенации на QPSK-модуляцию, так что обе модели имеют одинаковую скорость символа ( системы координат). Он использует тот же блок 2x1 MIMO Fading Channel, что и в модели конкатенации TCM-OSTBC. Блок Baseband модулятора QPSK преобразует информационные биты в созвездие QPSK, а блок Baseband демодулятора QPSK демодулирует сигналы от комбинатора OSTBC.

Результаты эффективности

Создание FER по сравнению с кривой эффективности ОСШ требует симуляций для нескольких значений ОСШ, которые могут быть выполнены при помощи sim команда. Начнем с определения некоторых параметров симуляции

      SNRRange = 10:2:24;
      maxNumErrs = 1e3;  % Number of frame errors
      maxNumFrms = 5e6;  % Number of frames processed

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

      fig = figure;
      grid on;
      hold on;
      ax = fig.CurrentAxes;
      ax.YScale = 'log';
      xlim([SNRRange(1), SNRRange(end)]);
      ylim([1e-4 1]);
      xlabel('SNR (dB)');
      ylabel('FER');
      fig.NumberTitle = 'off';
      fig.Rrenderer = 'zbuffer';
      fig.Name = 'Concatenated OSTBC with TCM';
      title('Concatenated OSTBC with TCM');

Чтобы симулировать конкатенированную модель OSTBC-TCM, мы выполняем следующие команды, которые запускают симуляцию несколько раз и строим график результатов.

      FERTCMOSTBC = zeros(length(SNRRange), 3);
      for idx = 1:length(SNRRange)
          SNR = SNRRange(idx);
          sim('commtcmostbc');
          FERTCMOSTBC(idx, :) = FER_Data;
          h1 = semilogy(SNRRange(1:idx), FERTCMOSTBC(1:idx, 1), 'r+');
      end
      fitFERTCMOSTBC = berfit(SNRRange, FERTCMOSTBC(:, 1)');
      semilogy(SNRRange, fitFERTCMOSTBC, 'r');

Точно так же мы можем симулировать два образцов модели путем выполнения

      FERTCM = zeros(length(SNRRange), 3);
      for idx = 1:length(SNRRange)
          SNR = SNRRange(idx);
          sim('commtcm');
          FERTCM(idx, :) = FER_Data;
          h2 = semilogy(SNRRange(1:idx), FERTCM(1:idx, 1), 'gp');
      end
      fitFERTCM = berfit(SNRRange, FERTCM(:, 1)');
      semilogy(SNRRange, fitFERTCM, 'g');
      FEROSTBC = zeros(length(SNRRange), 3);
      for idx = 1:length(SNRRange)
          SNR = SNRRange(idx);
          sim('commostbc');
          FEROSTBC(idx, :) = FER_Data;
          h3 = semilogy(SNRRange(1:idx), FEROSTBC(1:idx, 1), 'bo');
      end
      fitFEROSTBC = berfit(SNRRange, FEROSTBC(:, 1)');
      semilogy(SNRRange, fitFEROSTBC, 'b');
      legend([h1, h2, h3], 'TCM + OSTBC', 'TCM', 'OSTBC');

Результаты эффективности КИН по сравнению с ОСШ представлены на следующем рисунке.

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

Дальнейшие исследования

После загрузки моделей симуляции в рабочей области MATLAB ® создаются переменные, которые могут быть изменены, чтобы исследовать эффекты различных настроек параметра, таких как Samples per frame (переменная frameLen), Trellis structure (переменная trellis) или Maximum Doppler shift (Hz) (переменная maxDopp) о производительности системы.

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

  1. S. M. Alamouti, «Простой метод разнесения передачи для радиосвязей», IEEE ® Journal on Selected Areas in Communications, vol. 16, no. 8, pp. 1451-1458, Oct. 1998.

  2. В. Тарох, Х. Джафархами, и А. Р. Калдербанк, «Пространственно-временные блочные коды из ортогональных проектов», Транзакции IEEE по теории информации, том 45, № 5, стр. 1456-1467, Jul. 1999.

  3. G. Ungerboeck, «Channel coding with multilevel/phase signals», IEEE Transactions on Information Theory, vol. IT-28, no. 1, pp. 55-67, Jane. 1982.

  4. С. М. Аламоути, В. Тэрох и П. Пун, «Закодированная решеткой модуляция и передает разнообразие: Критерии расчета и оценка результатов деятельности», в материалах Международная конференция IEEE по вопросам Universal Personal Communications (ICUPC '98), Флоренция, Италия, октябрь 1998, стр 703-707.

  5. Y. Gong and K. B. Letaief, «Concatenated space-time block coding with tellis coded modulation in blading channels», IEEE Transactions on Wireless Communications, vol. 1, no. 4, pp. 580-590, Oct. 2002.