RXMCUDSP库介绍及应用实例

原创 瑞萨MCU小百科 2024-04-03 12:04



概述

本文首先介绍数字信号处理(DSP),是指将连续的模拟信号转换为不连续、离散的数字信号并进行处理以提取所需的信号(信息)的过程。然后通过一个简单的Lab来说明DSP库文件的使用方法和功能实现。


DSP系统工程如下

  • 将模拟(连续)信号转换为数字信号。

  • 通过专用DSP、MCU等对信号进行处理(噪声滤波、频率分析等),并提取所需信号。

  • 输出处理后的信号。


过去,DSP系统需要多个芯片,例如MCU和专用DSP。而RX MCU使得在单芯片上配置DSP系统成为可能,并具有多种优势。


使用DSP库,可以在RX系列MCU上轻松执行FIR、IIR滤波器和FFT等数字信号处理。RX系列MCU支持执行高速数字信号处理所需的乘法和累加运算等DSP指令。


RX DSP库的目标设备有以下这些RX MCU


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库的构成


每个CPU的“dsplib-rxv*”文件夹中有8种类型的库文件和8个头文件。库文件根据支持的FPU、字节序模式和错误检查进行分类。头文件分为API专用定义和通用定义。所有通用定义均在r_dsp_types.h中描述,该文件包含在每个API头文件中。详细信息请参阅“RX DSP Library APIs Version 5.0 User’s Manual: Software (R01UW0200)”。


目前最新版本为V.5.0,详细信息可参考以下链接:

DSP Library for RX Family

https://www.renesas.cn/cn/zh/software-tool/dsp-library-rx-family


下面通过一个简单的Lab了解RX DSP库和如何使用DSP库实现对信号的低通滤波,使用RX23E-A(RXv2 CPU)为例。

本Lab主要介绍如何添加DSP库,然后完成对采集到的信号进行IIR滤波。由于本次实验中采集到的数据是温度结果,所以使用IIR滤波的效果不明显。这里用一组特定的数据为例,来展示IIR滤波的效果。


步骤

● 解压缩an-r01an4359ej0100-rx-dsplib.zip文件,将其中的dsplib-rxv2文件夹拷贝到工程中。


● 在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文件夹中。


● 在工程属性中添加DSP Lib和新加文件夹的路径。

鼠标右键点击工程名,选择Properties。


选择C/C++ Build→Settings→Compiler→Source,点击右上角的


添加dsplib-rxv2文件夹的路径。

Add directory path对话框中,点击Workspace。


选择dsplib-rxv2文件夹,点击OK。

点击OK,完成路路径的添加。



用上面同样的方式,添加r_dsp文件夹的路径。


添加Library。

选择Linkeryou6Input,点击右上角的


Format选择library,点击Workspace。


选择dsplib-rxv2文件夹中的RX_DSP_FPU_LE_Check.lib文件。


点击OK。


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


● 对工程进行编译和调试


● 打开Memory窗口,点击


添加变量gs_sample_wave_data和gs_intermediate_buffer[1]。


点击


选择Waveform,点击Add Rendering(s)。


点击Wave Properties。


设定属性,Data Size选择32bit,Buffer Size填写2048,点击OK。


并点击,进行实时刷新。


两个变量用同样的方法进行设置。


注  意


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

点击Window→Show View→Other…

按分类查找,或者直接在上面的框中进行关键字搜索。


● 运行代码,需要点击两次,在Memory窗口观察DSP结果。


可以把鼠标放在波形上,按住Ctrl键通过滚动鼠标滚轮放大或者缩小波形。


● 按下断开按钮,或者终止按钮


需要技术支持?

如您在使用瑞萨MCU/MPU产品中有任何问题,可识别下方二维码或复制网址到浏览器中打开,进入瑞萨技术论坛寻找答案或获取在线技术支持。

https://community-ja.renesas.com/zh/forums-groups/mcu-mpu/



1

END

1


推荐阅读

RX产品家族介绍手册 [4] RX700/RX600、RX200、RX100系列

研讨会回放 | 集成24位ADC的RX23E-A MCU

RX231系列MCU旧工程打开编译报错问题解决

更多精彩内容,请点击

