▲?更多精彩內容?請點擊上方藍字關注我們吧!
相關函數是鑒別信號的有力工具,被廣泛應用于雷達回波的識別,通信同步信號的識別等領域。相關是一種與卷積類似的運算。與卷積不同的是沒有一個函數的反轉。
互相關函數給出了在頻域內兩個信號是否相關的一個判斷指標,把兩測點之間信號的互譜與各自的自譜聯系了起來。它能用來確定輸出信號有多大程度來自輸入信號,對修正測量中接入噪聲源而產生的誤差非常有效。

互相關是表示兩個不同函數的相似性參數。可證明,R12(τ)=R21(–τ)。
相關與卷積的關系如下:
R12(t)= f1(t)* f2(–t)
R21(t) = f1(–t)* f2(t)
若f1(t)和 f2(t)均為實偶函數,則卷積與相關完全相同。
在單片機中處理的信號為數字信號,所以從離散的角度來講就涉及到卷積和。已知定義在區間( – ∞,∞)上的兩個函數f1(k)和f2(k),則定義和

為f1(k)與f2(k)的卷積和。下面借助MATLAB工具來定性感受一下。matlab中的參數都是以數組的形式存儲的,標量可以看作是一維數組。
x1=[1?1.5?2];?%離散數據一
x2=[1?1?1];? %?離散數據二
[a,b]?=?xcorr(x1,x2);%?兩個數據求互相關
a
a?=
1.0000? 2.5000? 4.5000? 3.5000? 2.0000
b
b?=
-2? -1? 0? 1? 2
a、b的結果大家應該不會困惑吧,結果就是卷積求得的結果,在此處a、b可以看成數組,我給大家舉個例子:

其他的結果大家可以依次類推。
自相關函數是描述隨機信號X(t)在任意兩個不同時刻t1,t2的取值之間的相關程度;若互相關函數中f1(t)= f2(t) = f(t),則得自相關函數。
顯然,R(-τ)= R(τ)偶函數。
%%%%%互相關運算%%%%%%
>>?x?=?[1?3?5];
>>?[a,b]?=?xcorr(x)
a?=
5? 18? 35? 18? 5
b?=
-2? -1? 0? 1? 2
t=0:100;%?時間
x=cos(t);%?信號
[a,b]=xcorr(x,'unbiased');
plot(b,a)
生成圖像如下所示:

參數’unbiased’的作用在于基于缺省參數時的計算結果,每個組的計算再除上該組的序號組數,比如b(1)時組數為1,記為N=1,則a(1)=1*5/N=5;b(2)時就是a(2)=18/N=18/2=9;類似等等;
t=0:100;%?時間
x=cos(t);%?信號
[a,b]=xcorr(x,'biased');
plot(b,a)

參數’biased’的作用在于缺省參數的基礎上除以序列x的長度,即a(1)=5/3;
t=0:100;%?時間
x=cos(t);%?信號
[a,b]=xcorr(x,'coeff');
plot(b,a)

此時用于求序列x的自相關序列,其結果是針對’biased’的情況進行歸一化,使得b=0時即中間的值a(3)=1,因此a(1)=5/11.6667,所有的分組數據在’biased’基礎上都通過11.6667歸一運算。
實際在單片機中要處理的為2048個長度的Chirp信號,對有限長序列,卷積和的計算用:不進位乘法。不進位乘法的算法思想是這樣的,對于兩個序列,將兩序列樣值以各自k的最高值按右端對齊,然后把逐個樣值對應相乘,但不進位,最后把同一列上的乘積值按對位求和。例如:


干貨 | 單片機I/O口驅動,為什么一般都選用三極管而不是MOS管?干貨 | 六款簡單的開關電源電路設計,內附原理圖詳解
在公眾號內回復您想搜索的任意內容,如問題關鍵字、技術名詞、bug代碼等,就能輕松獲得與之相關的專業技術內容反饋。快去試試吧!如果您想經常看到我們的文章,可以進入我們的主頁,點擊屏幕右上角“三個小點”,點擊“設為星標”。