我创建了一个.wav
文件,其中包含8khz到16khz的频率成分。之后,我使用录音机录制声音(来自扬声器)。最后,我使用MATLAB程序将声音转换为数字。这个数字如下所示
在这个图中,你可以看到一个8-16khz平台(这就是我想要的),但你也可以看到一些尖峰(箭头指向)。我不知道为什么会产生尖峰。它们是否在我的代码中生成?我写的代码如下所示。谢谢
Fs =44100; *sample frequence
toneFreq1 = 8000; %frequence
nSeconds = 25; %time
f1 = sin(linspace(0, nSeconds*toneFreq1*2*pi, round(nSeconds*Fs)));
toneFreq2 = 8100;
nSeconds = 25;
f2 = sin(linspace(0, nSeconds*toneFreq2*2*pi, round(nSeconds*Fs)));
....
toneFreq80 = 15900;
nSeconds = 25;
f80 = sin(linspace(0, nSeconds*toneFreq80*2*pi, round(nSeconds*Fs)));
toneFreq81 = 16000;
nSeconds = 25;
f81 = sin(linspace(0, nSeconds*toneFreq81*2*pi, round(nSeconds*Fs)));
f_12345678910...= [f1+f2+f3+f4+f5+f6+f7+f8+f9+f10...f81]/81;
f_z=[f_12345678910...];
sound(f_z,Fs)
wavwrite(f_z, Fs, 24, '8_16zKHz.wav');