アプリケーションノート

RX ファミリRX DSP ライブラリ Version 5.0

R01AN4359JJ0100
Rev.1.00
2019.1.21

要旨
本書は RX DSP ライブラリ Version 5.0 の概要と、DSP ライブラリ使用例サンプルプロジェクトを e2 studioと CS+上で使用する方法を説明します。

対象デバイスRX ファミリ

目次
RX DSP ライブラリの概要............................................................................................... 2

1.
1.1

構成 ............................................................................................................................................... 2

使用例サンプルプロジェクト ........................................................................................... 42.
2.1

動作確認条件 ................................................................................................................................. 4

2.2

サンプルソースファイル............................................................................................................... 5

2.3

ビルド構成 .................................................................................................................................... 5

サンプルプロジェクトの実行手順 .................................................................................... 63.
3.1

e2 studio ........................................................................................................................................ 6

3.1.1

インポート .............................................................................................................................. 6

3.1.2

ビルド ..................................................................................................................................... 7

3.1.3

実行 ......................................................................................................................................... 7

3.2

CS+ ............................................................................................................................................... 9

3.2.1

インポート .............................................................................................................................. 9

3.2.2

ビルド ................................................................................................................................... 10

3.2.3

実行 ....................................................................................................................................... 11

R01AN4359JJ0100
2019.1.21

Rev.1.00

Page 1 of 12

RX ファミリ
1.

RX DSP ライブラリ Version 5.0

RX DSP ライブラリの概要

RX DSP ライブラリ Version 5.0 は次に示す 5 つの API を提供します。
1. 統計演算 API
2. フィルタ演算 API
3. 線形変換 API
4. 複素数演算 API
5. 行列演算 API
各 API は RX CPU の浮動小数点命令や DSP 機能命令による高効率な演算処理を実装しています。

1.1

構成

RX DSP ライブラリ Version 5.0 は各種ドキュメント、RXv1、RXv2、RXv3 の各 CPU 別に最適化されたラ
イブラリファイルと各 CPU に設定された使用例サンプルプロジェクトで構成されます。ファイル構成を表
1-1 に示します。
表 1-1 DSP ライブラリファイル構成
フォルダ
an-r01an4359jj0100-rx-dsplib
reference_document

ファイル
r01an4359jj0100-rx-dsplib.pdf
r01tu0012jj0100-rx-dsplib.pdf
r01uw0200jj0100-rx-dsplib.pdf
r01an4360jj0100-rx-dsplib.pdf
r01an4361jj0100-rxv2-dsplib.pdf
r01an4362jj0100-rxv3-dsplib.pdf

dsplib-rxv1
dsplib-rxv2
dsplib-rxv3
RXv1_DSP_Sample_CCRX
RXv2_DSP_Sample_CCRX
RXv3_DSP_Sample_CCRX

RX_DSP_*.lib
r_dsp_*.h
RX_DSP_*.lib
r_dsp_*.h
RX_DSP_*.lib
r_dsp_*.hRXv1 用サンプルプロジェクトのファイル群
RXv2 用サンプルプロジェクトのファイル群
RXv3 用サンプルプロジェクトのファイル群説明本アプリケーションノート
リリースノート
RX DSP ライブラリ API のユーザー
ズマニュアルRXv1 用 DSP ライブラリの実行サイ
クル数等の情報
RXv2 用 DSP ライブラリの実行サイ
クル数等の情報
RXv3 用 DSP ライブラリの実行サイ
クル数等の情報
RXv1 用 DSP ライブラリファイルとヘッダファイルRXv2 用 DSP ライブラリファイルとヘッダファイルRXv3 用 DSP ライブラリファイルとヘッダファイル
使用例サンプルプロジェクト（MCU：RX631）
使用例サンプルプロジェクト（MCU：RX64M）
使用例サンプルプロジェクト（MCU：RX66T）

