色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

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

嵌入式USB開發 ? 來源:嵌入式USB開發 ? 作者:嵌入式USB開發 ? 2023-07-14 00:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

3.3數字濾波信號前端

原理

CMSIS-DSP提供直接I型IIR庫支持Q7,Q15,Q31和浮點四種數據類型。其中Q15和Q31提供了快速版本。

直接I型IIR濾波器是基于二階Biquad級聯的方式來實現的。每個Biquad由一個二階的濾波器組成:

y[n] = b0 * x[n] + b1 * x[n-1] + b2 * x[n-2] + a1 * y[n-1] + a2 * y[n-2]

直接I型算法每個階段需要5個系數和4個狀態變量。
image.png

y[n] = b0 * x[n] + b1 * x[n-1] + b2 * x[n-2] - a1 * y[n-1] - a2 * y[n-2]

matlab使用上面的公式實現,在使用fdatool工具箱生成的a系數需要取反才能用于直接I型IIR濾波器的函數中。

高階IIR濾波器的實現是采用二階Biquad級聯的方式來實現的。其中參數numStages就是用來做指定二階Biquad的個數。比如8階IIR濾波器就可以采用numStages=4個二階Biquad來實現。

image.png

如果要實現9階IIR濾波器就需要將numStages=5,這時就需要其中一個Biquad配置成一階濾波器(也就是b2=0,a2=0)。

添加命令行

shell_fun.h中

void IirFun(void* param);

shell_fun.c中

#include "iir.h"

shell_cmd_list中添加一行

