**: 看了
matlab
關於xcorr
的help
文件沒搞清楚什麼意思,只夠看到一篇不錯的文章,通過簡單事例即可了解其應用。
輸入的是乙個簡單一維序列
x=[1,2
,3]第一:預設注釋項,
[a,b]=xcorr(x),
通過該命令計算的結果為:
a=3 8 14 8 3;b=-2 -1 0 1 2.
下面介紹一下,該過程計算機是如何計算的,首先講
b的計算,設一維序列的長度為
n,則序列中任意兩個資料序號相減,最小值為
1-n,最大值為
n-1,且能取遍兩者之間的所有整數,將這些數從小到大排列得到的就是
b;然後講
a的計算,在預設注釋項的情況下,
a的計算是這樣的,
a的每一項是對應
b的每一項的 1
、當b(1
)=-2
時,計算a(
1)時只用到一組資料——(
3,1)注意順序,只有這兩個資料的序號相減(後面資料的序號減去前面的)滿足
b=-2
,因此a(1
)的計算公式為:
3*1=3 2
、當b(2
)=-1
時,計算a(
2)時用到兩組資料——(
2,1)和(3,
2),這兩組資料的序號相減(後面資料的序號減去前面的)滿足
b=-1
,因此a(2
)的計算公式為:
2*1+3*2=8 3
、當b(3
)=0時,計算a(
3)時用到三組資料——(
1,1)、(2,
2)、(3,
3),這三組資料的序號相減(後面資料的序號減去前面的)滿足
b=0,因此a(
3)的計算公式為:
1*1+2*2+3*3=14 4
、當b(4
)=1時,計算a(
4)時用到兩組資料——(
1,2)和(2,
3),(讀者請對比和情況
2的區別),這兩組資料的序號相減(後面資料的序號減去前面的)滿足
b=1,因此a(
4)的計算公式為:
1*2+2*3=8 5
、當b(5
)=2時,計算a(
4)時用到一組資料——(
1,3),(讀者請對比和情況
1的區別),這兩組資料的序號相減(後面資料的序號減去前面的)滿足
b=2,因此a(
4)的計算公式為:
1*3=3
第二:注釋項為『unbiased』,[a,
b]=xcorr(x
,『unbiased』
),通過該命令計算的結果為:
a=3 4 4.6667 4 3
;b=-2 -1 0 1 2.
下面介紹計算機如何計算該過程,
b的計算在四種注釋項的情況下是相同的,就不再講述了。
a的計算仍是和
b的每一項相對應的。 1
、當b(1
)=-2
時,計算a(
1)時只用到一組資料(記
n=1)——(
3,1)注意順序,只有這兩個資料的序號相減(後面資料的序號減去前面的)滿足
b=-2
,因此a(1
)的計算公式為:(
3*1)
/1=3 2
、當b(2
)=-1
時,計算a(
2)時用到兩組資料(記
n=2)——(
2,1)和(3,
2),這兩組資料的序號相減(後面資料的序號減去前面的)滿足
b=-1
,因此a(2
)的計算公式為:(
2*1+3*2
)/2=4 3
、當b(3
)=0時,計算a(
3)時用到三組資料(記
n=3)——(
1,1)、(2,
2)、(3,
3),這三組資料的序號相減(後面資料的序號減去前面的)滿足
b=0,因此a(
3)的計算公式為:(
1*1+2*2+3*3
)/3=4.6667 4
、當b(4
)=1時,計算a(
4)時用到兩組資料(記
n=2)——(
1,2)和(2,
3),(讀者請對比和情況
2的區別),這兩組資料的序號相減(後面資料的序號減去前面的)滿足
b=1,因此a(
4)的計算公式為:(
1*2+2*3
)/2=4 5
、當b(5
)=2時,計算a(
4)時用到一組資料(記
n=1)——(
1,3),(讀者請對比和情況
1的區別),這兩組資料的序號相減(後面資料的序號減去前面的)滿足
b=2,因此a(
4)的計算公式為:(
1*3)
/1=3
第三:注釋項為『biased』,[a,
b]=xcorr(x
,『biased』
),通過該命令計算的結果為:
a= 1.0000 2.6667 4.6667 2.6667 1.0000
,b=-2 -1 0 1 2
。下面介紹計算機如何計算該過程,注意到本次計算用到的序列
x的長度為
3,記為
m=3。 1
、當b(1
)=-2
時,計算a(
1)時只用到一組資料——(
3,1)注意順序,只有這兩個資料的序號相減(後面資料的序號減去前面的)滿足
b=-2
,因此a(1
)的計算公式為:(
3*1)
/m=1 2
、當b(2
)=-1
時,計算a(
2)時用到兩組資料——(
2,1)和(3,
2),這兩組資料的序號相減(後面資料的序號減去前面的)滿足
b=-1
,因此a(2
)的計算公式為:(
2*1+3*2
)/m=2.6667 3
、當b(3
)=0時,計算a(
3)時用到三組資料——(
1,1)、(2,
2)、(3,
3),這三組資料的序號相減(後面資料的序號減去前面的)滿足
b=0,因此a(
3)的計算公式為:(
1*1+2*2+3*3
)/m=4.6667 4
、當b(4
)=1時,計算a(
4)時用到兩組資料——(
1,2)和(2,
3),(讀者請對比和情況
2的區別),這兩組資料的序號相減(後面資料的序號減去前面的)滿足
b=1,因此a(
4)的計算公式為:(
1*2+2*3
)/m=2.6667 5
、當b(5
)=2時,計算a(
4)時用到一組資料——(
1,3),(讀者請對比和情況
1的區別),這兩組資料的序號相減(後面資料的序號減去前面的)滿足
b=2,因此a(
4)的計算公式為:(
1*3)
/m=1
第四:注釋項為『coeff』,[a,
b]=xcorr(x
,『coeff』
),通過該命令計算的結果為:
a= 0.2143 0.5714 1.0000 0.5714 0.2143
,b=-2 -1 0 1 2
,下面介紹計算機如何計算該過程,這種情況實際是將第三種情況下得到的結果進行歸一化,使得
b=0時對應的值為1,
a(1)
=1/4.6667=0.2143;a
(2)=2.6667/4.6667=0.5714,a
(3)=4.6667/4.6667=1,a
(4)=2.6667/4.6667=0.5714,a
(5)=1/4.6667=0.2143 另:
xcorr
命令在工程上的應用通常是對時間上的取樣資料序列
x進行處理,當資料點採完之後交給
matlab
處理時,
matlab
是不知道你的取樣時間間隔的,它僅僅根據上文所述的計算過程對輸入的資料序列
x進行計算,但我們可以自己定義時間間隔,例如
dt=0.01
,此時t=dt*b
即代表相關性計算中的時間延遲,前半部分是超前,後半部分是滯後,若
r=xcorr(x
,『unbiased』
),則通過命令:
plot(t
,r)即可得到該時域訊號的自相關函式曲線。
matlab中的xcorr 自相關函式
自 matlab中用於計算自相關函式的指令是xcorr.比如矩陣a 1 2 3 xcorr a 3.0000 8.0000 14.0000 8.0000 3.0000 自相關函式是訊號間隔的函式,間隔有正負間隔,所以n個長度的訊號,有2n 1個自相關函式值,分別描述的是不同訊號間隔的相似程度。比如,...
xcorr函式原理 Matlab xcorr
假設兩個平穩訊號 bold 和 bold 如果 x left t tao right y left t right 則可通過互相關求 tao clcclear close 實現 xcorr 函式 基本設定 t 1 s 總時間長度 fs 5000 hz 取樣頻率 t 0 1 fs t s 時間座標 n...
Matlab之統計函式
年紀越大發現記憶越差了,看來好記憶確實不如爛筆頭。用matlab已經有些年了,但是一些常用函式時間長了不用還是記不住。於是乎決定花點心思整理下 基本統計函式 均值 mean x 注意預設是對列求均值 mean x,2 對行求均值 方差 tabulate x 統計頻數 由於本人職業所需,經常需要統計考...