解決方案
可以通過許多方式來做到這一點。在此KB中,我們提供了使用互相關函數(cross-correlation function)的解決方案。
在訊號處理中,互相關是一種
相關性的度量,是兩個訊號的相對位移的函數。用來確定兩個訊號之間的延遲。
本範例使用互相關來確定兩個相同,但已位移的訊號之間的取樣延遲。
- 產生100個訊號樣本
- 複製訊號並按使用者控制的樣本數進行移位
- 刪除從後方偏移的樣本數,以使兩個波形都保持相同大小。
- 互相關訊號
- 找出互相關函數的峰值
- 找到峰值幅度的x值
- 由於互相關的計算,將一個波形的樣本數減1
如果您計算了兩個訊號之間的互相關,則對於時間連續訊號來說,互相關函數的最大值(如果訊號為負相關,則為最小值)表示訊號最佳對齊的時間點,即兩個訊號之間的時間延遲為由互相關的最大值或最大值的引數(
arg max)的參數確定。
在離散系統中,必須考慮到時間是由樣本替代的,在計算互相關函數(6)的最大值之後,必須將其與互相關最大的位置(通常在頻帶的中間)相關計算。因此,您必須將訊號的樣本總數減去"最大值減去1(零索引)",以便計算樣本延遲(7)。