我们知道 DFT(离散傅里叶变换)将信号分解为多个频率的正弦波。是否存在做同样事情的变换,但对于三角波?
出于我的目的,我只谈论一维信号(如电压等)。我正在研究历史股市数据,我只想看看某些股票的反转。换句话说,我想使用这种转换对股票价格执行“低通”。
编辑:如果是,我该怎么做?
我们知道 DFT(离散傅里叶变换)将信号分解为多个频率的正弦波。是否存在做同样事情的变换,但对于三角波?
出于我的目的,我只谈论一维信号(如电压等)。我正在研究历史股市数据,我只想看看某些股票的反转。换句话说,我想使用这种转换对股票价格执行“低通”。
编辑:如果是,我该怎么做?
我所知道的可能满足您需求的最接近的正交变换是Slant Transform。它基于锯齿(ish)波,但一些基函数确实类似于三角波:
(来源:应用傅里叶变换)
它是为图像编码/压缩而开发的,但它似乎是分析财务数据中长期线性趋势/反转的合理的第一种方法。似乎许多描述转换的关键论文都 [免费] 在线提供,但以下论文可能有足够的细节来实现某些东西:
一种用于计算倾斜变换的截断方法及其在图像处理中的应用。MM Anguh,RR 马丁。IEEE Trans。Communications 43 (6), 2103-2110, 1995. (作者链接) ( pdf链接)
具体来说,参见第 III 节,它给出了用于构造变换矩阵的递归关系。
一阶 B 样条是三角形,并且存在将任意信号表示为 B 样条之和的算法。如前所述,这些样条不会形成正交基,但这并不一定是一件可怕的事情。
一个好的起点是 Unser 关于有效 B 样条近似的论文。http://bigwww.epfl.ch/publications/unser9301.pdf
这个问题的答案是肯定的。对于三角波,存在一个快速三角变换 FTT,其复杂度为, 在哪里是元素的数量。它的工作原理与 FFT 和 DFT 相同,它使用复矢量,这意味着它也会为您提供每个三角波的相位信息!请在mbin_ftt_fwd_cf()
此处查看 C 代码功能。
--HPS