我正在使用Matlab执行一些信号处理,我有一个关于互相关和插值的问题来选择最相似的信号。
假设我有两个信号K1和K2,采样频率为30Hz,第三个信号Q,采样频率为100Hz。我执行的第一步是信号K1和K2上的样条插值,以便具有100Hz的采样频率。然后,我对所有信号执行幅度归一化,以便它们具有可比性。
所以现在,我有三个采样频率为100Hz的信号,它们都有不同的长度。现在我的主要问题是:最后我想选择哪个信号K1或K2与Q更相似,我希望它们具有相同的长度。我想到了两个假设:
1 - 我插值三个信号到相同的长度然后我执行互相关并选择具有最大互相关值的信号
2 - 我执行互相关,选择具有最大互相关值的信号,然后我插入两个信号(Q和所选信号)
我怀疑的是,在第一个选项中,当我插入三个信号时,我将对具有不同采样频率但相同长度的信号执行互相关。在第二个选项中,我正在使用相同采样频率但长度不同的信号进行互相关,然后进行插值 我不确定哪种方法是正确的,或者即使它是无关紧要的。
我使用spline和ppval函数进行插值,使用函数xcorr进行互相关。
答案 0 :(得分:2)
1)样条曲线可能不是一个足够好的上采样插值器。它非常适合打印和轻量级计算,但不会最大限度地减少失真。更好地使用http://www.mathworks.com/help/signal/ref/intfilt.html
2)交叉相关必须使用相同采样频率的信号。
3)对于互相关,你不需要相同长度的信号,如果Q比Kn短,相关系数是Kn的窗口,大小为Q.