You are on page 1of 2

clear all;

close all;
clc;
a=100000
b=rand(1,a)>0.5;
d=dc16qam(b);
z(3)=randi(1);
for i=1:(2500*10)
z(3+i)=d(i);
end
c=ifft(z);
y=awgn(c,30,'measured')
v=fft(y);
for i=1:(2500*10)
g(i)=v(3+i);
end
for i=1:(5*500)
aa(i)=g(i);
ee(i)=g(i+500*5);
bb(i)=g(i+1000*5);
cc(i)=g(i+1500*5);
dd(i)=g(i+2000*5);
aaz(i)=g(i+2500*5);
eez(i)=g(i+3000*5);
bbz(i)=g(i+3500*5);
ccz(i)=g(i+4000*5);
ddz(i)=g(i+4500*5);
end
aaa=gdc16qam(aa);
eee=gdc16qam(ee);
bbb=gdc16qam(bb);
ccc=gdc16qam(cc);
ddd=gdc16qam(dd);
aaaz=gdc16qam(aaz);
eeez=gdc16qam(eez);
bbbz=gdc16qam(bbz);
cccz=gdc16qam(ccz);
dddz=gdc16qam(ddz);
for i=1:(5*2000)
e(i)=aaa(i);
end
for i=10001:20000
e(i)=eee(i-2000*5);
end
for i=20001:30000
e(i)=bbb(i-4000*5);
end
for i=30001:40000
e(i)=ccc(i-6000*5);
end
for i=40001:50000
e(i)=ddd(i-8000*5);
end
for i=50001:(60000)
e(i)=aaaz(i-50000);
end
for i=60001:70000
e(i)=eeez(i-60000);
end

for i=70001:80000
e(i)=bbbz(i-70000);
end
for i=80001:90000
e(i)=cccz(i-80000);
end
for i=90001:100000
e(i)=dddz(i-90000);
end
error=sum(mod(e+b,2))

You might also like