使用 MATLAB 进行耳朵测试

信息处理 matlab 声音的 硬件
2022-01-26 08:07:41

我正在尝试使用 MATLAB 测试我的耳朵频率范围。我无法理解的是我能听到 20 kHz 以上的频率。我的采样频率足以满足奈奎斯特标准(80 kHz,这是 MATLAB 的限制)。所以不可能有混叠。可能是什么问题?感谢您的任何帮助。这是我的代码:

K               = 1000; % kilo
sampling_freq   = 80*K; % 80KHz sampling for sin wave 
sampling_period = sampling_freq^(-1);
f               = 20*K; %kilohertz
t               = 0:sampling_period:5; % 5 second sin signal
testing_sound   = sin(2*pi*f*t);
plot(t,testing_sound)
sound(testing_sound,sampling_freq);
1个回答

首先 - 不要使用 80kHz(我不知道你为什么想出这个数字作为 MATLAB 的限制,而实际上它是 1e6)而是更合理和标准化的东西,即 96kHz(或 88.2kHz如果你希望...)。另一件事是您的声卡可能无法提供如此高的采样频率。您应该在播放选项-> 高级选项卡中检查并正确设置。最后一件事 - 你应该放弃使用过时的sound并使用audioplayer- 除非你使用一些 ooold MATLAB。