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

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

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

數(shù)字信號(hào)處理DSP庫(kù)文件的使用方法和功能實(shí)現(xiàn)

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

概述

本文首先介紹數(shù)字信號(hào)處理(DSP),是指將連續(xù)的模擬信號(hào)轉(zhuǎn)換為不連續(xù)、離散的數(shù)字信號(hào)并進(jìn)行處理以提取所需的信號(hào)(信息)的過(guò)程。然后通過(guò)一個(gè)簡(jiǎn)單的Lab來(lái)說(shuō)明DSP庫(kù)文件的使用方法和功能實(shí)現(xiàn)。

DSP系統(tǒng)工程如下

將模擬(連續(xù))信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。

通過(guò)專用DSP、MCU等對(duì)信號(hào)進(jìn)行處理(噪聲濾波、頻率分析等),并提取所需信號(hào)。

輸出處理后的信號(hào)。

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

過(guò)去,DSP系統(tǒng)需要多個(gè)芯片,例如MCU和專用DSP。而RX MCU使得在單芯片上配置DSP系統(tǒng)成為可能,并具有多種優(yōu)勢(shì)。

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

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

RX DSP庫(kù)的目標(biāo)設(shè)備有以下這些RX MCU

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

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

RX DSP庫(kù)版本5.0包含以下5個(gè)API,API為RX CPU的浮點(diǎn)和DSP指令運(yùn)算提供了高效的操作。

統(tǒng)計(jì)操作API

過(guò)濾操作API

線性變換API

復(fù)數(shù)運(yùn)算API

矩陣運(yùn)算API

如下表所示,RX DSP庫(kù)版本5.0由多個(gè)文檔、庫(kù)文件和示例項(xiàng)目組成。庫(kù)文件針對(duì)每個(gè)RXv1、RXv2和Xv3 CPU進(jìn)行了優(yōu)化,并且示例項(xiàng)目針對(duì)每個(gè)CPU進(jìn)行了配置。

表1 DSP庫(kù)的構(gòu)成

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

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

下面通過(guò)一個(gè)簡(jiǎn)單的Lab了解RX DSP庫(kù)和如何使用DSP庫(kù)實(shí)現(xiàn)對(duì)信號(hào)的低通濾波,使用RX23E-A(RXv2 CPU)為例。

本Lab主要介紹如何添加DSP庫(kù),然后完成對(duì)采集到的信號(hào)進(jìn)行IIR濾波。由于本次實(shí)驗(yàn)中采集到的數(shù)據(jù)是溫度結(jié)果,所以使用IIR濾波的效果不明顯。這里用一組特定的數(shù)據(jù)為例,來(lái)展示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和新加文件夾的路徑。

鼠標(biāo)右鍵點(diǎn)擊工程名,選擇Properties。

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

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

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

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

Add directory path對(duì)話框中,點(diǎn)擊Workspace。

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

選擇dsplib-rxv2文件夾,點(diǎn)擊OK。

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

點(diǎn)擊OK,完成路路徑的添加。

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

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

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

添加Library。

選擇Linkeryou6Input,點(diǎn)擊右上角的4415270a-f17a-11ee-a297-92fbcf53809c.png。

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

Format選擇library,點(diǎn)擊Workspace。

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

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

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

點(diǎn)擊OK。

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

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

#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()函數(shù)中添加以下代碼

  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]);
  }
}

●對(duì)工程進(jìn)行編譯450c6c04-f17a-11ee-a297-92fbcf53809c.png和調(diào)試45136db0-f17a-11ee-a297-92fbcf53809c.png。

●打開Memory窗口,點(diǎn)擊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

點(diǎn)擊45583526-f17a-11ee-a297-92fbcf53809c.png

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

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

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

點(diǎn)擊Wave Properties。

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

設(shè)定屬性,Data Size選擇32bit,Buffer Size填寫2048,點(diǎn)擊OK。

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

