Как сделать сверточный код (7,1 / 2) мягким решением с декодером мягкого решения Витерби и BPSK в MATLAB? - PullRequest
0 голосов
/ 01 апреля 2020

Это часть моего кода и одна из базовых c ссылок, которые я использовал для этого: https://www.mathworks.com/help/comm/examples/llr-vs-hard-decision-demodulation.html

pskModulator = comm.BPSKModulator;
pskDemodulator = comm.BPSKDemodulator('DecisionMethod','Log-likelihood ratio');

scalQuant = dsp.ScalarQuantizerEncoder('Partitioning','Unbounded');

ConEnc = comm.ConvolutionalEncoder('TrellisStructure',poly2trellis(7, [171 133]));
Vit = comm.ViterbiDecoder('TrellisStructure',poly2trellis(7, [171 133]),'InputFormat','Soft', ...
    'SoftInputWordLength',3,'TracebackDepth',32);




%Generate data
data = randi([0 1],FrameLength*bitsPerSymbol,1);


%convolution 
codedData = ConEnc(data);

% Modulate
modData = pskModulator(codedData);            % Modulate

% Demodulate    
rxData = pskDemodulator(modData);             % Demodulate

%viterbi
quantizedValue = scalQuant(-rxData);
decodedData= Vit(double(quantizedValue));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...