MATLAB中xcorr函數用法解析


xcorr是用於求解序列自相關和互相關的函數,通過help命令可以調出其具體說明,MATLAB中提供的幾種用法如下:

c =  xcorr(x,y)
c = xcorr(x)
c  =  xcorr(x,y, 'option')
c =  xcorr(x,'option')
c =  xcorr(x,y,maxlags)
c =  xcorr(x,maxlags)
c =  xcorr(x,y,maxlags, 'option')
c =  xcorr(x,maxlags, 'option')
[c,lags] =  xcorr(...)
這里只簡單的舉幾個例子作分析,注:這里只分析線性卷積和線性相關,至於圓周卷積和圓周相關不做介紹(其涉及到圓周移位,主要用於周期序列)。
其實說到相關,我們很容易想到卷積,回顧下線性卷積的幾個主要步驟
1.翻褶-2移位-3相乘-4相加(積分)
再回顧下線性相關的步驟,很容易分辨兩者的共同點和不同點
1.移位(左移右移)-2相乘-3.相加
很明顯,線性相關的步驟相比於線性卷積而言,只是少了翻褶這一步驟
(1)我們舉例自相關用法:
a=xcorr([1 2 3],[1 2 3])
 
a =
 
     3     8    14     8     3
這句語句是求解序列[1 2 3]的自相關輸出,在MATLAB中式如何算的呢,下面分析
原序列  1  2  3---左右移位得到
                                                    1 2 3
                                                    1 2 3            =1x1+2x2+3x3=14
                                                       1 2 3         =2x1+3x2=8
                                                          1 2 3      =3x1=3
                 8 =1x2+2x3=          1 2 3
                          3=1x3=       1 2 3
這樣一分析就很好理解了,至於互相關,操作過程和上面是一樣的,但是需要注意的是,當個2個序列的長度不一樣時,
MATLAB會將較短的序列補0操作,補至和較長序列一樣的長度,其實這和理論上的操作也是一致的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM