1

我正在为我的信号处理课程在 Android 中开发一个项目。我的目标是在给定用户输入函数的情况下找到信号属性,例如周期性、偶数/奇数、因果关系等。现在,我一直在试图弄清楚如何以编程方式计算给定函数的周期性。我知道周期性背后的基础知识:f(t+T) = f(t)

我现在唯一的想法是广泛计算函数的值,然后检查值的重复。我知道这个方法很愚蠢,因为我不知道我需要计算多少这样的值来确定它是否是周期性的。

我知道这可以在 Matlab 中轻松完成,但又很难将 Matlab 移植到 Java。有什么我想念的吗?我已经搜索了很多,但没有找到任何有用的东西。

提前感谢您的帮助!

4

1 回答 1

0

如果函数f以符号表达式的形式给出,那么您所说的方程在某些情况下可以符号求解。为此所需的工作量取决于函数的描述方式、允许的函数类型、使用的库等等。

如果您与函数的唯一交互是评估它,即如果您将函数描述视为黑盒或从某个传感器获取其值,那么您最好的选择是对数据进行傅里叶变换,将其从时域转换进入频域。特别是,您可能希望选择要分析的样本数量作为 2 的幂,然后使用FFT快速获得各种频率的强度。

于 2013-08-04T20:37:43.347 回答