雷达波分析实例:海杂波分析
数据集下载:
soma.ece.mcmaster.ca/ipix/dartmouth/datasets.html
总结:
1、使用海杂波数据计算随机过程的数字特征:均值、方差、概率密度函数、自相关函数、功率谱密度。
2、估计方法对具有各态历经性的平稳随机过程有效;
3、基于数字特征比较不同海况下海杂波特点。
分析:
雷达照射海面形成的回波称为海杂波,在短时间内,海杂波可以用平稳随机过程来描述。
对高海况和低海况的海杂波的特性进行分析:均值、方差、高斯分布程度、自相关、自相关时间、功率谱进行分析。对比和区分两种海况的特性。
1、高斯分布程度分析:
使用正态概率纸和拟合优度方法进行分析;
先绘制直方图:
再绘制概率密度图:
绘制正态概率纸结果:
最后计算拟合优度的概率值。
2、自相关分析:
间隔两秒的时间窗截取信号,进行自相关分析,最后将每个时间窗的自相关结果进行求取平均值,得到海杂波的自相关特性曲线:
进一步计算自相关时间:
τ
=
∫
0
+
∞
∣
r
x
(
τ
)
∣
d
τ
\tau=\int_0^{+\infty}|r_x(\tau)|d\tau
τ=∫0+∞∣rx(τ)∣dτ
3、功率谱密度分析
间隔两秒的时间窗截取信号,进行功率谱密度分析,最后将每个时间窗的功率谱密度分析结果进行求取平均值,得到海杂波的功率谱密度分析特性曲线。
代码实现
clear
hi_data_file = fopen('../data/hi/hi.dat','r');
hi_data=fscanf(hi_data_file,'%g'); %复数的实部+虚部序列
data_len = length(hi_data) / 2;
re_hi_data = zeros(data_len, 1);%实部 in-phase
im_hi_data = zeros(data_len, 1);%虚部 quadrature
%将数据转成数组
data_index = 1;
for i = 1 : 2 : data_len * 2
re_hi_data(data_index) = hi_data(i);
im_hi_data(data_index) = hi_data(i+1);
data_index = data_index + 1;
end
complex_hi_data = complex(re_hi_data, im_hi_data);%复数
time_span = 0.001;
t = 0 : time_span : time_span * (data_len- 1);%时间轴
%计算实部特性
hi_data_mean = mean(re_hi_data);%均值
hi_data_var = var(re_hi_data);%方差
histogram(re_hi_data);%直方图(PDF)
ksdensity(re_hi_data);%拟合概率密度函数
normplot(re_hi_data);%正态概率纸,检验不符合高斯分布
[h, p] = chi2gof(re_hi_data);%拟合优度曲线,检验出不符合高斯分布(因为p=0)
%计算自相关,间隔两秒
r_span = 2 / 0.001;
r_hi_data_sum = zeros(2 * r_span-1, 1);
for i = 1 : r_span : floor(data_len / r_span) * 2000
r_hi_data = xcorr(re_hi_data(i : i+r_span - 1));
r_hi_data_sum = r_hi_data_sum + r_hi_data;
end
r_hi_data_num = length(1 : r_span : floor(data_len / r_span));
r_hi_data_sum = r_hi_data_sum ./ r_hi_data_num;%求平均
r_t = -time_span * (r_span- 1) : time_span : time_span * (r_span - 1);%时间轴
plot(r_t, r_hi_data_sum)
%计算功率谱,间隔两秒 (PSD)
p_span = 2 / 0.001;
p_window = boxcar(p_span);
nfft = 1024;
p_hi_data_sum = zeros(nfft / 2 + 1, 1);
f_axis = zeros(nfft / 2 + 1, 1);
for i = 1 : p_span : floor(data_len / p_span) * 2000
[p_hi_data, f_axis] = periodogram(re_hi_data(i : i+r_span-1), p_window, nfft, 1 / 0.001);
p_hi_data_sum = p_hi_data_sum + p_hi_data;
end
p_hi_data_num = length(1 : r_span : floor(data_len / r_span));
p_hi_data_sum = p_hi_data_sum ./ p_hi_data_num;%求平均
%plot(f_axis, 10*log10(p_hi_data_sum))
plot(f_axis, p_hi_data_sum)
% 1、高海况表现出更具有的非高斯性;
% 2、高海况自相关时间短于低海况;
% 3、低海况功率谱密度窄一些;
% 4、根据多普勒峰值频率计算的平均速度,高海况更大;