Выравнивание сигнала 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.