评论 (0)
  •   陆地装备体系论证与评估综合平台系统解析   北京华盛恒辉陆地装备体系论证与评估综合平台系统是契合现代军事需求而生的专业系统,借助科学化、智能化手段,实现对陆地装备体系的全方位论证与评估,为军事决策和装备发展提供关键支撑。以下从功能、技术、应用及展望展开分析。   应用案例   目前,已有多个陆地装备体系论证与评估综合平台在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润陆地装备体系论证与评估综合平台。这些成功案例为陆地装备体系论证与评估综合平台的推广和应用提供了有力支持。
    华盛恒辉l58ll334744 2025-04-24 10:53 104浏览
  •   通用装备论证与评估系统平台解析   北京华盛恒辉通用装备论证与评估系统平台是服务军事装备全生命周期管理的综合性信息化平台,通过科学化、系统化手段,实现装备需求论证、效能分析等核心功能,提升装备建设效益。   应用案例   目前,已有多个通用装备论证与评估系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润通用装备论证与评估系统。这些成功案例为通用装备论证与评估系统的推广和应用提供了有力支持。   一、系统分层架构   (一)数据层   整合装备性能、作战、试验等多源异
    华盛恒辉l58ll334744 2025-04-24 16:14 86浏览
  •   后勤实验仿真系统平台深度解析   北京华盛恒辉后勤实验仿真系统平台依托计算机仿真技术,是对后勤保障全流程进行模拟、分析与优化的综合性工具。通过搭建虚拟场景,模拟资源调配、物资运输等环节,为后勤决策提供数据支撑,广泛应用于军事、应急管理等领域。   应用案例   目前,已有多个后勤实验仿真系统平台在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润后勤实验仿真系统平台。这些成功案例为后勤实验仿真系统平台的推广和应用提供了有力支持。   一、核心功能   (一)后勤资源模拟
    华盛恒辉l58ll334744 2025-04-23 15:39 168浏览
  •   无人机结构仿真与部件拆解分析系统平台解析   北京华盛恒辉无人机结构仿真与部件拆解分析系统无人机技术快速发展的当下,结构仿真与部件拆解分析系统平台成为无人机研发测试的核心工具,在优化设计、提升性能、降低成本等方面发挥关键作用。以下从功能、架构、应用、优势及趋势展开解析。   应用案例   目前,已有多个无人机结构仿真与部件拆解分析系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润无人机结构仿真与部件拆解分析系统。这些成功案例为无人机结构仿真与部件拆解分析系统的推广和应用提
    华盛恒辉l58ll334744 2025-04-23 15:00 201浏览
  •   有效样本分析决策系统平台全面解析   一、引言   北京华盛恒辉有效样本分析决策系统在当今数据驱动的时代,企业、科研机构等面临着海量数据的处理与分析挑战。有效样本分析决策系统平台应运而生,它通过对样本数据的精准分析,为决策提供有力支持,成为提升决策质量和效率的关键工具。   应用案例   目前,已有多个有效样本分析决策系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润有效样本分析决策系统。这些成功案例为有效样本分析决策系统的推广和应用提供了有力支持。   二、平台概述
    华盛恒辉l58ll334744 2025-04-24 11:13 92浏览
  • 前言本文主要演示基于TL3576-MiniEVM评估板HDMI OUT、DP 1.4和MIPI的多屏同显、异显方案,适用开发环境如下。Windows开发环境:Windows 7 64bit、Windows 10 64bitLinux开发环境:VMware16.2.5、Ubuntu22.04.5 64bitU-Boot:U-Boot-2017.09Kernel:Linux-6.1.115LinuxSDK:LinuxSDK-[版本号](基于rk3576_linux6.1_release_v
    Tronlong 2025-04-23 13:59 141浏览
  •   高海拔区域勤务与装备保障调度系统平台解析   北京华盛恒辉高海拔区域勤务与装备保障调度系统平台专为高海拔特殊地理环境打造,致力于攻克装备适应、人员健康保障、物资运输及应急响应等难题。以下从核心功能、技术特点、应用场景及发展趋势展开全面解读。   应用案例   目前,已有多个高海拔区域勤务与装备保障调度系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润高海拔区域勤务与装备保障调度系统。这些成功案例为高海拔区域勤务与装备保障调度系统的推广和应用提供了有力支持。   一、核心
    华盛恒辉l58ll334744 2025-04-24 10:13 97浏览
  •   航空兵训练与战术对抗仿真平台系统解析   北京华盛恒辉航空兵训练与战术对抗仿真平台系统是现代军事训练的关键工具,借助计算机技术构建虚拟战场,支持多兵种协同作战模拟,为军事决策、训练及装备研发提供科学依据。   应用案例   目前,已有多个航空兵训练与战术对抗仿真平台在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润航空兵训练与战术对抗仿真平台。这些成功案例为航空兵训练与战术对抗仿真平台的推广和应用提供了有力支持。   一、系统架构与核心功能   系统由模拟器、计算机兵力生
    华盛恒辉l58ll334744 2025-04-24 16:34 102浏览
  •   海上训练与保障调度指挥平台系统解析   北京华盛恒辉海上训练与保障调度指挥平台系统是现代海上作战训练的核心枢纽,融合信息技术、GIS、大数据及 AI 等前沿技术,旨在实现海上训练高效组织、作战保障科学决策。以下从架构功能、应用场景、系统优势及发展挑战展开解读。   应用案例   目前,已有多个海上训练与保障调度指挥平台在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润海上训练与保障调度指挥平台。这些成功案例为海上训练与保障调度指挥平台的推广和应用提供了有力支持。   一
    华盛恒辉l58ll334744 2025-04-24 15:26 84浏览
  •   电磁频谱数据综合管理平台系统解析   一、系统定义与目标   北京华盛恒辉电磁频谱数据综合管理平台融合无线传感器、软件定义电台等前沿技术,是实现无线电频谱资源全流程管理的复杂系统。其核心目标包括:优化频谱资源配置,满足多元通信需求;运用动态管理与频谱共享技术,提升资源利用效率;强化频谱安全监管,杜绝非法占用与干扰;为电子战提供频谱监测分析支持,辅助作战决策。   应用案例   目前,已有多个电磁频谱数据综合管理平台在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁频谱数
    华盛恒辉l58ll334744 2025-04-23 16:27 192浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