分离非常接近波长的波

信息处理 频率 源分离
2022-02-02 11:48:32

我是波浪问题的新手,所以请原谅我的简化词。我有一个信号由高频率范围组成。我对这个信号应用了一个带通滤波器,我已经能够将它分离到特定频率的波段。

我要解决的问题如下:每个波段都有很多非常非常接近波长的单独波。例如 4.08 Hz 和 4.09 Hz。甚至我们也可能有 4.001 Hz 和 4.002 Hz。信号数据有限,我无法将滤波器推到更好的分辨率。

现在的问题是,我如何分离每个波段中的各个波?如果可能的话,请向我推荐任何处理此类问题的书籍。

提前致谢,

2个回答

您在这里的方法不正确。与其尝试设计小范围滤波器,不如只进行频域分析。

说你有信号x包含由...组成N样本,采样率fs赫兹。为简单起见,我们举个例子N=1000fs= 1000 赫兹。奈奎斯特频率是采样频率的一半,即500在这种情况下是赫兹。这意味着您正在采样的信号不应具有高于该频率的频率(否则会出现混叠)。

现在,如果您想知道信号中有哪些频率,请计算离散傅里叶变换 (DFT)。DFT 定义为

X(k)=n=0N1x(n)e2πknN0<k<N1

从 DFT 中,你得到两件事。第一的,|X|称为幅度谱,这是您感兴趣的。第二件事是相位谱,由下式给出arg(X). 对于实值输入,DFT 从中间对称,因此您在我们的示例中获得的频率分辨率为1赫兹。现在,假设您还想知道半频率。查看DFT的定义,可以看到是N-观点。如果你愿意,你也可以这样做M-点。因此,为了也获得半频,取M=2000.

就您的问题而言,您需要的是一个非常长的 DFT。

其他需要注意的事项:不要根据定义计算 DFT。使用快速傅里叶变换 (FFT)。它更快,更精确。

自五月以来,您可能已经有了答案,但无论如何这里有一些评论。

有几个相关的问题:
FFT-for-a-specific-frequency-range 提到
ZoomFFT — 一个清晰的 9 页教程,有漂亮的图片
啁啾-DFT 像放大镜一样用于特定频率范围
如何计算对数间隔功率谱


一种完全不同的方法是在精细的频率网格上制作一个带有 sin-cos 列的矩阵
A=[cos (2πf0),sin (2πf0),cos (2πf1),sin (2πf1)...]
并解决 Ax=data 通过最小二乘。
这种方法的一些优点:
a)您可以选择您喜欢的任何频率网格,以及您喜欢的任何基础:sin-cos、小波......
b)易于编程,SVD 周围的一个小包装
c)SVD 是健壮
的 d)它是易于添加平滑约束,即正则化x.

缺点?不知道——请专家评论。熟悉它的人似乎都知道它: 最小二乘光谱分析 与 20 多篇论文和书籍有链接,叹息。