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

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

Введение

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

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

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

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

Модель в качестве примера commtcmostbc.slx похожа:

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

Случайная генерация данных

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

Закодированная решеткой модуляция (TCM)

Блок M-PSK TCM Encoder модулирует данные о сообщении от Бернуллиевого Бинарного Генератора до совокупности PSK, которая имеет модульную среднюю энергию. Параметр Trellis structure принимает, что структура MATLAB® задает решетку TCM. Параметр 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. Параметр Operation mode устанавливается на Truncated, чтобы обработать каждый кадр независимо. Параметр Traceback depth устанавливается на 30, который, по сравнению с продолжительностью ограничения TCM, достаточно длинен, чтобы гарантировать почти производительность без потерь.

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

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

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

2x1 канал MIMO

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

Шум получателя

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

Вычисление Коэффициента ошибок кадра (FER)

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

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

Мы теперь кратко описываем эти две эталонных модели, используемые для сравнения.

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

Модель commtcm.slx моделирует TCM в вышеупомянутой схеме конкатенации по одно входу одно выводу (SISO) плоский Канал с релеевским замиранием. Никакое пространственно-временное кодирование не используется. Блок SISO Fading Channel имеет ту же спецификацию как один подканал 2x1 канал MIMO в вышеупомянутой модели. Параметр 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. Основополосные блок-диаграммы Модулятора QPSK информационные биты к совокупности QPSK и блоку QPSK Demodulator Baseband демодулируют сигналы от Объединителя 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');

FER по сравнению с результатом производительности ОСШ представлен в следующей фигуре.

Как ожидалось схема конкатенации обеспечивает значительное усиление разнообразия по схеме TCM и приблизительно 2 дБ, кодирующие усиление по коду Alamouti.

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

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

Выбранная библиография

  1. С. М. Аламоути, "Простой метод разнообразия передачи для радиосвязей", Журнал IEEE® на Выбранных областях в Коммуникациях, издании 16, № 8, стр 1451-1458, октябрь 1998.

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

  3. Г. Анджербоек, "Кодирование канала с многоуровневыми сигналами / сигналами фазы", Транзакции IEEE на Теории информации, издании IT-28, № 1, стр 55-67, январь 1982.

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

  5. Y. Гонг и К. Б. Летэиф, "Конкатенированное пространственно-временное блочное кодирование с решеткой закодировало модуляцию в исчезающих каналах", Транзакции IEEE на Радиосвязях, издании 1, № 4, стр 580-590, октябрь 2002.

Для просмотра документации необходимо авторизоваться на сайте