matlab能检测磁通量吗,能量检测程序看得不太懂,有大神能帮一下忙吗

这篇博客详细探讨了在信号噪声比(SNR)分别为-5dB、-8dB和-10dB的情况下,通过能量检测和置信度判决进行信号检测的性能。通过实验模拟,计算了各种SNR下的假警报概率和检测概率,展示了如何选择合适的判决阈值以优化检测效果。
摘要由CSDN通过智能技术生成

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

clear all;

clc;

n = 5;

ps = 1;

SNR1 = -5;

SNR2 = -8;

SNR3 = -10;

% Sim_Times=10000; %Monter-Carlo times

% m=5;

T=0.001;

% 信号带宽W

W=5*10^4;

% 采样频率

Fs = 2*W; m = T*W; n = 2*T*W;

% F0=W; % Fs=2;

% Sig=sqrt(2)*sin(2*pi*F0/Fs*t); %single tone samples, Fs=2F0

% 实际信噪比

snr1 = 10.^(SNR1/10);

snr2 = 10.^(SNR2/10);

snr3 = 10.^(SNR3/10);

pn = (1/snr1)*ps;

mu0 = n*pn;

sigma0 = sqrt(2*n)*pn;

mu = n*(pn+ps);

sigma = sqrt(2*n*(pn^2+2*pn*ps));

% [noi,x0,mu0,sigma0,m0] = cnoi( n,pn );

% sig = randn(n,1);

sig = 1;

% 重复次数

count = 5000;

% 能量检测判决门限

lambda = [200:20:600];

lambda1 = [500:20:900];

lambda2 = [700:30:1300];

% 置信度判决参数

% tt = [-5:0.4:3]; % cc = 10.^tt;

% tt1 = [-1:0.1:1]; % cc1 = 10.^tt;

% cc2 = [-0.01:0.001:0.01];

for kk = 1:1:length(lambda); ff = 0; dd = 0; ff1 = 0; dd1 = 0; ff2 = 0; dd2 = 0;

for ii=1:1:count; t = (kk-1)*n+1:kk*n; init_phase = 1/6*pi;

sig=2*sin(2*pi*W/Fs*t+init_phase);

%sig=1;

%dot(sig,sig)/n

noi1 = randn(1,n);

noi1 = sqrt(1/snr1)*noi1;

rec1 = noi1 + sig;

noi2 = randn(1,n);

noi2 = sqrt(1/snr2)*noi2;

rec2 = noi2 + sig;

noi3 = randn(1,n);

noi3 = sqrt(1/snr3)*noi3;

rec3 = noi3 + sig;

sum0_1 = dot(noi1,noi1);

sum0_2 = dot(noi2,noi2);

sum0_3 = dot(noi3,noi3);

sum1_1 = dot(rec1,rec1);

sum1_2 = dot(rec2,rec2);

sum1_3 = dot(rec3,rec3);

%单用户能量检测判决

if (sum0_1 > lambda(kk)); ff = ff+1;

end

if (sum1_1 > lambda(kk)); dd = dd+1;

end

if (sum0_2 > lambda1(kk)); ff1 = ff1+1;

end

if (sum1_2 > lambda1(kk)); dd1 = dd1+1;

end

if (sum0_3 > lambda2(kk)); ff2 = ff2+1;

end

if (sum1_3 > lambda2(kk)); dd2 = dd2+1;

end

end

Pd_1(kk) = dd/count;

Pf_1(kk) = ff/count;

Pd_2(kk) = dd1/count;

Pf_2(kk) = ff1/count;

Pd_3(kk) = dd2/count;

Pf_3(kk) = ff2/count;

end

plot(Pf_1,Pd_1,'-o',Pf_2,Pd_2,'-s',Pf_3,Pd_3,'-*');

hold on;

grid on;

xlabel('False alarm probability, P_{Fa}');

ylabel('Detection probability, P_{d}');

legend('能量检测 SNR=-5dB,n=100','能量检测 SNR=-8dB,n=100','能量检测 SNR=-10dB,n=100');

grid on;

hold on;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值