问题标签 [nyquist]

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 投票
2 回答
3880 浏览

matlab - 使用 sinc 函数重建数字信号

我正在尝试使用 MATLAB 中的 sinc 函数以 800e6 的采样频率重建信号 cos(2*pi*300e6)。当我输入以下代码时,我得到了一些非常嘈杂的东西——不是我要找的东西。我究竟做错了什么?先感谢您!

代码:

0 投票
1 回答
307 浏览

audio - 在 Audacity 中为链添加白噪声

我需要使用 Audacity 向批量声音文件中添加恒定 dB 级别的白噪声。生成插件“噪声”本质上是我正在寻找的,但它不能用于向链中的文件添加噪声,因为它会覆盖每个文件而不是向其中添加白噪声。有一个效果插件“添加噪声”,它也非常接近我的需要,但是白噪声是作为每个文件中总噪声的百分比添加的,而不是以恒定的 dB 级别添加到每个文件中。

我正在尝试使用“Nyquist Prompt”编辑“添加噪声”插件的代码,以便将噪声级别设置从百分比更改为 dB,但对新代码应该是什么感到茫然。我认为我需要更改的 2 行是第 9 行和第 13 行,但同样,我并不完全确定。“添加噪音”插件来自Audacity 论坛

0 投票
1 回答
440 浏览

python - 在 python 上绘制奈奎斯特图动画

我目前正在尝试创建一个应该绘制动画奈奎斯特图并将其保存为 gif 文件的 python 代码。

问题是,我不知道如何使动画功能起作用。这是我在互联网上找到的有效代码:

您可能知道,linspacesin是返回具有顺序值的数组的函数。我的代码中的realimag变量也是具有顺序值的数组。w变量也是一个数组,对应于realimag的值。我希望为每个w值绘制realimag,从而成为动画的“步骤”。我的代码有什么问题?

0 投票
1 回答
31 浏览

frequency - 关于奈奎斯特采样示例

如果我有八个电压等级(0v、2、4、6、8、10、12、14v),带宽为 125MHz,我的最大数据速率是多少 Mbps?如果我增加到200MHz?

0 投票
1 回答
394 浏览

c - sndfile.h 中的 sf_count_t 类型是如何在 libsndfile 中定义的?

