女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

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

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

3天內不再提示

信號波峰波谷的用處與檢測方法及實戰

FPGA之家 ? 來源:CSDN技術社區 ? 作者:最后一個bug ? 2021-03-21 11:16 ? 次閱讀

1、聊一聊

其實每個人在無助的時候都需要一句“Cry On My Shoulder!” 今天跟大家介紹一種波峰波谷的檢測方法,不是很難,不過能夠凸顯數學在編程算法中的重要作用。

2、正文部分

1波峰波谷用處

對于信號波峰波谷識別在嵌入式領域應該是非常廣泛的,因為大部分的信號都處于一種時變的狀態,信號在時域上處于一種類似于正弦波的波動狀態。比如計步軟件就是通過IMU模塊所采集的變化的波形狀態來識別波峰波谷,最終估算你所走過步數;

上圖顯示了一個典型的x-, y-和z-測量模式,對應于一個跑步者的垂直,向前和側面加速度。無論如何佩戴計步器,至少有一個軸會有相對較大的周期性加速度變化,因此通過檢測其波峰波谷等算法即可對于檢測步行或跑步的單位周期至關重要。

還有在電力系統中的交流電壓電流,我們需要通過檢測波峰波谷來確定電壓電流在交流周期中的最大最小值,從而動態調節系統參數來達到自適應的目的,所以波峰波谷的檢測是非常有用的。

2比較法識別

常規的設計辦法為比較法 : 其中x表示當前采樣點波峰:f(x) 》 f(x?1) 且 f(x) 》 f(x+1)波谷:f(x) 《 f(x?1) 且 f(x) 《 f(x+1)

然而這樣識別對于沒有什么噪聲,且每個采樣點為不同的信號來說還是合適的,但在嚴苛的環境中還需要構造更多的判斷條件來進行一些錯誤判斷的規避,終究還是麻煩了一些,并且容易遺漏。

3差分識別

在學生階段我們就學習了導數的概念,如果一個函數一階導數左右異號,那分別就是波峰或者波谷。而對于數字信號的處理通過采樣都會變成離散信號,信號對時間的微分在離散域內即為差分。在進行波形識別之前數據采集是必不可少的,其中最重要的是采樣速率和精度,以便從采樣信號中不失真的恢復原連續信號。(香農采樣)采樣的過程中由于電子器件的雜訊等,數據難免會引入噪聲,為了簡化識別算法一般都會進行濾波處理,比如一些平滑處理等,然后才開始波峰波谷識別。

A

識別算法過程

1、獲得采樣點序列

2、進行差分處理

3、由于不在乎具體的差分幅值,把所有數據歸一到-1,0,1

4605a6be-8924-11eb-8b86-12bb97331649.png

4、差分值為0的點即為相同點,如果使用比較法則峰值檢測可能失效,便需要更多的條件,而這里我們直接把相同點0置為前一個非0即可規避該問題。

4641fd08-8924-11eb-8b86-12bb97331649.png

5、最終Diff再次進行差分,-2/+2即為波峰/波谷。

465debd0-8924-11eb-8b86-12bb97331649.png

B

參考代碼

1#include 《stdio.h》

2#include 《stdlib.h》

3#define SAMPLE_MAX 20

4#define PV_MAX 10

5

6float Sample[SAMPLE_MAX]={1,2,3,4,4,4,5,2,1,0,0,5,1,0,0,1,2,3,4,0};

7float SampleDiff[SAMPLE_MAX]={0};

8

9typedef struct _tag_FindPV

10{

11 int Pos_Peak[PV_MAX]; //波峰位置存儲

12 int Pos_Valley[PV_MAX]; //波谷位置存儲

13 int Pcnt; //所識別的波峰計數

14 int Vcnt; //所識別的波谷計數

15}SFindPV;

16

17SFindPV stFindPV;

18

19/********************************************

20 * Fuction : initialFindPV

21 * Note : 初始化相關數據

22 *******************************************/

23void initialFindPV(void)

24{

25 int Index = 0;

26

27 for(Index = 0; Index 《 SAMPLE_MAX;Index ++)

28 {

29 SampleDiff[Index] = 0;

30 }

31

32 for(Index = 0; Index 《 PV_MAX;Index ++)

33 {

34 stFindPV.Pos_Peak[Index] = -1;

35 stFindPV.Pos_Valley[Index] = -1;

36 }

37 stFindPV.Pcnt = 0;

38 stFindPV.Vcnt = 0;

39

40}

41

42/********************************************

43 * Fuction : FindPV

44 * Note : 找波峰波谷

45 *******************************************/

46void FindPV(SFindPV *pFindPV,float *Sample)

