分阶段。RangeEstimator
区间估计
描述
的分阶段。RangeEstimator
系统对象™估计目标的范围。估计器的输入由距离响应或距离多普勒响应数据立方体和来自探测器的探测位置组成。当关于检测集群的信息可用时,使用集群信息计算范围。集群将多个检测关联到一个扩展检测中。
计算距离响应或距离多普勒立方体的探测:
请注意
而不是使用一步
方法来执行System对象定义的操作,您可以调用带有参数的对象,就像调用函数一样。例如,Y = step(obj,x)
而且Y = obj(x)
执行等效操作。
建设
估计器=阶段性。RangeEstimator
创建一个范围估计器系统对象,估计量
.
估计器=阶段性。RangeEstimator (
创建一个System对象,的名字
,价值
)估计量
,使用每个指定的属性的名字
设置为指定的价值
.可以以任意顺序指定附加的名称和值对参数,如(Name1, Value1
、……的,家
).
属性
NumEstimatesSource
- - - - - -要报告的范围估计数量的来源
“汽车”
(默认)|“属性”
要报告的范围估计数量的来源,指定为“汽车”
或“属性”
.
如果将此属性设置为“汽车”
的列数确定所报告的估计数目detidx
的输入一步
方法。如果提供了集群id,则估计的数量由惟一的集群id的数量确定clusterids
的输入一步
方法。
如果将此属性设置为“属性”
的值得到报告估计的数量NumEstimates
财产。
数据类型:字符
NumEstimates
- - - - - -估计的最大数目
1
(默认)|正整数
要报告的范围估计的最大数目,指定为正整数。请求的估计数可以大于detidx
参数或惟一id的数量clusterids
的论证一步
方法。在这种情况下,剩下的是南
.
依赖关系
要启用此属性,请设置NumEstimatesSource
财产“属性”
.
数据类型:单
|双
ClusterInputPort
- - - - - -接受集群id作为输入
假
(默认)|真正的
选项接受群集id作为控件的输入参数一步
方法,指定为假
或真正的
.将此属性设置为真正的
使clusterids
输入参数。
数据类型:逻辑
VarianceOutputPort
- - - - - -范围估计的输出方差
假
(默认)|真正的
选项以启用范围估计方差的输出,指定为假
或真正的
.函数返回范围方差rngvar
的输出参数一步
方法。
数据类型:逻辑
RMSResolution
- - - - - -均方根距离分辨率
1.0
(默认)|积极的标量
检测的均方根距离分辨率,指定为正标量。的值RMSResolution
单位必须和rangegrid
的输入参数一步
方法。
依赖关系
的值可启用此属性VarianceOutputPort
财产真正的
.
数据类型:单
|双
NoisePowerSource
- - - - - -噪声源功率值
“属性”
(默认)|输入端口的
噪声源功率值,指定为“属性”
或输入端口的
.噪声功率用于计算距离估计方差和信噪比。如果将此属性设置为“属性”
的值NoisePower
属性表示检测位置的噪声功率。如果将此属性设置为输入端口的
方法指定噪声功率noisepower
的输入参数一步
方法。
数据类型:字符
NoisePower
- - - - - -噪声功率
1.0
(默认)|积极的标量
距离响应或距离多普勒响应数据立方体上的恒定噪声功率值,指定为正实标量。噪声功率单元是线性的。相同的噪声功率值应用于所有检测。
依赖关系
的值可启用此属性VarianceOutputPort
财产真正的
并设置NoisePowerSource
来“属性”
.
数据类型:单
|双
例子
估计三个目标的射程和速度
为了估计三个目标的距离和速度,使用分阶段。RangeDopplerResponse
系统对象™。然后使用分阶段。RangeEstimator
而且分阶段。DopplerEstimator
系统对象来估计范围和速度。发射机和接收器配置各向同性天线单元,形成单静态雷达系统。
发射信号为线性调频波形,脉冲重复间隔(PRI)为7.0 μs,占空比为2%。工作频率为77 GHz,采样速率为150 MHz。
Fs = 150e6;C = physconst(“光速”);Fc = 77.0e9;Pri = 7e-6;PRF = 1/pri;
设置场景参数。发射器和接收器是静止的,位于原点。目标距离雷达500米,530米,750米x设在。目标沿着x-轴的速度为-60、20和40米/秒。所有三个目标的非波动雷达横截面(RCS)均为10分贝。创建目标和雷达平台。
Numtgts = 3;tgtpos = 0 (Numtgts);Tgtpos (1,:) = [500 530 750];= 0 (3,Numtgts);Tgtvel (1,:) = [-60 20 40];TGTRCS = db2pow(10)*[1 1 1];tgtmotion = phase . platform (tgtpos,tgtvel);目标=阶段性。RadarTarget (“PropagationSpeed”c“OperatingFrequency”足球俱乐部,...“MeanRCS”, tgtrcs);Radarpos = [0;0;0];Radarvel = [0;0;0];平台(radarpos,radarvel);
创建发射机和接收器天线。
txantenna = phase . isotropicantennaelement;Rxantenna =克隆(txantenna);
建立了发射机端信号处理。创建一个向上扫描线性调频信号,带宽为采样速率的一半。找出样本中PRI的长度,然后估计均方根带宽和距离分辨率。
Bw = fs/2;波形=相控。LinearFMWaveform (“SampleRate”fs,...脉冲重复频率的脉冲重复频率,“OutputFormat”,“脉冲”,“NumPulses”, 1“SweepBandwidth”fs / 2,...“DurationSpecification”,的工作周期,“DutyCycle”, 0.02);Sig =波形();Nr =长度(sig);BWRMS =带宽(波形)/根号(12);RNGRMS = c/bwrms;
设置发射器和散热器系统对象属性。峰值输出功率为10 W,发射机增益为36 dB。
峰值功率= 10;Txgain = 36.0;发射机=相控。发射机(...“PeakPower”peakpower,...“获得”txgain,...“InUseOutputPort”,真正的);散热器=阶段性。散热器(...“传感器”txantenna,...“PropagationSpeed”c...“OperatingFrequency”、fc);
将自由空间通道设置为双向传播模式。
通道=阶段性。空闲空间(...“SampleRate”fs,...“PropagationSpeed”c...“OperatingFrequency”足球俱乐部,...“TwoWayPropagation”,真正的);
设置接收端处理。设置接收机增益和噪声值。
收集器=阶段性。收集器(...“传感器”rxantenna,...“PropagationSpeed”c...“OperatingFrequency”、fc);Rxgain = 42.0;噪声图= 1;接收器=阶段性的。ReceiverPreamp (...“SampleRate”fs,...“获得”rxgain,...“NoiseFigure”, noisefig);
循环脉冲以创建128个脉冲的数据立方体。对于循环的每一步,移动目标并传播信号。然后将接收到的信号放入数据立方体中。数据立方包含每个脉冲接收到的信号。通常,数据立方体有三个维度,其中最后一个维度对应于天线或波束。因为只使用了一个传感器,立方体只有两个维度。
处理步骤为:
移动雷达和目标。
发送波形。
将波形信号传播到目标。
从目标反射信号。
把波形传回雷达。双向传播使您能够将返回传播与出站传播结合起来。
在雷达上接收信号。
将信号加载到数据立方体中。
Np = 128;Dt = pri;立方=零(Nr,Np);为n = 1:Np [sensorpos,sensorvel] = radarmotion(dt);[tgtpos,tgtvel] = tgtmotion(dt);[tgtrng,tgtang] = rangeangle(tgtpos,sensorpos);Sig =波形();[txsig,txstatus] =发射器(sig);Txsig =散热器(Txsig,tgtang);Txsig = channel(Txsig,sensorpos,tgtpos,sensorvel,tgtvel);Tgtsig = target(txsig);Rxcol = collector(tgtsig,tgtang);Rxsig = receiver(rxcol); cube(:,n) = rxsig;结束
显示包含每个脉冲信号的数据立方体。
显示亮度图像([0 (Np-1)): * pri * 1 e6, [0: (Nr-1)] / fs * 1 e6, abs(立方体))包含(“慢时间”) ylabel (“快时间{\mu}s”)轴xy
创建并显示128个多普勒箱的距离多普勒图像。该图像垂直显示距离,水平显示速度。使用线性调频波形进行匹配滤波。这里的图像是距离多普勒地图。
Ndop = 128;Rangedopresp =阶段性。RangeDopplerResponse (“SampleRate”fs,...“PropagationSpeed”c“DopplerFFTLengthSource”,“属性”,...“DopplerFFTLength”ndop,“DopplerOutput”,“速度”,...“OperatingFrequency”、fc);matchingcoeff = getMatchedFilter(波形);[rngdopresp,rnggrid,dopgrid] = rangedopresp(cube,matchingcoeff);显示亮度图像(dopgrid rnggrid 10 * log10 (abs (rngdopresp)))包含(“关闭速度(米/秒)”) ylabel (的范围(m))轴xy
因为靶标在正极上x-轴,全局坐标系中正速度对应负闭合速度。全局坐标系中的负速度对应于正的闭合速度。
估计匹配滤波后的噪声功率。为模拟目的创建一个恒定噪声背景图像。
Mfgain = matchingcoeff'*matchingcoeff;dopgain = Np;Noisebw = fs;noisepower = noisepow(noisebw,receiver.NoiseFigure,receiver.ReferenceTemperature);Noisepowerprc = mfgain*dopgain*noisepower;噪声= noisepowerprc*ones(size(rngdopresp));
创建距离和多普勒估计器对象。
Rangeestimator =相控的。RangeEstimator (“NumEstimatesSource”,“汽车”,...“VarianceOutputPort”,真的,“NoisePowerSource”,输入端口的,...“RMSResolution”, rngrms);Dopestimator =阶段性。DopplerEstimator (“VarianceOutputPort”,真的,...“NoisePowerSource”,输入端口的,“NumPulses”、Np);
在距离多普勒图像中定位目标指标。为了简单起见,不使用CFAR探测器,而是使用已知的目标位置和速度来获得距离-多普勒图像中相应的指标。
detidx = NaN(2,Numtgts);TGTRNG = rangeangle(tgtpos,radarpos);TGTSPD = radialspeed(tgtpos,tgtvel,radarpos,radarvel);Tgtdop = 2*speed2dop(tgtspd,c/fc);为m = 1:numel(tgtrng) [~,iMin] = min(abs(rngrrid -tgtrng(m)));detidx(1,m) = iMin;[~,iMin] = min(abs(dopgrid-tgtspd(m)));detidx(2,m) = iMin;结束
求检测位置的噪声功率。
印第安纳州= sub2ind(大小(噪音),detidx (1:), detidx (2:));
估计探测位置的距离和距离方差。估计的范围与假定的范围一致。
[rngest,rngvar] = rangeestimator(rngdopresp, rngrid,detidx,noise(ind))
rng =3×1499.7911 529.8380 750.0983
rngvar =3×1104× 0.0273 0.0276 0.2094
估计检测位置的速度和速度方差。估计速度与预测速度一致。
[spdest,spdvar] = dopestimator(rngdopresp,dopgrid,detidx,noise(ind))
社民党=3×160.5241 -19.6167 -39.5838
spdvar =3×1105× 0.0806 0.0816 0.6188
更多关于
日期数据集
范围估计器的一个输入是响应数据立方体。要创建响应数据多维数据集,请使用分阶段。RangeDopplerResponse
或分阶段。RangeResponse
系统对象。立方体的第一个维度表示范围。只有第一个维度用来估计范围。所有其他维度都被忽略。要解释探测位置,必须传入rnggrid
与沿此维度的范围值相对应的向量。看到雷达数据立方概念.
算法
区间估计
的分阶段。RangeEstimator
系统对象通过以下步骤估计检测范围:
,输入一个经过范围处理的响应数据集
分阶段。RangeResponse
或分阶段。RangeDopplerResponse
系统对象。立方体的第一个维度表示返回信号样本的快时间或等效范围。只有这个维度被用来估计检测范围。其他的都被忽略了。输入一个检测指标矩阵,指定检测在数据立方体中的位置。每一列表示一个单独的检测。行条目指定数据多维数据集的索引。的输出可以获得检测索引
分阶段。CFARDetector
或分阶段。CFARDetector2D
探测器。要返回这些索引,请设置OutputFormat
属性的CFAR探测器“检测指数”
.可选地输入集群id的行向量。这个向量的长度等于检测的次数。这个向量的每个元素都为相应的检测分配一个ID。要形成检测集群,可以将相同的ID分配给多个检测。若要启用此选项,请设置
ClusterInputPort
财产真正的
.当
ClusterInputPort
是假
,该对象计算每次检测的范围。该算法在检测位置处和立方体中相邻两个指标处沿距离维度寻找响应值。然后,该算法将这三个位置的距离响应大小拟合成二次曲线,找到峰值的位置。当检测发生在距离维的第一个或最后一个样本上时,从两点质心估计距离响应。估计在检测指标所在的位置和检测指标邻近的样本处。当
ClusterInputPort
是真正的
,该对象为每个集群计算范围。该算法寻找聚类中最大响应值的指标,并与单个检测相同地拟合二次公式。将拟合峰值位置的分数指标值转换为范围。要转换索引,请选择适当的单位
rnggrid
的输入参数一步
方法。您可以使用值rnggrid
从分阶段。RangeResponse
或分阶段。RangeDopplerResponse
系统对象。
该对象使用Ziv-Zakai边界计算估计的范围方差。
数据精度
这个System对象支持输入数据、属性和参数的单精度和双精度。如果输入数据X
为单精度,输出数据为单精度。如果输入数据X
为双精度,输出数据为双精度。输出的精度与属性和其他参数的精度无关。
参考文献
理查兹,M。雷达信号处理基础“,.2版,McGraw-Hill专业工程,2014。
理查兹,M., J.舍尔,W.霍尔姆。现代雷达原理:基本原理.科技出版,2010。
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
看到MATLAB代码生成中的系统对象(MATLAB编码器).
这个System对象支持输入数据、属性和参数的单精度和双精度。如果输入数据
X
为单精度,输出数据为单精度。如果输入数据X
为双精度,输出数据为双精度。输出的精度与属性和其他参数的精度无关。
版本历史
在R2017a中介绍
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。