CPU 別の dsplib-rxv* フォルダには、8 種のライブラリファイルと 8 個のヘッダファイルがあります。
ライブラリファイルは表 1-2 に示すように FPU サポート、エンディアン、エラーチェックにより分けられます。ヘッダファイルは表 1-3 に示すように各 API 専用の定義と共通の定義に分けられます。共通の定義は
r_dsp_types.h に集約し、API 別ヘッダファイルにインクルードされています。
詳細は「DSP ライブラリ API Version 5.0 ユーザーズマニュアル ソフトウェア編(R01UW0200JJ0100)」を参照ください。

R01AN4359JJ0100
2019.1.21

Rev.1.00

Page 2 of 12

RX ファミリ

RX DSP ライブラリ Version 5.0
表 1-2 DSP ライブラリファイル一覧

エラーチェック
ライブラリ ファイル名
RX_DSP_NOFPU_LE.lib
なし
RX_DSP_NOFPU_LE_Check.lib
あり
Big-endian
RX_DSP_NOFPU_BE.lib
なし
RX_DSP_NOFPU_BE_Check.lib
あり
Little-endian
RX_DSP_FPU_LE.lib
対応なし
RX_DSP_FPU_LE_Check.lib
あり
Big-endian
RX_DSP_FPU_BE.lib
なし
RX_DSP_FPU_BE_Check.lib
あり【注】 FPU 対応のライブラリファイルで浮動小数点の線形変換 API 及び複素数演算 API を使用する場合は、スタンダードライブラリの“mathf.h”が必要です。
FPU
非対応

エンディアン
Little-endian

表 1-3 DSP ライブラリヘッダファイル一覧
ヘッダファイルr_dsp_statistical.hr_dsp_filters.h
r_dsp_transform.hr_dsp_complex.hr_dsp_matrix.h
r_dsp_types.h
r_dsp_ver_info.h
r_dsp_typedefs.h

R01AN4359JJ0100
2019.1.21

分類
各 API
専用

共通

Rev.1.00

説明統計 API 定義。
フィルタ演算 API 定義。
線形変換 API 定義。
複素数演算 API 定義。
行列演算 API 定義
DSP ライブラリの構造体、エラーコード、オプション設定値定義。
共通 API 定義。
DSP ライブラリのデータ型定義。

Page 3 of 12

RX ファミリ2.

RX DSP ライブラリ Version 5.0

使用例サンプルプロジェクト

サンプルプロジェクトは RX DSP ライブラリの使用例を提供します。
RX DSP ライブラリには、RXv1、RXv2、RXv3 CPU 用のサンプルプロジェクトがあります。
本章では、RXv3 のサンプルプロジェクトを例に説明します。

2.1

動作確認条件

表 2-1 にサンプルプロジェクトの動作確認環境を示します。
表 2-1 動作確認条件
項目
統合開発環境(IDE)
C/C++コンパイラ

R01AN4359JJ0100
2019.1.21

説明
ルネサス エレクトロニクス e2 studio V7.2.0
ルネサス エレクトロニクス CS+ for CC V8.00.00
ルネサス エレクトロニクス RX Compiler CC-RX V3.00.00

Rev.1.00

Page 4 of 12

RX ファミリ
2.2

RX DSP ライブラリ Version 5.0

サンプルソースファイル

表 2-2 にサンプルプロジェクトのサンプルソースファイル一覧を示します。
表 2-2 サンプルプログラムのファイル一覧
ファイル
説明
sample_dsp_main.c
メインプログラムsample_dsp_realFFT.c
浮動小数点実数 FFT 使用例
sample_dsp_complexFFT.c 複素数 FFT 使用例
sample_dsp_fir.c
FIR フィルタ使用例
sample_dsp_iirbiquad.c
IIR Biquad フィルタ使用例
sample_dsp_iirsinglepole.c 単極 IIR フィルタ使用例
sample_dsp_main.h
メインヘッダファイル
rFFT_in256_f32.h
浮動小数点実数 FFT の入力データ
windowCoefficient_f32.h
浮動小数点実数 FFT の窓関数係数
cFFT_in64_i16.h
複素数 FFT の入力データ【注】 “sample_dsp_realFFT.c”はビルド構成が FPU 対応の場合のみ有効です。

2.3

ビルド構成

