chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內(nèi)不再提示

什么是互相關(guān)函數(shù)

FPGA之家 ? 來源:FPGA之家 ? 作者:FPGA之家 ? 2022-07-10 09:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

什么是互相關(guān)函數(shù)?在統(tǒng)計學中,相關(guān)是描述兩個隨機變量序列或二元數(shù)據(jù)之間的統(tǒng)計關(guān)系,無論是否具有因果關(guān)系。廣義上講,相關(guān)性是統(tǒng)計上的關(guān)聯(lián)程度,它通常指的是兩個變量的線性相關(guān)的程度。比如商品的價格和消費者購買愿意數(shù)量之間的關(guān)系,也即所謂的需求曲線。

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

連續(xù)信號里,為函數(shù)及的互相關(guān)函數(shù)定義為:

離散信號,假設兩個信號序列x(n)及y(n),每個序列的能量都是有限能量序列,則x(n)及y(n)的互相關(guān)序列為:

那么互相關(guān)函數(shù)就是描述在連續(xù)信號或離散序列的相關(guān)程度的一種統(tǒng)計度量。

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

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

上述公式展開為:

在根據(jù)期望計算公式展開,就得到:

如果考察延遲d處的互相關(guān),則上述公式就變?yōu)椋?/p>

為了方便理解,本文就不考察延遲節(jié)拍了。

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

故,相關(guān)系數(shù)其值范圍分布在區(qū)間[-1,1]:

1表示完全正相關(guān)

0表示不相關(guān)

-1表示完全負相關(guān)

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

dd11c380-ff1b-11ec-ba43-dac502259ad0.png

程序如何實現(xiàn)呢?上述公式在實際編程時,當然可以直接按照公式編制代碼,如果仔細觀察會發(fā)現(xiàn)該公式可以進一步簡化,過程省略:

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

#include 《stdio.h》#include 《math.h》/* 返回值在區(qū)間: [-1,1] *//* 如返回-10,則證明輸入?yún)?shù)無效 */#define delta 0.0001fdouble calculate_corss_correlation(double *s1, double *s2,int n)

{

double sum_s12 = 0.0;

double sum_s1 = 0.0;

double sum_s2 = 0.0;

double sum_s1s1 = 0.0; //s1^2

double sum_s2s2 = 0.0; //s2^2

double pxy = 0.0;

double temp1 = 0.0;

double temp2 = 0.0;

if( s1==NULL || s2==NULL || n《=0)

return -10;

for(int i=0;i《n;i++)

{

sum_s12 += s1[i]*s2[i];

sum_s1 += s1[i];

sum_s2 += s2[i];

sum_s1s1 += s1[i]*s1[i];

sum_s2s2 += s2[i]*s2[i];

}

temp1 = n*sum_s1s1-sum_s1*sum_s1;

temp2 = n*sum_s2s2-sum_s2*sum_s2;

/* 分母不可為0 */

if( (temp1》-delta && temp1《delta) ||

(temp2》-delta && temp2《delta) ||

(temp1*temp2《=0) )

{

return -10;

}

pxy = (n*sum_s12-sum_s1*sum_s2)/sqrt(temp1*temp2);

return pxy;

}

double s1[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

};

double s2[30] = {

0.343282816,0.686491368,0.874624132,0.99459642,1.008448609,

1.014252458,0.884609221,0.677632906,0.378334666,0.077878732,

0.050711886,0.066417083,0.088759401,0.005440732,0.04225661,

0.035349939,0.0631196,0.007566056,0.053183895,0.073143706,

0.080285063,0.030110227,0.044781145,0.01875573,0.08373928,

0.04550342,0.038880858,0.040611891,0.046116826,0.087670453

};

int main(void)