并點(diǎn)擊459c5bf2-f17a-11ee-a297-92fbcf53809c.png,進(jìn)行實(shí)時(shí)刷新。

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

兩個(gè)變量用同樣的方法進(jìn)行設(shè)置。

注 意

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

點(diǎn)擊Window→Show View→Other…

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

按分類查找,或者直接在上面的框中進(jìn)行關(guān)鍵字搜索。

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

●運(yùn)行代碼45d57b9e-f17a-11ee-a297-92fbcf53809c.png,需要點(diǎn)擊兩次,在Memory窗口觀察DSP結(jié)果。

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

可以把鼠標(biāo)放在波形上,按住Ctrl鍵通過(guò)滾動(dòng)鼠標(biāo)滾輪放大或者縮小波形。

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

審核編輯:劉清

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

    關(guān)注

    552

    文章

    7912

    瀏覽量

    347606
  • 單芯片
    +關(guān)注

    關(guān)注

    3

    文章

    416

    瀏覽量

    34519
  • 數(shù)字信號(hào)處理

    關(guān)注

    15

    文章

    548

    瀏覽量

    45740
  • FFT
    FFT
    +關(guān)注

    關(guān)注

    15

    文章

    432

    瀏覽量

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

    關(guān)注

    0

    文章

    30

    瀏覽量

    11486
  • 頻率分析
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    4948
  • 庫(kù)文件
    +關(guān)注

    關(guān)注

    5

    文章

    33

    瀏覽量

    14453

原文標(biāo)題:RX MCU DSP庫(kù)介紹及應(yīng)用實(shí)例