サンプルプロジェクトは表 2-3 に示す 8 つのビルド構成を持ちます。ビルド構成は FPU 有無・エンディ
アン・引数チェック有無の 3 種の条件により、適切なライブラリファイルを選択します。
表 2-3 ビルド構成と対応するライブラリファイル
ビルド構成

FPU

RXV3_DSP_NOFPU_LE
RXV3_DSP_NOFPU_LE_Check
RXV3_DSP_NOFPU_BE
RXV3_DSP_NOFPU_BE_Check
RXV3_DSP_FPU_LE
RXV3_DSP_FPU_LE_Check
RXV3_DSP_FPU_BE
RXV3_DSP_FPU_BE_Check

非対
応

R01AN4359JJ0100
2019.1.21

Rev.1.00

エンディア
ン
Little-endianBig-endian

対応

Little-endianBig-endian

エラー
チェック
なし
あり
なし
あり
なし
あり
なし
あり

ライブラリファイル
RX_DSP_NOFPU_LE.lib
RX_DSP_NOFPU_LE_Check.lib
RX_DSP_NOFPU_BE.lib
RX_DSP_NOFPU_BE_Check.lib
RX_DSP_FPU_LE.lib
RX_DSP_FPU_LE_Check.lib
RX_DSP_FPU_BE.lib
RX_DSP_FPU_BE_Check.lib

Page 5 of 12

RX ファミリ3.

RX DSP ライブラリ Version 5.0

サンプルプロジェクトの実行手順

統合開発環境で、サンプルプロジェクトのインポート、ビルドおよび実行の手順を説明します。

e2 studio

3.1

e2 studio V7.2.0 で使用する手順を説明します。

3.1.1

インポート

図 3-1 にサンプルプロジェクトを e2 studio のワークスペースへインポートする手順を示します。

e2 studio を起動し、メニュー[ファイル(F)]から、[インポート(I)]を選択。

[既存プロジェクトをワークス
ペースへ]を選択。

[ルート・ディレクトリーの選択(T)]を選択。

プロジェクトが格納されたディレク
トリを選択する。

ワーキングセットを使う場
合は[ワーキング・セットにプ
ロジェクトを追加(T)]を選択。

図 3-1 プロジェクトを e2 studio にインポートする方法

R01AN4359JJ0100
2019.1.21

Rev.1.00

Page 6 of 12

RX ファミリ
3.1.2

RX DSP ライブラリ Version 5.0

ビルド

1.

プロジェクト・エクスプローラーで RXv3_DSP_Sample_CCRX プロジェクトをクリックして、プロジェクトを選択し、図 3-2 に示すように、メニュー「プロジェクト」>「ビルド構成」>「アクティブにする」で、ビルド構成を選択します。ビルド構成は表 2-3 に示すように 8 種類あります。
（例：RXV3_DSP_FPU_LE_Check）

2.

サンプルプロジェクトをビルドします。プロジェクト・エクスプローラーで
RXv3_DSP_Sample_CCRX プロジェクトを選択し、メニュー「プロジェクト」>「プロジェクトのビル
ド」をクリックします。

図 3-2 e2 studio ビルド構成の選択

3.1.3

実行

サンプルプロジェクトは表 3-1 に示すデバッグ構成を用意しています。選択したビルド構成に対応するデバッグ構成を使用して RX シミュレータで実行します。

1.

図 3-3 に示すように、選択したビルド構成に対応するデバッグ構成を右クリックし、ポップアップメ
ニュー「デバッグ」で選択したデバッグ構成名をクリックします。
（例：RXv3_DSP_Sample_CCRX_FPU_LE_Check）「パースペクティブ切り替えの確認」ダイアログボックスで「はい」をクリックします。
e2 studio はデバッグ・パースペクティブに切り替わります。

2.

メニュー「実行」>「再開」でプログラムを実行します。
デバッグ画面の詳細は e2 studio のヘルプ「ヘルプ目次」>「e2 studio ユーザーズガイド」>「全般」>「チュートリアル」>「Renesas CC-RX チュートリアル」を参照ください。

R01AN4359JJ0100
2019.1.21

Rev.1.00

Page 7 of 12

RX ファミリ

RX DSP ライブラリ Version 5.0
表 3-1 ビルド構成で使用するデバッグ構成

