Matlab仿真信号检测实验---基于贝叶斯准则的二元信号检测

%最大似然准则
%H0=n
%H1=A+n
%噪声n均值为0,方差为1
c11=0;
c00=0;
c10=1;
c01=1;
A=3;
var=1;
var1=sqrt(var);
t=3;%运行时间
fs=500;%采样频率
v=50;%数据速率50bit/s
N=v*t;%数据长度
n=fs/v;%位数据扩数
b1=[];
a=1;%设定判决门限值
s=[];
for i=1:N
    temp=rand;%随机生成二进制比特流
    if(temp<0.5)
        b=zeros(1,n);
    else
        b=A*ones(1,n);
    end
    b1=[b1,b];%生成数据(矩阵的合并)
end
t=0:1/fs:t-1/fs;%横坐标设为时间,间隔为每点的采样时间
figure(1);
subplot(311);
plot(t,b1,'-r');
grid on;
title('初始信号');
axis([0 3 -1 4]);
s1=awgn(b1,20);%加噪声,信噪比是20dB 6
subplot(312);
plot(t,s1);
grid on;
title('添加噪声后的信号 ');
axis([0 3 -1 4]);
%P(H1/H0)=Q(R/var1)
%P(H0/H1)=Q((A-R)/var1)
%P(H1/H0)=P(H0/H1)
R=A/2;%A/2
L=length(s1);
for m=1:L
    if s1(m)

你可能感兴趣的:(matlab,朴素贝叶斯算法,信号处理)