{

double pxy;

double s3[30];

pxy = calculate_corss_correlation(s1,s2,30);

printf(“pxy of s1 and s2:%f

”,pxy);

pxy = calculate_corss_correlation(s1,s1,30);

printf(“pxy of s1 and s1:%f

”,pxy);

for(int i=0;i《n;i++)

{

s3[i] = -1*s1[i];

}

pxy = calculate_corss_correlation(s1,s3,30);

printf(“pxy of s1 and s3:%f

”,pxy);

return 0;

}

運行結(jié)果為:

pxy of s1 and s2:0.997435

pxy of s1 and s1:1.000000

pxy of s1 and s1:-1.000000

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

dd29031a-ff1b-11ec-ba43-dac502259ad0.png

由圖看出:

S1與S2非常相似,其相關(guān)系數(shù)為0.997435,高度相似

S1與-S1則剛好相位相反,理想反相關(guān),其相關(guān)系數(shù)為-1

S1與S1則理所當然是一樣的,其相關(guān)系數(shù)為1

再來一組信號對比一下:

dd3f179a-ff1b-11ec-ba43-dac502259ad0.png

其波形數(shù)據(jù)為:

double s1[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

};

double s6[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

};

double s7[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的相關(guān)系數(shù):

pxy of s1 and s6:0.402428

pxy of s1 and s7:0.612618

可見,S6、S7與S1的相關(guān)系數(shù)越來越大,從波形上看相似度也越來越大。

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

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

文章出處:【微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7314

    瀏覽量

    93919
  • 編程
    +關(guān)注

    關(guān)注

    90

    文章

    3707

    瀏覽量

    96717
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4405

    瀏覽量

    66798

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    軟件設計及串口相關(guān)函數(shù)介紹

    因為本章節(jié)的UART相關(guān)實驗例程需要用到板子上的LED功能,因此我們可以直接以前面的“11_GPIO_LED”工程為基礎進行修改。
    的頭像 發(fā)表于 10-27 11:23 ?1710次閱讀
    軟件設計及串口<b class='flag-5'>相關(guān)</b><b class='flag-5'>函數(shù)</b>介紹

    詳解hal_entry入口函數(shù)

    當使用RTOS時,程序從main函數(shù)開始進行線程調(diào)度;當沒有使用RTOS時,C語言程序的入口函數(shù)main函數(shù)調(diào)用了hal_entry函數(shù)。由于我們新建的工程是沒有選用RTOS的,因此,
    的頭像 發(fā)表于 07-25 15:34 ?1647次閱讀

    C語言中的內(nèi)聯(lián)函數(shù)與宏

    在C編程中,內(nèi)聯(lián)函數(shù)和宏都用于避免函數(shù)調(diào)用的開銷并編寫可復用的邏輯部分,但它們在工作方式和安全性方面存在顯著差異。
    的頭像 發(fā)表于 07-25 15:10 ?1701次閱讀
    C語言中的內(nèi)聯(lián)<b class='flag-5'>函數(shù)</b>與宏

    hrtim里update reset和reset update同時打開不會互相激勵嗎?

    hrtim里update reset和reset update同時打開不會互相激勵嗎,另外為什么現(xiàn)在定時器周期值不用-1了
    發(fā)表于 04-27 08:57

    函數(shù)指針的六個常見應用場景

    函數(shù)指針在嵌入式開發(fā)中有著廣泛的應用,它讓代碼更加靈活,減少冗余,提高可擴展性。很多時候,我們需要根據(jù)不同的情況動態(tài)調(diào)用不同的函數(shù),而函數(shù)指針正是實現(xiàn)這一需求的重要工具。本文將介紹六個常見的
    的頭像 發(fā)表于 04-07 11:58 ?1093次閱讀
    <b class='flag-5'>函數(shù)</b>指針的六個常見應用場景

    詳解RTOS中的Hook函數(shù)

    Hook函數(shù)是RTOS中的一個關(guān)鍵特性,通過該函數(shù),用戶可以增強對任務管理的控制,定義系統(tǒng)行為。
    的頭像 發(fā)表于 03-24 16:14 ?815次閱讀

    解鎖TSMaster fifo函數(shù):報文讀取的高效方法

    前言:TSMaster目前有兩種讀取報文的模式:回調(diào)函數(shù)模式和fifo模式。fifo函數(shù)是TSMaster近期新增的函數(shù),本文將重點介紹fifo模塊。關(guān)于回調(diào)函數(shù)的使用方法可以參考幫助
    的頭像 發(fā)表于 03-14 20:04 ?916次閱讀
    解鎖TSMaster fifo<b class='flag-5'>函數(shù)</b>:報文讀取的高效方法

    在D4100_usb.dll動態(tài)庫中應該使用哪些相關(guān)函數(shù)才能實現(xiàn)Activex中的MemToFrameBuffer(),LoadToDMD() 功能?

    使用Activex時可以正常讀取圖片并顯示。但當使用D4100_usb.dll動態(tài)庫時,不清楚怎樣才能將數(shù)據(jù)顯示到DMD。 請問在D4100_usb.dll動態(tài)庫中應該使用哪些相關(guān)函數(shù)才能實現(xiàn)
    發(fā)表于 02-28 06:17

    LVGL前臺程序開發(fā)相關(guān)操作介紹

    點擊“+”按鈕時它的回調(diào)函數(shù)“add_new_item_event_handler”被調(diào)用,這個回調(diào)函數(shù)在“l(fā)v_modbus_tool”函數(shù)中被設置。
    的頭像 發(fā)表于 01-23 13:47 ?1353次閱讀
    LVGL前臺程序開發(fā)<b class='flag-5'>相關(guān)</b>操作介紹

    C語言如何處理函數(shù)的返回值

    當你在函數(shù)的最后寫上 return 0 的時候,它是如何返回給調(diào)用函數(shù)的? 比如 test 函數(shù),為了待會更好的看懂匯編代碼,我寫成了 return 1234。 處理函數(shù)的返回值,是不
    的頭像 發(fā)表于 01-16 09:21 ?733次閱讀

    西門子TIA Portal中函數(shù)FC和函數(shù)塊FB的相互轉(zhuǎn)換

    描述 本文將介紹在西門子 TIA Portal 中使用 Add-In 插件實現(xiàn)函數(shù) FC 和函數(shù)塊 FB 的相互轉(zhuǎn)換的方法和步驟。 第1步: 添加 PLC 設備。 選擇西門子 CPU 1214C
    的頭像 發(fā)表于 01-15 10:07 ?3013次閱讀
    西門子TIA Portal中<b class='flag-5'>函數(shù)</b>FC和<b class='flag-5'>函數(shù)</b>塊FB的相互轉(zhuǎn)換

    請問TRS3232E和TRS232E在做RS232通信時能不能互相替換使用?

    作為普通的RS232通信電路使用的話此兩款型號的芯片可以互相直接替換嗎?
    發(fā)表于 01-14 07:01

    關(guān)聯(lián)接口函數(shù)與libmodbus移植

    可以發(fā)現(xiàn),除了modbus.h包含的接口函數(shù)之外,modbus-rtu.h和modbus-tcp.h也包含了必要的接口函數(shù)。
    的頭像 發(fā)表于 12-30 15:20 ?1769次閱讀
    關(guān)聯(lián)接口<b class='flag-5'>函數(shù)</b>與libmodbus移植

    stdio.h實現(xiàn)了printf函數(shù)?

    我們平時包含的 stdio.h 頭文件,里面是不是實現(xiàn)了 printf 函數(shù)? 為什么會有這個疑問?因為每次使用 printf,就得包含 stdio.h ,這就導致很多同學誤以為,stdio.h
    的頭像 發(fā)表于 12-18 10:28 ?854次閱讀

    HAL庫的函數(shù)調(diào)用示例

    、GPIO(通用輸入輸出)相關(guān)函數(shù) GPIO初始化 c復制代碼GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.Pin = GPIO_PIN_4
    的頭像 發(fā)表于 12-02 14:01 ?2741次閱讀