问题标签 [frequency-analysis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3495 浏览

r - R中的频率表摘要?

我有一组用户建议

并想用来summary(review)显示基本属性mean、median、quartiles 和 min max

但它会返回两列的摘要。我不使用data.frame,因为“星”因子是有序的。 我如何告诉 R Star 是一个有序的因子数字分数列表,而投票是它们的频率?

0 投票
3 回答
18530 浏览

fft - 如何从 FFT 中获得基频?

我正在开发一个闪光吉他,发现麦克风数据频率的唯一明显方法似乎是使用 FFT。然而,经过大约 30 小时的研究,我找不到最好的方法。我应该使用谐波乘积谱 (HPS)、倒谱还是最大似然?调谐器必须显示 25 到 3000Hz 的频率。

另外,如果有人知道一些准备找到基本频率的开源代码,请告诉我。我可以将它翻译成 ActionScript。

谢谢!

0 投票
3 回答
2472 浏览

arrays - 如何使用倒谱?

最近我问了这个问题:如何从 FFT 中获得基频?(您实际上不需要阅读它)

我现在的疑惑吧:倒谱算法怎么用?

我只是不知道如何使用它,因为我知道的唯一语言是 ActionScript 3,因此我很少参考 C、Java 等中的本机函数,以及我应该如何在 AS 上实现它们. 大多数文章都是关于这些语言的=/(尽管欢迎使用除 AS 以外的其他语言的答案,请解释一下脚本的工作原理)

我发现的关于倒谱以查找 FFT 结果的基频的文章告诉我应该这样做:

signal → FT → abs() → square → log → FT → abs() → square → power cepstrum

数学上:|F{log(|F{f(t)}|²)}|²

重要信息:

  • 我正在闪存中开发吉他调音器
  • 这是我第一次处理高级声音
  • 我正在使用 FFT 从到达用户麦克风的信号中提取频率区间,但我无法从中获取基频

我不知道:

  • 如何在 ARRAY 中应用正方形(我的意思是,我的 FFT 给我的数据是一个数组。我应该将它自己相乘吗?当我尝试 fftResults * fftResults 时,ActionScript 的调试会引发错误)
  • 如何应用“日志”。即使我只有一个号码,我也不知道如何应用它。
  • 复倒谱和功率倒谱有什么区别。另外,我应该使用它们中的哪一个?我正在尝试开发吉他调音器。

谢谢!

0 投票
2 回答
2102 浏览

bash - 独特字母和重复字母对的 Bash 脚本频率分析我应该如何构建这个脚本?

好的,第一次发帖。。

所以我有这个任务来手动解密密码,但我也想把这个过程自动化一点,如果不是全部的话,至少有几个部分,所以我四处浏览,找到了一些 sed 和 awk 一个衬垫来做一些我想做的事情,但不是我想要/需要的全部。

有一些网站可以做我想做的事,但出于某种原因,我真的只想在 bash 中做,只是因为我想更好地理解它等等 :)

该脚本将文件名作为参数并输出另一个文件,例如solution$1完成时。

将启动脚本以查看参数中的文件是否存在..

然后我找到了这一个班轮

哪个工作正常,但我需要每个字母出现的次数,我真的不知道该怎么做。

这是我试图实现或多或少的http://25yearsofprogramming.com/fun/ciphers.htm以计算唯一字母的出现次数等。

然后我需要把所有字母都小写。

在此之后,我看到脚本在做这些事情.. - 一个下标,用于扫描字典文件以查找特定模式和单词大小,单词越大越好。例如:假设解决方案是单词“apparel”,加密单词是“zxxzgvk”是否有正则表达式来表示比较这两个单词并在字典文件中列出单词“apparel”的模式,因为“appa”和“zxxz”是相似的模式,“zxxzgvk”的长度与“apparel”相似

  1. 这可以部分完成吗?这样看待问题是否现实,或者这只是牵强附会?

    • 另一个下标,它从前一个输出单词中获取找到的字母并交换密码中的字母。

交换后的字母将采用大写字母,以便随着时间的推移将它们区分开来。

我必须弄清楚如何继续重新扫描新找到的单词,看看它们是否部分或全部在字典文件中找到,然后交换更多字母。

  1. 过去有没有人看到这个问题并试图用我描述的文字模式来解决它,或者这太复杂了?

  2. 我应该记录任何交换吗?

也许只是扫描所有加密的单词并在我继续进行时进行交换,然后在第一次扫描时使用 for 约束进行另一次扫描以不更改大写字母(实际上是将它们用作更精确的模式..!)

有人用另一种语言做过类似的脚本/程序吗?如果有,是哪一个?也许我可以以某种方式联系:)

也许我们可以利用您的洞察力来了解您是如何构思代码的。

我很乐意将我已解码的密码和尚未解码的密码包括在内:)

同样,我的任务重点不是编写此脚本,而只是解决密码问题。但是编写脚本或者至少尝试看看我将如何编写这个脚本确实可以帮助我更多地理解如何从代码的角度思考。请随时指出我正确的方向!

密码本身是基于简单的字母替换。

我在这里做了一个pastebin,代码是:) http://pastebin.com/UEQDsbPk

