我们知道DFT(离散傅里叶变换)将信号分解为多个正弦波频率。是否存在对三角形波执行相同操作的变换?
就我的目的而言,我只是在谈论一维信号(例如电压等)。我正在研究历史股票市场数据,我只想查看某些股票的反转。换句话说,我想使用此变换对股价执行“低通”操作。
编辑:如果是,我该怎么办?
我们知道DFT(离散傅里叶变换)将信号分解为多个正弦波频率。是否存在对三角形波执行相同操作的变换?
就我的目的而言,我只是在谈论一维信号(例如电压等)。我正在研究历史股票市场数据,我只想查看某些股票的反转。换句话说,我想使用此变换对股价执行“低通”操作。
编辑:如果是,我该怎么办?
Answers:
我知道最能满足您需求的正交变换是“ 倾斜变换”。它基于锯齿波,但是某些基本函数确实类似于三角波:
(来源:应用傅立叶变换)
它是为图像编码/压缩而开发的,但它似乎是分析财务数据中长期线性趋势/逆转的合理的第一种方法。似乎[在线]免费提供了许多描述该变换的关键论文,但是以下论文可能有足够的细节来实现某些东西:
一种用于计算倾斜变换的截断方法及其在图像处理中的应用。MM Anguh,RR Martin。IEEE Trans。通信43(6),2103-2110,1995.(作者链接)(pdf链接)
具体来说,请参见第三节,该节给出了用于构造变换矩阵的递归关系。
一阶B样条是三角形,并且存在将任意信号表示为B样条之和的算法。如前所述,这些样条线不会形成矫形器,但这不一定是一件可怕的事情。
一个不错的起点是Unser撰写的有关有效B样条近似的文章。http://bigwww.epfl.ch/publications/unser9301.pdf
您可以使用积分运算符的伴随(即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