clear;
n=100000;%Length of the Signal
signal=round(rand(1,n));%Random
f0=2000;
f1=4000;
R=1000;%Signal Frequency
T=0:1/100/R:99/100/R;
wave0=cos(2*pi*f0.*T-pi/2);
wave1=cos(2*pi*f1.*T-pi/2); ssignal=1-signal;
fsk=reshape((ssignal'*wave0+signal'*wave1)',1,length(signal)*length(wave0));
T=0:1/100/R:(n*100-1)/100/R;
wave0=cos(2*pi*f0.*T-pi/2);
wave1=cos(2*pi*f1.*T-pi/2);
for(j=0:10)
nfsk=awgn(fsk,j,13.9794);
defsk=nfsk.*wave1-nfsk.*wave0;
defsk=sum(reshape(defsk,100,n))/100;
right=0;
wrong=0;
for(i=1:n)
if(defsk(i)>=0)
if(signal(i)==1)
right=right+1;
else
wrong=wrong+1;
end
end
if(defsk(i)<0)
if(signal(i)==0)
right=right+1;
else
wrong=wrong+1;
end
end
end
p(j+1)=wrong/n;
end for(i=0:10)
pe(i+1)=0.5*erfc(sqrt((10.^(i/10))/2));
end
pe
p
semilogy(0:10,pe,'ro',0:10,p,'b*',0:10,pe,0:10,p);
title('FSK-COHERENT o--theoratical *--experimental');
ylabel('BER');xlabel('SNR E/N(dB)');
grid on;
横轴是信噪比SNR,纵轴是误码率BER
n=100000;%Length of the Signal
signal=round(rand(1,n));%Random
f0=2000;
f1=4000;
R=1000;%Signal Frequency
T=0:1/100/R:99/100/R;
wave0=cos(2*pi*f0.*T-pi/2);
wave1=cos(2*pi*f1.*T-pi/2); ssignal=1-signal;
fsk=reshape((ssignal'*wave0+signal'*wave1)',1,length(signal)*length(wave0));
T=0:1/100/R:(n*100-1)/100/R;
wave0=cos(2*pi*f0.*T-pi/2);
wave1=cos(2*pi*f1.*T-pi/2);
for(j=0:10)
nfsk=awgn(fsk,j,13.9794);
defsk=nfsk.*wave1-nfsk.*wave0;
defsk=sum(reshape(defsk,100,n))/100;
right=0;
wrong=0;
for(i=1:n)
if(defsk(i)>=0)
if(signal(i)==1)
right=right+1;
else
wrong=wrong+1;
end
end
if(defsk(i)<0)
if(signal(i)==0)
right=right+1;
else
wrong=wrong+1;
end
end
end
p(j+1)=wrong/n;
end for(i=0:10)
pe(i+1)=0.5*erfc(sqrt((10.^(i/10))/2));
end
pe
p
semilogy(0:10,pe,'ro',0:10,p,'b*',0:10,pe,0:10,p);
title('FSK-COHERENT o--theoratical *--experimental');
ylabel('BER');xlabel('SNR E/N(dB)');
grid on;
横轴是信噪比SNR,纵轴是误码率BER