信号求导,可以消除信号的背景,确定谱峰的位置,改善谱峰分辨情况,一般地,在信号分析中,常用的信号求导为一阶、二阶导数。基于S-G滤波的基础上,获取拟合参数矩阵A后,可以利用滤波窗口的2m+1个数据对窗口中心点(i=0)求该点信号处的p阶导数,对其多项式:

进行求导,当i=0时,可得:

因此,窗口中心点数据的p阶导数等于A矩阵的第p+1个元素和p的阶乘的乘积。其一阶导数和二阶导数分别如下:

由于上一篇博客中已知A:

而系数矩阵X也已经可以获取,这里不再赘述,直接上代码。

Matlab:

function [ der,D,A ] = Differential_derivation( xdata,n,k,order)
%信号求导一般方法 一阶求导,二阶求导
%Input: xdata-原始数据
%       n-窗口宽度
%       k-多项式阶数
%       order-阶数
%Output:der-导数
m=(n-1)/2;%数据步长
X=[];%S-G平滑系数矩阵
for i=0:(n-1)for j=0:(k-1)X(i+1,j+1)=power(i-m,j);end
end
D=inv(X'*X)*X';
A=zeros(k,n);%系数矩阵
temp=0;
for i=0:k-1for j=0:n-1temp = temp +D(i+1,j+1)*xdata(j+1);endA(i+1,j+1)=temp;
end
%求导
der=factorial(order)*A(order+1);
end

Java:

public static double derivation(RealMatrix xdata,int n,int k,int order) {int m = (n-1)/2;RealMatrix X_matrix = MatrixUtils.createRealMatrix(n, k );for (int i = 0; i < n; i++) {for (int j = 0; j < k; j++) {X_matrix.setEntry(i, j, Math.pow(i-m, j));}}RealMatrix D_matrix = MatrixAlgorithm.inverseMatrix(X_matrix.transpose().multiply(X_matrix)).multiply(X_matrix.transpose());System.out.println(D_matrix);RealMatrix A_matrix = D_matrix.multiply(xdata);double der = factorial(order)*A_matrix.getEntry(order+1,0);System.out.println(der);return der;
}

——参考《化学计量学方法及MATLAB实现》史永刚等编著

信号分析——导数(Java/Matlab)相关推荐

  1. 【肌电信号】脉搏信号分析(去噪+特征提取)matlab源码含GUI

    一.简介 EMG,应用电子学仪器记录肌肉静止或收缩时的电活动,及应用电刺激检查神经.肌肉兴奋及传导功能的方法.英文简称EMG.通过此检查可以确定周围神经.神经元.神经肌肉接头及肌肉本身的功能状态.\ ...

  2. matlab fftshift_matlab下实现FFT信号分析

    奈奎斯特定理: 对于信号分析,我们需要掌握一个定理: 在进行模拟/数字信号的转换过程中,当采样频率 fs.max大于信号中最高频率 fmax 的 2 倍时(fs.max > 2fmax),采样之 ...

  3. matlab语音信号分析实验报告,DSP实验二 语音信号分析与处理,南京理工大学紫金学院实验报告,信号与系统...

    实验二语音信号分析与处理 学号姓名 注:1)此次实验作为<数字信号处理>课程实验成绩的重要依据,请同学们认真.独立完成,不得抄袭. 2)请在授课教师规定的时间内完成: 3)完成作业后,请以 ...

  4. 将示波器信号完整数据导入Matlab进行分析

    学习如何将麦科信示波器信号的完整数据导入matlab进行分析,我们先要学习如何完整导出示波器的信号数据.示波器可将模拟通道或数学通道波形保存到本地或者U盘,文件类型可选择WAV.CSV或BIN. WA ...

  5. 【Matlab语音分析】语音信号分析【含GUI源码 1718期】

    一.代码运行视频(哔哩哔哩) [Matlab语音分析]语音信号分析[含GUI源码 1718期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊,郑铁 ...

  6. 《MATLAB语音信号分析与合成(第二版)》:第4章 语音信号的线性预测分析

    <MATLAB语音信号分析与合成(第二版)>:第4章 语音信号的线性预测分析 前言 1. 数据与函数路径设置 2. MATLAB仿真一:LPC的频谱分析 3. MATLAB仿真二:普通预测 ...

  7. matlab symadd,信号调理器设计—大二暑期信号分析实习报告精选多篇

    第1篇第2篇第3篇第4篇第5篇更多顶部 目录 第一篇:信号调理器设计-大二暑期信号分析实习报告 第二篇:大二暑期信号分析实习报告 第三篇:传感器信号调理电路 第四篇:信号调理电路 第五篇:信号实习报告 ...

  8. 基于Matlab App Designer的语音信号分析与处理(二):IIR和FIR滤波器的设计,语音信号的滤波

    接上文:https://blog.csdn.net/weixin_53877178/article/details/122470759 目录 一.课题的任务 二.内容.步骤和要求 (1)语音信号的采集 ...

  9. 《MATLAB语音信号分析与合成(第二版)》:第8章 基音周期的估算方法

    <MATLAB语音信号分析与合成(第二版)>:第8章 基音周期的估算方法 前言 1. 数据与函数路径设置 2. MATLAB仿真一:基音周期提取的预处理 3. MATLAB仿真二:倒谱法的 ...

最新文章

  1. go语言中没有隐藏的this指针
  2. IIS7 设置读取、脚本和可执行文件的执行权限的步骤
  3. 基于JAVA+SpringMVC+Mybatis+MYSQL的网上二手车交易系统
  4. python3.0与2.x之间的区别
  5. 【第1篇】Python爬虫实战-王者荣耀高清壁纸下载
  6. MySql noinstall-5.1.34-win32 配置
  7. 主持人的烦恼【牛客】
  8. jdk下载和安装教程
  9. quick cocos2dx 组件
  10. H265 CTU、CU、PU、TU划分的特点及要求
  11. 智慧物业大数据可视化平台
  12. 好书推荐:《商贸与文明》
  13. linux系统中对日志的管理
  14. android gridview 行高设置
  15. 依图胸部CT新冠肺炎智能评价系统:三大智能功能精准辅助医学分析|百万人学AI评选
  16. 【安装系统】windows10、ubuntu16.04系统安装
  17. mysql驱动 jdbc下载
  18. PHP - 版本选择 - 线程安全与非线程安全 - 学习/实践
  19. 在手机上玩python编程-Pydroid3
  20. 《大道至简》的幕后故事(5):“愚公移山记”军事谋略篇

热门文章

  1. Spring的简介和工作原理
  2. Ubuntu恶意文件分析环境搭建--安装Cuckoo Sandbox记录
  3. mysql分组排序取每组第一条
  4. 海拥,一枚热爱分享技术与快乐的博主
  5. Clickhouse—字符串函数
  6. 大数据Hadoop之——总结篇
  7. Anuglar8集成高德地图
  8. Java静态方法的注意事项
  9. Linux-重命名命令rename
  10. IIS配置和发布网站