在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何判定兩個信號序列的相似程度?

FPGA之家 ? 來源:嵌入式客棧 ? 2023-04-15 09:14 ? 次閱讀

在工程應用時,有時候需要計算兩個信號序列的相似度,實際信號由于在采集過程中會混入干擾,如果簡單的依次比較各樣本是否相等或者差值,則很難判定兩個信號序列的相似程度。本文來聊聊我的一些思路。

什么是互相關函數?

在統計學中,相關是描述兩個隨機變量序列或二元數據之間的統計關系,無論是否具有因果關系。廣義上講,相關性是統計上的關聯程度,它通常指的是兩個變量的線性相關的程度。比如商品的價格和消費者購買愿意數量之間的關系,也即所謂的需求曲線。

相關性是有用的,因為它們可以描述一種可在實踐中加以利用的預測作用。例如,根據電力需求和天氣之間的相關性,電力公司可能會在天氣涼快時候生產更少的電力。在這個例子中,有一定的因果關系存在,因為極端天氣導致人們使用更多的電力用于取暖或制冷。然而,一般而言,相關性的存在并不足以推斷出因果關系的存在,也就是說相關性并不意味著因果關系。

poYBAGQ5-r2APxjtAACkL5VL6JU921.jpg

什么是相關系數?

最熟悉的度量兩個量之間的相關性的方法是皮爾遜乘積矩相關系數(PPMCC),也稱為“皮爾遜相關系數”,通常簡稱為“相關系數”。在數學上,它被定義為對原始數據的最小二乘擬合的質量(擬合程度或效果)。它是由數據集兩個變量的協方差的比率,歸一化到他們的方差的平方根得到的。數學上,兩個變量的協方差除以標準差的乘積。

皮爾遜積矩相關系數試圖通過兩個隨機序列的數據集建立一條最佳擬合曲線,實質上是通過列出期望和由此產生的皮爾遜相關系數表明實際數據集離預期值有多遠。根據皮爾遜相關系數的符號,如果數據集的變量之間存在某種關系,可以得到負相關或正相關。其定義公式如下:

pYYBAGQ5-tSAIrrsAADBcp78SJQ984.jpg

相關系數有啥用?

皮爾遜相關系數的絕對值不大于1是Cauchy–Schwarz不等式的推論(有興趣的可以去找書看看)。因此,相關系數的值在[-1,1]之間。在理想的增加線性相關關系情況下,相關系數為+1;在理想的減少(反相關)線性關系情況下,相關系數為-1;在所有其他取值情況下,表示變量之間的線性相關程度。當它接近零時,更接近于不相關。系數越接近-1或1,變量之間的相關性越強。

故,相關系數其值范圍分布在區間[-1,1]:

1表示完全正相關

0表示不相關

-1表示完全負相關

為了方便理解,假定兩個隨機序列按照下面各類情況分布,下面的數字為相關系數:

2ed2dfae-db23-11ed-bfe3-dac502259ad0.png

程序如何實現呢?

上述公式在實際編程時,當然可以直接按照公式編制代碼,如果仔細觀察會發現該公式可以進一步簡化,過程省略:

poYBAGQ5-u2AKWmGAAApyDzqXq0520.jpg

由這個公式就很容易編程了,干貨在這里,可以拿去稍加改造即可使用:

#include
#include

