那曲檬骨新材料有限公司

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

【英飛凌PSoC 6 RTT開發(fā)板試用】信號(hào)處理前端之濾波

嵌入式USB開發(fā) ? 來源:嵌入式USB開發(fā) ? 作者:嵌入式USB開發(fā) ? 2023-07-14 00:09 ? 次閱讀

3.3數(shù)字濾波信號(hào)前端

原理

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

直接I型IIR濾波器是基于二階Biquad級(jí)聯(lián)的方式來實(shí)現(xiàn)的。每個(gè)Biquad由一個(gè)二階的濾波器組成:

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

直接I型算法每個(gè)階段需要5個(gè)系數(shù)和4個(gè)狀態(tài)變量。
image.png

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

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

高階IIR濾波器的實(shí)現(xiàn)是采用二階Biquad級(jí)聯(lián)的方式來實(shí)現(xiàn)的。其中參數(shù)numStages就是用來做指定二階Biquad的個(gè)數(shù)。比如8階IIR濾波器就可以采用numStages=4個(gè)二階Biquad來實(shí)現(xiàn)。

image.png

如果要實(shí)現(xiàn)9階IIR濾波器就需要將numStages=5,這時(shí)就需要其中一個(gè)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"},

添加命令執(zhí)行函數(shù)

void IirFun(void* param)

{

Iir_main();

}

實(shí)現(xiàn)代碼

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濾波的個(gè)數(shù) */
#define BLOCK_SIZE           128    /* 調(diào)用一次arm_biquad_cascade_df1_f32處理的采樣點(diǎn)個(gè)數(shù) */


uint32_t blockSize = BLOCK_SIZE;
uint32_t numBlocks = TEST_LENGTH_SAMPLES/BLOCK_SIZE;      /* 需要調(diào)用arm_biquad_cascade_df1_f32的次數(shù) */
static float32_t IIRStateF32[4*numStages];                      /* 狀態(tài)緩存 */

/* 巴特沃斯低通濾波器系數(shù) 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]);

    /* 實(shí)現(xiàn)IIR濾波,這里每次處理1個(gè)點(diǎn) */
    for(i=0; i < numBlocks; i++)
    {
        arm_biquad_cascade_df1_f32(&S, inputF32 + (i * blockSize),  outputF32 + (i * blockSize),
  blockSize);
    }

    /*放縮系數(shù) */
    ScaleValue = 0.012f* 0.42f;

    /* 打印濾波后結(jié)果 */
    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

測(cè)試

輸入iir回車,查看波形

視頻

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

