c++ - 频率和振幅

标签 c++ frequency wave

我有一个包含 2 列的数据(文件):

Seconds, Volts
0, -0.4238353
2.476346E-08, -0.001119718
4.952693E-08, -0.006520569
(..., thousands of similar entries in file)
4.516856E-05, -0.0002089292

如何计算最高振幅波的频率? (每个波都是固定频率的)。

计算秒和幅度的频率与秒和伏特之间有什么区别吗?因为在 Frequency & amplitue解决了秒数和振幅示例,因此它可能对我的情况有所帮助。

最佳答案

你的数据是时域的,问题是频域的。你的类(class)应该告诉你这两者是如何相关的。两个词:傅里叶变换。在实际编程中,我们使用 FFT:Fast Fourier Tranform。如果输入是固定频率的正弦波,您的 FFT 输出将有一个驼峰。将其建模为抛物线并找到抛物线的峰值。 (在 FFT 中寻找最高振幅的准确度要低 10 倍左右)

您提供的链接太糟糕了;我否决了那里的废话答案。在您的示例中,时间从 t=0 开始,给出的解决方案将执行 1/0。

关于c++ - 频率和振幅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34226273/

相关文章:

c# - C#获取CPU频率的方法

python - 如何将一个 .wav 文件分割成多个 .wav 文件?

python - 使用python音频处理的音符检测

枚举声明中的 C++ 变量声明

c++ - 我什么时候应该 `#include <ios>` , `#include <iomanip>` 等?

c++ - 线程完成后删除Qt Thread中的对象

c - Auriotouch,从频率FFT获取音符

删除数据框中不常见的行

python - 在 Python 中比较两个音频信号(歌唱录音)之间的相似度

c++ - 从 C++ 应用程序连接到 socket.io 服务器