Компенсируйте сигнал 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.

Для просмотра документации необходимо авторизоваться на сайте