衡阳派盒市场营销有限公司

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

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

3天內不再提示

數字信號處理DSP庫文件的使用方法和功能實現

瑞薩MCU小百科 ? 來源:瑞薩嵌入式小百科 ? 作者:徐晶 ? 2024-04-03 14:09 ? 次閱讀

概述

本文首先介紹數字信號處理(DSP),是指將連續的模擬信號轉換為不連續、離散的數字信號并進行處理以提取所需的信號(信息)的過程。然后通過一個簡單的Lab來說明DSP庫文件的使用方法和功能實現。

DSP系統工程如下

將模擬(連續)信號轉換為數字信號。

通過專用DSP、MCU等對信號進行處理(噪聲濾波、頻率分析等),并提取所需信號。

輸出處理后的信號。

43785916-f17a-11ee-a297-92fbcf53809c.png

過去,DSP系統需要多個芯片,例如MCU和專用DSP。而RX MCU使得在單芯片上配置DSP系統成為可能,并具有多種優勢。

438679e2-f17a-11ee-a297-92fbcf53809c.png

使用DSP庫,可以在RX系列MCU上輕松執行FIR、IIR濾波器和FFT等數字信號處理。RX系列MCU支持執行高速數字信號處理所需的乘法和累加運算等DSP指令。

RX DSP庫的目標設備有以下這些RX MCU

439a8608-f17a-11ee-a297-92fbcf53809c.png

43b4fa4c-f17a-11ee-a297-92fbcf53809c.png

RX DSP庫版本5.0包含以下5個API,API為RX CPU的浮點和DSP指令運算提供了高效的操作。

統計操作API

過濾操作API

線性變換API

復數運算API

矩陣運算API

如下表所示,RX DSP庫版本5.0由多個文檔、庫文件和示例項目組成。庫文件針對每個RXv1、RXv2和Xv3 CPU進行了優化,并且示例項目針對每個CPU進行了配置。

表1 DSP庫的構成

43c5dace-f17a-11ee-a297-92fbcf53809c.png

每個CPU的“dsplib-rxv*”文件夾中有8種類型的庫文件和8個頭文件。庫文件根據支持的FPU、字節序模式和錯誤檢查進行分類。頭文件分為API專用定義和通用定義。所有通用定義均在r_dsp_types.h中描述,該文件包含在每個API頭文件中。詳細信息請參閱“RX DSP Library APIs Version 5.0 User’s Manual: Software (R01UW0200)”。

下面通過一個簡單的Lab了解RX DSP庫和如何使用DSP庫實現對信號的低通濾波,使用RX23E-A(RXv2 CPU)為例。

本Lab主要介紹如何添加DSP庫,然后完成對采集到的信號進行IIR濾波。由于本次實驗中采集到的數據是溫度結果,所以使用IIR濾波的效果不明顯。這里用一組特定的數據為例,來展示IIR濾波的效果。

步驟

● 解壓縮an-r01an4359ej0100-rx-dsplib.zip文件,將其中的dsplib-rxv2文件夾拷貝到工程中。

43d60200-f17a-11ee-a297-92fbcf53809c.png

●在src文件夾中新建r_dsp文件夾。解壓縮r01an4431xx0160-rx-apl.zip文件,workspace_dsp_example→dsp_demo_rx231_tb→src→r_dsp文件夾中的r_dsp_iirbiquad.h、r_dsp_iirbiquad.c、wave_sample1.h、wave_sample2.h拷貝到新建的r_dsp文件夾中。

43d9e118-f17a-11ee-a297-92fbcf53809c.png

●在工程屬性中添加DSP Lib和新加文件夾的路徑。

鼠標右鍵點擊工程名,選擇Properties。

43ee5fee-f17a-11ee-a297-92fbcf53809c.png

選擇C/C++ Build→Settings→Compiler→Source,點擊右上角的4415270a-f17a-11ee-a297-92fbcf53809c.png

44266736-f17a-11ee-a297-92fbcf53809c.png

添加dsplib-rxv2文件夾的路徑。