ビルド構成
RXV3_DSP_FPU_LE
RXV3_DSP_FPU_LE_Check
RXV3_DSP_FPU_BE
RXV3_DSP_FPU_BE_Check
RXV3_DSP_NOFPU_LE
RXV3_DSP_NOFPU_LE_Check
RXV3_DSP_NOFPU_BE
RXV3_DSP_NOFPU_BE_Check

デバッグ構成RXv3_DSP_Sample_CCRX_Debug_FPU_LE.launcher
RXv3_DSP_Sample_CCRX_Debug_FPU_LE_Check.launcher
RXv3_DSP_Sample_CCRX_Debug_FPU_BE.launcher
RXv3_DSP_Sample_CCRX_Debug_FPU_BE_Check.launcher
RXv3_DSP_Sample_CCRX_Debug_NOFPU_LE.launcher
RXv3_DSP_Sample_CCRX_Debug_NOFPU_LE_Check.launcher
RXv3_DSP_Sample_CCRX_Debug_NOFPU_BE.launcher
RXv3_DSP_Sample_CCRX_Debug_NOFPU_BE_Check.launcher

図 3-3 e2 studio デバッグセッションの開始

R01AN4359JJ0100
2019.1.21

Rev.1.00

Page 8 of 12

RX ファミリ
3.2

RX DSP ライブラリ Version 5.0

CS+

CS+ V8.00.00 で使用する手順を説明します。

3.2.1

インポート

図 3-4 にサンプルプロジェクトを CS+へインポートする手順を示します。

エクスプローラで DSP ライブラリのサンプルプ
ロジェクト RXv3_DSP_Sample_CCRX をインポートしたい場所にコピー。

CS+を起動し、スタート画面から、[e2 studio/CubeSuite/High-performance
Embedded Workshop/PM+のプロジェクトを開く]を選択。
サンプルプロジェクトをコピーした
フォルダの拡張子[.rcpc]のファイルを選択して[開く]ボタンを押す。

[e2 studio 用プロジェクト・
ファイル(*.rcpc)]を選択。
プロジェクトを選択する。

図 3-4 プロジェクトを CS+にインポートする方法
R01AN4359JJ0100
2019.1.21

Rev.1.00

Page 9 of 12

RX ファミリ
3.2.2

RX DSP ライブラリ Version 5.0

ビルド

1.

図 3-5 に示すように、プロジェクト・ツリーで「CC-RX（ビルド・ツール）」をクリックして、CC-RXのプロパティ「共通オプション」のビルド・モードでビルド構成を選択します。ビルド構成は表 2-3 に示す 8 種類あります。
（例：RXV3_DSP_FPU_LE_Check）

2.

サンプルプロジェクトをビルドします。メニュー「ビルド」>「ビルド・プロジェクト」をクリックします。

図 3-5 CS+ビルド・モードの選択

R01AN4359JJ0100
2019.1.21

Rev.1.00

Page 10 of 12

RX ファミリ
3.2.3

RX DSP ライブラリ Version 5.0

実行

サンプルプロジェクトは RX シミュレータで実行します。実行前に、RX シミュレータの設定で、選択したビルド構成に合わせてエンディアンを設定してから実行します。
1.

図 3-6 に示すように、プロジェクト・ツリー「RX シミュレータ（デバッグ・ツール）」をクリックして、RX シミュレータのプロパティ「接続用設定」のエンディアン設定で、ビルド構成に合わせてエンディアンを選択します。
ビルド構成が RXV3_FPU_LE_Check なので、エンディアンは「Little-endian データ」を選択します。

2.

メニュー「デバッグ」>「デバッグ・ツールへダウンロード」をクリックし、デバッガを実行します。
デバッグ機能の詳細は CS+のヘルプ「RX [CC-RX 環境]」>「デバッグ・ツール編」を参照ください。

図 3-6 CS+の RX シミュレータ設定

R01AN4359JJ0100
2019.1.21

Rev.1.00

Page 11 of 12

RX ファミリ

RX DSP ライブラリ Version 5.0

ホームページとサポート窓口
ルネサス エレクトロニクスホームページ
https://www.renesas.com/
お問合せ先
https://www.renesas.com/contact/