47{

48 int i = 0;

49

50 //step 1 :首先進行前向差分,并歸一化

51 for(i= 0; i 《 SAMPLE_MAX - 1; i++)

52 {

53 if (Sample[i + 1] - Sample[i]》0)

54 SampleDiff[i] = 1;

55 else if (Sample[i + 1] - Sample[i] 《 0)

56 SampleDiff[i] = -1;

57 else

58 SampleDiff[i] = 0;

59 }

60

61 //step 2 :對相鄰相等的點進行領邊坡度處理

62 for(i= 0; i 《 SAMPLE_MAX-1; i++)

63 {

64 if(SampleDiff[i] == 0)

65 {

66 if(i == (SAMPLE_MAX-2))

67 {

68 if (SampleDiff[i - 1] 》= 0)

69 SampleDiff[i] = 1;

70 else

71 SampleDiff[i] = -1;

72 }

73 else

74 {

75 if (SampleDiff[i + 1] 》= 0)

76 SampleDiff[i] = 1;

77 else

78 SampleDiff[i] = -1;

79 }

80

81 }

82 }

83

84 //step 3 :對相鄰相等的點進行領邊坡度處理

85 for(i= 0; i 《 SAMPLE_MAX-1; i++)

86 {

87 if(SampleDiff[i + 1] - SampleDiff[i] == -2) //波峰識別

88 {

89 pFindPV-》Pos_Peak[pFindPV-》Pcnt] = i + 1;

90 pFindPV-》Pcnt++;

91 }

92 else if(SampleDiff[i + 1] - SampleDiff[i] == 2) //波谷識別

93 {

94 pFindPV-》Pos_Valley[pFindPV-》Vcnt] = i + 1;

95 pFindPV-》Vcnt++;

96 }

97 }

98}

99

100/********************************************

101 * Fuction : main

102 * Note : 模擬查找波峰波谷

103 *******************************************/

104int main(int argc, char *argv[]) {

105

106 int i = 0;

107

108 initialFindPV();

109

110 FindPV(&stFindPV,Sample);

111

112 printf(“Peak

”);

113 for(i = 0 ;i《 stFindPV.Pcnt;i++)

114 {

115 printf(“-%d”,stFindPV.Pos_Peak[i] + 1); //加1是為了與上圖橫坐標一致

116 }

117

118 printf(“

Valley

”);

119 for(i = 0 ;i《 stFindPV.Vcnt;i++)

120 {

121 printf(“-%d”,stFindPV.Pos_Valley[i] + 1);

122 }

123

124 printf(“

”);

125 printf(“歡迎關注:最后一個bug

”);

126 return 0;

127}

2、最后

當然在實際的項目中為了更加穩定的識別波峰波谷可能會對波峰波谷的出現特點進行限制,從而進一步減少誤識別,也有許多人使用數據擬合的辦法來識別波峰波谷,那么識別的準確度就與所擬合的函數有關,通過數學方法對所擬合函數進行波峰波谷的求解,最終得到信號的波峰波谷,不過這樣的擬合過程對平臺的處理能力提出了一定的要求。
編輯:lyn

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

    關注

    23

    文章

    4702

    瀏覽量

    94976
  • 信號
    +關注

    關注

    11

    文章

    2846

    瀏覽量

    78001
  • 代碼
    +關注

    關注

    30

    文章

    4891

    瀏覽量

    70369

