%constraint the ofdm output to [-1.0, 1.0]
%then (sign short)(constrainted output * 32767) ->otw -> duc -> DAC
%author: samssm(samssmarm@gmail.com)
%QPSK for example
REAL_MAX = 1;
IMAGE_MAX = 1;
SUB_CARRIER = 2048;
reality = randi([0, REAL_MAX], SUB_CARRIER, 1);
image = randi([0, IMAGE_MAX], SUB_CARRIER, 1);
reality = 2 * (reality - (REAL_MAX/2.0));
image = 2* (image - (IMAGE_MAX/2.0));
complex = reality + j * image;
fcomponent = ifft(complex);
fcomponent_real = real(fcomponent);
fcomponent_image = imag(fcomponent);
[fcomponent_image_max, fcomponent_image_index] = max(fcomponent_image);
[fcomponent_real_max, fcomponent_real_index] = max(fcomponent_real);
%no need
%pcomponent = abs(fcomponent);
%[pmax, pmaxindex] = max(pcomponent);