海杂波数据分析

发布于:2022-11-28 ⋅ 阅读:(406) ⋅ 点赞:(0)

雷达波分析实例:海杂波分析

数据集下载:

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、根据多普勒峰值频率计算的平均速度,高海况更大;
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到