统计信号处理-计算机作业仿真-接收机组成分集系统计算错判概率-matlab仿真-附代码

  1. 接收机组成分集系统计算错判概率

  1. 题目

由M个接收机接收同一入射电磁波,每个接收机接收信号为:

{ ni(t)} 是均值为0,功率谱密度为N0/2的高斯白噪声。

Ai,Bi都是瑞利分布随机变量

已知P(Hi)=1/2,i=0,1。1/f1≪T,1/f2<T,|ω1-ω0|很大。定义信噪比

SNR=

将以上M个接收机构成一个分集系统,采用最小错误概率准则,计算M=1,2,4,6,8,16。SNR的范围0-60分贝,每个通道的射频脉冲为1,5,10时的错判概率。

  1. 仿真原理

对于二元假设检验的平均错误概率为

最小错误概率准则就是寻找最合适的判决门限th', 使平均错误判决错误概率Pe 达到最小。令Pe 关于th' 的导数为 0 即可求出使Pe 达到最小值的th', 即

显然ᵆ5<ᵆ1ℎ′判决ᵃb0为真, ᵆ5≥ᵆ1ℎ’判决ᵃb1为真。于是最小错误概率准则下得判决规则为

对于一个多接收机的系统,各接收机的内部噪声是独立同分布的。根据这 M部接收机接收信号进行判决,以确定是哪一种已知信号。x(t)=[x1(t),⋯,xM(t)]T,其似然比为

推导出的判决准则如下为

  1. 接收机组成的分集系统仿真

由上图可见,随着M的数目的增大,误码率成降低的趋势,并且随着信噪比的增大,误码率均逐渐减小到0。这与现实情况相符,说明我们的仿真较为合理。

M = [1,2,4,6,8,16]; 
SNR = 0:60; 
Pf = zeros(length(M),length(SNR)); 

for i = 1:length(M) 
    for j = 1:length(SNR) 
        % 计算概率密度函数
        pdf_A = (A0./(A0.^2)).*exp(-A0.^2./(2.*(SNR(i).*N0).^2));
        pdf_B = (A0./(A0.^2)).*exp(-A0.^2./(2.*(SNR(i).*N0).^2));
        Ax = sqrt((-2*A0)*log(1-rand(1)));
        phix = 2*pi*rand(1);
        x = Ax*sin(w0*i+phix)+randn(1,length(i));
        f0(i) = ((x*sin(w0*i)')*dt)^2+((x*cos(w0*i)')*dt)^2;
        f1(i) = ((x*sin(w1*i)')*dt)^2+((x*cos(w1*i)')*dt)^2;
        % 计算错误概率
        Pf(i,j) =  1 - (1-qfunc(sqrt(2*10^(SNR(j)/10)))).^M(i); 
    end 
end 

plot(SNR,Pf); 
xlabel('SNR(dB)'); 
ylabel('Pf'); 
legend('M=1','M=2','M=4','M=6','M=8','M=16');

(代码不完全正确)

猜你喜欢

转载自blog.csdn.net/qq_22471349/article/details/129168305
今日推荐