I have implemented an LLR-Turbo decoder (rate 1/3) receiver that works fine for BPSK and QPSK, but doesn't seem to work for 8-PSK and 16-PSK. I was wondering if we need QAM for higher order modulations?
Relevant part of the code (just to show how I have invoked TurboEncoder:
turboEnc = comm.TurboEncoder('InterleaverIndicesSource','Input port');
turboDec = comm.TurboDecoder('InterleaverIndicesSource','Input port', ...
intrlvrInd = randperm(floor(nBits1*rate1)-2);
b1 = randi([0,1],floor(nBits1*rate1)-2,1);
enc_b1 = turboEnc(b1,intrlvrInd);