【问题标题】:Power spectral density of a signal with gaps?带间隙信号的功率谱密度?
【发布时间】:2010-12-02 09:09:13
【问题描述】:

有谁知道是否有可能找到其中有间隙的信号的功率谱密度。例如(在 matlab 语法中,这是我所熟悉的)

ta=1:1000; 
tb=1200:3000;

t=[ta tb];    % this is the timebase
signal=randn(size(t));  this is a signal

figure(101)

plot(t,signal,'.')

我希望能够在更长的时间基础上确定频率,而不是仅确定数据的各个部分。显然,我可以只取各个部分的 PSD,但这会限制最低频率。我可以对数据进行插值,但这会使 PSD着色

任何想法将不胜感激。

【问题讨论】:

  • 你所说的“间隙”实际上是Matlab用零填充的,而零是信号的合法值,所以就PSD而言,没有间隙,只是一个信号零的偶尔部分。信号中的间隙实际上是缺失的信息,只要您没有任何信号模型,用零替换缺失的信息与任何其他值一样是任意的。您可以尝试在频谱域中对信号进行建模,并使用该模型来插入缺失的信息。
  • 其实对于上面代码产生的图,区域(t>1000 &t
  • 当你告诉 Matlab 类似a[1 2 4] = [1 1 1]; 时,Matlab 用零填充第三个元素(其索引缺失)。
  • @Itamar Katz:我没有这样做。 t 是两组时间索引的串联。
  • 你说得对,我误读了代码。工作时间太长...

标签: python math matlab signal-processing


【解决方案1】:

Lomb-Scargle periodogram 算法通常用于对间隔不均匀的数据(在任意时间点采样)或部分数据缺失时执行分析。

这里有几个 MATLAB 实现:

【讨论】:

    【解决方案2】:

    我发现了这个Non Uniform FFT,但我不确定它是否正是我所需要的,因为它可能真的适用于大多数在不均匀时基上采样的数据,而不是具有显着差距的均匀间隔数据。我试试看!

    【讨论】:

      【解决方案3】:

      省略傅里叶基向量的片段会得到完全相同的 FT,因此 PSD,就像使用完整的基一样,但在任何信号“间隙”中的零填充内乘以零。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-15
        • 1970-01-01
        相关资源
        最近更新 更多