登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
雷达与毫米波技术交流
>
技术基础
>
[讨论]ZMNL海杂波仿真matlab程序中的问题
发帖
回复
2512
阅读
1
回复
[讨论]ZMNL海杂波仿真matlab程序中的问题
离线
cwcwcw
UID :367
注册:
2006-12-04
登录:
2020-03-05
发帖:
20
等级:
内置消息员
0楼
发表于: 2008-12-28 01:26:01
下面的程序是罗军辉编著的《matlab 7.0 在数字信号处理中的应用》一书中的程序。其中关于用傅里叶级数展开法求滤波器系数这一方法究竟是怎么来的,有哪位看过这本书或者看懂了这个程序,请帮忙解释一下。另外,程序中并没有关于相关系数的转换等式,而这个转换在ZMNL方法中是屡次提到的,这究竟又是为何?这个程序究竟对不对?%%%%瑞利杂波的产生过程clear all;close allazi_num=2000; %雷达回波帧数,一帧表示一个重复周期 fr=1000; lamda0=0.05; sigmav=1.0; sigmaf=2*sigmav/lamda0; randn('state',sum(100*clock)); d1=randn(1,azi_num); rand('state',7*sum(100*clock) 3); d2=randn(1,azi_num); xi=2*sqrt(-2*log(d1)).*cos(2*pi*d2); xq=2*sqrt(-2*log(d1)).*cos(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 %%%生成高斯谱杂波 xxi=conv(b,xi); xxq=conv(b,xq); xxi=xxi(coe_num*2 1:azi_num coe_num*2); xxq=xxq(coe_num*2 1:azi_num coe_num*2); xisigmac=std(xxi); ximuc=mean(xxi); yyi=(xxi-ximuc)/xisigmac; xqsigmac=std(xxq); xqmuc=mean(xxq) yyq=(xxq-xqmuc)/xqsigmac; sigmac=1.2; yyi=sigmac*yyi; yyq=sigmac*yyq;% j=sqrt(-1); ydata=yyi j*yyq; figure(2), subplot(2,1,1),plot(real(ydata)); title('瑞利杂波时域波形--实部') subplot(2,1,2),plot(imag(ydata)); title('瑞利杂波时域波形--虚部') num=100; maxdat=max(abs(ydata)); mindat=min(abs(ydata)); NN=hist(abs(ydata),num); xpdf1=num*NN/((sum(NN))*(maxdat-mindat)); xaxis1=mindat:(maxdat-mindat)/num:maxdat-(maxdat-mindat)/num; th_va1=(xaxis1./sigmac^2).*exp(-xaxis1.^2./(2*sigmac^2)); figure(3), plot(xaxis1,xpdf1); hold ;plot(xaxis1,th_va1,':r'); title('杂波的幅度分布'); xlabel('杂波的幅度') ylabel('概率密度') signal=ydata; signal=signal-mean(signal); %%%%用burg法来估计功率谱密度 figure(4), M=256; psd_dat=pburg(real(signal),32,M,fr); psd_dat=psd_dat/(max(psd_dat)); freqx=0:0.5*M; freqx=freqx*fr/M; plot(freqx,psd_dat); title('杂波频谱'); xlabel('频率/Hz') ylabel('功率谱密度') %%%作出理想的功率谱曲线 powerf=exp(-freqx.^2/(2*sigmaf.^2)); hold plot(freqx,powerf,':r');
相关性是根前面那个滤波器设计相关的。滤波器的设计决定了杂波的相关性。这个程序的滤波器是根据一些相关的典型参数来设计的,具体怎么实现的我也不知道了。
上面这个程序在仿真对数正态、weibull分布时求解滤波器系数用的是相同的程序,谁能看明白具体推导一下就好了,造福了广大做海杂波的同仁们,关键是有一个能够参考入门的程序,这在刚入门时是很重要的(窃以为)! 我现在倒觉得这个程序是直接将最终要仿真的杂波的功率谱等于高斯白噪声通过线形滤波器输出而得到的相关高斯噪声的功率而直接用傅里叶级数展开法求滤波器系数的,这个程序根本就没有进行相关系数的转换,所以这个方程应该是错误的或者说只是个近似结果。
他是没有给出系数的转换。但是人家给出的是符合某一种相关性的杂波,也就是说相关性已经确定了,滤波器的系数也就已经确定了。我觉得是这样的。
这个程序产生出来的杂波的频率的均值是0,我想把它搬移一下,在程序:title('杂波幅度分布');xlabel('幅度');ylabel('概率密度');signal=ydata; 后 将signal 点乘cos(f0*t)为什么频谱没搬移到f0去呢?%%%我添加的程序title('杂波幅度分布');xlabel('幅度');ylabel('概率密度');signal=ydata;MM=length(signal);XNNN=0:0.001:MM/1000-0.001; %cos(2*pi*100*XNNN);signal=(signal-mean(signal))%.*cos(2*pi*100000000*XNNN);%求功率谱密度,先去掉直流分量%%用Burg法估计功率谱密度figure(4),M=256;
作者是直接用傅里叶级数展开法求滤波器系数的,根本没有用到相关系数的转换。
坦率的说吧,我对这本书的这段程序也是深表怀疑-确实没有进行随机序列各种分布下的相关函数与高 ..
g*oX`K.
3R%JmLM+R9
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
wenforce
UID :17081
注册:
2008-08-23
登录:
2009-03-28
发帖:
5
等级:
旁观者
1楼
发表于: 2009-02-21 12:34:53
我对这个程序也是非常怀疑,和楼主的看法一样,其中没有进行相关系数的转换。复利叶系数展开法我不太懂
共
条评分
发帖
回复