/*返回值在區間:[-1,1]*/
/*如返回-10,則證明輸入參數無效*/
#definedelta0.0001f
doublecalculate_corss_correlation(double*s1,double*s2,intn)
{
doublesum_s12=0.0;
doublesum_s1=0.0;
doublesum_s2=0.0;
doublesum_s1s1=0.0;//s1^2
doublesum_s2s2=0.0;//s2^2
doublepxy=0.0;
doubletemp1=0.0;
doubletemp2=0.0;

if(s1==NULL||s2==NULL||n<=0)
??????return?-10;
????
????for(int?i=0;i-delta&&temp1-delta&&temp2

運行結果為:

pxyofs1ands2:0.997435
pxyofs1ands1:1.000000
pxyofs1ands1:-1.000000

將這三個信號繪制成波形來看看:

2eda1cce-db23-11ed-bfe3-dac502259ad0.png

由圖看出:

S1與S2非常相似,其相關系數為0.997435,高度相似

S1與-S1則剛好相位相反,理想反相關,其相關系數為-1

S1與S1則理所當然是一樣的,其相關系數為1

再來一組信號對比一下:

2ee51700-db23-11ed-bfe3-dac502259ad0.png

其波形數據為:

doubles1[30]={
0.309016989,0.587785244,0.809016985,0.95105651,1,
0.951056526,0.809017016,0.587785287,0.30901704,5.35898E-08,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0
};
doubles6[30]={
0,0,0.187381311,0.368124547,0.535826787,
0.684547097,0.809016985,0.904827044,0.968583156,0.998026727,
0.992114705,0.951056526,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0
};
doubles7[30]={
0.187381311,0.368124547,0.535826787,0.684547097,0.809016985,
0.904827044,0.968583156,0.998026727,0.992114705,0.951056526,
0.876306697,0.770513267,0.637424022,0.481753714,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0
};

利用上述代碼計算S1與S6,S1與S7的相關系數:

pxyofs1ands6:0.402428
pxyofs1ands7:0.612618

可見,S6、S7與S1的相關系數越來越大,從波形上看相似度也越來越大。

總結一下

通過相關系數可以比較完美的判斷兩個信號序列,或者兩個隨機變量之間的相似度。相關系數以及互相關函數應用很廣,本文僅僅描述了一個工程上應用較多的實際栗子。事實上,該數學特性有著廣泛的應用,有興趣的可以深度學習探討一下。

??





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 波形圖
    +關注

    關注

    1

    文章

    35

    瀏覽量

    15109
  • 信號線
    +關注

    關注

    2

    文章

    179

    瀏覽量

    21810
  • 變量
    +關注

    關注

    0

    文章

    614

    瀏覽量

    28738

原文標題:數學之美:判定兩個隨機信號序列的相似度

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    關于對兩個信號進行比較

    現在我要做一兩個信號(一事先采集好的信號,一現在采集的
    發表于 10-23 22:05

    LabVIEW用互相關判定語音信號相似度,怎么判斷?

    我要做一LabVIEW用互相關判定語音信號相似度,互相關之后怎么去判斷他的相似度啊。畢業
    發表于 01-05 09:54

    相似信號如何識別。

    ,每通道讀1000樣本實時采樣火線電流信號,作為Y序列者卷積,因為三信號周期相同,都是200
    發表于 07-26 10:09

    如何判別兩個信號波形的相似度?

    獲得兩個波形,即組數據,如何判別它們之間的相似度呢
    發表于 10-18 06:49

    NI推出兩個新的射頻信號調理模塊

    NI推出兩個新的射頻信號調理模塊  美國國家儀器有限公司(National Instruments,簡稱NI)近日宣布推出兩個新的射頻信號調理模塊,能增強基于PXI的射頻和微波測試系
    發表于 02-02 17:58 ?1008次閱讀

    流式時間序列的實時相似度研究

    序列。如何從中獲取有價值數據?時間序列數據挖掘是一種常用方法。和其它數據挖掘方法一樣,時間序列相似性度量是一項基礎性工作。在時間序列的聚類
    發表于 11-20 10:30 ?9次下載
    流式時間<b class='flag-5'>序列</b>的實時<b class='flag-5'>相似</b>度研究

    基于分布式的時間序列局部相似性檢測

    基于動態時間規整算法思想的CrossMatch算法可以用來解決序列間的部分相似問題,但是由于算法時間空間復雜度過高,需要消耗大量的計算資源,因此無法應用于長序列之間的計算。針對以上問題,提出了一
    發表于 12-08 17:16 ?0次下載

    基于導數序列的時間序列同構關系

    時間序列序列匹配作為時間序列檢索、聚類、分類、異常監測等挖掘任務的基礎被廣泛研究。但傳統的時間序列序列匹配都是對精確相同或近似相同的模式
    發表于 12-12 15:52 ?0次下載
    基于導數<b class='flag-5'>序列</b>的時間<b class='flag-5'>序列</b>同構關系

    解決不重復序列的全排列問題的兩個方法:遞歸和字典序法

    這篇文章主要介紹了解決不重復序列的全排列問題的兩個方法:遞歸和字典序法。
    的頭像 發表于 03-29 11:19 ?6613次閱讀
    解決不重復<b class='flag-5'>序列</b>的全排列問題的<b class='flag-5'>兩個</b>方法:遞歸和字典序法

    矩陣弧微分的時間序列相似度量

    將某一統計指標的各個數值按時間先后順序排列便構成了時間序列。從金融領域到科學工程,從天文氣象到社會學,時間序列無處不在。由于實際應用中的時間序列往往具有高維、規模巨大、易受噪聲干擾等
    發表于 04-24 10:29 ?11次下載

    Linux信號事件發生的兩個來源

    信號可以直接進行用戶空間進程和內核進程之間的交互,內核進程也可以利用它來通知用戶空間進程發生了哪些系統事件。 誰來產生信號 信號事件的發生有兩個來源: (1) 硬件來源,比如我們按下
    的頭像 發表于 06-18 15:09 ?1568次閱讀

    FreeRTOS給任務傳遞兩個參數LEDpin和vTaskDelay

    繼續上節的延伸,從上篇文章的例子中可以看出兩個任務是讓兩個LED閃爍,創建的兩個任務task1和task2極其相似,除了傳遞的參數LED_PIN引腳不一樣,還有就是LED燈閃爍的時間不
    的頭像 發表于 09-14 15:34 ?3209次閱讀

    使用兩個傳感器來確定工廠環境的最佳程度

    電子發燒友網站提供《使用兩個傳感器來確定工廠環境的最佳程度.zip》資料免費下載
    發表于 12-29 14:26 ?0次下載
    使用<b class='flag-5'>兩個</b>傳感器來確定工廠環境的最佳<b class='flag-5'>程度</b>

    兩個LED和兩個按鈕的使用

    電子發燒友網站提供《兩個LED和兩個按鈕的使用.zip》資料免費下載
    發表于 01-30 16:04 ?1次下載
    <b class='flag-5'>兩個</b>LED和<b class='flag-5'>兩個</b>按鈕的使用

    Python比較兩個時間序列在圖形上是否相似

    比較兩個時間序列在圖形上是否相似,可以通過以下方法: 可視化比較:將兩個時間序列繪制在同一張圖上,并使用相同的比例和軸標簽進行比較。可以觀察
    的頭像 發表于 10-16 11:33 ?832次閱讀
    主站蜘蛛池模板: 欧美日韩国产另类一区二区三区 | 午夜影院普通用户体验区 | 国产三级自拍视频 | 亚洲free| 东莞a级毛片 | 看黄视频网站 | 免费观看一级特黄三大片视频 | 欧美性色xo影院在线观看 | 欧美成人午夜不卡在线视频 | 精品国产香港三级 | 911国产自产精选 | 黄色大片视频 | 美女喷白浆 | 99久热 | 国产一级影院 | 国产在线免 | 国产成人精品日本 | 黄色在线网站视频 | 亚洲一本高清 | 欧美男女交性过程视频 | 国产欧美日韩va | 俺去啦五月 | 黄色的网站在线观看 | 免费看国产一级片 | 激情五月激情综合网 | 日本黄在线 | 婷婷综合影院 | 欧美a在线播放 | 人人澡人人搞 | xxx日本69hd| 奇米视频在线观看 | 国产伦子系列视频6 | 乱说欲小说又粗又长 | 午夜女同影院 | 午夜在线一区 | 伊人网成人 | 91大神精品在线观看 | 色妞女女女女女bbbb | 欧美性videofree精品 | 五月天婷婷色图 | 色偷偷91综合久久噜噜噜男男 |