Компенсируйте сигнал BSPK

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

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

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

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

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.