How can i insert Cyclic prefix in an array?

N=1024; Cp=64; NTx=8;
% Constellation of Binary-Coded 16-QAM
C=[-3+3j, -3+1j, -3-3j, -3-1j, -1+3j, -1+1j, -1-3j, -1-1j,...
3+3j, 3+1j, 3-3j, 3-1j, 1+3j, 1+1j, 1-3j, 1-1j];
% Generate random symbols
bk= randi ([0,15],NTx,N);
Dk=C(bk+1);
d=ifft(Dk).*sqrt(N);
tx=[d(end-Cp+1:end) d];
I have d is (8X1024) and I want to add Cyclic Prefix for each row, how can I do that?? [d(end-Cp+1:end) d]; this works for vectors only.

 Réponse acceptée

Cedric
Cedric le 22 Juin 2014
Modifié(e) : Cedric le 22 Juin 2014
>> tx = [d(:,end-Cp+1:end) d] ;
>> size(tx)
ans =
8 1088
and
>> tx = [zeros(size(d,1), Cp) d] ;
if you wanted zero padding.

Plus de réponses (1)

Qaisar Hussain Alvi
Qaisar Hussain Alvi le 8 Avr 2018
Modifié(e) : Walter Roberson le 8 Avr 2018
IFFT_Data = ifft(d,N);
txCy = [IFFT_Data(N-Ncp+1):N,:); IFFT_Data];

1 commentaire

What is the purpose of doing an ifft() of something that was just calculated as an ifft ?
d=ifft(Dk).*sqrt(N);

Connectez-vous pour commenter.

Catégories

En savoir plus sur Communications Toolbox dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by