junaidhussain12
Newbie level 4
i m not completely familiar wid matlab therefore i m faceing the problem while getting BER curve for OFDM using QPSK modulation channel used is AWGN.........
plz plzzz help me out wat i m doing wrong ........... i hv to submitt that assignment .......thx in advance
clc;
clear all
rand('seed',0);
randn('seed',0);
packets =100;
Bps=4;
DecodeDepth=28;
n=4;
k=2;
bits=12;
rate=1/2;
cons= 7;
gen=[171 133];
N_fft=64;
SNR_arry = 0:5:25
for snr_i=1:length(SNR_arry);
snr=SNR_arry(snr_i)
X=n*bits;
%for i=1ackets
msg=randint(1,X);
trel=poly2trellis(cons,gen);
cn = convenc(msg,trel);
rp= reshape(cn,length(cn)/k,k);
dec=bi2de(rp,'left-msb');
X_mod=pskmod(dec,Bps);
ifft_sig =ifft(X_mod,N_fft);
ifft_sig=ifft_sig)';
%%%%%%%%%%%% GI %%%%%%%%%%%%
cp = ifft_sig(49:64);
cp= [cp ifft_sig];
cp=cp)';
%%%%%%%%% NOISE %%%%%%%%%%%%%%%%%%%%%%
noise=randn(size(cp))+j*randn(size(cp))*1/sqrt(2);
H= cp+noise;
% power=sum(abs(X_mod).^2)/length(X_mod);
% pwsig=10*log10(power);
% nipower=pwsig-snr;
% H=wgn(1,length(cp),nipower,'complex');
%%%%%%%%%%%%%%% Remove CP %%%%%%%%%%%%%%%%%%%%%%%%%
GR = H(17:end);
%%%%%%%%%%%%% FFT %%%%%%%%%%%%%%%%%%%%%%%%%%%%
ff_sig = fft(GR,N_fft);
%%%%%%%%%%%%%%%%Demodulation%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
dem = pskdemod(ff_sig,Bps);
bi=de2bi(dem,'left-msb');
bi=bi)';
%%%%%%%%%%%%%%%%%% Decode %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
x_decod=vitdec(bi,trel,DecodeDepth,'trunc', 'hard');
decod=x_decod(1:48);
[row,column]=size(msg);
BER=0;
biterror=0;
for i=1:row
for j=1:X
if decod(i,j)~=msg(i,j)
biterror=biterror+1;
end
end
end
BER(snr_i)=biterror/(row*X)
%[num(snr_i),rat(snr_i)]=biterr(msg,decod);
% err =xor(msg,decod);
%rat=err(snr_i)/length(msg);
yy=semilogy(snr_i,BER,'b-');
grid on
% end
end
plz plzzz help me out wat i m doing wrong ........... i hv to submitt that assignment .......thx in advance
clc;
clear all
rand('seed',0);
randn('seed',0);
packets =100;
Bps=4;
DecodeDepth=28;
n=4;
k=2;
bits=12;
rate=1/2;
cons= 7;
gen=[171 133];
N_fft=64;
SNR_arry = 0:5:25
for snr_i=1:length(SNR_arry);
snr=SNR_arry(snr_i)
X=n*bits;
%for i=1ackets
msg=randint(1,X);
trel=poly2trellis(cons,gen);
cn = convenc(msg,trel);
rp= reshape(cn,length(cn)/k,k);
dec=bi2de(rp,'left-msb');
X_mod=pskmod(dec,Bps);
ifft_sig =ifft(X_mod,N_fft);
ifft_sig=ifft_sig)';
%%%%%%%%%%%% GI %%%%%%%%%%%%
cp = ifft_sig(49:64);
cp= [cp ifft_sig];
cp=cp)';
%%%%%%%%% NOISE %%%%%%%%%%%%%%%%%%%%%%
noise=randn(size(cp))+j*randn(size(cp))*1/sqrt(2);
H= cp+noise;
% power=sum(abs(X_mod).^2)/length(X_mod);
% pwsig=10*log10(power);
% nipower=pwsig-snr;
% H=wgn(1,length(cp),nipower,'complex');
%%%%%%%%%%%%%%% Remove CP %%%%%%%%%%%%%%%%%%%%%%%%%
GR = H(17:end);
%%%%%%%%%%%%% FFT %%%%%%%%%%%%%%%%%%%%%%%%%%%%
ff_sig = fft(GR,N_fft);
%%%%%%%%%%%%%%%%Demodulation%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
dem = pskdemod(ff_sig,Bps);
bi=de2bi(dem,'left-msb');
bi=bi)';
%%%%%%%%%%%%%%%%%% Decode %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
x_decod=vitdec(bi,trel,DecodeDepth,'trunc', 'hard');
decod=x_decod(1:48);
[row,column]=size(msg);
BER=0;
biterror=0;
for i=1:row
for j=1:X
if decod(i,j)~=msg(i,j)
biterror=biterror+1;
end
end
end
BER(snr_i)=biterror/(row*X)
%[num(snr_i),rat(snr_i)]=biterr(msg,decod);
% err =xor(msg,decod);
%rat=err(snr_i)/length(msg);
yy=semilogy(snr_i,BER,'b-');
grid on
% end
end