当前位置:   article > 正文

杂波的瑞利分布MATLAB实现完整代码分享_pburg matlab

pburg matlab

杂波的瑞利分布简介:

        式中,x为海杂波幅度瞬时值,二迂为杂波幅度的均方值。这里假定海杂波是由许多相互独立的随机散射体形成的,因此根据中心极限定理,其功率服从于正态分布,其包络的概率密度函数为瑞利分布,这种分布适合于低分辨率雷达(天线波束宽度大于二,脉冲宽度大于1)在低海情工作的情况,为求得分布「n,必须由已知测量数据估计参数T。

本文程序输出结果:

 完整程序:

主程序

clc;
clear all;
close all;
azi_num=2000;   %取2000个点
fr=1000;        %雷达重复频率

lamda0=0.05;   %杂波波长
sigmav=1.0;     %杂波方差
sigmaf=2*sigmav/lamda0;  

rand('state',sum(100*clock)); %产生服从U(0,1)分布的随机序列
d1=rand(1,azi_num);            
rand('state',7*sum(100*clock)+3);
d2=rand(1,azi_num);
xi=2*sqrt(-2*log(d1)).*cos(2*pi*d2);  %正交且独立的高斯序列N(0,1)
xq=2*sqrt(-2*log(d1)).*sin(2*pi*d2);
%形成滤波器频率响应
coe_num=12;           %求滤波器系数,用傅里叶级数展开法
for n=0:coe_num
    coeff(n+1)=2*sigmaf*sqrt(pi)*exp(-4*sigmaf^2*pi^2*n^2/fr^2)/fr;  
end
for n=1:2*coe_num+1
    if n<=coe_num+1
        b(n)=1/2*coeff(coe_num+2-n);
    else
        b(n)=1/2*coeff(n-coe_num);
    end
end

生成高斯谱杂波并形成瑞利分布

  1. xxi=conv(b,xi);
  2. xxq=conv(b,xq);
  3. xxi=xxi(coe_num*2+1:azi_num+coe_num*2);%目的是去掉暂态响应
  4. xxq=xxq(coe_num*2+1:azi_num+coe_num*2);
  5. xisigmac=std(xxi);
  6. ximuc=mean(xxi);
  7. yyi=(xxi-ximuc)/xisigmac;
  8. xqsigmac=std(xxq);
  9. xqmuc=mean(xxq);
  10. yyq=(xxq-xqmuc)/xqsigmac; %归一化
  11. sigmac=1.2 ; %杂波的标准差
  12. yyi=sigmac*yyi; %使瑞利分布杂波具有指定的标准差
  13. yyq=sigmac*yyq; %使瑞利分布虚部杂波
  14. ydata=yyi+j*yyq; %瑞利分布杂波形成

瑞利分布的实部与虚部分布

  1. figure;
  2. subplot(211);plot(real(ydata)); %瑞利分布杂波实部
  3. title('瑞利杂波时域波形,实部');
  4. subplot(212);plot(imag(ydata)); %瑞利分布杂波虚部
  5. title('瑞利杂波时域波形,虚部')

杂波幅度分布图

  1. num=100; %求概率密度函数的参数
  2. maxdat=max(abs(ydata));
  3. mindat=min(abs(ydata));
  4. NN=hist(abs(ydata),num);
  5. xpdf1=num*NN/((sum(NN))*(maxdat-mindat)); %用直方图估计的概率密度函数
  6. xaxisl=mindat:(maxdat-mindat)/num:maxdat-(maxdat-mindat)/num;
  7. th_val=(xaxisl./sigmac.^2).*exp(-xaxisl.^2./(2*sigmac.^2)); %概率密度函数理论值
  8. figure;
  9. plot(xaxisl,xpdf1); %做出仿真结果的概率密度函数曲线
  10. hold on;plot(xaxisl,th_val,'r:'); %做出理论概率密度函数曲线
  11. title('杂波幅度分布');
  12. xlabel('幅度');ylabel('概率密度');

杂波频谱图

  1. signal=ydata;
  2. signal=signal-mean(signal); %求功率谱密度,先去掉直流分量
  3. figure;M=256; %用burg法估计功率谱密度
  4. psd_dat=pburg(real(signal),32,M,fr);
  5. psd_dat=psd_dat/(max(psd_dat)); %归一化处理
  6. freqx=0:0.5*M;
  7. freqx=freqx*fr/M;
  8. plot(freqx,psd_dat);title('杂波频谱');
  9. xlabel('频率/HZ');ylabel('功率谱密度');
  10. %做出理想高斯谱曲线
  11. powerf=exp(-freqx.^2/(2*sigmaf.^2));
  12. hold on;plot(freqx,powerf,'r:');

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/83747
推荐阅读
相关标签
  

闽ICP备14008679号