Эта модель показывает, что ортогональный пространственно-временной блочный код (OSTBC), конкатенированный с закодированной решеткой модуляцией (TCM) для информационной передачи по нескольким - ввел, несколько - выводят (MIMO), канал с 2 антеннами передачи и 1 получает антенну.
OSTBCs [1], [2] привлекательный метод для радиосвязей MIMO. Они используют полный пространственный порядок разнообразия и наслаждаются мудрым символом декодированием наибольшего правдоподобия (ML). Однако они не предлагают усиления кодирования. Объединитель для OSTBC в стороне приемника предоставляет мягкую информацию переданных символов, которые могут быть использованы для декодирования или демодуляции внешнего кода.
TCM [3] является пропускной способностью эффективная схема, которая интегрирует кодирование и модуляцию, чтобы обеспечить большое усиление кодирования. Конкатенация TCM с внутренним кодом будет обычно предлагать улучшенную производительность.
Этот пример иллюстрирует преимущества OSTBC и схемы конкатенации TCM: пространственное усиление разнообразия предложено OSTBC, и усиление кодирования предложено TCM. Для сравнения также обеспечиваются два образца модели, содержащие только TCM или OSTBC. Разнообразие и усиления кодирования схемы конкатенации по образцам модели могут ясно наблюдаться от результатов симуляции. Больше дискуссий о конкатенации OSTBC и TCM может быть найдено в, например, [4], [5] и ссылки там.
Отдельные задачи, выполняемые моделью, включают:
Случайная генерация данных
Блок 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 вести себя как квазистатический исчезающий канал, i.e., это сохраняет постоянным во время одной передачи системы координат и варьируется вдоль нескольких систем координат.
Шум приемника
Блок 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
параметр), какой бы ни на первом месте.
Мы теперь кратко описываем эти два образца модели, используемые для сравнения.
Модель commtcm.slx симулирует TCM в вышеупомянутой схеме конкатенации по одно входу одно выходу (SISO) плоский Канал с релеевским замиранием. Никакое пространственно-временное кодирование не используется. Блок SISO Fading Channel имеет ту же спецификацию как один подканал 2x1 канал MIMO в вышеупомянутой модели. Input signal power, referenced to 1 ohm (watts)
параметр блока AWGN Channel устанавливается на 1
как существует только один символ, переданный на период символа.
Эквалайзер канала
Подсистема Эквалайзера Канала компенсирует исчезающий эффект канала в стороне приемника, и ее выход подан в блок M-PSK TCM Decoder для декодирования. Обратите внимание на то, что каналом является плоское Релеевское замирание в этой модели.
Модель 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
) на производительности системы.
С. М. Аламоути, "Простой метод разнообразия передачи для радиосвязей", Журнал IEEE® на Выбранных областях в Коммуникациях, издании 16, № 8, стр 1451-1458, октябрь 1998.
V. Tarokh, Х. Джэфархэми и А. Р. Колдербэнк, "Пространственно-временные блочные коды из ортогональных проектов", Транзакции IEEE на Теории информации, издании 45, № 5, стр 1456-1467, июль 1999.
Г. Анджербоек, "Кодирование канала с многоуровневыми сигналами / сигналами фазы", Транзакции IEEE на Теории информации, издании IT-28, № 1, стр 55-67, январь 1982.
С. М. Аламоути, В. Тэрох и П. Пун, "Закодированная решеткой модуляция и разнообразие передачи: Критерии расчета и оценка результатов деятельности", в материалах Международная конференция IEEE по вопросам Universal Personal Communications (ICUPC '98), Флоренция, Италия, октябрь 1998, стр 703-707.
Y. Гонг и К. Б. Летэиф, "Конкатенированное пространственно-временное блочное кодирование с решеткой закодировало модуляцию в исчезающих каналах", Транзакции IEEE на Радиосвязях, издании 1, № 4, стр 580-590, октябрь 2002.