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

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

Описание

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

Объединить входные сигналы и извлечь мягкую информацию символов, закодированных OSTBC:

  1. Задайте и настройте свой объект объединителя OSTBC. Смотрите Конструкцию.

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

Примечание

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

Конструкция

H = comm.OSTBCCombiner создает Системный объект объединителя ортогонального пространственно-временного блочного кода (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

Создайте Систему модулятора QPSK object™. Установите свойство 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, где характеристики канала установлены с помощью пар "имя-значение". Усиления пути сделаны доступными, чтобы служить совершенной оценкой канала для объединителя 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