comm.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