基于贝叶斯判决的最佳检测二元接收机,根据之前的文章更改的
i=10;
j=5000;
t=linspace(0,5,j);
x=(rand(1,i)); %随机产生1--i个数据
a=round(x);
p0=0;
p1=0;
st=t;
for n=1:10 %变成01二进制数 并计算个数
if a(n)<1
p0=p0+1;
for m=j/i*(n-1)+1:j/i*n
st(m)=0;
end
else
p1=p1+1; %统计个数用于计算判决门限
for m=j/i*(n-1)+1:j/i*n
st(m)=1;
end
end
end
figure(1);
subplot(311);
plot(t,st); %二元信号
axis([0,5,-1,2]);
title('原始信号st');
e=st;
e=awgn(e,10)
subplot(312);
plot(t,e);
title('加入噪声的信号波形');
at=e
for m=0:i-1;
b=0;
for n=(m*500+1):50:(m+1)*500 %
a=at(1,n)
b=b+a
end
if exp((2*b-10)/2)>3*(p0/p1) %进行贝叶斯检测抽样判决
for j=m*500+1:(m+1)*500
at(1,j)=1;
end
else
j=m*500+1:(m+1)*500
at(1,j)=0;
end
end
subplot(313);
plot(t,at);
axis([0,5,-1,2]);
title('抽样判决后波形图')