原文標題:信號波峰波谷二階差分識別算法

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    波峰焊設備的維護和保養方法

    能延長設備使用壽命,還能降低故障發生率,確保生產順利進行。以下從設備各主要組成部分出發,結合晉力達波峰焊的優勢,詳細介紹波峰焊設備的維護和保養方法
    的頭像 發表于 06-17 17:03 ?131次閱讀

    儲能EMC整改:如何節省70%整改費用的實戰方法

    深圳南柯電子|儲能EMC整改:如何節省70%整改費用的實戰方法
    的頭像 發表于 06-03 11:28 ?153次閱讀
    儲能EMC整改:如何節省70%整改費用的<b class='flag-5'>實戰</b><b class='flag-5'>方法</b>

    波峰焊技術入門:原理、應用與行業標準

    等問題。波峰焊技術的廣泛應用波峰焊技術在電子制造行業具有廣泛的應用,如計算機、通訊、消費類電子、汽車電子等領域。在手機制造中,主板上的部分元器件采用波峰焊連接,確保信號傳輸穩定;汽車電
    發表于 05-29 16:11

    PCBA 加工必備知識:選擇性波峰焊和傳統波峰焊區別大揭秘

    一站式PCBA加工廠家今天為大家講講PCBA加工選擇性波峰焊與傳統波峰焊有什么區別?選擇性波峰焊與傳統波峰焊的區別及應用。在PCBA加工中,DIP插件焊接是確保產品連接可靠性的重要工序
    的頭像 發表于 05-08 09:21 ?198次閱讀

    一文搞懂波峰焊工藝及缺陷預防

    效果,需要考慮焊料配方、助焊劑、元件和PCB的匹配、工裝設計及過程控制參數等因素。但是,當出現焊接不良時,可能有多個原因導致。下面介紹一些常見的波峰焊焊接不良、產生原因的分析方法及改善建議。 ? 一、波峰焊工藝曲
    的頭像 發表于 04-09 14:46 ?1480次閱讀
    一文搞懂<b class='flag-5'>波峰</b>焊工藝及缺陷預防

    一文搞懂波峰焊工藝及缺陷預防

    效果,需要考慮焊料配方、助焊劑、元件和PCB的匹配、工裝設計及過程控制參數等因素。但是,當出現焊接不良時,可能有多個原因導致。下面介紹一些常見的波峰焊焊接不良、產生原因的分析方法及改善建議。 一
    發表于 04-09 14:44

    實戰分享:如何正確使用掃描機氣密性檢測儀提升檢測效率

    在現代制造業中,掃描機氣密性檢測儀已經成為確保產品質量和性能的關鍵工具。正確使用這款設備不僅可以提高檢測效率,還能降低生產成本,增強企業的市場競爭力。下面,我們就來分享一些實戰技巧,幫助你更好地利
    的頭像 發表于 01-13 15:11 ?370次閱讀
    <b class='flag-5'>實戰</b>分享:如何正確使用掃描機氣密性<b class='flag-5'>檢測</b>儀提升<b class='flag-5'>檢測</b>效率

    TAS5715調節兩個DRC,輸出波型的波峰波谷變得很難看,為什么?

    為什么我用DEMO板調試只有DRC1有作用,DRC2沒有作用(兩個DRC都有ENABLE),還有調DRC的時候,輸出波型的波峰波谷變得很難看,現在遇到的問題是我做程序低音力度不夠 ,不知道還有沒有其它的原因。還有AD模式和BD模式有什么區別
    發表于 11-06 07:29

    信號檢測系統有什么功能

    信號檢測系統是一種復雜的技術系統,它涉及到信號的采集、處理、分析和顯示等多個方面。這些系統在許多領域都有應用,比如通信、雷達、聲納、醫學成像、地震監測等。 信號
    的頭像 發表于 10-15 13:49 ?1049次閱讀

    波峰焊VS選擇性波峰焊:技術差異與應用對比

    在電子制造業中,焊接技術扮演著至關重要的角色。其中,波峰焊與選擇性波峰焊作為兩種主要的焊接方式,各自具有獨特的特點和適用范圍。本文將從工作原理、應用領域、焊接精度、效率與成本等幾個方面,詳細探討
    的頭像 發表于 10-08 11:16 ?1867次閱讀

    將TL084的輸出端與反向輸入端相接作為電壓跟隨器,電壓跟隨的效果不好怎么處理?

    我將TL084的輸出端與反向輸入端相接作為電壓跟隨器。同相端輸入信號為15kHz,5V的正弦波。可是電壓跟隨的效果不好,有正弦波的波峰波谷有1V的偏差,是我芯片TL084選的有問題嗎?哪種芯片比較適合做電壓跟隨器?
    發表于 09-23 06:37

    LM675的gain過低時為什么會產生自激?

    請教大家一個問題,這個電路中如果RX1大于5K時,輸入信號為20KHz,輸出信號波峰波谷會添加4MHz的信號。隨著RX1的增大,輸出
    發表于 09-20 06:00

    opa820小信號100mv以下的信號經過同相放大,下面的波峰會削平,如何解決?

    信號100mv以下的信號經過同相放大,下面的波峰會削平,后級處理占空比會改變。反而是1v峰峰值的信號會滅有這個問題,改變放大倍數也不能解決。 左邊輸入端是一個高通濾波器,用于濾除電
    發表于 08-30 06:21

    opa657激光電路怎么消除信號上的那個小波峰

    opa657激光電路怎么消除信號上的那個小波峰
    發表于 08-20 07:52

    請問buf602輸出為什么波峰波谷凹進去了?

    buf602輸出為什么波峰波谷凹進去了
    發表于 08-09 08:22
    主站蜘蛛池模板: 石渠县| 黄平县| 阳曲县| 池州市| 二手房| 洪江市| 黄龙县| 玉山县| 井研县| 民乐县| 邯郸市| 万载县| 三亚市| 六盘水市| 东阿县| 弥勒县| 苗栗县| 青龙| 通渭县| 彭阳县| 青海省| 康平县| 石台县| 扎兰屯市| 金堂县| 峨眉山市| 信宜市| 从化市| 罗定市| 枝江市| 佛山市| 梅河口市| 平湖市| 鹰潭市| 汤原县| 文成县| 怀仁县| 娱乐| 江孜县| 连州市| 柘荣县|