matlab中SG滤波器的说明

博主因项目进行光谱预处理研究,学习了SG filter并在Matlab上编写代码。介绍Matlab中sgolay和sgolayfilt两个SG滤波相关函数,sgolayfilt使用简洁,sgolay更灵活,求SG高阶平滑需用sgolay输出的矩阵g。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

matlab中SG滤波器的说明

项目需要最近在进行光谱预处理方面研究,看了很多论文,发现其中涉及到的方法也就那么几种,比如SG filter、MSC、SNV等等。今天对SG filter 进行了学习,并在matlab平台上结合前人的代码编写了简单的SG filter代码,先Mark一下,期待以后越改越完善。

matlab中的关于sgolay函数看到两种:
- sgolay
- sgolayfilt
接下来简要介绍一下并对比一下:


  • sgolay
    函数主要为[b,g] = [b,g]=sgolay(N,F); N代表多项式拟合的阶数,F(奇数)代表进行卷积时的框架大小。(sgolay的原理该网站很多就不介绍了)。

  • sgolayfilt
    函数主要为
    y = sgolayfilt(x,N,F);x代表输入信号。

二者对比

输出结果差别不大,所以sgolayfilt在使用时候更简洁。但是sgolay更加灵活,比如说您要求SG的一阶或者二阶乃至更高阶就需要使用sgolay。求SG高阶平滑时候需要用到函数sgolay输出中的矩阵g。利用矩阵g中第一列求得的是0阶平滑,这与使用矩阵b或者sgolayfilt的差别不大(主要差别在数据的起始段和末尾段)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

wild kindom

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

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

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

打赏作者

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

抵扣说明:

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

余额充值