分享

swerling模型三部曲--------swerling 0(Ⅴ)和swerling Ⅰ模型检测概率以及MATLAB仿真

 汉无为 2024-05-10 发布于湖北

    又到了三部曲系列了,离上一次的三部曲有一段时间了图片图片图片,这回的三部曲主要分为:swerling 0(Ⅴ)和swerling Ⅰ模型检测概率、swerling Ⅱ和swerling Ⅲ模型检测概率、swerling Ⅳ0(Ⅴ)检测概率和四种swerling模型检测概率的对比。话不多说,咱们进入正题。由于这一系列的文章是上一篇文章的延伸,所以会引用到上文的公式,提到的公式大家可以参考上一篇文章。

检测概率相对于单个脉冲的SNR关系曲线以及MATLAB仿真

白夜思凡,公众号:白夜尚好检测概率相对于单个脉冲的SNR关系曲线以及MATLAB仿真

一、检测概率的计算

    对于np>1的情况,Marcum定义的虚警概率为:

图片

    np为积累脉冲数,nfa为Marcum虚警数。对于非起伏目标,单个脉冲的检测概率由公式(2)给出(参考),当np>1时,使用Gram-Charlier级数计算检测概率。此时检测概率为:

图片

图片

    其中,常数C3、C4和C6是Gram-Charlier级数的系数,变量V为

图片

    其中VT是检测门限值,C3、C4、C6和图片的数值根据目标起伏类型变化

二、swerling V(0)型目标的检测

    对于这类目标的起伏,使用公式15计算检测概率。此时,Gram-Charlier级数的系数为:

图片

例子:计算swerling Ⅴ型目标的检测概率:

主函数

clcclear allclose all%swerling 0型效果图%显示np=1,10时检测概率相对于SNR的曲线pfa = 1e-9; %虚警率b = sqrt(-2.0 * log(pfa));index =0 ;for snr =0:0.1:20 index = index + 1; a = sqrt(2.0 * 10^(snr/10)); pro(index)=marcumsq(a,b); prob(index) = pd_swerling5(pfa,1,10,snr);endx=0:0.1:20;plot(x,pro,'k',x,prob,'k:');axis([0 20 0 1]);xlabel('SNR(dB)');ylabel('检测概率');legend('np=1','np=10');grid on title('检测概率相对于SNR的曲线,pfa=10^-9,非相干积累')

marcumsq函数

function PD = marcumsq(a,b)%该方程运用parls方法来计算检测概率max_test_value = 5000;if(a<b)    alpha0 =1.0;    dn = a/b;else    alpha0 = 0;     dn = b/a;endalpha_1 = 0.0;beta0 = 0.5;beta_1 = 0.0;D1 = dn;n=0;ratio = 2.0/(a*b);r1 = 0.0;beta = 0.0;alpha = 0.0;while beta<1000    n = n+1;    alpha = dn + ratio * n*alpha0+alpha;    beta = 1.0 + ratio * n*beta0 +beta;    alpha_1 = alpha0;    alpha0 = alpha;    beta0 = beta;    dn = dn * D1;endPD = (alpha0/(2.0*beta0)) * exp(-(a-b)^2/2.0);if(a>=b)    PD = 1.0 - PD;endreturn

pd_swerling5函数

function pd = pd_swerling5(input1,indicator,np,snrbar)%该函数是用于计算swerling Ⅴ 或者 0 模型下np>1的目标的检测概率%input1 Pfa或nfa % Pfa:虚警概率,nfa:Marcum虚警数%indicator: 当input1 = Pfa时,为1,当input1 = nfa时,为2%np:脉冲积累数%snr:信噪比%pd: 检测概率if(np == 1) 'stop ,np must be greater than 1' return endformat longsnrbar = 10.0.^(snrbar./10);eps = 1e-8;delmax = 1e-5;delta = 1e4;%计算门限值Vt%采用fehlner将虚警数定义的公式。if(indicator ~= 1) nfa = input1; pfa = np * log(2) / nfa;else pfa = input1; nfa = np * log(2) / pfa;endsqrtpfa = sqrt(-log10(pfa));sqrtnp = sqrt(np);vt0 = np - sqrtnp + 2.3*sqrtpfa * (sqrtpfa + sqrtnp -1.0);vt = vt0;while(abs(delta) >= vt0 ) igf = incomplete_gamma(vt0,np); num = 0.5^(np/nfa)-igf; temp = (np - 1)*log(vt0+eps)-vt0-factor(np - 1); deno = exp(temp); vt = vt0 + (num / (deno +eps)); delta = abs(vt - vt0)*10000.0; vt0 = vt;end%计算Gram-Charlier系数temp1 = 2.0.*snrbar+1.0;omegabar = sqrt(np.*temp1);c3 = -(snrbar+1.0/3.0)./(sqrt(np).*temp1.^1.5);c4 = (snrbar + 0.25)./(np.*temp1.^2);c6 = c3 .* c3./2.0;V = (vt - np.*(1.0+snrbar))./omegabar;Vsqr = V.*V;val1 = exp(-Vsqr./2.0)./sqrt(2.0*pi);val2 = c3 .* (V.^2-1.0) + c4.*V.*(3.0-V.^2)-c6.*V.*(V.^4-10.*V.^2 + 15.0);q = 0.5 .* erfc(V./sqrt(2.0));pd = q - val1.*val2;

incomplete_gamma函数