在伪代码中,我看到的是:

  • 使用参数中的输入文件名和可选的第二个文件名(字典)调用程序
  • 验证输入文件是否存在且不为空
  • 读取文件内容并在屏幕上回显
  • 转换为小写
  • 扫描文本并计算每个字母的数量以进行频率分析
  • 询问用户文本应该是什么语言(英语默认)
  • 使用响应来指定用作基线的字母频率
  • 交换对应于大写频率分析的字母。
  • 在屏幕上打印更改的文档
  • 要求用户交换加密文本中的字母
  • 如果用户将字典文件作为第二个参数
  • 然后扫描密码以查找单词并找到更大的单词
  • 在字典文件中查找具有相似模式的单词(一些字母重复字母)
  • 在屏幕上列出结果(如果有)
  • 提议交换密码中对应的字母
  • 在屏幕上打印修改后的密码
  • 再次要求交换字母或找到更多相似的单词

或多或少是我看到脚本结构的方式。

  1. 你有没有看到我应该添加的东西,我错过了什么吗?

我希望这个修订版对大家来说更清楚!

0 投票
3 回答
1473 浏览

iphone - 清理嘈杂的倒谱结果

我一直在 iphone 上进行简单的频率检测设置。在存在谐波的情况下,使用 FFT 结果在频域中进行分析有些不可靠。我希望使用倒谱结果来帮助确定正在播放的基频。

我正在使用 AudioToolbox 框架中的 AudioQueues,并使用 Accelerate 框架进行傅里叶变换。

我的过程正是 Wikipedia 的倒谱文章中列出的 Real Power Cepstrum 的内容,具体来说:signal → FT → abs() → square → log → FT → abs() → square → power cepstrum。

我遇到的问题是倒谱结果非常嘈杂。我必须删除第一个和最后 20 个值,因为它们与其他值相比是天文数字。即使在“清理”数据之后,仍然存在大量变化 - 远远超出我对第一张图表的预期。有关频域和频域的可视化,请参见下面的图片。 快速傅里叶变换 FFT 倒谱 倒谱

当我在该图上看到频域中如此明显的赢家时,我希望在频域中看到同样清晰的结果。我玩过 A440,预计 bin 82 左右的震级最高。图表上的第三个峰值代表 bin 79,它足够接近。正如我所说,前 20 个左右的 bin 的数量级如此之大,以至于无法使用,我不得不从数据集中删除它们才能看到任何东西。倒谱数据的另一个奇怪质量是偶数仓似乎比奇数仓高得多。以下是 77-86 的频率区间:

我的问题是如何清理频域,以使我的倒谱域结果不那么狂野。或者,帮助我更好地理解如何解释这些结果,如果它们符合倒谱分析中的预期。我可以发布我正在使用的代码示例,但它主要使用 vDSP 调用,我不知道这会有多大帮助。

0 投票
1 回答
1334 浏览

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

我正在开发一种吉他调音器。

我有一个函数可以给我 FFT,以及每个频率的 FFt 值。

我如何从那里得到音符?我必须选择最高峰吗?

}

如果您能提供帮助,非常感谢。

朱利安。

0 投票
1 回答
1115 浏览

fft - 如何对大量数据使用 FFT 来绘制幅频响应?

我是一名程序员,不是一个好的数学家,所以 FFT 对我来说就像一个黑匣子,我想把一些数据扔到一些 FFT 库中并得到一个可绘制的 AFR(幅频响应)数据,就像 Rightmark 音频这样的软件做:

http://www.ixbt.com/proaudio/behringer/3031a/fr-hf.png

现在我有一个系统可以播放对数扫频正弦波(带有短淡入/淡出以避免尖锐的边缘)并记录音频系统的响应。

据我了解,我需要将输入用零填充到 2^n,使用音频样本作为复数的实部,设置虚数 = 0,然后我将从 FFT 中返回频率箱阵列一半输入数据的长度。

但是,如果我不需要像几秒钟的音频缓冲区给我的那样大的频率分辨率,那么正确的方法是制作,比如说,1024 大小的 FFT 窗口,输入音频块并取回 512 个频率点,其中考虑到我传入的所有数据?或者也许这是不可能的,我需要一次输入整个扫描正弦来取回我需要的所有 AFR 数据?

还需要平滑吗?我已经看到 FFT 的原始输出可能非常嘈杂。什么是尽早避免噪声的正确方法,所以我只看到来自 AFR 本身而不是来自 FFT 计算的噪声(就像我给出的链接中的图像 - 它看起来很平滑)?

我是一名 C++/C# 程序员。我将不胜感激任何展示如何处理扫频正弦端取回 AFR 数据的示例。目前我只找到实时处理小块数据的示例,这不是我需要的。

0 投票
4 回答
4122 浏览

audio - 将频率转换为键盘音符

我正在尝试编写音频应用程序。

我可以播放频率为 20 到 20K 的 cin 波来听到声音。我的问题是如何将频率转换为键盘音符以创建虚拟键盘(或钢琴)?是否有某种公式可以实现这一目标?

我使用的编程语言并不重要,因为我不想使用其他工具为我计算它。我想自己写,所以我需要了解它背后的数学。谢谢

更新

我找到了以下网址:http ://www.reverse-engineering.info/Audio/bwl_eq_info.pdf

包含八度频率图表。我需要存储该列表还是有可以替代使用的公式?

0 投票
2 回答
27707 浏览

matlab - 如何在 MATLAB 中使用 fft 从录制的声音中去除噪音?

我想从录制的声音中去除噪音并让它找到该声音的基本频率,但我不知道如何去除这些噪音。我正在录制从不同高度坠落物体的声音。我想找到录制声音的高度和最大频率之间的关系。

0 投票
5 回答
4485 浏览

python - Python 中的频率分析 - 用频率打印字母而不是用频率打印数字

在输出中, c 是数字而不是字母,我不确定如何将其转换回字母。

另外,有没有办法将频率/字母放入数组中,以便可以将它们绘制在直方图中?