Add directory path對話框中,點擊Workspace。

4440b50a-f17a-11ee-a297-92fbcf53809c.png

選擇dsplib-rxv2文件夾,點擊OK。

4452d208-f17a-11ee-a297-92fbcf53809c.png

點擊OK,完成路路徑的添加。

4464f3ca-f17a-11ee-a297-92fbcf53809c.png

用上面同樣的方式,添加r_dsp文件夾的路徑。

4475bd90-f17a-11ee-a297-92fbcf53809c.png

添加Library。

選擇Linkeryou6Input,點擊右上角的4415270a-f17a-11ee-a297-92fbcf53809c.png

44a1522a-f17a-11ee-a297-92fbcf53809c.png

Format選擇library,點擊Workspace。

44bf906e-f17a-11ee-a297-92fbcf53809c.png

選擇dsplib-rxv2文件夾中的RX_DSP_FPU_LE_Check.lib文件。

44dd06a8-f17a-11ee-a297-92fbcf53809c.png

點擊OK。

44ff4e70-f17a-11ee-a297-92fbcf53809c.png

●打開rx23ea_local_board_lab.c文件,main()函數前添加以下頭文件、宏定義和變量。

#include "r_sensor_common_api.h"
#include "r_rtd_api.h"
#include "r_dsp_types.h"
#include "r_dsp_iirbiquad.h"


bool timer_flag = false;
static volatile int32_t s_dsad0_value;         /** DSAD0 24bit A/D value storage variable     */
static volatile float  s_temp   = 0;        /** Measurement temperature storage variable    */


/* Filter Characteristic definition */
#define IIRBIQUAD_COEF_FLAT (0)  /* Pass-through characteristics */
#define IIRBIQUAD_COEF_HPF (1)  /* High pass filter characteristics */
#define IIRBIQUAD_COEF_LPF (2)  /* Low pass filter characteristics */


static volatile int32_t gs_intermediate_buffer[2][1024]; /* buffer to interface DSP module */
static volatile int32_t gs_output_buffer[1024/2];     /* Output Buffer for DSP to store the result */
static uint8_t gs_coef_select;      /* Number of filter Characteristic */
static const int32_t gs_sample_wave_data[1024] =
{
  #include "wave_sample2.h"
};

●在main()函數中添加以下代碼

  uint32_t dsad0_reg;                 /** DSAD0.DR register storage variable                          */
  float rtd_temp = 0;                             /** Measurement temperature */


    memset((void *)gs_intermediate_buffer, 0, sizeof(gs_intermediate_buffer));  /* Clears Intermediate Buffer to zero */
    memset((void *)gs_output_buffer, 0, sizeof(gs_output_buffer));  /* Clears Output Buffer to zero */


    /*** Initializes IIR filter & FFT processing ***/
    gs_coef_select = IIRBIQUAD_COEF_HPF;


    R_DSP_IIRBiquad_Init();
    R_DSP_IIRBiquad_UpdateCoef(gs_coef_select);


    R_Config_TMR0_TMR1_Start();


while(1)中最后加入DSP處理部分代碼
      /* Executes IIRbiquad processing */
      R_DSP_IIRBiquad_Operation((int32_t *)gs_sample_wave_data,
                                (int32_t *)gs_intermediate_buffer[1]);
    }
}

while(1)中最后加入DSP處理部分代碼

   /* Executes IIRbiquad processing */
   R_DSP_IIRBiquad_Operation((int32_t *)gs_sample_wave_data,
                (int32_t *)gs_intermediate_buffer[1]);
  }
}

●對工程進行編譯450c6c04-f17a-11ee-a297-92fbcf53809c.png和調試45136db0-f17a-11ee-a297-92fbcf53809c.png

●打開Memory窗口,點擊451df47e-f17a-11ee-a297-92fbcf53809c.png

4524db72-f17a-11ee-a297-92fbcf53809c.png

添加變量gs_sample_wave_data和gs_intermediate_buffer[1]。

45376c1a-f17a-11ee-a297-92fbcf53809c.png

