cfar=zeros(PulseNumber,SampleNumber); T=sqrt(2*(10^(-12/10))^2log(1/(1e-6))); for i=1:PulseNumber for k=1:2 left=0; right=Mean(mtd_abs(i,:),k+2,k+17); maxV=max(left,right); if(mtd_abs(i,k)>=TmaxV) cfar(i,k)=mtd_abs(i,k); else cfar(i,k)=0; end end中的Mean函数代码
时间: 2024-02-17 07:01:13 浏览: 120
data.utils_data_utils_pythonimageneural_CFAR_CFAR-10_python_
根据您提供的代码和上下文信息,可以猜测`Mean`函数的定义如下:
```matlab
function avg = Mean(matrix, startCol, endCol)
% matrix: 待求平均值的矩阵
% startCol: 起始列数
% endCol: 终止列数
% avg: 求得的平均值
% 计算矩阵第i行,第k+2列到第k+17列的平均值
avg = mean(matrix(startCol:endCol));
end
```
在`cfar`算法中,需要求出每个脉冲和每个样本点的信号强度。其中,每个脉冲有两个样本点,分别位于第1列和第2列。所以,对于每个脉冲,需要分别对这两个样本点进行信号检测。具体地,在`for k=1:2`循环中,`left=0`表示左侧参考窗口的信号强度,`right=Mean(mtd_abs(i,:),k+2,k+17)`表示右侧检测窗口内的信号强度的平均值。最后,通过比较检测窗口内信号强度和参考窗口内信号强度的比值是否大于阈值`T`,来判断该样本点是否为目标信号,并将其保存在`cfar`矩阵中。
阅读全文