问题标签 [vdsp]
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.
c - 苹果 vDSP 示例的问题
我在使用vDSP的苹果示例时遇到问题。我尝试了所有这些,但最后我需要卷积样本。我什至无法通过链接器获取它:
是错误消息(无论我为什么架构构建或)。
iphone - 使用 vDSP 的 iPhone4s、iPhone 5 每秒最大 FFT
我和我的团队正计划为 iOS 构建一个外部附件,它将以 256KHZ 采样超声波。这很多,我想知道 iOS vDSP 是否可以以 256,000 个样本/秒的速度进行从时域到频域的转换,或者我们需要为 FFT 提供基于硬件的解决方案。
Apple 的示例项目(例如 aurioTouch)非常有用,但我找不到比专业音频采样频率更多的采样率。我需要帮助弄清楚以下内容:
- vDSP FFT 可以每秒处理 256,000 个样本吗?如果没有,除了在硬件中进行转换之外,还有其他创造性的方法来做同样的事情吗?
我发现与此相关的最接近的讨论是
ios - 从录制的声音中消除已知音频以通过反卷积估计背景声级
我有 2 个信号,一个包含在扬声器上播放的音频数据。第二个包含同时记录扬声器的麦克风数据。
到目前为止我做了什么:通过相关在时域中对齐信号。对两个信号的重叠部分应用 fft 并将一个除以另一个以实现反卷积。
我做错了什么,因为生成的音频数据是无用的。
这是我的代码:
编辑澄清一下:感谢@Sammio2,我现在知道,反卷积很好地描述了我的问题:
f*g=h
h 是我录制的信号,包括
f,我希望恢复的信号和
g,我的播放信号还记录了我知道的,但很可能被扬声器->麦克风往返修改了
现在我需要任何方法来恢复除 g 之外记录的所有声音 f。
重要:最后我不需要一个清晰的 f 信号,只需要关于它的响度或存在水平的信息。基本上是除了记录的往返信号 g 之外的噪声水平。
我应该如何继续收集我想要的噪音水平信息?
我希望这有助于理解我的问题。到目前为止谢谢!
signal-processing - vDSP_fft_zrip 理解转换后的 DSPSplitComplex 内容
假设“A”是一个以正确方式打包的实向量(使用 vDSP_ctoz),执行以下操作:
将我的真实内容转换为它的频率表示。
那么以下值代表什么?:
实际上我想知道 DC 和 Nyquist 组件存储在哪里。A.imagp[j] 也是 A.realp[j] 的虚部吗?
iphone - 如何检查 vDSP 函数是否在 neon 上运行标量或 SIMD
我目前正在使用 vDSP 框架中的一些函数,尤其是 vDSP_conv,我想知道是否有任何方法可以检查该函数是否调用标量模式或在霓虹处理器上处理 SIMD。
该函数的文档提到了一些必须满足或调用标量模式的 power-pc-architecture 标准。现在我既不知道这些标准是否也适用于 iphone,也不知道如何检查我的函数是否调用标量模式或在霓虹灯上正常运行。
有没有办法检查这个?
谢谢!
ios - 计算正弦扫描频率响应的问题
我目前正在尝试计算 iphone 扬声器/麦克风往返的频率响应。我在扬声器上播放正弦扫描,通过麦克风录制并尝试从中获得频率响应。最终目标是能够将 FR 乘以任何给定的声音,使其听起来像 iphone 的扬声器/麦克风。
到目前为止我的代码:
到目前为止,这有效,当我将 FR 与初始文件扫描相乘时,它听起来像麦克风扫描。
我的问题: 这仅适用于生成 FR 的确切文件(扫描)。一旦我使用 FR 修改其他声音,例如音乐,只会出现噪音。
我像这样使用FR(在频域中,交错的,不复杂的,甚至相同的长度):
我在扬声器上播放的文件的正弦扫描:
我记录的正弦扫描(可见衰减的低频):
我的文件正弦扫描在频域中与在代码中生成的 FR 相乘:
我的目标: 在我的理解中,频率响应是关于每个频率的信息,它被系统衰减或放大了多少(在我的示例中,它无法再现低频)。为了获得这种信息,我生成了一个包含每个所需频率(正弦扫描)的声音,播放它并通过划分记录扫描/文件扫描(代码中的划分)来分析每个频率是如何被修改的。
通过将此频域中的 FR 乘以任何声音,应该修改频率幅度以模仿我系统上的播放,对吗?
谢谢!
更新: 最后,故障是缺少复杂的算术,正弦扫描和粉红噪声作为恢复脉冲响应的脉冲效果很好。
要获得工作代码,只需将记录的扫描 fft 数据除以初始扫描 fft 数据即可。
vdsp - 以矢量化方式计算双精度数组的平均值?
给定一个双精度数组 V,目标是计算平均 A。
通常推荐的解决方案是这样的:
计算数组的平均值似乎是一种常见的操作,但我找不到可以以矢量化方式执行此操作的函数。
我在 vDSP 中找到的只是计算平均值数组的vavlinD函数,并且不能改装为计算单个数组的平均值。
ios - 需要解释 vDSP_zcoher()
我目前正在处理原始音频数据并比较我遇到的两条信号vDSP_zcoher()我对此有几个问题:
- 为什么输出是一个复杂的数组而不是真实的。例如,我期望一个真正的数组,就像相关性的输出一样。更新:文档中似乎是错误的,D 是真实的。
- 参数 A、B 和 C 是否在累积使用vDSP_zaspec (A,B) 和vDSP_zcspec (C) 创建的自频谱和交叉频谱?
- 我是否正确,结果应该表明信号有多相似?
该功能的一般解释也很受欢迎!
提前致谢。
ios - 带有 iOS vDSP 的 FFT 不对称
我正在使用 Apples vDSP API 来计算音频的 FFT。但是,根据我对实际输入上的 FFT 的理解,我的结果(在 中amp[]
)在 N/2 周围不是对称的,它们应该是对称的?
下面frame
是一个包含音频样本的浮点数组[128]。
如果我将相同的浮点数组放入在线 FFT 计算器中,我会得到一个对称的输出。我在上面做错了吗?
出于某种原因,大多数值amp[]
都在 0 到 1e-5 左右,但我也得到了一个大约 1e23 的巨大值。我在这里没有做任何窗口,只是试图让一个基本的 FFT 最初工作。
我使用相同的数据附上了两个 FFT 输出的图片。您可以看到它们与 64 相似,尽管不是恒定的比例因子,所以我不确定它们有什么不同。然后超过64,它们完全不同。
iphone - 卷积函数 vDSP_imgfir 返回 0 值
我正在尝试在 iphone (iOS 5.1) 上使用 Accelerate 框架来进行矩阵卷积。但是,当我运行该功能
我只是在结果指针上得到 0。任何猜测为什么会发生这种情况?我没有发现任何类似的问题。
非常感谢你!