すべての商標および登録商標は，それぞれの所有者に帰属します。

R01AN4359JJ0100
2019.1.21

Rev.1.00

Page 12 of 12

改訂記録
Rev.
1.00

発行日
2019.1.21

ページ
-

改訂内容
ポイント
初版

製品ご使用上の注意事項
ここでは、マイコン製品全体に適用する「使用上の注意事項」について説明します。個別の使用上の注意
事項については、本ドキュメントおよびテクニカルアップデートを参照してください。
1.

未使用端子の処理【注意】未使用端子は、本文の「未使用端子の処理」に従って処理してください。
CMOS 製品の入力端子のインピーダンスは、一般に、ハイインピーダンスとなっています。未使用端子を開放状態で動作させると、誘導現象により、LSI 周辺のノイズが印加され、LSI 内部で貫通電流が流れたり、入力信号と認識されて誤動作を起こす恐れがあります。未使用端子は、本文「未使用端子の処理」で説明する指示に従い処理してください。
2.

電源投入時の処置【注意】電源投入時は，製品の状態は不定です。
電源投入時には、LSI の内部回路の状態は不確定であり、レジスタの設定や各端子の状態は不定です。
外部リセット端子でリセットする製品の場合、電源投入からリセットが有効になるまでの期間、端子の状態は保証できません。
同様に、内蔵パワーオンリセット機能を使用してリセットする製品の場合、電源投入からリセットのかかる一定電圧に達するまでの期間、端子の状態は保証できません。
3.

リザーブアドレス（予約領域）のアクセス禁止【注意】リザーブアドレス（予約領域）のアクセスを禁止します。
アドレス領域には、将来の機能拡張用に割り付けられているリザーブアドレス（予約領域）があります。これらのアドレスをアクセスしたときの動作については、保証できませんので、アクセスしないようにしてください。
4.

クロックについて【注意】リセット時は、クロックが安定した後、リセットを解除してください。
プログラム実行中のクロック切り替え時は、切り替え先クロックが安定した後に切り替えてください。
リセット時、外部発振子（または外部発振回路）を用いたクロックで動作を開始するシステムでは、クロックが十分安定した後、リセットを解除してください。また、プログラムの途中で外部発振子（または外部発振回路）を用いたクロックに切り替える場合は、切り替え先のクロックが十分安定してから切り替えてください。
5.

製品間の相違について【注意】型名の異なる製品に変更する場合は、製品型名ごとにシステム評価試験を実施してください。
同じグループのマイコンでも型名が違うと、内部 ROM、レイアウトパターンの相違などにより、電気的特性の範囲で、特性値、動作マージン、ノイズ耐量、ノイズ輻射量などが異なる場合があります。型名が違う製品に変更する場合は、個々の製品ごとにシステム評価試験を実施してください。

ご注意書き1. 本資料に記載された回路、ソフトウェアおよびこれらに関連する情報は、半導体製品の動作例、応用例を説明するものです。お客様の機器・システムの設計において、回路、ソフトウェアおよびこれらに関連する情報を使用する場合には、お客様の責任において行ってください。これらの使用に起因して生じた損害（お客様または第三者いずれに生じた損害も含みます。以下同じです。）に関し、当社は、一切その責任を負いません。
2. 当社製品、本資料に記載された製品デ－タ、図、表、プログラム、アルゴリズム、応用回路例等の情報の使用に起因して発生した第三者の特許権、著作権その他の知的財産権に対する侵害またはこれらに関する紛争について、当社は、何らの保証を行うものではなく、また責任を負うものではありません。
3. 当社は、本資料に基づき当社または第三者の特許権、著作権その他の知的財産権を何ら許諾するものではありません。
4. 当社製品を、全部または一部を問わず、改造、改変、複製、リバースエンジニアリング、その他、不適切に使用しないでください。かかる改造、改変、複製、リバースエンジニアリング等により生じた損害に関し、当社は、一切その責任を負いません。
5. 当社は、当社製品の品質水準を「標準水準」および「高品質水準」に分類しており、各品質水準は、以下に示す用途に製品が使用されることを意図しております。
標準水準：

