rcssimulation.m

来自「一个雷达回波模拟的matlab程序包,含有在RCS服从卡方分布,瑞利分布,对数正」· M 代码 · 共 30 行

M
30
字号
function [RCS]=RCSsimulation(Num_sh,Num_T,RCSmodeltype,RCSparameter1,RCSparameter2)
%功能:为每艘船仿真其RCS的抖动情况
%输入参量: Num_sh船的个数
%         Num_T扫频周期(采样点)个数
%         RCSmodeltype为RCS模型选择
%         RCSparameter1为关于RCS模型的第一个参量
%         RCSparameter2为关于RCS模型的第二个参量
%输出参量:RCS每条船的雷达散射截面
if (0<=RCSmodeltype)&(RCSmodeltype<=3)
RCS=zeros(Num_T,Num_sh);                                                          %RCS矩阵初始化
switch RCSmodeltype
    case 0
        RCSmodel=ones(fix(Num_T/10)+1,Num_sh);                                    %RCS无起伏%
    case 1
        RCSmodel=chi2rnd(RCSparameter1,fix(Num_T/10)+1,Num_sh);                   %RCS服从卡方分布模型,此时RCSparameter1表示其自由度%
    case 2
        RCSmodel=raylrnd(RCSparameter1,fix(Num_T/10)+1,Num_sh);                   %RCS服从瑞利分布模型,此时RCSparameter1表示其参量%
    case 3
        RCSmodel=lognrnd(RCSparameter1,RCSparameter2,fix(Num_T/10)+1,Num_sh);     %RCS服从对数正态分布模型,此时RCSparameter1表示其均值,RCSparameter2表示其标准差%
end
for L=1:Num_sh 
    for i=0:fix(Num_T/10)-1                     
    RCS(i*10+1:(i+1)*10,L)=RCSmodel(i+1,L);           %让RCS每10个时间点取相同的一个值,该值满足第一种起伏模型%
    end
    RCS((i+1)*10+1:Num_T,L)=RCSmodel(i+2,L);          %剩下的数也取同一个值,该值满足第一种起伏模型%
end
    else
error('The number of "RCSmodeltype" must be among 0 and 3 (0,3 included)')   %RCS起伏模型选择错误,报错
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?