三次样条插值拟合信号包络线
信号 三次 拟合 插值 样条
2023-09-11 14:22:04 时间
clear;close all;clc
%% 构造信号
t = 0:0.001:1;
y = 2*sin(2*pi*15*t) + 4*sin(2*pi*10*t).*sin(2*pi*t/10) + sin(2*pi*5*t);
%% findpeaks 求极值点
[~,indmax] = findpeaks(y); % 极大值点
[~,indmin] = findpeaks(-y); % 极小值点
%% 一阶差分法求极值点
% d = diff(y);
% d1 = d(1:end-1); % 左差分
% d2 = d(2:end); % 右差分
% indmax = find(d1>0 & d2<0) + 1; % 极大值点
% indmin= find(d1<0 & d2>0) + 1; % 极小值点
%% 二阶差分法求极值点
% indmax = find(diff(sign(diff(y)))<0)+1; % 极大值点
% indmin = find(diff(sign(diff(y)))>0)+1; % 极小值点
%% 三次样条插值拟合(包含端点)
s_max = spline([1,indmax,length(y)], [y(1),y(indmax),y(end)], 1:length(y));
s_min = spline([1,indmin,length(y)], [y(1),y(indmin),y(end)], 1:length(y));
%% 绘图
figure;
plot(t,y,'k',... % 原信号
t(indmax),y(indmax),'ro',... % 极大值点
t(indmin),y(indmin),'bo',... % 极小值点
t,s_max,'r--',... % 上包络线
t,s_min,'b--'); % 下包络线
相关文章
- 信号正常吗?
- 2021年春季学期-信号与系统-第十五次作业参考答案-第一小题参考答案
- 2021年春季学期-信号与系统-第十次作业参考答案-第六小题
- 2021年春季学期-信号与系统-第二次作业参考答案-第一小题
- 语音信号的LPC特征提取
- 【FPGA教程案例52】语音案例1——基于能量检测的语音信号端点检测FPGA实现
- 基于MUSIC算法的信号方位估计
- 分别使用specgram函数和tftb工具箱对信号进行STFT短时傅里叶时频分析matlab仿真
- 基于FPGA的任意信号发生器
- qt-信号和槽的连接写法
- Qt断开信号与槽的方法,Qt信号的处理 (connect和disconnect和blockSignals的使用方法)
- 第9章 Linux进程和信号超详细分析
- 华为OD机试 -计算网络信号(Js)
- DDR4信号参考电源层,阻抗会有影响吗?
- 《网络安全法》释放了哪些重要信号?