[問題] 可以幫我看看BPSK嗎?已回收
不好意思 可以幫我看看BPSK嗎?
模擬出來的點就是不對? 可以幫我看看哪邊有出錯嗎?
% Main code
close all;clear all;
SNR_dB1=0:2:10;
SNR_dB2=0:0.1:10;
bit_err_prb=zeros(1,length(SNR_dB1));
theo_err_prb=zeros(1,length(SNR_dB2));
for i=1:length(SNR_dB1),
bit_err_prb(i)=bpsk_pb(SNR_dB1(i));
end
for i=1:length(SNR_dB2),
SNR=exp(SNR_dB2(i)*log(10)/10);
theo_err_prb(i)=Qfunc(sqrt(2*SNR));
end
semilogy(SNR_dB2,theo_err_prb);
hold
semilogy(SNR_dB1,bit_err_prb,'r*');
%
function pb=bpsk_pb(snr_in_db)
%
%
N=5000;
E=1; % energy per symbol
snr=10^(snr_in_db/10);
vari=sqrt(E/snr)/2;
% generate of the random data sourses between 0 & 1
data_s=sign(randint(1,N)-0.5);
% dection and the probability of error calculation
numofbiterror=0;
for i=1:N,
n=sqrt(vari)*randn;
r=data_s(i)+n;
% correlation metrics
c00=dot(r,1); % 1
c01=dot(r,-1); % 0
c_max=max([c00,c01]);
if (c00==c_max),
decis=1;
elseif (c01==c_max),
decis=-1;
end
% increment the error counter, if the decision is not correct
if(decis~=data_s(i)),
numofbiterror=numofbiterror+1;
end
end
pb=numofbiterror/N;
end
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 222.228.171.110
→
10/15 02:08, , 1F
10/15 02:08, 1F
→
10/15 23:04, , 2F
10/15 23:04, 2F
→
10/15 23:08, , 3F
10/15 23:08, 3F
→
10/15 23:32, , 4F
10/15 23:32, 4F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):