function [value] = incomplete_gamma(vt,np)%该函数主要计算不完全Gamma函数%vtformat longeps = 1.000000001;%测试np=1的情况if(np == 1)    value1 = vt * exp(-vt);    value = 1.0-exp(-vt);endsumold = 1.0;sumnew = 1.0;calc1 = 1.0;calc2 = np;xx = np * log(vt + 0.0000000001) - vt - factor(calc2);temp1 = exp(xx);temp2 = np /(vt + 0.0000000001);diff = .0;radio = 1000.0;if(vt >= np)    while(radio >= eps)        diff = diff + 1.0;        calc1 = calc1 *(calc2 - diff)/vt;        sumnew = sumold + calc1;        radio = sumnew / sumold;        sumold = sumnew;    end    value = 1.0 - temp1*sumnew*temp2;else    diff = .0;    sumold =1.;    radio = 1000;    calc1 = 1;    while(radio >= eps)        diff = diff +1.0;        calc1 =calc1*vt/(calc2+diff);sumnew = sumold+calc        radio = sumnew / sumold;        sumold =sumnew;    end    value = temp1 * sumnew;end

factor函数

function [val] = factor(n)%使用对数计算n的阶乘来避免溢出format longn = n+9.0;n2 = n * n;temp = (n-1)*log(n)-n+log(sqrt(2.0 * pi*n))+((1.0-(1.0/30+(1.0/105)/n2)/n2)/12)/n;val = temp - log((n-1)*(n-2)*(n-3)*(n-4)*(n-5)*(n-6)*(n-7)*(n-8));

图片

    上图显示了np=1,10时检测概率相对于SNR的曲线,从图中可以看出,为获得相同的检测概率,10个脉冲非相干积累需要更少的SNR。


三、 Swerling Ⅰ型目标的检测

    Swerling Ⅰ型目标的检测概率准确公式:

图片

图片

例子1:主函数

clcclear allclose allpfa = 1e-9;nfa = log(2)/pfa;b = sqrt(-2.0 * log(pfa));index = 0;for snr = 0:0.1:22    index = index + 1;    a = sqrt(2.0*10^(snr/10));    pro(index)=marcumsq(a,b);    prob(index) = pd_swerling1(nfa,1,snr);endx=0:0.1:22;plot(x,pro,'k',x,prob,'k:');axis([2 22 0 1]);xlabel('SNR - dB');ylabel('检测概率');legend('swerling Ⅴ','swerling Ⅰ')grid on

图片

    图中显示的是np=1和图片,对于Swerling Ⅰ和Ⅴ型起伏,检测概率作为SNR函数的曲线。可以看出,为了获得与无起伏情况相同的检测概率,在有起伏时,需要更高的SNR。

例子2:主函数

clcclear allclose allpfa = 1e-11;nfa = log(2) / pfa;index = 0;for snr = -10:0.5:30 index = index + 1; prob1(index) = pd_swerling1(nfa,1,snr); prob10(index) = pd_swerling1(nfa,10,snr); prob50(index) = pd_swerling1(nfa,50,snr); prob100(index) = pd_swerling1(nfa,100,snr);endx = -10:0.5:30;plot(x,prob1,'k',x,prob10,'k:',x,prob50,'k--',x,prob100,'k-.');axis([-10 30 0 1]);xlabel('SNR-dB');ylabel('检测概率');legend('np=1','np=10','np=50','np=100');grid on;

    图中显示了np=1,10,50,100时,检测概率相对于SNR曲线,其中图片

图片

pd_swerling1函数

function pd = pd_swerling1(nfa,np,snrbar)%计算目标起伏模型为swerling Ⅰ型的检测概率format longsnrbar = 10.0^(snrbar/10);eps = 0.00000001;delmax = .00001;delta = 10000;%计算阈值Vtpfa = np*log(2)/nfa;sqrtpfa = sqrt(-log10(pfa));sqrtnp = sqrt(np);vt0=np - sqrtnp + 2.3 * sqrtpfa * (sqrtpfa +  sqrtnp - 1.0);vt = vt0;while(abs(delta) >= vt0)    igf = incomplete_gamma(vt0,np);    num = 0.5^(np/nfa) - igf;    temp = (np - 1)*log(vt0+eps)-vt0-factor(np-1);    deno = exp(temp);    vt = vt0+(num/(deno+eps));    delta = abs(vt - vt0)*10000;    vt0 = vt;endif(np == 1)    temp = -vt/(1.0+snrbar);    pd = exp(temp);    return;endtemp1 = 1.0 + np*snrbar;temp2 = 1.0/(np*snrbar);temp = temp2 + 1;vall = temp^(np-1);igf1 = incomplete_gamma(vt,np-1);igf2 = incomplete_gamma(vt/temp,np-1);pd = 1.0 - igf1 + vall*igf2 * exp(-vt/temp1);


四、总结

    以上是关于swerling 0(Ⅴ)和swerling Ⅰ模型相关的检测概率和模型的全部内容,其中包括了相关模型的数学公式和matlab仿真。其中swerling 0(Ⅴ)模型介绍中对照单脉冲和非相参积累,发现非相参积累只需要很小的SNR就能达到单脉冲的效果。swerlingⅠ型中对比了swerling 0和swerlingⅠ型,有起伏和无起伏相比,要达到相同的检测概率,需要更大的SNR,另外还对比了不同np条件下,swerlingⅠ模型,检测概率和SNR之间的关系。

五、参考内容

      雷达系统设计MATLAB仿真

如有侵权,请联系删除:


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多