致力于量化策略开发,高质量社群,交易思路分享等相关内容
一、原理介绍
傅里叶分析和滤波
变换和滤波器是用于处理和分析离散数据的工具,常用在信号处理应用和计算数学中。当数据表示为时间或空间的函数时,傅里叶变换会将数据分解为频率分量。fft
函数使用快速傅里叶变换算法,相对于其他直接实现,这种方式能够减少计算成本。有关傅里叶分析的更多详细介绍,请参阅傅里叶变换。在使用传递函数修改输入数据的幅值或相位时,conv
和 filter
函数也是很有用的工具。
快速傅里叶变换
语法
Y = fft(X)
Y = fft(X,n)
Y = fft(X,n,dim)
说明
用快速傅里叶变换 (FFT) 算法计算 Y
= fft(X
)X
的离散傅里叶变换 (DFT)。
-
如果
X
是向量,则fft(X)
返回该向量的傅里叶变换。 -
如果
X
是矩阵,则fft(X)
将X
的各列视为向量,并返回每列的傅里叶变换。 -
如果
X
是一个多维数组,则fft(X)
将沿大小不等于 1 的第一个数组维度的值视为向量,并返回每个向量的傅里叶变换。
返回 Y
= fft(X
,n
)n
点 DFT。如果未指定任何值,则 Y
的大小与 X
相同。
-
如果
X
是向量且X
的长度小于n
,则为X
补上尾零以达到长度n
。 -
如果
X
是向量且X
的长度大于n
,则对X
进行截断以达到长度n
。 -
如果
X
是矩阵,则每列的处理与在向量情况下相同。 -
如果
X
为多维数组,则大小不等于 1 的第一个数组维度的处理与在向量情况下相同。
Y
= fft(X
,n
,dim
)