我有数据以 0.8 Hz 采样的时间序列。数据与色谱(化学分析)有关,这就是采样频率相对较低的原因。此时仪器无法更快地采样。
我在 MATLAB 中探索通过频域中的零填充进行上采样的想法,如下所示。
FFT_S=fft(Signal); % FFT of Signal of Interest
FFT_ZP=[FFT_S(1:length(t)/2,1); zeros(1000,1); FFT_S(length(t)/2+1:end,1)]; % Zero padding with 1000 zeros.
Signal_Up=real(ifft(FFT_ZP)); % Upsampled data
原始数据由 716 个点组成。上采样数据有 1716 个点,但幅度减小了——这是不希望的。
是否有一个简单的乘法因子可以根据上采样前后的点总数来校正 MATLAB 中的幅度?
编辑:
幸运的是,对于这种分析化学目的,零填充的权衡是不相关的。定性地说,为了保持幅度相同,我发现如果我们将采样率加倍,则反向 fft 后的幅度必须乘以 2,如果我们通过零填充将采样率增加三倍,则幅度必须乘以3.忽略权衡,必须有一个通用的方法来根据初始和最终数据点的数量来校正最终幅度?
谢谢。