MATLAB Answers

Please tell me is this correct.. To add precoding block in between interleaver and modulator in OFDM? Serial to parallel transmission in OFDM?

1 view (last 30 days)
Koshy
Koshy on 15 Sep 2015
Edited: Walter Roberson on 15 Sep 2015
This is the code. I have tried to do linear precoding...
%input
msg = round(rand(1,nBitPerSym*nSym));
% trellis
trel = poly2trellis(3,[7 5]);
% % % convolution encoder
code = convenc(message,trel);
% state
st2 = 4831;
inter1 = randintrlv(code,st2);
%precoding
N=nSym ;
x = zeros(2,N);
x1 = reshape(inter1,2,length(inter1)/2);
x2 =[conj(double(x1(2,:))); conj(double(x1(1,:)))];
x=[x1;x2]
[rowSize, colSize] = size(x);
% Converting two rows into one concatenated row.
p_Data = reshape(x,rowSize*colSize,1);
p_Data = sqrt(2) * p_Data;
y1=inter1./p_Data';
Then this y1 is QAM modulated and further OFDM is done...
Please tell me whether this is correct
Also serial to parallel conversion in ofdm is
for ii = 1:length(EbN0dB)
% Transmitter
% MODULATE
h1 = modem.qammod(16);
qm1 = modulate(h1, inter);
%ipBit1 = inter1(1:length(msg)) ;
% MODULATE
%ipMod1 = 2*ipBit1-1;
h2 = modem.qammod(16);
qm = modulate(h2, inter1);
% % combine
ipMod1=qm;
ipMod = reshape(ipMod1,nBitPerSym,2*nSym).'; % group into multiple streams
.
.
end
does this reshaping is the actual serial to parallel transmission block in OFDM?

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by