爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2534|回复: 4

[求助] 请问怎么用R语言做lanczos滤波呢?

[复制链接]

新浪微博达人勋

发表于 2023-2-17 23:30:20 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
想对某一年的数据进行10~20d的滤波,但是R语言里面好像没有这个滤波器的函数,所以自己想着模仿写了一个,但是感觉公式好像有点问题?然后参数啥的设置不对,有大佬帮忙看看吗?Lanczos_filter <- function(n, fs, f1, f2) {
  a <- (n - 1) / 2
  h <- sin(2 * pi * f2 * (-(a):(a)) * fs) / (-(a):(a)) / pi - sin(2 * pi * f1 * (-(a):(a)) * fs) / (-(a):(a)) / pi
  h[a+1] <- (2 * (f2 - f1)) / fs
  return(h)
}

# 定义滤波器参数
fs <- 1/24  # 采样频率
f1 <- 10     # 低通截止频率
f2 <- 20     # 高通截止频率
n <- 10    # 滤波器长度

# 创建Lanczos带通滤波器
h <- Lanczos_filter(n, fs, f1, f2)

# 应用滤波器,x是需要滤波的数据,日资料来的
y <- signal:: filter(h, 1, x)

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2023-2-17 23:59:25 | 显示全部楼层
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2023-2-20 23:09:32 | 显示全部楼层
一大碗年糕 发表于 2023-2-17 23:59
https://rdrr.io/github/jrevenaugh/TSAUMN/man/lanczos.html

按照这页的代码创建了滤波器之后怎么应用呢?是用filter函数吗?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2023-2-20 23:50:53 | 显示全部楼层
小跳蛙吃奥利奥 发表于 2023-2-20 23:09
按照这页的代码创建了滤波器之后怎么应用呢?是用filter函数吗?

不好意思我也没怎么了解,只是搜了一下有
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2023-2-22 20:55:15 | 显示全部楼层
一大碗年糕 发表于 2023-2-20 23:50
不好意思我也没怎么了解,只是搜了一下有

好的也谢谢你!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表