Уменьшайте ISI Используя повышенную фильтрацию косинуса

Используйте повышенную фильтрацию косинуса, чтобы уменьшать интерференцию межсимвола (ISI), которая следует из нелинейного усилителя.

Инициализируйте переменную симуляции для порядка модуляции.

M = 16; % Modulation order

Создайте повышенные объекты фильтра косинуса квадратного корня.

txfilter = comm.RaisedCosineTransmitFilter;
rxfilter = comm.RaisedCosineReceiveFilter;

Создайте Системный объект нелинейности без памяти, чтобы ввести нелинейное поведение модулируемому сигналу. Используя пары "имя-значение", набор свойство Method к Saleh model, чтобы эмулировать мощный усилитель.

hpa = comm.MemorylessNonlinearity('Method','Saleh model', ...
    'InputScaling',-10,'OutputScaling',0);

Сгенерируйте случайные целые числа и примените 16-QAM модуляцию.

x = randi([0 M-1],1000,1);
modSig = qammod(x,M,'UnitAveragePower',true);

Постройте индикаторную диаграмму модулируемого сигнала. Во время 0, существует три отличных "глаза" для 16-QAM модуляции.

eyediagram(modSig,2)

Усильте модулируемый сигнал с помощью hpa.

txSigNoFilt = hpa(modSig);

Постройте индикаторную диаграмму усиленного сигнала без фильтрации RRC. Во время 0, существует несколько глаз. Это - результат интерференции межсимвола от нелинейного усилителя.

eyediagram(txSigNoFilt,2)

Отфильтруйте модулируемый сигнал с помощью фильтра передачи RRC.

filteredSig = txfilter(modSig);

Выпустите hpa и усильте отфильтрованный сигнал. Функция release необходима, потому что размерности входного сигнала изменяются должный отфильтровать интерполяцию.

release(hpa)
txSig = hpa(filteredSig);

Отфильтруйте txSig с помощью соответствующего RRC, получают фильтр.

rxSig = rxfilter(txSig);

Постройте индикаторную диаграмму сигнала после применения получить фильтра. Существует еще раз три отличных глаза, когда совпадающие фильтры RRC смягчают ISI.

eyediagram(rxSig,2)

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