问题标签 [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 投票
1 回答
480 浏览

lisp - LISP/Nyquist 打开文件并逐行读取

我正在努力打开一个文件,并读取每一行直到 EOF。我正在使用基于 XLISP 的 nyquist,并且缺少 Common Lisp 的with-open-file. 我的代码是:

我从 nyquist 得到的输出是:

我希望得到一些帮助,了解我哪里出错了


注意:我也试过:

但这给出了:


更新:

使用 Rainer Joswig 提供的信息和链接,我能够找到可以用来打开文件并逐行读取的典型代码:

do函数具有三个基本部分:

  1. 第 1 行和第 2 行 - 分配用于循环的变量、它们的初始值以及如何增加它们。在这种情况下fpexfp不递增,并且从 fpex初始化并递增一read(我不知道尾随nil是什么)
  2. 第 3 行 - 循环的退出条件,以及return expressions所有在退出时评估的列表,并返回最后一个。在这种情况下 exit 将发生时ex == null,然后nil将被返回
  3. 第 4 行 - 循环的实际主体。在这种情况下不言自明。

注意:do*不同之处do在于它允许在一个表达式中分配的变量在以后的一个表达式中使用,就像fp在赋值中使用的方式一样ex

在任何类型的 LISP 中,我都是 n00b,所以如果以上任何一个错误,请说出来。

0 投票
2 回答
1129 浏览

lisp - 从奈奎斯特的字符串中删除字符

如何从 Nyquist 中的字符串中删除某个字符(与 xlisp 非常相似)并返回结果?

我想计算像“ABBAAAABBBAABAAAB”这样的字符串中有多少个“A”。(是的,字符串中只有 'A's 和 'B's。)

由于奈奎斯特没有(计数)功能,我尝试了类似的东西

或者

但它不起作用。

暂时忘记字符数,如何从字符串中删除“B”?

0 投票
1 回答
1020 浏览

signal-processing - nyquist中的PWM方波抽取器过程(大胆)

我正在尝试创建一个 PWM 效果,以便用 PWM 调制方波以近似 Audacity 中的输入选择。在应用合适的过滤器效果后,人们可以使用它来听到他们最喜欢的音乐在 PC(或 Apple ][)Squeaker Fidelity LOL 中听起来像什么。

我最初的想法是创建一个锯齿振荡器并将其用作 PWM 比较器步骤的参考

困难的部分是根据比较结果跟踪方波翻转

在 C++ 中,我只需使用 > 对每个样本执行此操作,并根据需要更改当前生成的方形样本的符号,但这在 Windows 中是大胆的(与 C/C++ 编译器提供的 Linux 不同),所以我只有 Nyquist 提示尝试这样做

---为简单起见假设单声道样本输入---

使用 (> s (osc-saw 44100)) 作为比较不起作用

所以我不知道从哪里开始,因为 nyquist 中的循环样本非常可怕和邪恶

Audacity 没有插件来实现这种效果……它只有一个 PWM 音调发生器

PS:我可以使用一些示例来说明如何在 Nyquist 中执行每个样本的工作。

0 投票
1 回答
662 浏览

matlab - MATLAB 奈奎斯特图错误

当我尝试绘制奈奎斯特图时

曲线不向虚轴移动w=infinity
它远离 MATLAB 中的虚轴。当分母中有“s”项时,我会得到同样的错误。

0 投票
1 回答
3577 浏览

matlab - MATLAB - 巴特沃斯滤波器设计的输入频率

我很难用 'buttord' 和 'butter' 函数计算巴特沃斯系数。我的目标是从我构建的时间序列中过滤掉噪音。时间序列有一个红噪声分量和一个频率为 0.3 Hz 的正弦信号。时间序列的采样频率为 10 Hz。

按照关于“buttord”的文档http://www.mathworks.com/help/signal/ref/buttord.html我计算了规范的 [n, Wn](遵循文档的示例 1):

用时间绘制 y_butter 只会让我到处都是零!

我尝试使用“freqz”来检查滤波器的频率响应(使用 512 个样本):

其绘图显示过渡带在 1 到 4 Hz 之间!

我对过滤器的理解是:

  • 0.3 Hz 信号
  • >> 0.3 Hz 时的噪声
  • 通过从 0 到 0.33 Hz 的所有内容
  • 衰减 0.36 Hz 以上的一切

您的帮助将不胜感激!

数据可以在这里下载:http ://dl.dropbox.com/u/1918592/detrendedTS.mat 'ts' 的第 1 列是时间变量,第 2 列是数据变量

我去除了线性拟合(Matlab'detrend')以消除一些走开的红噪声行为。

0 投票
1 回答
236 浏览

fft - 在处理一组正弦数据时如何使用采样频率概念?

所以首先我让自己习惯了 Matlab FFT,例如我会做以下事情:

而且我认为我对为什么使用奈奎斯特和采样频率参数有一个不错的理解。但是现在,我想对输出数组执行相同的过程(即来自我拥有的不同子​​程序的正弦曲线),这意味着我的输出数组有 2 列,第一列是时间向量,第二列是实际的正弦响应。现在,如何合并 fs 参数?我突然很困惑。如果您需要更多详细信息,请告诉我。谢谢你。

0 投票
1 回答
157 浏览

fft - 获得正确的采样频率,如何?

我试图完全理解采样频率的概念。我从 PaxRomana99 得到了一个有用的答案(我需要帮助设置正确的频率向量),似乎获得正确频率向量的方法是设置与 fs 相关的时间间隔:

t = 0:1/fs:10;% 10 秒在 fs 采样的数据 y = sin(2*pi*100.*t); 但是,就我而言,我无法控制时间间隔的设置方式,给了我 2 个数组,一个是时间间隔,一个是由该时间间隔产生的正弦波。那么我应该通过时间数组并提取 fs 吗?哪个应该是时间步长之间的间距?我在这里走错路了吗?感谢您的任何提示和帮助!

0 投票
1 回答
483 浏览

lisp - Audacity - 如何设置 Nyquist Prompt 控制速率以匹配音频速率?

我希望使用 Audacity 中的 Nyquist Prompt 插件来构建长度为 2048 个样本的分段线性波形。例如,我可以通过从 2048 个无声(零)样本开始,选择所有样本,然后调用 Nyquist Prompt 来生成一个方脉冲波:

这使用分段线性 (pwl) 函数创建一个波形,该波形从时间 0 开始,级别 1.0,然后线性插值到时间 0.5(选择中途),级别 1.0,然后立即跳到级别 0.0,并继续在 0.0 直到时间 1.0。

这是可行的,但是生成的波形在时间 0.5 处没有尖锐的单样本过渡(阶跃),而是在约 40 个样本上具有 1.0 和 0.0 之间的线性斜坡。在这种情况下这是不可接受的。

这里的转换表明,在 Audacity 中,奈奎斯特插件实际上以远低于音频速率的控制速率运行,因此产生了斜坡。

我实际上希望创建一个比方波更复杂的波形,所以一旦这个问题得到解决,我就可以继续构建完整的波形。

我的问题是:

  • 是否可以调整控制速率以匹配音频采样率,以便我可以对 pwl 功能进行精确采样控制,以及
  • 如何将其合并到也称为“pwl”的 Nyquist Lisp 表达式中 - 我对 Lisp 一点也不熟悉,也不明白如何顺序执行两个语句。我的猜测是有一个功能可以做到这一点......

如果这更有意义的话,我很乐意在 Audacity 之外使用 Nyquist。

0 投票
1 回答
191 浏览

matlab - 奈奎斯特准则 - 算法中未定义的变量

我编写了一个算法来检查 Nyquist 标准的封闭系统的稳定性(http://en.wikipedia.org/wiki/Nyquist_stability_criterion

函数返回

未定义的函数或变量“answear”。

如果 answear==1 则稳定性错误(第 87 行)

所以算法写得不好?

0 投票
0 回答
1109 浏览

python - 出现特定频率时拆分音频文件

我正在制作电台,我们花了很多时间将节目存档并上传到我们的网站,因此我们正在为此寻找“自动”解决方案。我想出的是在每个节目的开始和结束点引入一个特定的频率(可能大约 21khz,我知道 FM 发射器的工作频率是 50 到 15khz,但录制的文件将直接来自混音器,而不是来自无线电传输)。

之后,我会复制文件,用带通滤波器将其过滤掉,这样我就有了相同的文件长度,但现在只有 21khz 的声音点。这可以使用 python 脚本或 Nyquist 来完成,尽管我不确定这是否可以通过 nyquist 的命令提示符自动完成。

接下来,这是我的问题,我需要导出标签(大胆)文件或 .XMCD、.CDDB 或 .CUE 文件以及这些频率发生的确切时间。最后,我将使用 mp3splt 将第一个“原始”文件与我创建的标签或提示或 CDDB 或 XMCD 文件分开。

直到现在,我还是大胆地做到了这一点,多亏了我找到的建议我还阅读了关于 python 中的频率检测关于在 python 中过滤记录的信息,并且还在 audacity 论坛中发现了这种有趣的方式,用于使用 python 导入时间戳

您认为继续解决该问题的最佳方法是什么?我能用python做到吗?也许有类似于静音检测的东西?

Audacity 导出的标签文本文件格式如下:

或者

提前感谢您的帮助