I am looking into implementing Non-Binary Turbo Codes in Matlab. Apparently they are very similar to well understood Binary Turbo Codes. However turbo decoding of these non-binary turbo codes is a bit confusing, thanks to multidimensional LLRs that come into play because of expanded alphabet size.

This book, Non‐Binary Error Control Coding for Wireless Communication and Data Storage by Rolando Antonio Carrasco BEng(Hons), PhD,Dr Martin Johnston BSc(Hons), MSc, PhD (https://onlinelibrary.wiley.com/doi/book/10.1002/9780470740415) talks about these codes in Chapter 8.

For Matlab implementation, I am starting with your code and plan to modify it to non-binary alphabet. Since yours is a log-MAP version, I first wanted to modify your code to implement naive-MAP algorithm for binary turbo code. By this I imply, dealing only with probabilities instead of LLRs. Can you suggest what I need to change to make this work. I think I need to change BPSK demodulator that computes a_c,…,f_c followed by major changes in component_decoder.m

I would appreciate your feedback in this matter.

Mep

I’m afraid that I can’t help you with Matlab’s built-in Huffman code functions because I have never used them. But I’m sure you will be able to find lots of help on the Matlab forums.

Take care, Rob.

]]>This code is giving some errors.

It is not compressing at all. Can you help

clc;

clear all;

A1 = imread(\’yuvraj.jpg\’);

[M N]=size(A1);

A = A1(:);

count = imhist(A1); % Distinct data symbols appearing in sig

total=sum(count);

for i=1:1:size((count)\’);

p=count/total;

end

[dict,avglen]=huffmandict(count,p) % build the Huffman dictionary

comp= huffmanenco(A,dict); %encode your original image with the dictionary you just built

compression_ratio= (512*512*8)/length(comp) %computing the compression ratio

%% DECODING

Im = huffmandeco(comp,dict); % Decode the code

I11=uint8(Im);

decomp=reshape(I11,M,N);

imshow(decomp);

codedim=reshape(codedim,M,N);

codedim=uint8(codedim);

imwrite(codedim, \’fig1-Copy.jpg\’)

figure(2)

imshow(codedim)

The conv_encoder and bcjr_decoder from the files above are what you are looking for. You can see how to use them as an accumulator in ra_encoder.m and ra_decoder.m.

Take care, Rob.

]]>Can I get Matlab codes for accumulator as a precoder of repeat accumulator?

Thank you in advance.

I’m afraid that I don’t have Matlab codes for HARQ or OFDM.

Abir - you could implement both types of HARQ using my turbo code Matlab at…

http://users.ecs.soton.ac.uk/rm/resources/matlabturbo/

Take care, Rob.

]]>I neet OFDM in communication UAV matlab code

Can you help me? please

Hung

]]>I need the Matlab codes for the implementation of HARQ-IR and HARQ-CC.

Can you help me, please ?

Regards ]]>

I’m afraid that my Matlab code treats the RA code like a convolutional code, rather than like an LDPC code. I don’t have any Matlab code for the LDPC approach.

Take care, Rob.

]]>I am working on RA- LDPC for rate 1/3 and 1/4. Could pls share matlab code for repeat Accumulator - low density parity check matrix(RA-LDPC) of rate 1/3 and 1/4?

Thanks ]]>