海杂波数据分析

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

数据集下载:

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、根据多普勒峰值频率计算的平均速度,高海况更大;
MATLAB是一种常用于数据分析和处理的软件工具。对于杂波数据的分析,MATLAB提供了丰富的函数和工具箱,可以帮助我们进行数据处理、可视化和统计分析。 首先,我们可以使用MATLAB中的文件读取函数,如`xlsread`或`csvread`,将存储杂波数据的Excel或CSV文件导入到MATLAB中。这样我们就可以对数据进行后续处理了。 接下来,我们可以使用MATLAB的函数来进行数据预处理,如去除异常值、填充缺失值和平滑数据。MATLAB提供了诸如`rmoutliers`、`fillmissing`和`smoothdata`等函数来帮助我们进行这些操作。 然后,我们可以使用MATLAB的绘图函数来进行数据可视化。例如,我们可以使用`plot`函数绘制时间序列图,或使用`histogram`函数绘制杂波数据的分布图。此外,MATLAB还提供了绘制二维和三维图形的功能,如`surf`和`contour`函数,用于显示杂波数据的空间分布。 在进行统计分析时,MATLAB提供了丰富的函数和工具箱。例如,我们可以使用`mean`、`std`和`var`函数计算杂波数据的均值、标准差和方差。我们还可以使用`corrcoef`函数计算不同变量之间的相关系数,以了解杂波数据之间的关联性。 最后,在分析完杂波数据后,我们可以使用MATLAB的报告生成功能,将分析结果输出为Word或PDF文件。这样可以方便我们与他人分享分析结果,并进行进一步的讨论和研究。 综上所述,MATLAB是一种非常强大的工具,可以帮助我们对杂波数据进行多种分析,包括数据预处理、可视化和统计分析。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KPer_Yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值