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

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

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

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

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

rxSig = conv(modData,[0.02+0.5i 0.05]);
rxSig = awgn(rxSig,30);

Создайте линейную Систему эквалайзера object™ сконфигурированный, чтобы использовать адаптивный алгоритм LMS, 8 касаний, 0,1 размера шага и 4-е касание как ссылочное касание. Установите созвездие совпадать с модуляцией переданного сигнала.

lineq = comm.LinearEqualizer( ...
    NumTaps=8, ...
    StepSize=0.1, ...
    Constellation=complex([-1 1]), ...
    ReferenceTap=4)
lineq = 
  comm.LinearEqualizer with properties:

                Algorithm: 'LMS'
                  NumTaps: 8
                 StepSize: 0.1000
            Constellation: [-1.0000 + 0.0000i 1.0000 + 0.0000i]
             ReferenceTap: 4
               InputDelay: 0
    InputSamplesPerSymbol: 1
    TrainingFlagInputPort: false
       AdaptAfterTraining: true
     InitialWeightsSource: 'Auto'
       WeightUpdatePeriod: 1

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

trSeq = modData(1:200);
[eqSig,err] = lineq(rxSig,trSeq);

constdiag = comm.ConstellationDiagram( ...
    NumInputPorts=2, ...
    ChannelNames={'Before equalization','After equalization'}, ...
    ReferenceConstellation=pskmod([0 M-1],M));
constdiag(rxSig(400:end),eqSig(400:end))

Постройте величину ошибочной оценки. Как показано уменьшением и стабилизацией сигнала ошибки, эквализация сходится меньше чем в 200 битах.

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

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