Digital Signal Processing Reference
In-Depth Information
Cyclic prefix
cyclic
prefix
OFDM
sumbol
Figure 13.42 Adding cyclic prefix to an OFDM symbol
An OFDM system needs to address several issues that are standard to a communication system.
These issues are carrier and sampling clock frequency offsets, OFDM symbol or frame offset,
dealing with channel effects, and analog component noise and imperfections.
As the computation of timing and frequency offsets and the channel estimation are very critical for
OFDM-based systems, some of the IFFT carriers may also be used as pilot tones. Training-based
techniques are also popular that use a training sequence for these estimations. The MATLAB code
below shows the use of a training sequence for estimation and a 32-point IFFT-based OFDM
transmitter. In the code the raw data is generated. The data is then block coded using a Reed-
Solomon encoder. This encoding is followed by convolution encoding using a 2/3 encoder. The coded
data is thenmapped toQPSK symbols. These symbols are then grouped in parallel for OFDMcoding:
clear all
close all
fec_en = 1;
% Each data set consists of 2 sets of 24 8-bit raw symbols,
% thus making the data length equal to 2*8*24=384
ofdm_burst_size = 24; % Number of OFDM frames in a burst of Tx
ofdm_train_per_burst = 1; % Number of trainings per burst
bps = 2;
DATA_SET_LEN = 384;
NO_OF_DATA_SET = 4; % For simulation
% RS code parameters adds 8 extra 8-bit symbols for error correction
RS_CODE_m = 8;
RS_CODE_k = 24;
RS_CODE_n = 32;
% After Reed - Solomn coding, the length of the burst becomes 2*8*32=512
% Convolution code parameters, the length becomes 512*3/2=768
% punct_code = [1 1 0 1];
code_rate = 1/2; %2/3;
trellis = poly2trellis(7, [133 171]);
tb_length = 3;
const_map = [-1-j -1+j 1-j 1+j];
N = 32; % dft_size
K = 4; % cyclic prefix
% OFDM symbol size with cyclic Prefix
sym_size =N+K;
L = 4; % for training
M = N/L;
Search WWH ::




Custom Search