コンピュータ、OA機器、通信機器、計測機器、AV機器、家電、工作機械、パーソナル機器、産業用ロボット等

高品質水準： 輸送機器（自動車、電車、船舶等）、交通制御（信号）、大規模通信機器、金融端末基幹システム、各種安全制御装置等
当社製品は、データシート等により高信頼性、Harsh environment向け製品と定義しているものを除き、直接生命・身体に危害を及ぼす可能性のある機器・システ
ム（生命維持装置、人体に埋め込み使用するもの等）、もしくは多大な物的損害を発生させるおそれのある機器・システム（宇宙機器と、海底中継器、原子力制御システム、航空機制御システム、プラント基幹システム、軍事機器等）に使用されることを意図しておらず、これらの用途に使用することは想定していません。たとえ、当社が想定していない用途に当社製品を使用したことにより損害が生じても、当社は一切その責任を負いません。
6. 当社製品をご使用の際は、最新の製品情報（データシート、ユーザーズマニュアル、アプリケーションノート、信頼性ハンドブックに記載の「半導体デバイスの使用上の一般的な注意事項」等）をご確認の上、当社が指定する最大定格、動作電源電圧範囲、放熱特性、実装条件その他指定条件の範囲内でご使用ください。指定条件の範囲を超えて当社製品をご使用された場合の故障、誤動作の不具合および事故につきましては、当社は、一切その責任を負いません。
7. 当社は、当社製品の品質および信頼性の向上に努めていますが、半導体製品はある確率で故障が発生したり、使用条件によっては誤動作したりする場合があります。また、当社製品は、データシート等において高信頼性、Harsh environment向け製品と定義しているものを除き、耐放射線設計を行っておりません。仮に当社製品の故障または誤動作が生じた場合であっても、人身事故、火災事故その他社会的損害等を生じさせないよう、お客様の責任において、冗長設計、延焼対策設
計、誤動作防止設計等の安全設計およびエージング処理等、お客様の機器・システムとしての出荷保証を行ってください。特に、マイコンソフトウェアは、単独での検証は困難なため、お客様の機器・システムとしての安全検証をお客様の責任で行ってください。
8. 当社製品の環境適合性等の詳細につきましては、製品個別に必ず当社営業窓口までお問合せください。ご使用に際しては、特定の物質の含有・使用を規制するRoHS
指令等、適用される環境関連法令を十分調査のうえ、かかる法令に適合するようご使用ください。かかる法令を遵守しないことにより生じた損害に関して、当社は、一切その責任を負いません。
9. 当社製品および技術を国内外の法令および規則により製造・使用・販売を禁止されている機器・システムに使用することはできません。当社製品および技術を輸
出、販売または移転等する場合は、「外国為替及び外国貿易法」その他日本国および適用される外国の輸出管理関連法規を遵守し、それらの定めるところに従い必要な手続きを行ってください。
10. お客様が当社製品を第三者に転売等される場合には、事前に当該第三者に対して、本ご注意書き記載の諸条件を通知する責任を負うものといたします。
11. 本資料の全部または一部を当社の文書による事前の承諾を得ることなく転載または複製することを禁じます。
12. 本資料に記載されている内容または当社製品についてご不明な点がございましたら、当社の営業担当者までお問合せください。
注1. 本資料において使用されている「当社」とは、ルネサス エレクトロニクス株式会社およびルネサス エレクトロニクス株式会社が直接的、間接的に支配する会
社をいいます。
注2. 本資料において使用されている「当社製品」とは、注1において定義された当社の開発、製造製品をいいます。
(Rev.4.0-1 2017.11)

http://www.renesas.com■営業お問合せ窓口※営業お問合せ窓口の住所は変更になることがあります。最新情報につきましては、弊社ホームページをご覧ください。

ルネサス エレクトロニクス株式会社〒135-0061

東京都江東区豊洲3-2-24（豊洲フォレシア）■技術的なお問合せおよび資料のご請求は下記へどうぞ。
総合お問合せ窓口：https://www.renesas.com/contact/© 2019 Renesas Electronics Corporation. All rights reserved.
Colophon 6.0