當前位置:編程學習大全網 - 源碼下載 - 如何用matlab實現自相關和互相關

如何用matlab實現自相關和互相關

1.首先說說自相關和互相關的概念。

這是信號分析中的壹個概念,分別表示兩個時間序列之間的相關程度以及同壹時間序列在任意兩個不同時刻的值,即互相關函數描述的是隨機信號。

x(t)和Y (t)的值在任意兩個不同時間t1,t2之間的相關程度。自相關函數描述了隨機信號X (t)在任意兩個不同時間t+0,t2的值之間的相關性。

度。

自相關函數描述了隨機信號X(t)在任意兩個不同時間t1和t2的值之間的相關程度。互相關函數給出了判斷兩個信號在頻域上是否相關的指標,將兩個測量點之間信號的互譜與各自的自譜聯系起來。它可以用來確定輸出信號有多少來自輸入信號,對修正測量中接入噪聲源引起的誤差非常有效。

其實在圖像處理中,自相關和互相關函數的定義是這樣的:設原函數為f(t),那麽自相關函數定義為R(u)=f(t)*f(-t),其中*代表卷積;第二組

如果函數分別為f(t)和g(t),則互相關函數定義為R(u)=f(t)*g(-t),它反映了兩個函數在不同相對位置上相互匹配的程度。

那麽,如何在matlab中實現這兩種相關性,並用圖像顯示出來呢?

dt = . 1;

t =[0:dt:100];

x = cos(t);

[a,b]=xcorr(x,'無偏');

繪圖(b*dt,a)

上面的代碼是求自相關函數,畫壹個圖。對於互相關函數,可以稍加修改,即[a,b]=xcorr(x,'無偏');改成[a,b]=xcorr(x,y,'無偏');去做吧。

2.實施流程:

在Matalb中,求解xcorr的過程實際上是利用傅裏葉變換中的卷積定理進行的,即R(u)=ifft(fft(f)×fft(g)),其中

x代表乘法。註:此公式僅代表形式計算,不代表實際計算中使用的公式。當然也可以直接用卷積來計算,但是結果會和xcorr不壹樣。其實既然兩者是固定的。

理查德保證,那麽結果壹定是壹樣的,只是對公式沒用。下面是檢查結果是否相同的代碼:

dt = . 1;

t =[0:dt:100];

x = 3 * sin(t);

y = cos(3 * t);

支線劇情(3,1,1);

plot(t,x);

支線劇情(3,1,2);

plot(t,y);

[a,b]=xcorr(x,y);

支線劇情(3,1,3);

plot(b*dt,a);

YY = cos(3 * fliplr(t));%或使用:YY = fliplr(y);

z=conv(x,YY);

暫停;

支線劇情(3,1,3);

plot(b*dt,z,' r ');

也就是說,xcorr中不使用縮放。

3.其他相關問題:

(1)關聯度和關聯函數值有什麽關系?

相關系數只是壹個比值,不是壹個相等的單位度量,沒有任何單位名稱,也不是壹個相關的百分比。壹般用小數點後兩位表示。相關系數的符號只表示相關的方向,絕對值表示相關的程度。因為不是等單位的度量,所以不能說0.7的相關系數是0.35的兩倍。只能說相關系數為0.7的兩列變量的關聯度比相關系數為0.35的兩列變量的關聯度更接近、更高。也不能說0.70到0.80的相關系數有0.30到0.40那麽大。

目前,相關系數大小的意義在統計學領域並不壹致,但通常認為:

相關系數的相關度

0.00-0.30微相關

實際相關性為0.30-0.50

0.50-0.80顯著相關。

0.80-1.00高度相關。

(2)用2)matlab計算的自相關函數autocorr和xcorr有什麽區別?

用這兩個函數分別計算同壹個序列,為什麽結果不壹樣?因為xcorr與減去平均值無關,所以autocorr與減去平均值有關。而且用離散信號做自相關時,信號截取長度(采樣點n)不同,自相關函數也不同。

(3)xcorr是具有選項參數的計算互相關函數:

a=xcorr(x,y,'選項')

當option = baised時,是互相關函數的有偏估計;

當option = unbaised時,它是互相關函數的無偏估計;

當option=coeff時,計算歸壹化互相關函數,即互相關系數在-1到1之間;

Option=none,這是默認值。

所以如果想計算互相關系數,可以用' coeff '參數。

使用這個xcorr函數進行離散互相關運算時,需要註意的是,當x和y是長度不等的向量時,短向量會自動與長向量對齊,運算結果是行向量還是列向量與x相同。

互相關運算計算兩組隨機數據X和y的相關程度,使用參數coeff時,結果是互相關系數,在-1和1之間。否則結果可能不在這個範圍內,可能很大也可能很小,取決於X和Y數據的大小。所以壹般需要計算兩組數據的相關程度,壹般選擇coeff參數對結果進行歸壹化。

所謂歸壹化的簡單理解就是將數據序列縮放到-1到1的範圍內。官方稱之為簡化計算的壹種方式,即將量綱表達式轉化為無量綱表達式,成為標量。轉換公式為X=(X實測-xmin)/(xmax-xmin)。

壹般來說,選擇歸壹化進行互相關運算後,結果的絕對值越大,兩組數據的相關性越高。

  • 上一篇:促銷完安琪粽子沒發工資怎麽辦
  • 下一篇:請簡單明了的描述SEO最有效的方法!
  • copyright 2024編程學習大全網