4

背景

我承认,这个问题源于对数字信号处理所涉及的基础数学缺乏深入的理解。我还在学习。

我想获取一组幅度样本,比如 1024(单通道),并将它们带入频域。显然,这需要 FFT;那里没问题。问题是这只给了我高达奈奎斯特频率或 1024/2 的频率。

问题

如果我有立体声信号,我可以合并信号以产生 2048 个幅度样本,从而返回 1024 个频率值吗?我希望在频域中获得更高的分辨率。

那么,这可以做到返回有意义的频率数据吗?有没有其他方法可以获取立体声信号并最终在频域中获得更高的分辨率?

到目前为止我发现了什么

我遇到了一篇文章,它建议将左信号设为实数值,将右信号设为 FFT 复数值的虚数值。这对我来说没有意义,也许是因为我不懂数学。我确实尝试过,它似乎工作,但我有信号泄漏。所以我应用了一个汉宁窗,但处理后只有 512 个可用值。

4

5 回答 5

5

一般来说,没有。您的立体声信号当然是 2048 个幅度样本,但这些是来自两个独立通道的样本,每个通道都经过过滤,以在 A/D 转换之前删除高于 Nyquest 频率的所有信息。

考虑涉及一对 48 KHz 通道的两种情况:

  1. 一个 1000 Hz 信号向左平移,一个 2000 Hz 信号向右平移。这些之间没有任何关系,相反通道中也不存在任何信号,因此将它们组合起来毫无意义。

  2. 一个 50 KHz 的信号向左平移。右声道中没有任何内容,并且假设有适当的截止滤波器,左声道中也没有任何内容。没有过滤,你在左声道有废话。

也就是说,也许您在想,如果一对麦克风正在记录房间中的环境信号,并且您移除了截止滤波器,那么两个麦克风之间的相位差可能会为您提供有关实际信号的更多信息。这将是一个引人入胜的研究领域,但据我所知,目前距离实际实施还有很长的路要走。

于 2009-05-19T13:28:51.287 回答
3

如果您正在分析的信号是从物理信号中获得的,那么您将无能为力。将信号合并到一个包含 2048 个样本的大数组中就足以进行数学运算,但结果将毫无意义。

例如,创建一个包含 2048 个单元格的数组并像这样填充它:

原始= int [1024];
新 = int[2048]
新[2*n] = 原始[n];
新的[2*n+1] = 原[n];

这样你会得到更大的数组和更高的频率,但是由于你的初始数据是一样的,你得到的结果不会有任何帮助,它会和原来的 FFT 一样。

如果您只需要更高的频率分析,您可以做两件事,将采样率(我想您在插孔中使用声音线)更改为您的音板可以做的最大值(通常为 48kHz)。或者其次,将采集板更改为某些特定的硬件(任何专用的 USB 采集板都可以轻松达到 1MHz)。

Ps:频率为采样频率的1024/2倍。不要忘记乘以采样频率。

于 2009-05-19T13:30:02.250 回答
1

特例:

可以想象一个声音的单点源的安排,以及安排立体声输入以获得两个通道之间的半波长偏移。

然后,您将能够组合这些通道以获取高频数据。

可能会做一个可爱的演示,但它不是一个实际的应用程序。

于 2009-05-19T13:51:57.183 回答
1

有一种可能性是您可以从两个频道获得更高的费率。模数系统通常是多路复用的,也就是说,它们对两个通道使用一个模数转换器,在它们之间交替使用。如果您的录音是这种情况,并且两个通道具有几乎相同的输入,并且其他变量对您有利,那么您实际上可能具有两倍的基本采样率。

这是一个很长的镜头,但也许值得一试。如果是这种情况,您可以通过简单地将两个通道以正确的顺序交错来重构更高的频率。(我看不出有任何理由将其纳入复杂频道的想法。)

要检查是否是这种情况,您可以简单地检查交错通道图,或者互相关图可能有效。

于 2009-05-19T22:48:28.983 回答
0

不行,做不到!

左右声道组合成一个图像。number (left[i] + right[i]*j) 形成一个包含两个不同音频通道的信号。这种信号可以混合并通过介质(空气、水、RF)传输。它只是一种将两个真实通道复用为一个具有相似带宽的复杂信号的方法。

于 2009-07-10T23:39:20.213 回答