<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

【英飛凌PSoC 6 RTT開發板試用】信號處理前端之極值檢測

嵌入式USB開發 ? 來源:嵌入式USB開發 ? 作者:嵌入式USB開發 ? 2023-07-11 14:33 ? 次閱讀

在電力等行業,分析電壓極值,是一項重要的參數分析,可以分析電壓的波動;示波器中也有自動測量極值的功能更。

基于本板設計了信號處理前端也實現了該功能。

算法來源于論文https://www.mdpi.com/1999-4893/5/4/588/htm

核心代碼如下

void  ampd (int32_t* data, int32_t len)

{

    int row_sum;

     for (int k=1; k< len/2+1; k++)

    {

        row_sum = 0;

         for (int i=k; i< len-k; i++)

        {

             if ((data[i] > data[i - k]) && (data[i] > data[i + k]))

            {

                row_sum -= 1;

            }

        }

        arr_rowsum[k-1] = row_sum;

    }

    int min_index = argmin(arr_rowsum,len/2+1);

     max_window_length = min_index;

     for (int k=1; k< max_window_length + 1; k++)

    {

         for (int i=k; i< len - k; i++)

        {

             if ((data[i] > data[i - k]) && (data[i] > data[i + k]))

            {

                p_data[i] += 1;

            }

        }

    }

 

     for (int k=0; k< len; k++)

    {

         if (p_data[k] == max_window_length)

        {

            /* 極大值 */

        }

    }

}

測試

添加命令行

{ (const uint8_t*)"max",         MaxFun,           "max"},                 /*打印幫助信息*/

 
void  MaxFun ( void * param)

{

	max_test();

}

 
void  MaxFun ( void * param);

測試代碼如下,串口命令行輸入命令max,開始采集ADC值,并計算極值,打印到PC串口通過seraistudio可視化顯示

int max_test(void)
{
	for(int i=0; i< 10; i++)
	{
		memset(p_data,0,sizeof(p_data));
		//adc_samp(sim_data_buffer,1000);
		sim_data();
		ampd(sim_data_buffer, sizeof(sim_data_buffer)/sizeof(sim_data_buffer[0]));
	    for(int k=0; k< sizeof(sim_data_buffer)/sizeof(sim_data_buffer[0]); k++)
	    {
	        if(p_data[k] == max_window_length)
	        {
	            /* 極大值 */
	        	printf("/*%ld,%ld*/\\r\\n",sim_data_buffer[k],sim_data_buffer[k]);
	        }
	        else
	        {
	        	printf("/*%ld,%d*/\\r\\n",sim_data_buffer[k],0);
	        }
	        cyhal_system_delay_ms(10);
	    }
	}
	return 0;
}

效果如下,IN是原始數據,MAX是檢測到的極大值,如果檢測極小值將原始數據取反即可。

image.png

image.png

檢測語音,效果如下

image.png

image.png

image.png

審核編輯:湯梓紅

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

    關注

    65

    文章

    1908

    瀏覽量

    136963
  • PSoC
    +關注

    關注

    12

    文章

    167

    瀏覽量

    91204
  • 信號處理
    +關注

    關注

    47

    文章

    857

    瀏覽量

    102562
  • 信號
    +關注

    關注

    11

    文章

    2643

    瀏覽量

    75461
  • 開發板
    +關注

    關注

    25

    文章

    4455

    瀏覽量

    94242
  • RTT
    RTT
    +關注

    關注

    0

    文章

    63

    瀏覽量

    16891