點擊45583526-f17a-11ee-a297-92fbcf53809c.png

456a3686-f17a-11ee-a297-92fbcf53809c.png

選擇Waveform,點擊Add Rendering(s)。

457e635e-f17a-11ee-a297-92fbcf53809c.png

點擊Wave Properties。

458e0002-f17a-11ee-a297-92fbcf53809c.png

設定屬性,Data Size選擇32bit,Buffer Size填寫2048,點擊OK。

4598adfe-f17a-11ee-a297-92fbcf53809c.png

并點擊459c5bf2-f17a-11ee-a297-92fbcf53809c.png,進行實時刷新。

45a3533a-f17a-11ee-a297-92fbcf53809c.png

兩個變量用同樣的方法進行設置。

注 意

如果找不到Memory窗口,可以使用下面的方法,其他窗口同理。

點擊Window→Show View→Other…

45b37648-f17a-11ee-a297-92fbcf53809c.png

按分類查找,或者直接在上面的框中進行關鍵字搜索。

45bb0c00-f17a-11ee-a297-92fbcf53809c.png

●運行代碼45d57b9e-f17a-11ee-a297-92fbcf53809c.png,需要點擊兩次,在Memory窗口觀察DSP結果。

45e1719c-f17a-11ee-a297-92fbcf53809c.png45ef1716-f17a-11ee-a297-92fbcf53809c.png

可以把鼠標放在波形上,按住Ctrl鍵通過滾動鼠標滾輪放大或者縮小波形。

●按下斷開按鈕45fbcfc4-f17a-11ee-a297-92fbcf53809c.png,或者終止按鈕45ff6c10-f17a-11ee-a297-92fbcf53809c.png

審核編輯:劉清

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

    關注

    554

    文章

    8059

    瀏覽量

    350401
  • 單芯片
    +關注

    關注

    3

    文章

    422

    瀏覽量

    34666
  • 數字信號處理

    關注

    15

    文章

    563

    瀏覽量

    45999
  • FFT
    FFT
    +關注

    關注

    15

    文章

    437

    瀏覽量

    59559
  • IIR濾波器
    +關注

    關注

    0

    文章

    33

    瀏覽量

    11565
  • 頻率分析
    +關注

    關注

    0

    文章

    4

    瀏覽量

    4979
  • 庫文件
    +關注

    關注

    5

    文章

    33

    瀏覽量

    14517