我正在尝试使用 Nyquist(一个音乐编程平台,请参阅:https ://www.cs.cmu.edu/~music/nyquist/或https://www.audacityteam.org/about/nyquist/)作为独立程序,它利用 libsndfile(一个用于读写声音的库,参见:http ://www.mega-nerd.com/libsndfile/ )。我在 i686 GNU/Linux 机器 (Gentoo) 上执行此操作。

成功设置并无错误启动程序后,我尝试通过示例之一“(play(osc 60))”生成声音,但遇到此错误:

进一步调查(并通过电子邮件发送给作者)证明有些帮助,但解决方案仍然离我很远。作者建议查看 /usr/include/sndfile.h 以了解 sf_count_t 是如何定义的,并且(这部分)我的文件与他的相同:

在上面作者指出,没有“32 位偏移”选项。我不确定我将如何进行。这是 Nyquist 的作者推荐我调查的特定文件:https ://github.com/erikd/libsndfile/blob/master/src/sndfile.h.in ,这是整个源代码树:https://github .com/erikd/libsndfile

以下是作者电子邮件回复中的一些相关片段:

“我猜 sf_count_t 必须显示为 32 位,并且您希望 libsndfile 使用 64 位文件偏移量。我使用 nyquist/nylsf,它是 libsndfile 源的本地副本——让它们保持最新需要更多工作(所以他们可能不是)但是当你有一个一致的库时,构建和测试会容易得多。”

“我使用 CMake 和 nyquist/CMakeLists.txt 来构建 nyquist。”

“可能是那台 32 位的机器,默认 sf_count_t 是 32 位,但我觉得 Nyquist 不支持这个选项。”

这里是奈奎斯特的源代码:http: //svn.code.sf.net/p/nyquist/code/trunk/nyquist/

这个问题对我来说很难解决,因为它是由相对晦涩的软件的一个小众用例组成的。这也使得该问题的支持前景有些令人担忧。我知道一点 C++,但我对自己解决这个问题的能力没有信心。感谢大家的阅读,祝大家节日快乐。如果您有任何建议,即使是在格式或编辑方面,请不要犹豫!

0 投票
1 回答
143 浏览

audio - 为循环 wav 样本添加抗锯齿/带宽限制(非傅立叶变换)

如何使用 C++ 代码构建抗锯齿插值?我有一个简单的 4096 或 1024 缓冲区。当然,当我以高频播放时,我会遇到混叠问题。为避免这种情况,信号必须受到高频带宽的限制。粗略地说,高频的“锯齿”波应该看起来像一个正弦波。这就是我想要得到的,这样我的声音就不会像你在车里的旧 FM/AM 收音机中移动旋钮一样脏。

我知道如何用傅里叶变换构建带限正方形、三角形、锯齿形。所以我的问题只是关于波表

0 投票
1 回答
768 浏览

javascript - 如何在 JavaScript 中生成这种滴答声?

在 a.bestmetronome.com 上,他们有一个节拍器,可以根据噪音产生滴答声。

但是,我无法弄清楚“刻度”是如何生成的。尽管我能够从 Audacity 中找出“滴答”生成器:

这是我目前在生成它的函数中拥有的刻度:

但是,生成刻度本身的脚本是基于 Lisp 的 Nyquist 语言。我怎样才能在 JavaScript 中编写一些东西来完成 Lisp/Nyquist 生成器的功能,但使用 AudioContext 和 Web Audio 函数?

我在网上尝试了许多翻译工具,似乎没有一个能到达我需要的地方。另外,我如何确保我开始的空缓冲区(填充了上面代码生成的噪声样本)完全根据timeJS 中的变量开始?

可以使用“highpass8”来完成,createBiquadFilter()并且可以从随机数开始创建噪声。我之前使用过 Web Audio API,并用它制作了噪音和音调发生器。但是,在这个任务上我被困住了。


或者,我尝试查看 a.bestmetronome.com 的源代码,但显然他们使用 Flash 来生成声音,但我找不到实际生成滴答声的 ActiveX 对象。我怎样才能复制他们生成刻度的方式?(也使用网络音频 API)

0 投票
1 回答
210 浏览

audio - 如何从声音文件中提取包络?

我需要在无头 Linux 主机上的批处理作业中从一组音频文件中提取声波包络。

我认为这可以使用Nyquist 编程语言来实现,它是 Lisp 的一种变体,尤其是嵌入了 Audacity 中,并且专门用于声音处理。但是,如果我对 Lisp 有一些了解,那么我之前没有任何使用 Nyquist 的经验。

Nyquist 中是否有一些原语可以直接实现这一点?或者我如何编写一个简短的 Nyquist 程序来提取声音的包络?


我尝试使用snd-avg函数。但它似乎没有产生一个平滑的包络(截图中的上半部分):

使用 <code>snd-avg</code> 获得的信封

0 投票
1 回答
3992 浏览

signals - 奈奎斯特率和奈奎斯特频率有什么区别?

我有一个家庭作业问题,询问信号的奈奎斯特率和奈奎斯特频率。我以为这两个是同义词?我试图阅读他们的定义,但它看起来就像是同一件事措辞不同。

0 投票
1 回答
40 浏览

fft - 小波包分解后应用 FFT 是否合理 lv3

WPD = 小波包分解

你好,亲爱的堆栈溢出。我对我的时间序列数据有疑问。我的数据是机器或机床中轴承的振动。

我们知道WPD作为一个滤波器工作,分为8个频段:

但是,如果将重构应用于这 8 个频带,则只能应用 0~2000Hz 的 Nyquist 定理(根据 Nyquist 定理,只有不到一半的频率是有效的)。

由于2000Hz以上的频率变得毫无意义,那么我们只使用1、2、3、4频段进行重构。那正确吗?

我有两个问题是:

首先,在应用 WPD 后进行重建时,是否可以仅使用 0 ~ 2000Hz,这是采样频率的一半

当我在 WPD 之后重建过程时,

应用WPD后使用FFT合理吗??