4

我的波形发生器有问题。我正在尝试创建一个具有给定频率声音的 .wav 文件。我使用的代码:

$freqOfTone = 21000;
$sampleRate = 44100;
$samplesCount = 80000;

$amplitude = 0.25 * 32768;
$w = 2 * pi() * $freqOfTone / $sampleRate;

for ($n = 0; $n < $samplesCount; $n++)
{
    $data->samples[1][] = 32768 + (int)($amplitude *  sin($n * $w));
}

不幸的是,输出波不正确,我得到的频率很少而不是一个:http: //i49.tinypic.com/ab1nx0.png

它应该看起来像这样:http: //i50.tinypic.com/33zbslk.png

我在哪里做错了什么?:(

4

2 回答 2

1

鉴于该采样率,所需频率太接近奈奎斯特频率而无法正确采样。我建议您为此使用 96kHz 的采样率。

于 2012-10-06T16:15:41.293 回答
0

我最终取得了一些成就,但我的解决方案与我的意思有点不同......无论如何,我采集了样本并将它们通过高通频率滤波器。信号有点失真,但对于我的目的来说仍然足够好:)

于 2012-10-21T19:21:46.480 回答