原文標題:RX MCU DSP庫介紹及應用實例

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    MPU與數字信號處理的關系

    數字化時代,微處理器單元(MPU)和數字信號處理DSP)技術已經成為實現復雜計算和數據
    的頭像 發表于 01-08 09:29 ?180次閱讀

    數模轉換器在數字信號處理中的應用

    在現代電子系統中,數字信號處理DSP)技術扮演著至關重要的角色。數字信號處理涉及將模擬信號轉換
    的頭像 發表于 11-25 16:15 ?917次閱讀

    adc與數字信號處理的關系

    在現代電子系統中,模擬信號數字信號之間的轉換是至關重要的。模數轉換器(ADC)和數字信號處理DSP)是
    的頭像 發表于 10-31 10:50 ?442次閱讀

    數字信號是什么信號的組合

    離散的信號,它由一系列數字值組成,這些數字值在時間上是離散的。與模擬信號不同,數字信號在時間和幅度上都是離散的。
    的頭像 發表于 08-11 10:47 ?1040次閱讀

    數字信號包括哪些 數字信號的特點是什么

    數字來表示信號,如4進制、8進制等。 模擬信號數字表示 :將模擬信號通過采樣、量化和編碼轉換為數字信
    的頭像 發表于 08-11 10:44 ?2606次閱讀

    數字信號處理與通信原理之間的關系

    數字信號處理(Digital Signal Processing,簡稱DSP)和通信原理是信息科學領域中兩個密切相關的領域。它們在理論和應用層面都有很多相互聯系和相互依賴的地方。 在現代通信系統中
    的頭像 發表于 08-09 09:35 ?1126次閱讀

    數字信號處理三大變換關系包括什么

    數字信號處理是電子工程和信息科學領域的一個重要分支,它涉及到對信號進行分析、處理和轉換的方法數字信號
    的頭像 發表于 08-09 09:33 ?1357次閱讀

    dsp數字處理芯片的原理、特點、應用和發展趨勢

    數字信號處理(Digital Signal Processing,簡稱DSP)芯片是一種專門用于處理數字信號的集成電路。它廣泛應用于通信、音
    的頭像 發表于 07-08 11:27 ?5286次閱讀

    請問ESP32有DSP信號處理嗎?

    想使用ESP32做數字信號處理,不知道ESP32是否有數字信號處理方面的,比如FIR、IIR等濾波
    發表于 06-20 07:20

    數字信號轉模擬信號是調制還是解調

    詳細討論數字信號轉模擬信號的過程,包括調制與解調的概念、數字模擬轉換的原理、實現方法以及應用場景。 一、調制與解調的概念 調制(Modula
    的頭像 發表于 06-03 10:38 ?4113次閱讀

    數字信號采集系統有哪些功能

    介紹數字信號采集系統的功能、組成、工作原理以及應用場景。 一、數字信號采集系統的功能 信號采集:數字信號
    的頭像 發表于 05-31 14:26 ?1198次閱讀

    數字信號采集的基本原理有哪些

    引言 數字信號采集技術是將模擬信號轉換為數字信號的過程,廣泛應用于通信、音頻處理、視頻處理、醫療設備等領域。
    的頭像 發表于 05-31 14:19 ?1623次閱讀

    數字信號采集的主要步驟是什么

    數字信號采集是將模擬信號轉換為數字信號的過程,以便計算機或其他數字設備能夠處理和分析。這個過程對于許多應用領域非常重要,如音頻
    的頭像 發表于 05-30 16:31 ?1111次閱讀

    數字信號處理器的特點、作用及種類

    隨著信息技術的飛速發展,數字信號處理器(Digital Signal Processor,簡稱DSP)作為數字信號處理的核心設備,在通信、音
    的頭像 發表于 05-22 18:20 ?2699次閱讀

    CMSIS的DSP數字信號處理函數應用

    為了使用DSP數據,需要在IAR開發環境中,對工程文件選項General中的連接設置中,選擇CMSIS DSP。在程序中增加arm ma
    發表于 03-25 10:52 ?1590次閱讀
    CMSIS的<b class='flag-5'>DSP</b><b class='flag-5'>數字信號</b><b class='flag-5'>處理</b>函數<b class='flag-5'>庫</b>應用
    博发百家乐官网游戏| 玩百家乐的玩法技巧和规则| 澳门百家乐会出老千吗| 百家乐庄闲和的概率| 百家乐视频游戏官网| 聚众玩百家乐的玩法技巧和规则 | 娱网棋牌官方网站| 吉林市| 百家乐官网赌的是心态吗| 旅百家乐官网赢钱律| 百家乐2号死机| 大发888代理平台| 湘西| 网上百家乐官网必赢玩| 凯旋门百家乐技巧| 百家乐平注常赢玩法技巧| 新葡京娱乐城官方网站| 海立方百家乐官网客户端| 澳门百家乐官网怎么玩| 百家乐好不好| 衢州市| 百家乐官网机械投注法| 百家乐官网赌法| 百家乐官网博弈之赢者理论坛| 免费百家乐官网预测| 网络百家乐破解器| 华硕百家乐的玩法技巧和规则| 大发888老虎机下载免费| 柘城县| 狮威百家乐官网娱乐平台| 百家乐开户就送现金| 自贡百家乐赌| 赌场里的美少年| 高档百家乐官网桌子| 属兔魔羯女在哪个方位做生意| 大集汇百家乐的玩法技巧和规则| 舟山星空棋牌首页| 百家乐官网的庄闲概率| 百家乐官网套路| 玩百家乐如何硬| 威尼斯人娱乐城免费注册|