gpt4 book ai didi

matlab - 计算音频信号的频率仓

转载 作者:行者123 更新时间:2023-12-02 22:38:04 25 4
gpt4 key购买 nike

我正在对包含语音和音乐的音频文件执行fft(stft)。我从信号中取出了 1-200 范围,并将其保存在一个名为frequency_band1的变量中。我如何从变量计算频率仓,该变量存储我专门选择的信号,该信号之前已应用fft。我认为,在某处阅读时,我需要计算 fs / fftpoints 。就我而言,为 44100/4096 。我是否将其与变量 frequency_band1 *(44100/4096)相乘?这是在matlab上完成的,我需要用stft做到。

最佳答案

DFT(FFT)的输出值为(0:n-1)/n*fs频率,其中n是DFT大小,fs是采样频率。

这是一个例子。这将以已知的频率创建一个正弦波,执行整个信号的DFT(因此n是信号大小),并使用上述频谱作为频率值绘制频谱。

fs = 44100; % sample frequency
t = 0:1/fs:.1; % 0.1-second time axis
x = sin(2*pi*300*t); % sinusoid of frequency 220 Hz
X = fft(x); % DFT of x
f = (0:numel(X)-1)/numel(X)*fs; % frequency axis of DFT
plot(f, abs(X)) % plot the spectrum in absolute value
grid % add grid
axis([0 1000 -500 2500])

您可以检查该信号的频谱线是否在应有的位置,即 300(Hz)。

enter image description here

关于matlab - 计算音频信号的频率仓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41883999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com