0
當我將12 kHz的正弦波添加到另一個12 kHz時,並將它們從iPhone揚聲器一起輸出時,我可以聽到其他不應該在那裏的較低頻率。在緩衝區中添加2個正弦波會產生噪聲
爲了做到這一點,我創建了一個正弦波並用樣本填充緩衝區,然後將另一個正弦波的樣本添加到緩衝區。
這些單獨的正弦波中的每一個都單獨正常工作,但是當它們合併時,我可以聽到之前沒有的畸變。
這是我的回調代碼:
for (int i = 0; i <inNumberFrames; i++)
{
buffer[i] = buffer[i]+ sin(theta12_8) * myInstance->amplitude;
theta12_8 += 2.0 * M_PI * 12800/(myInstance->sampleRate);
if (theta12_8 > 2.0 * M_PI)
{
theta12_8 -= 2.0 * M_PI;
}
}
for (int i = 0; i <inNumberFrames; i++)
{
buffer[i] = buffer[i]+ sin(theta10) * myInstance->amplitude;
theta10 += 2.0 * M_PI * 10000/(myInstance->sampleRate);;
if (theta10 > 2.0 * M_PI)
{
theta10 -= 2.0 * M_PI;
}
}
你覺得哪個頻率不應該在那裏?你會得到一個2KHz的分量和一個22KHz的分量。 –
@HotLicks爲什麼應該有這些組件?即使你正在考慮將三角函數轉化爲積,我們也沒有談論這個。 –
首先檢查它是否只在一個頻率下正常工作。然後添加兩個頻率,但將兩個幅度除以2.您可能會達到一些增加失真的閾值,從而增加較低頻率的諧波(這些將是Hot Licks所說的組件,尤其是低頻組件)。 –