收藏 人收藏

    評論

    相關推薦

    英飛凌PSoC 6 RTT開發板試用信號處理前端之濾波

    CMSIS-DSP提供直接I型IIR庫支持Q7,Q15,Q31和浮點四種數據類型。其中Q15和Q31提供了快速版本。
    的頭像 發表于 07-14 00:09 ?1756次閱讀
    【<b class='flag-5'>英飛凌</b><b class='flag-5'>PSoC</b> 6 <b class='flag-5'>RTT</b><b class='flag-5'>開發板</b><b class='flag-5'>試用</b>】<b class='flag-5'>信號</b><b class='flag-5'>處理</b><b class='flag-5'>前端</b>之濾波

    英飛凌PSoC 6】新建RTT工程

    介紹英飛凌PSoC 6 RTT開發板環境創建
    的頭像 發表于 04-24 15:29 ?1478次閱讀
    【<b class='flag-5'>英飛凌</b><b class='flag-5'>PSoC</b> 6】新建<b class='flag-5'>RTT</b>工程

    英飛凌PSoC? 62開發板 -LCD ILI9341 8080 DEMO

    英飛凌開發板
    rx_ted
    發布于 :2024年03月07日 21:08:39

    【新品發布】英飛凌PSoC 6 RTT物聯網開發板內容詳解

    4月12日,英飛凌聯合 RT-Thread 發布PSoC? 62 with CAPSENSE? evaluation kit開發板 (以下簡稱PSoC
    發表于 04-13 13:46

    【資料下載】英飛凌PSoC 6 RTT物聯網開發板

    Infineon Psoc6-evaluationkit-062S2 說明開發板免費試用活動:https://bbs.elecfans.com/jishu_2349212_1_1.html簡介本文
    發表于 04-13 13:38

    【新品試用英飛凌PSoC 6 RTT開發板試用活動

    概述、軟件調試、硬件接入、視頻演示,不少于500字+2張圖片。 2)報告形式:標題格式 【評測活動標題+自擬標題】示例: 【英飛凌PSoC 6 RTT
    發表于 04-13 15:26

    英飛凌PSoC 6 RTT開發板試用

    單周期乘法和MPU,可以充分發揮 PSoC6 雙核芯片性能。 該開發板核心 板載資源 如下: MCU:CY8C624ABZI-S2D44,Cortex-M4主頻 150MHz,Cortex-M0主頻
    發表于 05-30 20:47

    英飛凌PSoC 6 RTT開發板試用】以搭積木方式實現簡單的互聯型家庭網關

    本文基于RT-Studio,采用搭積木的方式實現一個簡單的互聯型家庭網關,采集各類傳感器數據并傳輸至云端。硬件除了Psoc6-evaluationkit-062S2開發板之外,還有一塊RW007
    發表于 05-31 22:19

    英飛凌PSoC 6 RTT開發板試用】+開箱測試

    英飛凌PSoC 6 RTT開發板試用】+開箱測試 硬件資源介紹
    發表于 06-05 01:06

    英飛凌聯合 RT-Thread 發布 PSoC? 62 with CAPSENSE ? evaluation kit開發板

    近日,RT-Thread 社區團隊打造了新品開發板英飛凌聯合 RT-Thread 發布 ?PSoC 62 with CAPSENSE evaluation kit開發板?(以下簡稱
    的頭像 發表于 04-13 01:35 ?1402次閱讀

    英飛凌PSoC 6 RTT開發板試用信號處理前端之諧波分析

    3.1 電能質量,諧波分析 添加命令行 在電能檢測應用中,電能質量一項分析即諧波分析,諧波分量大,說明電能質量不好, 基于本板信號處理前端也實現了該功能。 shell_fun.h中 v
    的頭像 發表于 07-13 20:49 ?1203次閱讀
    【<b class='flag-5'>英飛凌</b><b class='flag-5'>PSoC</b> 6 <b class='flag-5'>RTT</b><b class='flag-5'>開發板</b><b class='flag-5'>試用</b>】<b class='flag-5'>信號</b><b class='flag-5'>處理</b><b class='flag-5'>前端</b>之諧波分析

    英飛凌開發板模塊評測任務大挑戰-SPI驅動測試

    使用PSoC? 62 with CAPSENSE? evaluation kit開發板適配的RTT SPI驅動,做顯示測試。
    發表于 08-10 15:44 ?472次閱讀
    <b class='flag-5'>英飛凌</b><b class='flag-5'>開發板</b>模塊評測任務大挑戰-SPI驅動測試

    基于 Infineon PSoC?62開發板信號處理前端虛擬示波器-工具集

    一、前言 本項目基于英飛凌PSoC6 RT-Thread開發板實現了信號處理前端-一個
    的頭像 發表于 08-16 20:15 ?411次閱讀
    基于 Infineon <b class='flag-5'>PSoC</b>?62<b class='flag-5'>開發板</b>的<b class='flag-5'>信號</b><b class='flag-5'>處理</b><b class='flag-5'>前端</b>虛擬示波器-工具集

    基于infineonPSOC62開發板的-信號處理前端 虛擬示波器-工具集

    一、前言 本項目基于英飛凌PSoC 6 RTT開發板實現了信號處理
    的頭像 發表于 10-11 18:35 ?325次閱讀
    基于infineonPSOC62<b class='flag-5'>開發板</b>的-<b class='flag-5'>信號</b><b class='flag-5'>處理</b><b class='flag-5'>前端</b> 虛擬示波器-工具集

    玩轉PSoC 6 RTT積木式開發套件,實現毫米波雷達等實用功能

    本期英飛凌手工課,將由來自英飛凌的工程師Jenson給大家帶來PSoC62withCAPSENSEevaluationkit(下稱PSoC6RTT
    的頭像 發表于 03-20 08:35 ?264次閱讀
    玩轉<b class='flag-5'>PSoC</b> 6 <b class='flag-5'>RTT</b>積木式<b class='flag-5'>開發</b>套件,實現毫米波雷達等實用功能
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>