使用三角波代替正弦波的类似DFT的变换


9

我们知道DFT(离散傅里叶变换)将信号分解为多个正弦波频率。是否存在对三角形波执行相同操作的变换?

就我的目的而言,我只是在谈论一维信号(例如电压等)。我正在研究历史股票市场数据,我只想查看某些股票的反转。换句话说,我想使用此变换对股价执行“低通”操作。

编辑:如果是,我该怎么办?


对于任何信号,我都不这么认为,但是很想看看为什么不这样做。如果您知道信号是由三角波组成的,则可以计算出它们各自的频率,相位和幅度。
geometrikal

2
简单的推理说,任何信号都应该是可能的。由于三角形本身可以用不同频率的正弦信号表示,因此可以缩放。真正的问题是您将从中推断出什么,这样的推断实际上有用吗?
Naresh

好吧,我正在研究历史股市数据,我只想查看某些股票的反转。换句话说,我想使用此变换对股价执行“低通”操作
hassan789

Answers:


8

我知道最能满足您需求的正交变换是“ 倾斜变换”。它基于锯齿波,但是某些基本函数确实类似于三角波:

偏基函数

(来源:应用傅立叶变换

它是为图像编码/压缩而开发的,但它似乎是分析财务数据中长期线性趋势/逆转的合理的第一种方法。似乎[在线]免费提供了许多描述该变换的关键论文,但是以下论文可能有足够的细节来实现某些东西:

一种用于计算倾斜变换的截断方法及其在图像处理中的应用。MM Anguh,RR Martin。IEEE Trans。通信43(6),2103-2110,1995.(作者链接)(pdf链接

具体来说,请参见第三节,该节给出了用于构造变换矩阵的递归关系。


看起来很有前途!
hassan789

使用以下Matlab代码:eeweb.poly.edu/iselesni/slantlet/index.html我将很快提供反馈...
hassan789

我认为Slantlet变换与Slant变换是一回事。两者都可能有用。
datageist

4

一阶B样条是三角形,并且存在将任意信号表示为B样条之和的算法。如前所述,这些样条线不会形成矫形器,但这不一定是一件可怕的事情。

一个不错的起点是Unser撰写的有关有效B样条近似的文章。http://bigwww.epfl.ch/publications/unser9301.pdf


1
这是一个好的开始,实际上对我可能会更好,特别是如果我可以使用抛物线b样条
曲线

2

您可以使用三角波而不是正弦波进行变换,但这不是一个好的选择,因为它们不是正交的。正交性是变换向量的重要属性。

正交变换的性质

正交变换


嗯...在正交性方面我还不那么先进...老实说,我不明白正交的含义是什么。最终是否意味着要花费更多的CPU周期进行转换(完全转换内核与稀疏转换内核)?
hassan789

0

您可以使用积分运算符的伴随(即cumsum),然后使用快速Walsh-Hadamard变换。

例如在Matlab中

n = 16;
H = fwht(eye(n))*sqrt(n); % Walsh-Hadamrd in full unitary matrix form
S = cumsum(eye(n)); % the integrator in full matrix form
T = H*S';  % cumsum along the rows of the W-H 

H中正值恒定的部分会积分,导致锯齿波倾斜;负值变为下降。

T不是单一的,它对尺寸拉伸有影响。从好的方面来说,它确实有一个快速的逆函数:另一个反数,后跟一个微分。

D = inv(S');  % difference matrix with an extra row at bottom for full rank
Tinv = D*H;   % inverse of T

您能再解释一下吗?我看不到WHT之前的集成如何产生预期的结果。
Dilip Sarwate
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.