Communication Algorithm 12: Turbo coding and decoding simulation link

Source: Internet
Author: User

I. Turbo coding and decoding principle

The Turbo encoder is a parallel cascade convolutional encoding (Pccc,parallel concatenated convolutionalcode), which uses two 8-state sub-encoders and a turbo-in-code interleaving device. The code rate for the Turbo encoder is 1/3.


Two. Emulation Link:

Channel environment: Gaussian White Noise

Simulation parameters: R =1/3, constraint length =9,map interleaving: LTE interleaving device

Simulation results: LTE standard Turbo coding decoding, the simulation gain is: 13dB. (12.6-( -0.9) = 13.5dB)

Simulation platform: Matlab

Channel environment: Gaussian White Noise

Signal to Noise ratio Snr: -1.4:0.1:-0.6

Simulation Link: Source bit +turbo encoding +QPSK modulation +AWGN+QPSK demodulation +turbo decoding +ber

Simulation Validation Architecture:



ber curve:



Three. MATLAB Simulation code

%****************************************************************
% Content Overview: Turbo encoding and Turbo decoding link, LTE compliant, simulation gain: 13DB,R=1/3
% emulation Link: Source bit-->turbo encoded-->QPSK modulated--Gaussian white noise channel--
% QPSK demodulation-->turbo decoding-->ber
% Creator:
% created: November 21, 2013
% references: web-related documents
% copyright notice: Not to be reproduced at will and not freely disseminated.
%****************************************************************
CLC
Clear all;
Close all;
% System parameter Design------------------------------
Turboiter = number of 8;%turbo iterations
Sourcebitlen = 5184;% input source bit length
SNR = -1.4:0.1:-0.6;% signal-to-noise ratio sequence
Berebno = Zeros (1,length (SNR));

For Nen=1:length (SNR)
Err_counter = 0;
For nframe=1:10000
% input source bit sequence baseband signal--------------------
Sourcebit = Round (rand (1,sourcebitlen));

%turbo encoding--------------------------------
turbointertable = Load Turbointertable.mat
For K=1:5
If Turbointertable (k,1) >=sourcebitlen
Break
End
End
Reflen = turbointertable (k,1);
F1 = turbointertable (k,2);
F2 = turbointertable (k,3);
%turbo Code-
Turbo_out = Turboencode (SOURCEBIT,SOURCEBITLEN,REFLEN,F1,F2);

%QPSK modulation---------------------------------
Turbo_out2 = Qpskmod (turbo_out);

% Gaussian white noise channel----------------------
soft_in = Channel (Turbo_out2,snr (NEN));
%QPSK demodulation---------------------------
Soft_in1 = Qpskdemod (soft_in);


%turbo decoding--lte----------------
[Hard_out,soft_out] = Turbodecode (SOFT_IN1,TURBOITER,REFLEN,F1,F2);
% ber-----------------------------
errs = Length (Find (Hard_out (1:sourcebitlen) ~= sourcebit));
Err_counter = Err_counter + errs;
Ber = Err_counter/nframe/sourcebitlen;
End
Berebno (NEN) = Ber;
fprintf (' Ecno:%1.3fdb, ber:%9.5e,\n ', SNR (NEN), BER);
End
Grid on;
Semilogy (snr,berebno, ' b-v ');
Xlabel (' ec/no[db] ');
Ylabel (' Bit Error rate ');
Title (' Turbo Performance simulation ber curve ');



"Detailed information, and the corresponding MATLAB code, consulting QQ: 1279682290 "

Communication Algorithm 12: Turbo coding and decoding simulation link

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.