Я получаю сообщение об ошибке с кодом модуляции 8psk

Я пытаюсь закодировать систему модуляции 8PSK, это код:

custMap = [0 2 4 6 7 5 3 1];
hChan = comm.AWGNChannel('BitsPerSymbol',log2(8));
hErr = comm.ErrorRate;
% Initialize the simulation vectors. The **/No is varied from 0 to 10 dB in
% 1 dB steps.
******* = 0:10;
for k = 1:length(*******)
 % Set the channel **/No
 hChan.**No = *******(k);
 while errVec(2) < 200 && errVec(3) < 1e7
 % Generate a 1000-symbol frame
 data = randi([0 1],4000,1);
 modData = step(hMod,data);
 % Pass the modulated data through the AWGN channel
 rxSig = step(hChan,modData);
 % Demodulate the received signal
 rxData = step(hDemod,rxSig);
 end

 end

но у меня проблема в этой строке:

modData = step(hMod,data);

это ошибка: как я могу решить проблему, пожалуйста, и спасибо за любую помощь

1 ответ

Вы настроили канал связи для использования 3 бит/символа. Ваша ошибка здесь:

% Generate a 1000-symbol frame
data = randi([0 1],4000,1);

Для 1000 символов вы должны генерировать 3000 бит.

licensed under cc by-sa 3.0 with attribution.