image.png

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 英飛凌
    +關(guān)注

    關(guān)注

    67

    文章

    2213

    瀏覽量

    139065
  • 濾波器
    +關(guān)注

    關(guān)注

    161

    文章

    7859

    瀏覽量

    178917
  • PSoC
    +關(guān)注

    關(guān)注

    12

    文章

    172

    瀏覽量

    92114
  • 濾波
    +關(guān)注

    關(guān)注

    10

    文章

    669

    瀏覽量

    56773
  • 信號(hào)處理
    +關(guān)注

    關(guān)注

    48

    文章

    1042

    瀏覽量

    103400
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5121

    瀏覽量

    98183
  • RTT
    RTT
    +關(guān)注

    關(guān)注

    0

    文章

    65

    瀏覽量

    17217
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于PSOC6的智能環(huán)境監(jiān)控系統(tǒng)

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

    有獎(jiǎng)丨米爾 全志T536開發(fā)板免費(fèi)試用

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

    追加名額丨米爾瑞芯微RK3576開發(fā)板有獎(jiǎng)試用

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

    【RA8D1試用活動(dòng)】RA8D1B-CPKCOR開發(fā)板移植linux

    【RA8D1試用活動(dòng)】RA8D1B-CPKCOR開發(fā)板移植linux
    的頭像 發(fā)表于 11-16 01:02 ?324次閱讀
    【RA8D1<b class='flag-5'>試用</b>活動(dòng)】RA8D1B-CPKCOR<b class='flag-5'>開發(fā)板</b>移植linux

    有獎(jiǎng)丨米爾 瑞芯微RK3576開發(fā)板免費(fèi)試用

    米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3576應(yīng)用處理器的MYD-LR3576開發(fā)板免費(fèi)試用活動(dòng)來啦~~米爾提供了7塊價(jià)值849元的MYD-LR3576開發(fā)板發(fā)起
    的頭像 發(fā)表于 11-12 01:00 ?413次閱讀
    有獎(jiǎng)丨米爾 瑞芯微RK3576<b class='flag-5'>開發(fā)板</b>免費(fèi)<b class='flag-5'>試用</b>

    有獎(jiǎng)試用!!RA-Eco-RA4E2-64PIN-V1.0開發(fā)板試用活動(dòng)開始報(bào)名

    有獎(jiǎng)試用!!RA-Eco-RA4E2-64PIN-V1.0開發(fā)板試用活動(dòng)開始報(bào)名
    的頭像 發(fā)表于 11-09 01:02 ?332次閱讀
    有獎(jiǎng)<b class='flag-5'>試用</b>!!RA-Eco-RA4E2-64PIN-V1.0<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>活動(dòng)開始報(bào)名

    點(diǎn)擊參與米爾NXP i.MX 93開發(fā)板有獎(jiǎng)試用

    米爾與NXP合作發(fā)布的新品基于NXPi.MX93應(yīng)用處理器的MYD-LMX9X開發(fā)板免費(fèi)試用活動(dòng)來啦~~米爾提供了3塊價(jià)值678元的MYD-LMX9X開發(fā)板發(fā)起
    的頭像 發(fā)表于 06-13 08:02 ?608次閱讀
    點(diǎn)擊參與米爾NXP i.MX 93<b class='flag-5'>開發(fā)板</b>有獎(jiǎng)<b class='flag-5'>試用</b>

    Psoc6 ble開發(fā)板,flash擦寫報(bào)IPC驅(qū)動(dòng)程序繁忙是受什么的影響?

    Psoc6 ble開發(fā)板,flash擦寫報(bào)IPC驅(qū)動(dòng)程序繁忙
    發(fā)表于 05-28 07:37

    免費(fèi)!NXP i.MX 93開發(fā)板有獎(jiǎng)試用

    米爾與NXP合作發(fā)布的新品基于NXPi.MX93應(yīng)用處理器的MYD-LMX9X開發(fā)板免費(fèi)試用活動(dòng)來啦~~米爾提供了2塊價(jià)值678
    的頭像 發(fā)表于 05-23 08:01 ?795次閱讀
    免費(fèi)!NXP i.MX 93<b class='flag-5'>開發(fā)板</b>有獎(jiǎng)<b class='flag-5'>試用</b>

    玩轉(zhuǎn)PSoC 6 RTT積木式開發(fā)套件,實(shí)現(xiàn)毫米波雷達(dá)等實(shí)用功能

    本期英飛凌手工課,將由來自英飛凌的工程師Jenson給大家?guī)?b class='flag-5'>PSoC62withCAPSENSEevaluationkit(下稱PSoC6RTT
    的頭像 發(fā)表于 03-20 08:35 ?1073次閱讀
    玩轉(zhuǎn)<b class='flag-5'>PSoC</b> <b class='flag-5'>6</b> <b class='flag-5'>RTT</b>積木式<b class='flag-5'>開發(fā)</b>套件,實(shí)現(xiàn)毫米波雷達(dá)等實(shí)用功能

    英飛凌PSoC? 62開發(fā)板 -LCD ILI9341 8080 DEMO

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

    英飛凌測(cè)評(píng)】英飛凌PSoC? 62開發(fā)板試用報(bào)告-LCD ILI9341 8080 DEMO

    # Infineon Psoc6-evaluationkit-062S2 說明 ## 簡(jiǎn)介 本文檔為 `RT-Thread` 為 `PSoC6 CY8CKIT-062S2-43012` 開發(fā)板提供
    的頭像 發(fā)表于 03-07 21:07 ?785次閱讀
    【<b class='flag-5'>英飛凌</b>測(cè)評(píng)】<b class='flag-5'>英飛凌</b><b class='flag-5'>PSoC</b>? 62<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>報(bào)告-LCD ILI9341 8080 DEMO

    如何在PSoC62 Evaluation kit開發(fā)板上運(yùn)行RT-Thread呢?

    本文主要介紹如何在PSoC62 Evaluation kit開發(fā)板上運(yùn)行RT-Thread,如何連接CYW43012 WiFi藍(lán)牙模組,以及如何進(jìn)行WiFi聯(lián)網(wǎng)、網(wǎng)絡(luò)延遲、網(wǎng)絡(luò)帶寬測(cè)試。
    的頭像 發(fā)表于 02-27 10:49 ?1094次閱讀
    如何在<b class='flag-5'>PSoC</b>62 Evaluation kit<b class='flag-5'>開發(fā)板</b>上運(yùn)行RT-Thread呢?

    PSoC Creator 4.2開發(fā)PSoC6,怎么在這個(gè)IDE上使用Jlink或者STlink下載程序到開發(fā)板

    目前再用PSoC Creator 4.2 開發(fā)PSoC6,怎么在這個(gè)IDE上使用Jlink或者STlink下載程序到開發(fā)板,除了導(dǎo)出工程到第三方IDE之外還有沒有別的辦法,比如有沒有專
    發(fā)表于 02-21 08:26

    如何利用Hightec軟件通過TC-277D開發(fā)板對(duì)TI-DRV3205-Q1驅(qū)動(dòng)進(jìn)行控制,從而驅(qū)動(dòng)電機(jī)呢?

    目前使用的英飛凌試用版Hightec軟件,想求助各位大佬“開發(fā)板-驅(qū)動(dòng)-控制電機(jī)”的思路。
    發(fā)表于 02-19 06:41
    百家乐赌博导航| 奔驰百家乐官网游戏| 网上百家乐官网的玩法技巧和规则| 赌百家乐的玩法技巧和规则| 百家乐官网大路小路| 番禺百家乐电器店| 真人百家乐官网导航| 百家乐国际娱乐场开户注册| 百家乐官网小型抽水泵| 百博百家乐的玩法技巧和规则 | 大发888在线娱乐城合作伙伴 | 百家乐官网赌场现金网| 真人百家乐作| 云鼎百家乐官网作弊| 网络娱乐城| 百家乐怎么下注能赢| 开心8百家乐官网娱乐城| 百家乐游戏解码器| 上海玩百家乐官网算不算违法| 三国百家乐娱乐城| 24山吉凶八卦图| 新葡京| 百家乐英皇娱乐网| 海立方百家乐官网海立方| 威尼斯人娱乐城真人游戏| 玩百家乐官网有何技巧| 伟德亚洲| 钱隆百家乐的玩法技巧和规则| 百合百家乐官网的玩法技巧和规则 | 永利博百家乐的玩法技巧和规则| A8百家乐官网娱乐网| 大发888怎么修改密码| 24山分金周天度数| 濮阳县| 威尼斯人娱乐城真钱游戏| 百家乐如何写路| 澳门百家乐官网介绍| 大佬百家乐的玩法技巧和规则| 皇城百家乐官网娱乐城| 澳门百家乐官网庄闲和| 德令哈市|