Уменьшите 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)

Figure Eye Diagram contains 2 axes. Axes 1 with title Eye Diagram for In-Phase Signal contains an object of type line. This object represents In-phase. Axes 2 with title Eye Diagram for Quadrature Signal contains an object of type line. This object represents Quadrature.

Усильте модулированный сигнал, используя hpa.

txSigNoFilt = hpa(modSig);

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

eyediagram(txSigNoFilt,2)

Figure Eye Diagram contains 2 axes. Axes 1 with title Eye Diagram for In-Phase Signal contains an object of type line. This object represents In-phase. Axes 2 with title Eye Diagram for Quadrature Signal contains an object of type line. This object represents Quadrature.

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

filteredSig = txfilter(modSig);

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

release(hpa)
txSig = hpa(filteredSig);

Фильтрация txSig использование соответствующего фильтра приема RRC.

rxSig = rxfilter(txSig);

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

eyediagram(rxSig,2)

Figure Eye Diagram contains 2 axes. Axes 1 with title Eye Diagram for In-Phase Signal contains an object of type line. This object represents In-phase. Axes 2 with title Eye Diagram for Quadrature Signal contains an object of type line. This object represents Quadrature.