DSP System Toolbox™ は、MATLAB® および Simulink® で信号処理システムの設計、シミュレーション、解析を行うためのアルゴリズム、アプリ、スコープを提供します。通信、レーダー、オーディオ、医療機器、IoT、その他のアプリケーション用のリアルタイム DSP システムをモデル化することができます。
DSP System Toolbox を使用すると、FIR フィルター、IIR フィルター、マルチレート フィルター、多段フィルター、適応フィルターを設計および解析できます。システムの開発と検証のために、変数、データファイル、ネットワークデバイスから信号のストリーミング読み込みを行うことができます。時間スコープ、スペクトル アナライザー、ロジックアナライザーを使用すると、ストリーミング信号を動的に可視化および測定できます。デスクトップ プロトタイピングや ARM® Cortex® アーキテクチャなどの組み込みプロセッサへの展開のために、このシステム ツールボックスでは C/C++ コード生成がサポートされています。また、フィルターやその他のアルゴリズムからのビットアキュレートな固定小数点モデリングおよび HDL コード生成もサポートされています。
アルゴリズムは、MATLAB 関数、System object™ および Simulink ブロックとして提供されます。
詳細を見る:
Simulink では、DSP System Toolbox™ は、フィルター、変換、線形代数のための信号処理アルゴリズムのブロックライブラリを提供します。これらのブロックは、ストリーミング入力信号を、個々のサンプル、またはフレームと呼ばれるサンプルの集まりとして処理します。サンプルベースの処理では、遅延が少なくなり、スカラー処理を必要とするアプリケーションに対応できます。フレームベースの処理では、遅延は多くなりますが、スループットが向上します。このシステム ツールボックスでは、サンプルベースとフレームベースの処理モードが両方ともサポートされています。
System object を使用している MATLAB プログラムは、MATLAB Function ブロックまたは MATLAB System ブロックを使用して Simulink モデルに組み込むことができます。ほとんどの System object には、対応する Simulink ブロックがあり、同じ機能を持ち合わせています。
DSP システムの設計、実装、検証のための信号処理ブロック
信号処理のための Simulink ブロックは、倍精度および単精度の浮動小数点データ型と整数データ型をサポートします。また、固定小数点データ型もサポートします (Fixed-Point Designer と併用する場合)。
DSP System Toolbox の信号処理ブロックには、次のものがあります。
- FFT (高速フーリエ変換)、DCT (離散コサイン変換)、STFT (短時間フーリエ変換)、DWT (離散ウェーブレット変換) などの信号変換
- FIR フィルター、IIR フィルター、アナログ フィルターの設計と実装
- CIC、ハーフバンド、ポリフェーズ、Farrow などの、サンプルレート変換用のマルチレート フィルターおよび多段フィルター
- スペクトル推定、イコライザー、ノイズ抑制のための統計的適応信号処理手法
- コンボリューション、ウィンドウ処理、パディング、遅延、ピーク検出、ゼロクロッシング検出などの信号操作および測定
- タイムスコープ、スペクトラムアナライザーなどを使用したストリーミング信号の可視化と測定
- バッファリング、インデックス処理、スイッチング、スタッキング、キューイングなどの信号管理手法
- チャープおよびカラードノイズ発生器、NCO、UDP 受信機と送信機などの信号源と終端
- 線形システムのソルバー、行列の分解、逆行列計算などの数値線形代数ルーチン
マルチレートシステムのモデル化
MATLAB 環境での DSP System Toolbox は、サンプルレート変換のためのマルチレート処理や、異なるサンプルレートやクロックレート間のインターフェイスをとるシステムのモデル化もサポートしています。マルチレート機能には、FIR と IIR のハーフバンド フィルター、ポリフェーズ フィルター、CIC フィルター、Farrow フィルターなどの多段フィルターおよびマルチレート フィルターがあります。また、内挿、間引き、任意のサンプルレート変換などの信号操作も含まれます。
DSP System Toolbox には、MATLAB でストリーミング信号を処理するためのフレームワークが用意されています。このシステム ツールボックスには、シングルレート フィルター、マルチレート フィルター、適応フィルター、FFT などのストリーミング信号の処理に最適化された信号処理アルゴリズムのライブラリが付属しています。このシステム ツールボックスは、オーディオ、医用生体、通信、制御、地震、センサー、音声などの用途の信号処理ソリューションの設計、シミュレーションおよび配布に最適です。
ストリーミング信号処理手法を使用すると、継続的に流れるデータストリームの処理が可能になります。これにより、入力データがフレームに分割され、各フレームを取得しながらデータストリームを処理するようになるため、多くの場合、シミュレーションを高速化できます。たとえば、MATLAB でのストリーミング信号処理により、マルチチャンネル オーディオのリアルタイム処理が可能になります。
ストリーミング信号処理は、データ駆動型アルゴリズム、信号源、終端を表現する System object™ という DSP アルゴリズム コンポーネントのライブラリを使用して行われます。System object を使用すると、データのインデックス付け、バッファリング、アルゴリズムの状態管理などのタスクが自動化されるため、ストリーミング アプリケーションを作成できます。また MATLAB System object は、標準の MATLAB 関数および MATLAB 演算子と組み合わせて使用することができます。
タイムスコープとスペクトラムアナライザーを使用して、ストリーミング信号を可視化および測定できます。
ストリーミング信号およびデータに最適化されたアルゴリズムを使用して、ストリーミング データにシングルレート フィルター、マルチレート フィルター、適応フィルターを適用できます。
DSP システムの設計、実装、テストのためのアルゴリズム ライブラリ
DSP System Toolbox には、ストリーミング システムの設計、実装、検証に最適化された、MATLAB 関数または MATLAB System object として実装される 350 以上のアルゴリズムが用意されています。これらのアルゴリズムは、倍精度および単精度の浮動小数点データ型をサポートします。また、ほとんどのアルゴリズムは、整数データ型と固定小数点データ型もサポートします (Fixed-Point Designer™ が必要です)。
MATLAB 環境で利用できる DSP System Toolbox のアルゴリズムには、次のカテゴリがあります。
- FFT (高速フーリエ変換) や DCT (離散コサイン変換) などの信号変換
- デジタル FIR および IIR フィルターの設計と実装手法
- FIR と IIR のハーフバンド フィルター、ポリフェーズ フィルター、CIC フィルター、Farrow フィルターなどの、サンプルレート変換用のマルチレート フィルターおよび多段フィルター
- スペクトル推定、イコライザー、ノイズ抑制のための統計的適応信号処理手法
- 畳み込み、ウィンドウ処理、パディング、遅延のモデル化、ピーク検出、可変の非整数倍遅延などの信号操作および測定
- タイムスコープ、スペクトラムアナライザーおよびロジックアナライザーを使用した実行時の信号可視化
マルチレート システム
MATLAB 環境での DSP System Toolbox は、サンプルレート変換のためのマルチレート処理や、異なるサンプルレートやクロックレート間のインターフェイスをとるシステムのモデル化もサポートしています。マルチレート機能には、FIR と IIR のハーフバンド フィルター、ポリフェーズ フィルター、CIC フィルター、Farrow フィルターなどの多段フィルターおよびマルチレート フィルターがあります。また、内挿、間引き、任意のサンプルレート変換などの信号操作も含まれます。
DSP System Toolbox には、FIR フィルター、IIR フィルター、多段フィルター、マルチレート フィルター、適応フィルターのための幅広いフィルター設計アルゴリズムおよび実装アルゴリズムが用意されています。ローパス、ハイパス、バンドパス、バンドストップなどの応答タイプのフィルターを設計できます。このようなフィルターは、直接型 FIR、オーバーラップ加算 FIR、IIR 2 次セクション型 (双二次)、カスケードオールパス、ラティスなどのフィルター構造で実現することができます。
Filterbuilder アプリ、MATLAB コードまたは Simulink ブロックを使用してフィルターを設計できます。また、FIR フィルターと IIR フィルターの固定小数点量子化の影響を解析し、フィルター係数の最適な語長を特定することができます。
実行時に帯域幅やゲインなどの重要なフィルター パラメーターを、調整可能なフィルターとして設計することもできます。
MATLAB で DSP System Toolbox を使用して設計したデジタルフィルターは、Simulink のシステムレベルのモデルで使用することも可能です。このシステム ツールボックスには、ローパス、ハイパス、その他のフィルターの設計、シミュレーション、実装を Simulink で直接行うための、すぐに使用可能なフィルターブロックのライブラリがあります。
従来の FIR フィルターと IIR フィルターの設計アルゴリズムに加えて、DSP System Toolbox では次のような特定用途向けフィルターおよび設計法がサポートされています。
- 最小次数設計、制約付きリップル設計、最小位相設計といった、高度な等リップル FIR フィルター
- ナイキストフィルター、FIR ハーフバンドフィルター、IIR ポリフェーズ フィルターについて、等リップル、傾きを持つ阻止帯域、ウィンドウ法による設計だけでなく、線形位相、最小位相、準線形位相を持つハーフバンド設計
- ソフトウェア無線およびシグマデルタ型コンバーターでの乗算器なしの実装のための CIC 内挿および間引きフィルター
- 計算量を最小限に抑えるためにカスケード接続の段数を最適化する、最適化多段設計
- 調整が必要なフィルター アプリケーションに適した Farrow フィルター構造の実装に使われる、非整数倍遅延フィルター
- 線形位相の通過帯域をを得るために他のIIR フィルターの群遅延を補正する、任意群遅延をもつオールパス IIR フィルター
- ロバストな実装のためのラティスウェーブデジタル IIR フィルター
- あらゆるフィルター仕様の設計を可能にする任意振幅と任意位相の FIR フィルターと IIR フィルター
マルチレート フィルターおよび多段フィルターと解析
DSP System Toolbox では、ポリフェーズ内挿、間引き、サンプルレート変換器、FIR ハーフバンドと IIR ハーフバンド、Farrow フィルター、CIC フィルターと補償器などの、マルチレート フィルターの設計と実装が提供されているほか、多段階設計法もサポートされています。また、マルチレート フィルターおよび多段フィルターの計算量を推定するために特化した解析関数も提供されています。
DSP System Toolbox は、MATLAB および Simulink でストリーミング信号の時間領域または周波数領域の可視化、測定、解析を行うためのスコープおよびデータログを提供します。スコープには、業界標準のオシロスコープやスペクトラムアナライザーを使用しているユーザーには馴染み深い測定機能および統計機能が付属しています。
このシステム ツールボックスには、時間領域信号の遷移を表示するためのロジックアナライザーも用意されています。これは、HDL 実装のためのモデルのデバッグに役立ちます。
また、時間経過で変化するフィルター係数のようなデータベクトルを可視化するための任意プロットを作成することもできます。
時間スコープでは、信号が時間領域で表示され、マルチチャンネル I/O システムに対して、連続、離散、固定サイズ、可変サイズ、浮動小数点データ、固定小数点データ、N 次元の信号など、さまざまな信号がサポートされています。時間スコープを使用すると、各入力信号が異なる次元、サンプルレート、データ型をもつ場合でも、複数の信号を同じ軸に表示できます。または、スコープウィンドウ内で別々の表示領域に多チャンネルの信号を表示することもできます。時間スコープでは、RMS (二乗平均平方根)、ピーク間、平均値、中央値などの解析、測定、統計処理を実行できます。
スペクトラム アナライザーでは、さまざまな入力信号の周波数スペクトルが計算され、線形スケールまたは対数スケールで周波数スペクトルが表示されます。スペクトラム アナライザーは、高調波歪み測定 (THD、SNR、SINAD、SFDR)、TOI (3 次相互変調) 歪み測定、ACPR (隣接チャネル電力比) の測定、CCDF (相補累積分布関数)、PAPR (ピーク対平均電力比) などの測定および解析を実行します。スペクトラム アナライザーのスペクトログラム モード ビューは、時変スペクトルの表示方法を示します。このビューで自動ピーク検出を実行できます。
DSP System Toolbox には追加の可視化機能として、実数または複素数、ベクトル、配列、フレームなどのデータに固定小数点や倍精度、ユーザー定義のデータ列のデータ型のような、さまざまな信号またはデータを表示および測定できるツールが用意されています。可視化ツールの中には、ストリーミング データまたは信号を 3D 表示できるものもあり、これによってシミュレーションが停止するまでの期間にわたってデータ解析を実行できます。
DSP System Toolbox を Fixed-Point Designer と併用すれば、固定小数点の信号処理アルゴリズムをモデル化し、量子化がシステムの挙動やパフォーマンスに与える影響を解析できます。また、MATLAB コードまたは Simulink モデルから固定小数点 C コードを生成することもできます。
DSP System Toolbox の MATLAB System object や Simulink ブロックを固定小数点モードで演算を行うように設定できます。これによって、実際のハードウェアへの実装を行う前に、異なる語長や、スケーリング、オーバーフロー処理、丸め手法を選択してシミュレーションを実行することで、設計のトレードオフ解析と最適化を行うことができます。
固定小数点モードは、FFT、フィルター、統計、線形代数などの多数の DSP アルゴリズムでサポートされています。DSP System Toolbox では、固定小数点演算のための System object およびブロックの設定を自動化することができます。
固定小数点フィルターの設計
DSP System Toolbox のフィルター設計関数および Filterbuilder アプリでは浮動小数点フィルターを設計でき、これらのフィルターは Fixed-Point Designer を使用して固定小数点データ型に変換できます。この設計フローを使用すれば、固定小数点フィルターの設計および最適化を簡略化して、量子化の影響を解析することが可能です。
DSP System Toolbox を MATLAB Coder™ および Simulink Coder™ と併用すると、MATLAB および Simulink の信号処理アルゴリズムおよびシステムモデルから C と C++ ソースコードや、パフォーマンス向上のための MEX 関数を生成できます。
生成したコードは、製品開発のプロセスで、システムの高速化や、ラピッド プロトタイピング、実装と配布、統合に使用できます。
スタンドアロン実行と他の環境との統合
DSP System Toolbox では、アルゴリズムのスタンドアロンの実行可能ファイルを生成することで、MATLAB コードまたは Simulink モデルから生成した C コードを、配布やデスクトップでのプロトタイピングに使用することもできます。このスタンドアロンの実行可能ファイルは、UDP コンポーネントを使用して、MATLAB または Simulink 内から直接リアルタイムで調整できます。このスタンドアロンの実行可能ファイルは MATLAB コードまたは Simulink モデルとは異なるスレッドで実行されるため、アルゴリズムのリアルタイムのパフォーマンスが向上します。
信号処理アルゴリズムの生成された C コードは、コンパイルされたライブラリ コンポーネントとして、カスタム シミュレーターなどの他のソフトウェアや SystemC などの標準的なモデリング ソフトウェアに統合できます。
ARM Cortex プロセッサ向けに最適化された C コード生成
DSP System Toolbox を ARM Cortex-A または ARM Cortex-M のハードウェア サポート アドオンおよび Embedded Coder® と併用すると、FFT、FIR、双二次フィルターなどの主要な DSP アルゴリズム用の MATLAB System object または Simulink ブロックから、最適化された C コードを生成できます。生成されたコードは、ARM Cortex-A Ne10 ライブラリまたは ARM Cortex-M CMSIS ライブラリ向けに最適化されたルーチンを呼び出します。主なメリットは、標準的な C コードと比べてパフォーマンスが直接的に向上することです。また、PIL (プロセッサインザループ) テストを使用して、コード検証およびプロファイルを実行することもできます。
MATLAB で DSP System Toolbox を Filter Design HDL Coder™ と併用すると、デジタルフィルターを設計し、効率的で合成と移植が可能な VHDL® コードと Verilog® コードを生成して、FPGA または ASIC で実装することができます。また、VHDL および Verilog のテストベンチを自動的に作成して、生成されたコードのシミュレーション、テスト、検証を実行することもできます。
DSP System Toolbox を HDL Coder™ と併用すると、合成と読み取りが可能な VHDL コードと Verilog コードをシステム設計用途で生成できます。FPGA/ASIC のリソース使用量とパフォーマンスを最適化するには、DSP HDL Toolbox ブロックの使用を検討します。