如何修改频谱尖峰

时间:2014-11-10 02:50:03

标签: matlab

enter image description here enter image description here enter image description here我创建了一个.wav文件,其中包含8khz到16khz的频率成分。之后,我使用录音机录制声音(来自扬声器)。最后,我使用MATLAB程序将声音转换为数字。这个数字如下所示

enter image description here

在这个图中,你可以看到一个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');

0 个答案:

没有答案