How can i insert Cyclic prefix in an array?

2 Ansichten (letzte 30 Tage)
sharif
sharif am 22 Jun. 2014
Kommentiert: Walter Roberson am 8 Apr. 2018
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.

Akzeptierte Antwort

Cedric
Cedric am 22 Jun. 2014
Bearbeitet: Cedric am 22 Jun. 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.

Weitere Antworten (1)

Qaisar Hussain Alvi
Qaisar Hussain Alvi am 8 Apr. 2018
Bearbeitet: Walter Roberson am 8 Apr. 2018
IFFT_Data = ifft(d,N);
txCy = [IFFT_Data(N-Ncp+1):N,:); IFFT_Data];
  1 Kommentar
Walter Roberson
Walter Roberson am 8 Apr. 2018
What is the purpose of doing an ifft() of something that was just calculated as an ifft ?
d=ifft(Dk).*sqrt(N);

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Standard File Formats finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by