{ (const uint8_t*)"iir",         IirFun,           “iir"},

添加命令執行函數

void IirFun(void* param)

{

Iir_main();

}

實現代碼

Iir.c

#include "arm_math.h"
#include "arm_const_structs.h"
#include < stdio.h >

#define TEST_LENGTH_SAMPLES 2048
#define FS 10000

extern float32_t testInput_f32_10khz[TEST_LENGTH_SAMPLES];
static float32_t testOutput[TEST_LENGTH_SAMPLES];


static uint32_t fftSize = 1024;
static uint32_t ifftFlag = 0;
static uint32_t doBitReverse = 1;
static arm_cfft_instance_f32 varInstCfftF32;

static int testIndex = 0;

static float testtmp_f32_10khz[2048];
static int32_t adcbuffer[2048];


#define numStages  2                /* 2階IIR濾波的個數 */
#define BLOCK_SIZE           128    /* 調用一次arm_biquad_cascade_df1_f32處理的采樣點個數 */


uint32_t blockSize = BLOCK_SIZE;
uint32_t numBlocks = TEST_LENGTH_SAMPLES/BLOCK_SIZE;      /* 需要調用arm_biquad_cascade_df1_f32的次數 */
static float32_t IIRStateF32[4*numStages];                      /* 狀態緩存 */

/* 巴特沃斯低通濾波器系數 80Hz*/
const float32_t IIRCoeffs32LP[5*numStages] = {
    1.0f,  2.0f,  1.0f,  1.479798894397216679763573665695730596781f,
-0.688676953053861784503908438637154176831f,

    1.0f,  2.0f,  1.0f,  1.212812092620218384908525877108331769705f,
-0.384004162286553540894828984164632856846f
};

int32_t iir_main(void)
{
    uint32_t i;
    arm_biquad_casd_df1_inst_f32 S;
    float32_t ScaleValue;
    float32_t  *inputF32, *outputF32;

    /* 初始化輸入輸出緩存指針 */

    //memcpy(testtmp_f32_10khz,testInput_f32_10khz,sizeof(testInput_f32_10khz));
#if 1
    adc_samp(adcbuffer,2048);
    for(int i=0; i< 2048;i ++)
   {
  	  testtmp_f32_10khz[i] = (float)adcbuffer[i];
    }
#endif
    inputF32 = testtmp_f32_10khz;
    outputF32 = testOutput;

    /* 初始化 */
    arm_biquad_cascade_df1_init_f32(&S, numStages, (float32_t *)&IIRCoeffs32LP[0],
(float32_t *)&IIRStateF32[0]);

    /* 實現IIR濾波,這里每次處理1個點 */
    for(i=0; i < numBlocks; i++)
    {
        arm_biquad_cascade_df1_f32(&S, inputF32 + (i * blockSize),  outputF32 + (i * blockSize),
  blockSize);
    }

    /*放縮系數 */
    ScaleValue = 0.012f* 0.42f;

    /* 打印濾波后結果 */
    for(i=0; i< TEST_LENGTH_SAMPLES; i++)
    {
        printf("/*%f, %f*/rn", testtmp_f32_10khz[i], testOutput[i]*ScaleValue);
    }


}

 /** endlink */

Iir.h

#ifndef IIR_H
#define IIR_H

int iir_main(void);

#endif

測試

輸入iir回車,查看波形

視頻

以下可以看到濾波導致了滯后,黃色線有滯后
image.png

image.png

以下是實時采集濾波
image.png
審核編輯:湯梓紅

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

    關注

    68

    文章

    2346

    瀏覽量

    140638
  • 濾波器
    +關注

    關注

    162

    文章

    8138

    瀏覽量

    182115
  • PSoC
    +關注

    關注

    12

    文章

    176

    瀏覽量

    93443
  • 濾波
    +關注

    關注

    10

    文章

    681

    瀏覽量

    57311
  • 信號處理
    +關注

    關注

    48

    文章

    1056

    瀏覽量

    104110
  • 開發板
    +關注

    關注

    25

    文章

    5683

    瀏覽量

    104863
  • RTT
    RTT
    +關注

    關注

    0

    文章

    66

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    有獎丨米爾 瑞芯微RK3506開發板免費試用

    米爾與瑞芯微合作發布的新品基于瑞芯微RK3506應用處理器的MYD-YR3506開發板免費試用名額來啦~~米爾提供了3塊價值299元的MYD-YR3506開發板發起
    的頭像 發表于 06-19 08:04 ?389次閱讀
    有獎丨米爾 瑞芯微RK3506<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>

    有獎丨米爾 瑞芯微RK3562開發板免費試用新增名額!

    米爾與瑞芯微合作發布的新品基于瑞芯微RK3562應用處理器的MYD-YR3562開發板免費試用名額增加
    的頭像 發表于 06-13 08:04 ?415次閱讀
    有獎丨米爾 瑞芯微RK3562<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>新增名額!

    基于RK3576處理器,米爾RK3576開發板免費試用

    年7月19日 ? 評測數量: 3塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發板免費試用 RISC-V開發板深度評測!頂級開發板免費
    的頭像 發表于 06-09 15:00 ?513次閱讀
    基于RK3576<b class='flag-5'>處理</b>器,米爾RK3576<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>

    搭載OpenHarmony操作系統,視美泰SC-3568HA開發板免費試用

    : 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發板免費試用 RISC-V開發板深度評測!頂級開發板免費
    的頭像 發表于 06-05 16:45 ?532次閱讀
    搭載OpenHarmony操作系統,視美泰SC-3568HA<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>

    基于RK處理器,創龍TL3562-MiniEVM開發板試用體驗

    數量: 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發板免費試用 RISC-V開發板深度評測!頂級開發板免費
    的頭像 發表于 06-05 16:31 ?453次閱讀
    基于RK<b class='flag-5'>處理</b>器,創龍TL3562-MiniEVM<b class='flag-5'>開發板</b><b class='flag-5'>試用</b>體驗

    性能強悍!合眾HZ-RK3568開發板試用體驗

    月19日 ? 評測數量: 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發板免費試用 RISC-V開發板深度評測!頂級開發板免費
    的頭像 發表于 06-05 16:30 ?540次閱讀
    性能強悍!合眾HZ-RK3568<b class='flag-5'>開發板</b><b class='flag-5'>試用</b>體驗

    有獎丨米爾 NXP i.MX91開發板免費試用來啦

    米爾與NXP合作發布的新品基于NXPi.MX91應用處理器的MYD-LMX91開發板免費試用名額來啦~~米爾提供了3套價值588元的MYD-LMX91開發板發起
    的頭像 發表于 06-05 08:02 ?659次閱讀
    有獎丨米爾 NXP i.MX91<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>來啦

    【評測試用】合眾HZ-T536開發板免費試用體驗

    【評測試用】合眾HZ-T536開發板免費試用體驗
    的頭像 發表于 05-27 08:05 ?234次閱讀
    【評測<b class='flag-5'>試用</b>】合眾HZ-T536<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>體驗

    免費丨米爾 STM32MP257開發板有獎試用

    米爾與ST合作發布的新品基于STM32MP257應用處理器的MYD-LD25X開發板免費試用活動來啦~~米爾提供了2塊價值488元的MYD-LD25X開發板發起
    的頭像 發表于 03-20 08:05 ?489次閱讀
    免費丨米爾 STM32MP257<b class='flag-5'>開發板</b>有獎<b class='flag-5'>試用</b>

    有獎丨米爾 瑞芯微YR3562開發板免費試用

    米爾與瑞芯微合作發布的新品基于瑞芯微RK3562應用處理器的MYD-YR3562開發板免費試用活動來啦~~米爾提供了3塊價值599元的MYD-YR3562開發板發起
    的頭像 發表于 03-20 08:05 ?524次閱讀
    有獎丨米爾 瑞芯微YR3562<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>

    有獎試用!!RA-Eco-RA4M2-100PIN-V1.0開發板試用活動報名

    RA-Eco-RA4M2-100PIN-V1.0開發板試用活動
    的頭像 發表于 03-13 12:10 ?512次閱讀
    有獎<b class='flag-5'>試用</b>!!RA-Eco-RA4M2-100PIN-V1.0<b class='flag-5'>開發板</b><b class='flag-5'>試用</b>活動報名

    基于PSOC6的智能環境監控系統

    本項目是基于PSOC6進行開發,它具有以下特性Psoc6-evaluationkit-062S2是RT-Thread聯合英飛凌推出的一款集成32位雙核CPU子系統(ARMCortex-
    的頭像 發表于 01-07 19:54 ?883次閱讀
    基于<b class='flag-5'>PSOC6</b>的智能環境監控系統

    有獎丨米爾 全志T536開發板免費試用

    米爾與全志合作發布的新品基于全志T536應用處理器的MYD-LT536-GK開發板免費試用活動來啦~~米爾提供了3塊價值750元的MYD-LT536-GK開發板發起
    的頭像 發表于 12-26 08:05 ?898次閱讀
    有獎丨米爾 全志T536<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>

    追加名額丨米爾瑞芯微RK3576開發板有獎試用

    米爾與瑞芯微合作發布的新品基于瑞芯微RK3576應用處理器的MYD-LR3576開發板免費試用活動加碼啦~~米爾追加了2塊價值849元的MYD-LR3576開發板發起
    的頭像 發表于 11-22 01:00 ?638次閱讀
    追加名額丨米爾瑞芯微RK3576<b class='flag-5'>開發板</b>有獎<b class='flag-5'>試用</b>

    有獎丨米爾 瑞芯微RK3576開發板免費試用

    米爾與瑞芯微合作發布的新品基于瑞芯微RK3576應用處理器的MYD-LR3576開發板免費試用活動來啦~~米爾提供了7塊價值849元的MYD-LR3576開發板發起
    的頭像 發表于 11-12 01:00 ?810次閱讀
    有獎丨米爾 瑞芯微RK3576<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>
    主站蜘蛛池模板: 芳草地在线观看免费观看 | 久久99re66热这里只有精品 | 1区2区3区4区产品不卡码网站 | 毛片内射久久久一区 | 国产精品人妻无码99999 | 语文老师扒开胸罩喂我奶 | 美女叉腿掰阴大胆艺术照 | 夜夜澡人人爽人人喊_欧美 夜夜骑夜夜欢 | 亚洲成人黄色在线 | 98国产精品人妻无码免费 | 龙泽罗拉av | 第一次破女初国产美女 | 精品视频一区二区三三区四区 | 国内精品偷拍在线观看 | 美女搞鸡网站 | 午夜福利网国产A | 麻豆出品国产AV在线观看 | 国内外成人免费在线视频 | 久久久久青草大香线综合精品 | 男生脱美女内裤内衣动态图 | 久久人妻AV一区二区软件 | 免费精品国偷自产在线在线 | 久久亚洲黄色 | 处88XXX | 亚洲国产系列一区二区三区 | 沦为公交两奶头春药高潮迭起 | 免费 高清 中文在线观看 | 国产av免费观看日本 | 国产欧美一区二区精品仙草咪 | 啊灬啊别停灬用力啊在线观看视频 | 性欧美FREE少妇XXX | 中文字幕视频在线观看 | 无套内射无矿码免费看黄 | 激情床戏揉胸吃胸视频 | 午夜精品久久久久久影视riav | 成人 迅雷下载 | 国产乱码一区二区三区 | 麻豆精品一区二正一三区 | 国产人成无码视频在线观看 | 伊人草| 天天夜夜草草久久亚洲香蕉 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品