文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    數(shù)字信號(hào)是什么信號(hào)的組合

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

    數(shù)字信號(hào)包括哪些 數(shù)字信號(hào)的特點(diǎn)是什么

    數(shù)字來(lái)表示信號(hào),如4進(jìn)制、8進(jìn)制等。 模擬信號(hào)數(shù)字表示 :將模擬信號(hào)通過(guò)采樣、量化和編碼轉(zhuǎn)換為數(shù)字信
    的頭像 發(fā)表于 08-11 10:44 ?1193次閱讀

    數(shù)字信號(hào)處理與通信原理之間的關(guān)系

    數(shù)字信號(hào)處理(Digital Signal Processing,簡(jiǎn)稱DSP)和通信原理是信息科學(xué)領(lǐng)域中兩個(gè)密切相關(guān)的領(lǐng)域。它們?cè)诶碚摵蛻?yīng)用層面都有很多相互聯(lián)系和相互依賴的地方。 在現(xiàn)代通信系統(tǒng)中
    的頭像 發(fā)表于 08-09 09:35 ?454次閱讀

    數(shù)字信號(hào)處理三大變換關(guān)系包括什么

    數(shù)字信號(hào)處理是電子工程和信息科學(xué)領(lǐng)域的一個(gè)重要分支,它涉及到對(duì)信號(hào)進(jìn)行分析、處理和轉(zhuǎn)換的方法。數(shù)字信號(hào)
    的頭像 發(fā)表于 08-09 09:33 ?389次閱讀

    dsp數(shù)字處理芯片的原理、特點(diǎn)、應(yīng)用和發(fā)展趨勢(shì)

    數(shù)字信號(hào)處理(Digital Signal Processing,簡(jiǎn)稱DSP)芯片是一種專門用于處理數(shù)字信號(hào)的集成電路。它廣泛應(yīng)用于通信、音
    的頭像 發(fā)表于 07-08 11:27 ?2630次閱讀

    請(qǐng)問(wèn)ESP32有DSP信號(hào)處理庫(kù)嗎?

    想使用ESP32做數(shù)字信號(hào)處理,不知道ESP32是否有數(shù)字信號(hào)處理方面的庫(kù),比如FIR、IIR等濾波
    發(fā)表于 06-20 07:20

    數(shù)字信號(hào)采集系統(tǒng)有哪些功能

    介紹數(shù)字信號(hào)采集系統(tǒng)的功能、組成、工作原理以及應(yīng)用場(chǎng)景。 一、數(shù)字信號(hào)采集系統(tǒng)的功能 信號(hào)采集:數(shù)字信號(hào)
    的頭像 發(fā)表于 05-31 14:26 ?521次閱讀

    數(shù)字信號(hào)采集的基本原理有哪些

    引言 數(shù)字信號(hào)采集技術(shù)是將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)的過(guò)程,廣泛應(yīng)用于通信、音頻處理、視頻處理、醫(yī)療設(shè)備等領(lǐng)域。
    的頭像 發(fā)表于 05-31 14:19 ?695次閱讀

    數(shù)字信號(hào)處理器的特點(diǎn)、作用及種類

    隨著信息技術(shù)的飛速發(fā)展,數(shù)字信號(hào)處理器(Digital Signal Processor,簡(jiǎn)稱DSP)作為數(shù)字信號(hào)處理的核心設(shè)備,在通信、音
    的頭像 發(fā)表于 05-22 18:20 ?2115次閱讀

    CMSIS的DSP數(shù)字信號(hào)處理函數(shù)庫(kù)應(yīng)用

    為了使用DSP數(shù)據(jù)庫(kù),需要在IAR開發(fā)環(huán)境中,對(duì)工程文件選項(xiàng)General中的連接庫(kù)設(shè)置中,選擇CMSIS DSP。在程序中增加arm ma
    發(fā)表于 03-25 10:52 ?1101次閱讀
    CMSIS的<b class='flag-5'>DSP</b><b class='flag-5'>數(shù)字信號(hào)</b><b class='flag-5'>處理</b>函數(shù)<b class='flag-5'>庫(kù)</b>應(yīng)用

    2-22 AD采集DA輸出實(shí)驗(yàn)(采集輸出正弦波) #教程 #DSP #數(shù)字信號(hào)處理

    dsp數(shù)字信號(hào)處理
    創(chuàng)龍教儀
    發(fā)布于 :2024年01月18日 09:53:10

    數(shù)字信號(hào)處理信號(hào)與系統(tǒng)區(qū)別

    數(shù)字信號(hào)處理信號(hào)與系統(tǒng)是兩個(gè)很重要的概念。雖然它們都涉及到信號(hào)處理和分析,但在很多方面有著不同的特點(diǎn)和應(yīng)用。本文將詳細(xì)探討
    的頭像 發(fā)表于 01-18 09:30 ?3041次閱讀

    信號(hào)、系統(tǒng)和數(shù)字信號(hào)處理知識(shí)整理

    信號(hào)、系統(tǒng)和數(shù)字信號(hào)處理知識(shí)整理
    發(fā)表于 12-08 10:47 ?496次閱讀
    <b class='flag-5'>信號(hào)</b>、系統(tǒng)和<b class='flag-5'>數(shù)字信號(hào)</b><b class='flag-5'>處理</b>知識(shí)整理

    簡(jiǎn)單認(rèn)識(shí)數(shù)字信號(hào)處理

    數(shù)字信號(hào)處理器 (Digital Signal Processor, DSP)是一種專用微處理器,它在架構(gòu)上對(duì)數(shù)字信號(hào)
    的頭像 發(fā)表于 11-30 09:07 ?1094次閱讀
    簡(jiǎn)單認(rèn)識(shí)<b class='flag-5'>數(shù)字信號(hào)</b><b class='flag-5'>處理</b>器

    VLSI數(shù)字信號(hào)處理課件

    電子發(fā)燒友網(wǎng)站提供《VLSI數(shù)字信號(hào)處理課件.ppt》資料免費(fèi)下載
    發(fā)表于 11-18 09:44 ?1次下載
    VLSI<b class='flag-5'>數(shù)字信號(hào)</b><b class='flag-5'>處理</b>課件