number_of_data_points=64;
numPackets=number_of_data_points;
deltaf=BW/number_of_data_points;
Ncp=number_of_data_points*(TGI/TFFT);
cp_len=ceil(0.25*block_size);
fft_points=number_of_data_points;
ifft_points=number_of_data_points;
cp_start=block_size-cp_len;
actual_cp=zeros(cp_len, block_size);
data_subcarriers=cp_start+Nsp;
standar_dev =sqrt((E12/(2*SNR))*(15/11));
stairs(x1U(1,:), 'linewidth', 3)
title('Information before Transmiting');
colind=(round(rand(1)*(n-1)))+1;
H1((i.*(c./wc))+1:((i.*(c./wc))+1+(c./wc)-1),ii)=rCol;
mod_data1=mod(data_encoded1,2);
stairs(mod_data1(1,:), 'linewidth', 3)
title(' Information Encoded by LDPC Encoder ');
s_p_data1=reshape(data_NRZ1,2,length(x1U)/2);
for imod = 1:length(x1U)/2
y11 = s_p_data1(1,imod)*cos(2*pi*fc*tmod);
y21 = s_p_data1(2,imod)*sin(2*pi*fc*tmod);
ycomplex1 = [ycomplex1 (sign(y11))+(1i*sign(y21))];
Tx_sig_complex1=ycomplex1;
scatterplot(Tx_sig_complex1)
ttmod=Tc/99:Tc/99:(Tc*length(x1U))/2;
stairs(s_p_data1(1,:),'linewidth',1.5),grid on;
plot(ttmod,y_in1,'linewidth',1.5), grid on;
title(' wave form for inphase component in QPSK modulation ');
stairs(s_p_data1(2,:),'linewidth',1.5),grid on;
plot(ttmod,y_qd1,'linewidth',1.5), grid on;
title(' wave form for Quadrature component in QPSK modulation ');
plot(ttmod,y_in1,'linewidth',1.5), grid on;
title(' Wave form for In-phase component in QPSK modulation ');
plot(ttmod,y_qd1,'linewidth',1.5), grid on;
title(' Wave form for Quadrature component in QPSK modulation ');
plot(ttmod,Tx_sig1,'r','linewidth',1.5), grid on;
Warning: Imaginary parts of complex X and/or Y arguments ignored.
title('QPSK modulated signal (sum of inphase and Quadrature phase signal)');
num_colums1=ceil((size(Tx_sig_complex1,1)*size(Tx_sig_complex1,2))/block_size);
reshaped_mod_data1 = reshape(Tx_sig11,[block_size, num_colums1]);
reshaped_mod_data_11=reshaped_mod_data1(:,1);
reshaped_mod_data_21=reshaped_mod_data1(:,2);
reshaped_mod_data_31=reshaped_mod_data1(:,3);
reshaped_mod_data_41=reshaped_mod_data1(:,4);
for ireshape=1:num_colums1
ifft_data_matrix1(:,ireshape)=ifft(reshaped_mod_data1(:,ireshape));
actual_cp1(jcplen,ireshape) = ifft_data_matrix1(jcplen+cp_start,ireshape).';
ifft_data_after_cp1(:,ireshape) = vertcat(actual_cp1(:,ireshape),ifft_data_matrix1(:,ireshape));
parallel_serial_tx1 = reshape(ifft_data_after_cp1(:,:),size(ifft_data_after_cp1(:,:),2),size(ifft_data_after_cp1(:,:),1));
[numrows,numcols]=size(parallel_serial_tx1);
error1 = zeros(1, numPackets); BER1 = zeros(1, length(snr));
gain1=sqrt(p1/2)*[randn(1,numrows) + j*randn(1,numrows)];
x12=reshape(x11,1,length(x11));
for i=delay1+1:length(x12)
x1=reshape(x13,(Nc+cp),ceil(length(x13)/(Nc+cp)));
ch1=repmat(gain1,numcols,1)';
data_noise1=data_channel(:);
data_noise2=reshape(data_noise1,1,length(data_noise1));
noise = 1/sqrt(2)*[randn(1,length(data_noise2)) + j*randn(1,length(data_noise2))];
y = data_noise2 + (sqrt(1)*10^(-snr(i)/20))*noise;
serial_parallel_form_rx = reshape(data_received,[numrows,numcols]).';
serial_parallel_form_rx(1:cp_len,:,:)=[];
receivd_signal_fft_rx=fft(serial_parallel_form_rx);
parallel_serial_form_rx= reshape(receivd_signal_fft_rx,1,[]);
Rx_sig=parallel_serial_form_rx;
Rx_sig_real=(real(Rx_sig));
Rx_sig_imag=(imag(Rx_sig));
for (idemod=1:1:length(x1U)/2)
Z_in=Rx_sig_real((idemod-1)*length(tmod)+1:idemod*length(tmod)).*cos(2*pi*fc*tmod);
Z_in_intg=(trapz(tmod,Z_in))*(2/Tc);
Z_qd=Rx_sig_imag(((idemod-1)*length(tmod))+1:idemod*length(tmod)).*sin(2*pi*fc*tmod);
Z_qd_intg=(trapz(tmod,Z_qd))*(2/Tc);
Rx_data=[Rx_data Rx_in_data Rx_qd_data];
[N1decode,N2decode]=size(H1);
E(jd,cid(kdec))=mod(sum(psk_demod_mod(cid))+psk_demod_mod(cid(kdec)),2);
numberofones=length(find(E(rid,jd)));
numberofzeros=length(rid)-numberofones;
if(numberofones==numberofzeros)
ydd(jd)=psk_demod_mod(jd);
elseif(numberofones>numberofzeros)
elseif(numberofones<numberofzeros)
rece_decoder=psk_demod_mod*Hinv;
rece_decoder_mod=mod(rece_decoder,2);
stairs(Z_in,'linewidth',1.5), grid on;
title(' Wave form for In-phase component in QPSK modulation ');
stairs(Z_qd,'linewidth',1.5), grid on;
title(' Wave form for Quadrature component in QPSK modulation ');
stairs(Rx_data,'r','linewidth',1.5), grid on;
title('QPSK modulated signal (sum of inphase and Quadrature phase signal)');