如何将波浪数据转换为复数

2023-12-20

我正在从麦克风读取原始数据并输入 FFT。我正在尝试的两个 FFT 库(AForge http://code.google.com/p/aforge/ and 外皮质 http://www.exocortex.org/dsp/) 将复数作为输入并给出复数作为输出。

我试图理解什么是复数。

更具体地说,如何将从麦克风获得的原始音频数据转换为复数以便在 FFT 中进行处理?
如何将输出绘制成漂亮的频谱图(即从输出中读取频率和幅度)?

额外的好处:除了提到的两个之外,.Net 还有哪些 FFT 库?


当对实际数据执行 FFT 时,您只需将输入的虚部设置为零。 (请注意,FFT 的输出仍然很复杂。)

绘制频谱图更为复杂 - 之前有关于此的帖子,但本质上您需要计算功率谱对于连续的重叠时间窗口(典型重叠 = 50%),然后使用颜色或灰度强度作为幅度(通常在 X 轴上显示时间,在 Y 轴上显示频率)绘制这些功率谱的对数 (dB) 幅度。计算功率谱:

  • apply 窗函数 http://en.wikipedia.org/wiki/Window_function输入数据(例如汉宁窗)
  • FFT
  • 取第一幅值的平方N/2FFT 输出值(re*re + im*im)
  • 将幅度转换为 dB 值(10 * log10 (magnitude squared))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将波浪数据转换为复数 的相关文章

  • 使用 FFT 执行音频分析

    我已经被这个问题困扰好几天了 并且浏览了几乎所有相关的 StackOverflow 页面 通过这次活动 我现在对 FFT 是什么及其工作原理有了更深入的了解 尽管如此 我在将其实现到我的应用程序中时遇到了极大的困难 简而言之 我想做的是为我
  • 播放选定的音频,同时暂停/重置其他音频

    我有两个通过按钮的单击事件播放的音频元素 如果选择了另一个元素 我已成功地暂停其中一个元素 但还需要将暂停元素设置回 0 0 秒 即暂停和重置 我知道 Javascript 目前没有stop 导致的方法假设这将通过设置其来完成current
  • Karasuba算法递归过多

    我正在尝试用 c 实现 Karasuba 乘法算法 但现在我只是想让它在 python 中工作 这是我的代码 def mult x y b m if max x y lt b return x y bm pow b m x0 x bm x1
  • Android 从 C++ 端播放原始音频

    我需要能够在 Android 系统的 C 端以自定义文件格式传输音频 我正在致力于移植自定义媒体播放器 并且需要能够打开自定义文件并从中传输音频 这很重要 因为我认为从性能角度来看将整个播放器移植到 JAVA 是不可行的 并且通过 JNI
  • 这个按位运算如何检查 2 的幂?

    我正在看一些应该很简单的代码 但我的数学在这里严重失败 下面是一个使用以下条件检查数字是否为 2 的幂的条件 if num 1 num num 1 make num pow of 2 我的问题是 如何在 num 和 num 1 之间使用按位
  • 在 Blackberry 4.2 JDE 上调用 atan 函数

    我需要从我的 Blackberry Java 应用程序计算反正切值 不幸的是 blackberry 4 2 api 没有 Math atan 函数 Blackberry JDE 4 6 版有此功能 但 4 2 版没有 有谁知道计算 atan
  • 在 Qt 中播放通知(频率 x)声音 - 最简单的方法?

    Qt 5 1 或更高版本 我需要播放频率为 x 的通知声音 n 毫秒 如果我能像这样组合音调那就太好了 1000Hz 持续 2 秒 然后 3000Hz 持续 1 秒 最简单的方法是使用文件 WAV MP3 例如如此处所述 如何用Qt播放声音
  • CGPoint 标量乘法 Swift

    我正在 SpriteKit 中构建一个平台游戏 并将为我的实体实现更新功能 以便它们根据重力和速度移动 但是 我需要使添加的速度量与增量时间成比例 以防止帧速率影响我的实体的移动方式 因此我将导入 GLKit 以便我可以使用标量函数 但是
  • 重新创建 CSS3 过渡三次贝塞尔曲线

    在 CSS3 过渡中 您可以将计时函数指定为 cubic bezier 0 25 0 3 0 8 1 0 在该字符串中 您仅指定曲线上点 P1 和 P2 的 XY 因为 P0 和 P3 始终分别为 0 0 0 0 和 1 0 1 0 根据苹
  • 数学/算法使图像适合屏幕保留纵横比

    我需要数学 算法方面的帮助来拍摄已知尺寸的图像并适合两个屏幕尺寸之一 720 x 480 或 1280 x 1024 图像尺寸来自 XML 文件 但这些尺寸是 Web 尺寸 我还从 XML 中选择了一些图像 这些图像的分辨率可能比 Web
  • 选择一组数字以达到最小总数的算法

    给定 一组数字n 1 n 2 n 3 n x 还有一个数字M 我想找到最好的组合 n a n b n c n gt M 该组合应达到达到或超过 M 所需的最小值 没有其他组合可以提供更好的结果 将在 PHP 中执行此操作 因此可以使用 PH
  • C++ Exp 与 Log:哪个更快?

    我有一个 C 应用程序 需要比较两个值并决定哪个值更大 唯一的复杂之处是一个数字在对数空间中表示 而另一个则不是 例如 double log num 1 log 1 23 double num 2 1 24 如果我想比较num 1 and
  • 在浏览器中以低延迟捕获声音输入

    是否可以在浏览器中捕获低延迟的声音输入 主要用于录制吉他 我知道这也取决于硬件 但我们假设硬件足够好 我尝试使用 Web Audio API 但它的延迟有点糟糕 是否还有其他技术可以在浏览器中提供高性能的声音输入捕获 可以使用Unity3D
  • 帮助我理解FFT函数(Matlab)

    1 除了负频率之外 FFT 函数提供的最小频率是多少 是零吗 2 如果它为零 我们如何在对数刻度上绘制零 3 结果总是对称的 或者只是看起来是对称的 4 如果我使用abs fft y 来比较2个信号 我是否会失去一些准确性 1 除了负频率之
  • 如何在Python的SciPy中更改稀疏矩阵中的元素?

    我构建了一个小代码 我想用它来解决涉及大型稀疏矩阵的特征值问题 它工作正常 我现在要做的就是将稀疏矩阵中的一些元素设置为零 即最顶行中的元素 对应于实现边界条件 我可以调整下面的列向量 C0 C1 和 C2 来实现这一点 不过我想知道是否有
  • html 可嵌入 flash wav 播放器

    我需要一个可在 IE FF 和 Chrome 中播放 wav 文件的嵌入式音频播放器 目前无法转换为 mp3 或任何其他格式 该播放器应该非常简单 只有一个播放 暂停按钮 也许还有一个时间轴栏 用户可以单击该时间轴栏来转到音频的特定部分 还
  • 使用 Google Translate API 获取单词的发音

    我正在尝试将法语单词的发音保存到 wav 或 mp3 文件中 我想知道 Google Translate API 上是否有任何地方 因为它有发音功能 可以让我实现这个目标 其他库也可以工作 自从提出这个问题以来 从谷歌翻译中 抓取 MP3
  • 埃拉托色尼筛法 - 实现返回一些非质数值?

    我用 Java 实现了埃拉托斯特尼筛法 通过伪代码 public static void sieveofEratosthenes int n boolean numArray numArray new boolean n for int i
  • 是否可以通过 Android 应用程序来录音?

    我是一名开发人员 希望创建一个 Android 应用程序来记录电话 这是出于我个人的需要 为了我自己的目的和记录而记录电话 是否有可能做到这一点 是否可以访问麦克风以及通过扬声器发出的声音 我对 Android 开发有点陌生 所以请耐心等待
  • 如何高效计算连续数的数字积?

    我正在尝试计算数字序列中每个数字的数字乘积 例如 21 22 23 98 99 将会 2 4 6 72 81 为了降低复杂性 我只会考虑 连续的数字 http simple wikipedia org wiki Consecutive in

随机推荐

  • 如何使用seaborn制作气泡图

    import matplotlib pyplot as plt import numpy as np data x IEEE Elsevier Others y 7 6 2 import seaborn as sns plt legend
  • Modelica - Dymola Python 界面:将输出格式设置为文本

    我通过 Dymola Python 界面使用 Dymola 运行 Modelica 模拟 我的目标是将结果文件写入文本输出 即写入 txt文件 即使我的模型包含注释 Dymola experimentSetupOutput textual
  • C/C++ 中的单引号、双引号和 sizeof('a')

    我正在看问题C 或 C 中的单引号与双引号 https stackoverflow com questions 3683602 single quotes vs double quotes in c 我无法完全理解给出的解释 所以我写了一个
  • 位运算符优先级

    我在类 C 语言中遇到过几次的问题是 original included excluded BAD 由于优先级 它解析为 original included excluded excluded has no effect 有谁知道三个独立优
  • Git 预提交挂钩在 GitHub for mac 中失败(在命令行上运行)

    我创建了一个非常简单的预提交脚本 usr bin env sh Run tests npm test if ne 0 then echo Tests failed Aborting exit 1 fi exit 0 当我跑步时git com
  • MyBatis - 找不到构造函数

    我在 MyBatis 映射方面遇到问题 我有一个像这样的域类 public class MyClass private Long id private Date create private String content MyClass L
  • Android:键盘与 EditText 重叠(带有打印屏幕)

    我有一个 EditText 用户可以输入numbers在 因此 当用户单击 EditText 文本框时 将打开带有数字的键盘 正如您所看到的 键盘隐藏了文本框的一小部分 But when I press a key for example
  • 有没有办法从boto3获取access_key和secret_key? [复制]

    这个问题在这里已经有答案了 当我启动具有 IAM 角色的 EC2 实例时 我可以使用boto3在该 EC2 实例上 不必指定 aws 访问权限和密钥 因为boto3 自动读取它们 http boto3 readthedocs io en l
  • 如何使容器的子 div 与 IE7 中最大子 div 的宽度相匹配?

    这似乎应该是重复的 我发现了很多类似的问题 但没有一个对我的答案有效 如果我漏掉了一个 请指出 我会删除这个 我有一个绝对定位的 div 包含几个子 div 我希望容器扩展到最宽子级的宽度 并且所有其他子级扩展到相同的宽度 容器应有最小宽度
  • 寻找有关神经网络的良好参考[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 复制 有哪些学习人工神经网络的好资源 https stackoverflow com question
  • 使用 cairo_pdf 设备时的字体间距

    我正在使用 ggtext 并且我注意到有gaps当我使用较小的字体大小时的字体间距 library tidyverse library ggtext ggplot annotate richtext x 0 y 1 label span s
  • 未找到 ID 为“com.google.gms.google-services”的插件

    我第一次在我的应用程序 离子平台 中使用谷歌服务 我正在关注这个doc https developers google com cloud messaging android start 在构建我的应用程序时 我收到以下错误消息 请帮忙 谢
  • 如何在复制过程中过滤数据并只向用户提供他自己的文档?

    我需要在客户端同步来自 CouchDB 和 PouchDB 的服务器数据 每个用户都有自己的数据 当他在线时 该数据正在更新 如何在复制过程中过滤数据并只向用户提供他自己的文档 这对我来说是安全问题 在您开始拥有大量用户 数千个 之前 为每
  • 如何获取(内置)麦克风的硬件信息?

    当用户在我的网站上录制音频文件时 是否可以读取 内置 麦克风的硬件信息 至少是名称 JavaScript 可以做到这一点吗 或者有其他方法可以解决这个问题吗 我在网上搜索但只能找到用 JavaScript 录制的脚本 新版本 可在 Fire
  • 如何使用 C# 确定屏幕宽度/高度

    我想设置a的宽度和高度Window动态地基于用户屏幕的最大宽度 高度 我如何以编程方式确定这一点 对于主屏幕 System Windows SystemParameters PrimaryScreenWidth System Windows
  • 如何从单个 uitableViewcell 获取多个按钮?

    我正在做一个测验tableView有 4 个按钮 选项 我将它们标记在故事板上 例如 201 202 203 204 并成功地将它们全部放入tableView方法 但是将目标添加到按钮后 我无法在其中获取特定按钮buttonClicked
  • 使用 Popen.wait() 时重现死锁

    从文档中使用Popen wait https docs python org 2 library subprocess html subprocess Popen wait may 使用 stdout PIPE 和 或 stderr PIP
  • 如何在 IntelliJ 中设置 sql 方言

    我正在使用 IntelliJ 2017 我想为 sql 文件设置 SQL 方言 创建文件后 顶部有一条消息 指出未设置该文件的 SQL 方言 当我单击 将方言更改为 链接时 它会打开 SQL 方言菜单 右侧有一个下拉链接可以选择方言 但下拉
  • pytz 和 astimezone() 不能应用于简单的日期时间

    我有一个约会 我需要让它知道时区 local tz timezone Asia Tokyo start date 2012 09 27 start date datetime strptime start date Y m d start
  • 如何将波浪数据转换为复数

    我正在从麦克风读取原始数据并输入 FFT 我正在尝试的两个 FFT 库 AForge http code google com p aforge and 外皮质 http www exocortex org dsp 将复数作为输入并给出复数