Matlab:信号频谱相似,但 xcorr 显示不相似

Posted

技术标签:

【中文标题】Matlab:信号频谱相似,但 xcorr 显示不相似【英文标题】:Matlab: Signal spectrum is similar, but xcorr shows not similar 【发布时间】:2020-01-21 06:52:24 【问题描述】:

我有两个信号,它们的频谱相似,见图 1。 但是当我做xc = xcorr( signal1, signal2 ) 时,结果并不相似。见图表2(plot(abs(xc)))。

对于类似的信号,我们是否应该得到xcorr 结果为chart3? xcorr有什么需要注意的吗?

【问题讨论】:

This question和你的问题有关, 图表 3 是几乎相同的信号。图 2 显示了具有相同低频成分但中高频成分非常不同(例如以噪声为主)的信号之间的互相关。 【参考方案1】:

xcorr 返回两个信号之间的互相关,但不对长度或幅度进行任何调整。然而,你是对的,应该有一个明确的峰值。纠正偏移,它应该可以顺利工作。如果您指定xcorr(...,scaleopt)-option,xcorr 可以自动执行此操作:

scaleopt - 标准化选项

“无”(默认)| '有偏见' | '不偏不倚' | '标准化' | '系数'

请注意,您的信号需要具有相同的长度。您可能还想添加maxlag 属性以减少计算和允许的移位量。

【讨论】:

很难从图表中理解我们看到的内容,因为没有图例、单位或轴标签。但是,您可能不得不使用具有相似(宽带)频率模式的嘈杂数据集,这些数据集彼此之间没有互相关

以上是关于Matlab:信号频谱相似,但 xcorr 显示不相似的主要内容,如果未能解决你的问题,请参考以下文章

关于用MATLAB设计确定信号的频谱分析和滤波

一维信号频谱图仿真——matlab

Matlab_xcorr_互相关函数的讨论 [未完成]

matlab如何作出信号频谱图?

matlab 作出信号频谱图

怎样利用MATLAB 完成周期矩形脉冲信号的频谱图??