exponenta event banner

Выравнивание сигнала BSPK

Выравнивание сигнала BPSK с использованием линейного эквалайзера с алгоритмом наименьшего квадрата (LMS).

Генерировать случайные двоичные данные и применять модуляцию BPSK.

data = randi([0 1],1000,1);
modData = pskmod(data,2);

Примените двухконтурное статическое замирание к модулированному сигналу.

rxSig = conv(modData,[0.5 0.05]);

Создайте объект адаптивного алгоритма LMS с размером шага 0,06.

alg = lms(0.06);
Warning: LMS will be removed in a future release. Use comm.LinearEqualizer or comm.DecisionFeedbackEqualizer instead. See <a href="matlab:helpview(fullfile(docroot, 'toolbox','comm', 'comm.map'), 'REPLACE_udd_equalizer')">Communications Toolbox Release Notes</a> for more information.

Создайте объект линейного эквалайзера с 8 отводами, используя ранее созданный объект алгоритма. Установите индекс опорного ответвления равным 4.

eqlms = lineareq(8,alg);
Warning: LINEAREQ will be removed in a future release. Use comm.LinearEqualizer instead. See <a href="matlab:helpview(fullfile(docroot, 'toolbox','comm', 'comm.map'), 'REPLACE_udd_equalizer')">Communications Toolbox Release Notes</a> for more information.
eqlms.RefTap = 4;

Выровнять принятый сигнал, rxSigпри использовании первых 200 битов данных в качестве обучающей последовательности.

trSeq = data(1:200);
[eqSig,~,e] = equalize(eqlms,rxSig,trSeq);
Warning: EQUALIZE will be removed in a future release. Use comm.LinearEqualizer or comm.DecisionFeedbackEqualizer instead. See <a href="matlab:helpview(fullfile(docroot, 'toolbox','comm', 'comm.map'), 'REPLACE_udd_equalizer')">Communications Toolbox Release Notes</a> for more information.

Отфильтруйте и постройте график мощности принимаемого (неуравновешенного) сигнала. Величина сигнала была ослаблена каналом.

rxSigPwr = filter(0.1*ones(10,1),1,abs(rxSig)).^2;
plot(rxSigPwr)
title('Received Signal')
xlabel('Bits')
ylabel('Power (W)')

Figure contains an axes. The axes with title Received Signal contains an object of type line.

Постройте график выровненного сигнала. Сигнал достигает заданного уровня мощности 1 Вт.

eqSigPwr = filter(0.1*ones(10,1),1,abs(eqSig)).^2;
plot(eqSigPwr)
title('Equalized Signal')
xlabel('Bits')
ylabel('Power (W)')

Figure contains an axes. The axes with title Equalized Signal contains an object of type line.

Постройте график величины оценки ошибки, e. Погрешность уменьшается до тех пор, пока она не станет почти нулевой после 400 бит.

plot(abs(e))
title('Error Estimate')
xlabel('Bits')
ylabel('Amplitude (V)')

Figure contains an axes. The axes with title Error Estimate contains an object of type line.