exponenta event banner

коммуникация. OSTBCCombiner

Объединение входных данных с использованием ортогонального пространственно-временного блочного кода

Описание

OSTBCCombiner объект объединяет входной сигнал (от всех приемных антенн) и сигнал оценки канала для извлечения мягкой информации символов, кодированных посредством OSTBC. Оценка входного канала не обязательно должна быть постоянной и может изменяться при каждом вызове способа шага. Алгоритм комбинирования использует только оценку для первого периода символа на блок кодового слова. Демодулятор или декодер символов должен следовать за объектом объединителя в системе связи MIMO.

Для объединения входных сигналов и извлечения мягкой информации символов, закодированных OSTBC:

  1. Определите и настройте объект-объединитель OSTBC. См. раздел Строительство.

  2. Звонить step Объединение входных данных с использованием ортогонального пространственно-временного блочного кода в соответствии со свойствами comm.OSTBCCombiner. Поведение step относится к каждому объекту на панели инструментов.

Примечание

Начиная с R2016b, вместо использования step для выполнения операции, определенной системным object™, можно вызвать объект с аргументами, как если бы это была функция. Например, y = step(obj,x) и y = obj(x) выполнять эквивалентные операции.

Строительство

H = comm.OSTBCCombiner создает объект System объединителя ортогонального пространственно-временного блочного кода (OSTBC), H. Этот объект объединяет входной сигнал (от всех приемных антенн) с сигналом оценки канала для извлечения мягкой информации символов, кодированных посредством OSTBC.

H = comm.OSTBCCombiner(Name,Value) создает объект OSTBC Combiner, H, каждое указанное свойство имеет заданное значение. Можно указать дополнительные аргументы пары имя-значение в любом порядке как (Name1,Value1,...,NameN,ValueN).

H = comm.OSTBCCombiner(N,M,Name,Value) создает объект OSTBC Combiner, H. Этот объект имеет NumTransmitAntennas свойство имеет значение N, NumReceiveAntennas свойство имеет значение Nи другие указанные свойства имеют указанные значения.

Свойства

NumTransmitAntennas

Количество передающих антенн

Укажите количество антенн в передатчике как 2 | 3 | 4. Значение по умолчанию: 2.

SymbolRate

Скорость передачи символов кода

Укажите скорость передачи символов кода как 3/4 | 1/2. Значение по умолчанию: 3/4. Это свойство применяется, когда NumTransmitAntennas свойство больше, чем 2. Для 2 передающие антенны, скорость передачи символов по умолчанию 1.

NumReceiveAntennas

Количество приемных антенн

Укажите количество антенн в приемнике как действительное скалярное целое значение с двойной точностью от 1 кому 8. Значение по умолчанию: 1.

 Свойства с фиксированной точкой

Методы

шагОбъединение входных данных с использованием ортогонального пространственно-временного блочного кода
Общие для всех системных объектов
release

Разрешить изменение значения свойства объекта системы

Примеры

свернуть все

Определение частоты битовых ошибок для сигнала QSPK, использующего кодирование OSTBC при передаче по каналу 4x2 MIMO. Предполагается, что оптимальная оценка канала используется объединителем OSTBC.

Определите системные параметры.

numTx = 4;         % Number of transmit antennas
numRx = 2;         % Number of receive antennas
Rs = 1e6;          % Sampling rate (Hz)
tau = [0 2e-6];    % Path delays (sec)
pdb = [0 -10];     % Average path gains (dB)
maxDopp = 30;      % Maximum Doppler shift (Hz)
numBits = 12000;   % Number of bits
SNR = 6;           % Signal-to-noise ratio (dB)

Установите генератор случайных чисел в состояние по умолчанию, чтобы обеспечить повторяемость результатов.

rng default

Создайте системный object™ модулятора QPSK. Установите BitInput свойство для true и SymbolMapping свойство для Gray.

hMod = comm.QPSKModulator(...
    'BitInput',true,...
    'SymbolMapping','Gray');

Создайте соответствующий объект системы демодулятора QPSK. Установите SymbolMapping свойство для Gray и BitOutput свойство для true.

hDemod = comm.QPSKDemodulator(...
    'SymbolMapping','Gray',...
    'BitOutput',true);

Создайте кодер OSTBC и пару объединителей, где количество антенн указано в параметрах системы.

hOSTBCEnc = comm.OSTBCEncoder(...
    'NumTransmitAntennas',numTx);

hOSTBCComb = comm.OSTBCCombiner(...
    'NumTransmitAntennas',numTx,...
    'NumReceiveAntennas',numRx);

Создайте плоский объект 4x2 MIMO Channel System, в котором характеристики канала задаются с помощью пар имя-значение. Коэффициенты усиления тракта становятся доступными для использования в качестве совершенной оценки канала для объединителя OSTBC.

hChan = comm.MIMOChannel(...
    'SampleRate',Rs,...
    'PathDelays',tau,...
    'AveragePathGains',pdb,...
    'MaximumDopplerShift',maxDopp,...
    'SpatialCorrelationSpecification','None',...
    'NumTransmitAntennas',numTx,...
    'NumReceiveAntennas',numRx,...
    'PathGainsOutputPort',true);

Создание системного объекта AWGN-канала, в котором метод шума задается как отношение сигнал/шум.

hAWGN = comm.AWGNChannel(...
    'NoiseMethod','Signal to noise ratio (SNR)',...
    'SNR',SNR,...
    'SignalPower',1);

Создайте случайную последовательность битов.

data = randi([0 1],numBits,1);

Применение модуляции QPSK.

modData = step(hMod,data);

Кодирование модулированных данных с помощью объекта кодера OSTBC.

encData = step(hOSTBCEnc,modData);

Передача кодированных данных через канал MIMO и добавление белого шума с помощью step функции объектов канала MIMO и AWGN соответственно.

[chanOut,pathGains] = step(hChan,encData);
rxSignal = step(hAWGN,chanOut);

Подведите итог pathGains массив вдоль числа трактов (2-я размерность) для формирования оценки канала. Применить squeeze чтобы его размеры соответствовали размерам rxSignal.

chEst = squeeze(sum(pathGains,2));

Объедините принятый MIMO-сигнал и его оценку канала, используя step функция объекта-объединителя OSTBC. Демодулируйте объединенный сигнал.

combinedData = step(hOSTBCComb,rxSignal,chEst);
receivedData = step(hDemod,combinedData);

Вычислите количество битовых ошибок и частоту битовых ошибок.

[numErrors,ber] = biterr(data,receivedData)
numErrors = 11
ber = 9.1667e-04

Алгоритмы

Этот объект реализует алгоритм, входы и выходы, описанные на справочной странице блока OSTBC Combiner. Свойства объекта соответствуют параметрам блока.

Расширенные возможности

.

См. также

Представлен в R2012a