MATLAB对不连续信号进行信号起始时间和结束时间的标定

一、问题描述

试验生成大量的.mat文件,但只有接收信号数据,无上位机信号发射数据,且研究内容需要用到信号的发射时间、结束时间以及其时间间隔,现对其进行标注。

1.信号结构

这是一组试验数据,峰值较高位置为接收到的信号,此处共13处信号,一共六百万个数据点,我需要较为精确地标出每个信号的起始结束时间,手动标注较为麻烦且误差较大,因此在对其进行处理之前可以先自动标注。

2.主要内容

因为信号起伏较大,且有短暂噪声的影响,因此采用添加时间窗口取平均值,在这个时间窗口内,平均值大于阈值则认为在信号时间内,平均值小于阈值则认定在信号静默内。

二、解决程序

clear all;
% 加载数据
load('data5.mat'); % 替换为自己的文件夹路径和文件名称
data=p_data; %因为我导入的data5.mat中有三个变量,P_data、vx、vy,对我们有用的是p_data,因此将其取出
Fs = 50000; % 采样频率
threshold = 0.2; % 阈值,根据自己数据选择合适的阈值
window_size = 1000; % 窗口大小,根据自己数据选择合适的窗口大小,我这6000000因此可以选择略大的1000
num_samples = length(data);
total_time = num_samples / Fs; % 总时间

% 计算数据绝对值的滑动窗口平均值
abs_data = abs(data);%信号有正负,取绝对值
avg_values = movmean(abs_data, window_size);

% 找出平均值超过阈值的点
above_t
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值