光谱图:如何控制个人fft的补零的超长期的序列

14日视图(30天)
你好,
我有很长一段音频采样率fs序列x,和想要执行一个谱图;(fs = 44000,这是一个几个第二记录)。
我希望这个谱图
  • 修建从half-overlapping个人音频片段的说3000音频数据点
  • 我想有个人FFT长度nFFT = 2 ^ 16,即以一个非常大量的补零(非常好的插值的目的)。
所以在这种情况下我想要一个 具体的控制在零填充 ,即一个 补零,不是由标准nFFT >大小(x)
这是通过使用matlab谱图吗?

接受的答案

Chunru
Chunru 2021年12月15日
“医生声谱图”的细节。
[x, fs] = audioread (“rockguitar - 16 - 44 - p1 -立体声- 72 secs.wav”);
类属性名称大小字节fs 1 x1 8双x 3195904 x2 3195904双
% 0将被自动填充
%赢得重叠nfft
光谱图(x(: 1), 3000年,1500年,2 ^ 16,fs);

更多的答案(2)

Fabia拜耳
Fabia拜耳 2021年12月15日
你好,
如果我正确地理解你的问题,你想要段长度n_w = 3000,每个重叠到1500年样本,然后在FFT 2 ^ 16 - 3000 0。
这应该是技术上可能的使用
n_w = 3000;
n_fft = 2 ^ 16
n_w窗口= 1 (1)%没有窗口——添加哪个窗口长度n_w,即汉明,你喜欢汉宁等
光谱图(x,窗口,[],n_fft)
然而,您可能想考虑这个方案是否计算你正在寻找什么。大量的补零增加结果的频率分辨率,但它也dismorphs你结果。为零的信号几乎无处不在,你指定,将反映在其FFT。所以它可能值得考虑再次添加这个巨大的补零是否真的优于频率分辨率增加长时间(可能更多的重叠)从你的信号段。

Bjorn Gustavsson
Bjorn Gustavsson 2021年12月15日
是的,原则上,用零填充 光谱图 如果nFFT大于window-length。
HTH

s manbetx 845


释放

R2021a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!