基本信息
源码名称:MATLAB三次样条插值法 求信号的包络线 源代码
源码大小:1.63KB
文件格式:.rar
开发语言:MATLAB
更新时间:2021-04-22
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
MATLAB三次样条插值法 求信号的包络线 源代码


%三次样条插值法,求信号的包络线
clear all;close all;clc
fs=30;  %采样频率
t=0:1/fs:5;   %采样时间
x=sin(2*pi*2*t) sin(2*pi*4*t);  %信号

%三次样条插值,求信号的包络线
d=diff(x);  %对信号求导
n=length(d);
d1=d(1:n-1);
d2=d(2:n);
indmin = find(d1.*d2<0 & d1<0) 1;  %找到极小值的点
indmax = find(d1.*d2<0 & d1>0) 1;  %找到极大值的点
envmin=spline([t(1) t(indmin) t(end)],[x(1) x(indmin) x(end)],t);  %所有极小值的点 两个断点,进行三次样条插值
envmax=spline([t(1) t(indmax) t(end)],[x(1) x(indmax) x(end)],t);  %所有极大值的点 两个断点,进行三次样条插值
%绘制包络线
figure
hold on
plot(t,x) %绘制原信号
plot(t,envmin,'r--');   %绘制下包络线
plot(t,envmax,'m--');   %绘制上包络线