• 検索結果がありません。

MATLAB/Simulinkを使ってみませんか? - 信号処理編 -

N/A
N/A
Protected

Academic year: 2021

シェア "MATLAB/Simulinkを使ってみませんか? - 信号処理編 -"

Copied!
42
0
0

読み込み中.... (全文を見る)

全文

(1)

MATLAB/Simulink を使ってみませんか?

~ 信号処理編 ~

(2)

1. 本資料の対象者 ・興味はあるが、なかなか触れる機会がない方 ・購入前に使用イメージを明確にしておきたい方 ・実際に操作しながら、どのようなメリットがあるか確認したい方  本資料は「MATLAB®/Simulink®を使ってみたいのだけれど、なかなか触れる機会がない・・」、 「資料やマニュアルを読みながら、ゼロから自分で試す気が起こらない・・」など、日々のご業務 の中でツール評価の時間を捻出するのが難しいといったお悩みにお応えします。信号処理分野の主 要製品にフォーカスした例題を用いて、一連のフローを段階的に体験していただくことにより、実 際の作業をイメージしながら、より短時間でツール評価を行うことができます。 本資料がお客様の ツール評価にお役立て頂ければ幸いです。 2. 本書で使用するツールについて  本書はWindows 環境にインストールされた MATLAB R2008bをベースに記述されています。この ため、UNIX 環境にインストールされたMATLABとはインタフェースが若干異なります。なお、お客 様の環境で本資料のファイルを実行される際には以上のMATLABバージョンについて一度ご確認くだ さい。  <使用ツール> MATLAB Version 7.7 Simulink Version 7.2 Data Acquisition Toolbox Version 2.13 Filter Design Toolbox Version 4.4 Fixed-Point Toolbox Version 2.3 Image Processing Toolbox Version 6.2 Signal Processing Blockset Version 6.8 Signal Processing Toolbox Version 6.10 Simulink Fixed Point Version 6.0 Video and Image Processing Blockset Version 2.6  <補足のデモで使用するツール>

Communications Blockset Version 4.1 Image Acquisition Toolbox Version 3.2 Real-Time Workshop Version 7.2 Real-Time Workshop Embedded Coder Version 5.2 SimPowerSystems Version 5.0 Statistics Toolbox Version 7.0

(3)

目 次

1 章 開発環境の概要 ... 1 1.1 MATLABプロダクトファミリ ... 1 1.2 信号処理系オプションツール ... 1 1.3 モデルベースデザインとは? ... 4 第2 章 1次元信 号のスペ クトル解 析 ... 5 2.1 Excelファイルの取り込みとグラフ表示 ... 5 2.2 Excelデータのスペクトル解析 ... 7 2.3 サンプリング定理の確認 ... 10 第3 章 ディジタルフィルタ設計 ... 12 3.1 wavファイルの取り込みとグラフ表示 ... 12 3.2 フィルタ設計およびノイズ除去 ... 15 第4 章 マル チレ ート 信号 処理 シス テム 設計 ... 20 4.1 ダウンサンプリングによるレート変換 ... 20 4.2 直接構成によるデシメーション ... 21 4.3 サウンドカードからのデータ取得 ... 23 第5 章 フーリエ変換の性質 ... 26 5.1 画像の輝度範囲およびコントラスト調整 ... 26 5.2 動画像に対する2次元フィルタリング ... 27 第6 章 固定 小 数点 デ ィ ジタ ル 信 号処 理 シ ステ ム 設計 ... 31 6.1 浮動・固定小数点演算フィルタ ... 31 6.2 スケーリング変更による特性改善 ... 33 付 録... 36 1. MATLABの情報ソース ... 36 2. ポイントのまとめ ... 38

(4)

1 章 開発環境の概要

1.1 MATLABプロダクトファミリ

 ディジタルシステムは、音響・映像、情報・通信分野等、非常に幅広く用いられ、多くの研究者・ 技術者が携わっています。またシステムレベルのアルゴリズム開発や実現設計など、様々なステー ジがあり、その目的により開発ツールに対する要求は異なります。MATLAB 製品ファミリはその 目的に合わせた様々な開発環境を提供します。図1-1 にその環境の概略図を示します。 C Code生成 組込みターゲット 他のアプリケーション ( Excel , 実行ファイル) データ収集 Blockset専門分野別ブロックライブラリ ・Signal Processing Blockset

Communication Blockset

Video and Image Processing Blockset

Simulink Fixed Point

RF Blockset…10以上 S ig na l S ig na l C om m C om m Im ag e Im ag e C on tro l C on tro l S ig na l S ig n al C o m m C om m R F R F Fixed F ix ed Toolbox専門分野別関数ライブラリ ・Signal Processing Toolbox

Communication Toolbox

Fixed-Point Toolbox

Control System Toolbox

Image Processing Toolbox

… 50以上 汎用ブロックダイアグラムシミュレータ 1. 対話型プログラミング環境 2. 多数の数値計算関数 3. ビジュアライゼーション機能 4. ファイルI/O機能 5. GUI構築機

M

ATLAB

®

S

imulink

®

Stateflow

イベントドリブン システム設計 F ix ed F ix ed V id eo V id eo 図1-1 MATLAB プロダクトファミリの概略図

1. 2 信号処理系オプションツール

 MATLAB 製品ファミリには、汎用的なアナログ・ディジタル信号処理を行う Signal Processing Toolbox をはじめ、ディジタル信号処理システムの開発を支援する様々なツールが用意されています。 ここでは、本資料で使用するツールを主に紹介します。

Signal Processing Toolbox

 汎用的なアナログ・ディジタル信号処理を行う関数を提供します。また、一般的に良く用いられ る機能に対しては、GUI 環境が用意されています。信号管理ツール、フィルタ設計ツール、スペクト ル推定ツール、窓関数設計ツールなどがあります。 信号と線形システムモデル アナログフィルタ設計 FIR・IIR ディジタルフィルタの設計、解析、実行 FFT、DCT などの変換 スペクトラム推定 統計的信号処理 時間領域のパラメトリックモデリング 波形の生成 ウィンドウ関数

(5)

第1 章 開発環境の概要

Filter Design Toolbox

 Filter Design Toolbox は、ディジタルフィルタ設計の専用関数ライブラリです。Signal Processing Toolboxのディジタルフィルタ設計機能をさらに拡張する関数群が用意されています。

最小次数、最小位相、halfband、補間 FIR を含む高度な FIR フィルタ設計手法 完全再構成型(Perfect reconstruction)2 チャンネル FIR フィルタバンク設計

任意振幅特性フィルタ、 群遅延等化器、櫛形フィルタを等の高度な IIRフィルタ設計手法 単精度浮動小数点、固定小数点によるディジタルフィルタの解析と実現 2 次カスケード型 IIR フィルタのスケーリング、オーダリング機能 単精度浮動小数点あるいは固定小数点(※ 1)で実現されたフィルタの丸め誤差解析 ローパスからローパス、ローパスからハイパス、ローパスからマルチバンドなどのFIR、 IIR フィルタの変換 LMS、RLS、ラティス、周波数領域、高速トランスバーサル、アフィン投影などの適応 フィルタの設計、解析および実現 CIC 固定小数点フィルタなどのマルチレートフィルタの設計、解析および実現 固定小数点フィルタのVHDL、Verilog コード生成(※ 2) ※1 固定小数点機能を利用するためには、Fixed-Point Toolbox が必要です。 ※2 HDL コードの自動生成には Filter Design HDL Coder が必要です。

Image Processing Toolbox

 Image Processing Toolboxは、画像処理、解析、可視化およびアルゴリズム開発のための包括的な 関数ライブラリやグラフィカルツールを提供します。 線形および非線形フィルタリング、フィルタ設計、画像のぼけの修正、自動コントラスト 強調などの画像強調機能 テクスチャー解析、輪郭の検知、形態解析、エッジ検出、区分け、関心領域(ROI)処 理、特徴抽出などの画像の解析 色空間補正や、デバイスに依存しないICC プロファイルインポート、エクスポートなど のカラー画像処理 コントロールポイントを選択するためのグラフィカルツールなどの空間的変換、画像の レジストレーション FFT、DCT、ラドン、ファンビーム投影法などの画像変換 DICOMインポートおよびエクスポート 対話的な画像表示や、画像GUI 構築のためのモジュラーツール 多次元画像の処理をサポート

Fixed-Point Toolbox

 Fixed-Point ToolboxはMATLABに固定小数点データタイプと演算機能を提供します。 MATLABに固定小数点データタイプを追加 固定小数点による演算子、論理演算子をサポート MATLABーSimulink間の固定小数点データ交換をサポート データのロギング、およびデータタイプオーバーライドを含む、浮動小数点ー固定小数点 変換ツールを提供 MATLABワークスペース内の固定小数点アルゴリズムの実行速度の高速化機能を提供

(6)

Signal Processing Blockset

 Signal Processing Blockset は、ディジタル信号処理システムを Simulink 環境でモデル化する場合に 有用なブロックライブラリを提供します。これにより、周波数解析、マルチレート処理、各種フィル タの設計・実現、適応フィルタ等を行うことができます。 基本的な信号処理:FFT、DFT、及びその逆変換、窓関数 Decimation/Interpolation、線形予測関連、バッファ関連、カウンタ関連、Shift Register ベクトル、行列、線形代数:Convolution、Autocorrelation、Matrix Multiplication、LU、 Cholesky、QR 分解

スペクトル推定 :Short-Time FFT、Yule-Walker AR、Burg、Modified Covariance

フィルタ設計と実現:浮動小数点あるいは固定小数点(※ 1)での FIR と IIR フィルタリン グ、適応フィルタ関連、ラティスフィルタ関連、マルチレートフィルタ関連を含みます。 フィルタ実現においては直接型の転置型やバイクワッドフィルタを利用することができま す。Filter Realization Wizard では、ユーザの仕様をもとにディジタルフィルタの Simulinkモ デルを自動的に生成します。

※1 固定小数点機能を利用するためには、Fixed-Point Toolbox/Simulink Fixed Point が必要です。

Video & Image Processing Blockset

 Video and Image Processing Blockset は航空宇宙・防衛、自動車、通信、エレクトロニクス、教育、 医療機器等の広範な適用分野で使用されている画像処理用の組込みシステム設計において、最も基本 的なアルゴリズムから高度なアルゴリズムまでカバーします。 任意のワード長の浮動小数点、整数、固定小数点データタイプによるリアルタイム動画像 処理システムのモデリング、シミュレーション マルチメディアファイル入出力(I/O)および、シミュレーション中、あるいはシミュ レーション後のビデオストリームの状態の表示 2-D フィルタ、2-D 変換、および基本的な幾何学変換の作成および実現 色空間変換、リサンプリングなどの標準的なカラー動画像変換技術を提供 エッジ検出、しきい値、morphology 演算、統計、合成といった画像解析および拡張アル ゴリズムの提供

Real-Time WorkshopR(オプション製品)との統合による ANSI/ISO C コードの自動生成

Simulink Fixed Point

 Simulink Fixed Pointにより、Simulinkプロダクトファミリで固定小数点機能が利用可能となります。 これにより、固定小数点演算を用いた制御および信号処理システムの設計を行うことができます。

Simulink、Statefl ow、Signal Processing Blockset を用いたモデル上で固定小数点シミュレー ションを利用可能

Real-Time Workshop、Stateflow Coder、Real-TimeWorkshop Embedded Coder を用いて上記モ デルから固定小数点コード生成が可能 xPC Target や他のラピッドプロトタイピングシステムによる固定小数点ベースのラピッ ド・プロトタイピングをサポート 固定小数点データタイプの制御とスケーリング オーバーフロー、飽和エラーの識別ツールの提供 レンジおよび精度のトレードオフ確認用の自動スケーリングツールを装備

(7)

第1 章 開発環境の概要  図1-3 に示すようにモデルベースデザインフローは 4 段階に分かれています。なお、本書では主に ①②③の各ステップにおける例題を取り上げます。 図1-3 モデルベースデザインフロー 図1-2 モデルベースデザインフロー

1. 3 モデルベースデザインとは?

 モデルベースデザインによる開発フローではSimulinkモデルをベースに開発を行います。図 1-2 に 示すように、仕様検討から実装やテスト・検証までをSimulinkという同一環境で行うことを可能とし、 迅速なプロトタイピングを実現します。また高価なプロトタイプテスト用のハードウエアやプロトタ イプテストのためのソフトウエア開発が不要になり、開発期間の短縮にも大きな効果があります。 モデルの詳細化 モデルの詳細化 継続的な検証 継続的な検証 実行可能な仕様書 -構造が明確 -実行結果も参照可能 自動コード生成 -ヒューマンエラーの抑制 仕様書 -プロトタイプの削減 -システマティックな解析 (“What-if”) 設計&テストを並行 - 設計エラーの早期発見 設計 実装 要求仕様 テスト・検証

(8)

2 章   1 次 元 信 号 の ス ペ ク ト ル 解 析

 この章では、MATLABのプログラミング環境におけるデータ解析の例として1次元信号のスペクト ル解析を取り上げます。以下はステージと実施手順です。

2.1  Excel ファイルの取り込みとグラフ表示

 カレントフォルダ下に格納されているExcelファイル(data1.xls)をMATLABのメモリ内に取り込 みます。ここでは、インポートウィザードを使います。以下の手順を実行してください。  ①インポートウィザードによる取り込み <2.1 Excelファイルの取り込みとグラフ表示> ①インポートウィザードによる取り込み ②データ要素の確認 ③2 次元グラフの表示 <2.2 Excelデータのスペクトル解析> ①M- ファイルの作成 ②M- ファイルの実行 ③M-Lint 機能 <2.3 サンプリング定理の確認> ①M- ファイルのセル実行 図2-1 1次元信号のスペクトル解析の実施手順とステージ フォーカスツール:  MATLAB 技術キーワード:  FFT(高速フーリエ変換)  パワースペクトル  サンプリング定理  エリアシング 図2-2 インポートウィザードによる Excelファイル(data1.xls)の取り込み手順 Excelファイルの一行目の変数名 で各列データを定義します : Excel ファイル(data1.xls) のデータを確認します

(1)

(2)

(3)

ファイル名をダブルクリック

(4)

注 意 ! Excelがインストールされていない 環境では次のコマンドを実行して ください。

(9)

第2 章 1次元信号のスペクル解析 図2-4 2次元グラフの表示とグラフの編集手順 各変数の左側の図をダブルクリック  これまでの操作で取り込んだデータは、ワークスペースと呼ばれるメモリ領域に格納されます。 次に、変数エディタを使ってそのデータを確認します。以下の手順を実行してください。  ②データ要素の確認 変数を横に並べて表示

 以上より、変数time と変数 signal が MATLAB に取り込まれました。次に、変数 time を X 軸、変数 signal を Y 軸として 2 次元グラフを表示してみます。以下の手順を実行してください。  ③2次元グラフの表示 図2-3 ワークスペースと変数エディタによる変数の確認 グラフを拡大(ダブルクリックで デフォルト値に変更)

(1)

(2)

(3)

ワークスペースをクリック

(1)

(2)

(3)

プロットの編集ボタンを押すとグラフ の色等が対話的に変更可能 Point 1 <データは配列として管理>  MATLABではデータを多次元配列として定義するためデータの参照や変更が容易です。 コマンドウィンドウ上にて2次元グラフ を表示させるコマンドを実行

(4)

編集を行いたいパーツをダブルクリック

(10)

Point 2 <柔軟なグラフ機能>  MATLABでは2/3次元のグラフをはじめ、ボリュームデータの表示、アニメーション等、様々なグ ラフィックスをシンプルなコマンドで簡単に描くことが可能です。また、対話的に編集可能なため、 即座に編集結果を確認することができます。 図2-5 M- ファイル(psd1.m)の起動および修正内容

2.2  Excel データのスペクトル解析

 前節のグラフより、変数signalのデータには周期性があることが確認できます。このことから、複 数の周波数成分をもつ正弦波が加算されている信号であると予想できます。次ではこの信号にどのよ うな周波数成分が含まれているか?を解析するためにパワースペクトルを計算します。ここでは、 MATLABのプログラムファイルであるM-ファイルを使ってパワースペクトル解析を行います。なお、 このプログラムには1行追加が必要です。以下の手順を実行してください。  ①M-ファイルの作成

(2)

17 行目に、変数 y に対して1024 点で FFT を行うコマンド

(1)

コマンドウィンドウからM- ファイル(psd1.m)を起動

(11)

第2 章 1次元信号のスペクル解析

Point 3 <高精度かつ高速な配列演算関数>

 MATLAB では、FFT をはじめ信号処理分野で一般的に使用される多数の数学関数が提供されて います。なお、数値演算のコアライブラリとして各CPU毎に最適化された LAPACK / BLASを実装 しているため、行列/配列演算を簡単かつ高速に実現することができます。なお、数値演算には IEEE の倍精度演算がデフォルトとして適用されます。 図2-6 M- ファイル(psd1.m)の実行  FFT 処理を追加した M- ファイル(psd1.m)を実行します。以下の手順を実行してください。  ②M-ファイルの実行

(1)

M- ファイル(psd1.m)を実行 100Hz と 300Hz に大きなピーク が立つことを確認 変数y を FFT することにより出力変数 Y のデータ タイプが複素数(complex)になることを確認

(3)

ワークスペースをクリック  以上より、Excelファイル(data1.xls)より取り込んだデータには100Hzと300Hzの正弦波が支配的 に含まれていることが確認できます。このようにMATLABではM-ファイルと呼ばれるテキスト形式 のプログラムを作成することで複数の処理をまとめて実行することができます。 Point 4 <M-ファイルによるシンプルなプログラミング>  MATLAB は、C/Fortran 言語のようなコンパイラ言語に比べて、記述や操作が簡単なのでアルゴ リズムの本質部分に専念できます。また、対話型の環境のためプログラム経験が浅い方でも馴染み やすく、デバッグ作業も簡単です。さらに、C/C++ 言語に比べて大幅にツール習得時間を削減でき ることも大きな利点といえます。また、次節で述べられているM-Lint機能の情報を活用することに より、早期にエラーを発見し、修正を行うことも可能です。

(2)

(12)

 最後に、M-ファイルを作成する環境であるMATLABエディタの便利機能について紹介します。プ ログラムを作成し実行する上で最も工数・時間・労力を要する作業がデバッグ作業です。そこで、プ ログラムを実行する前に、予めコードに不適切な表現や文法ミスがあった場合、これを事前に告知す る機能があるとどうでしょうか?この情報を元に早期に誤りを修正することで、デバッグ作業を短時 間で行うことが期待できます。MATLABエディタには M Lintと呼ばれる機能が実装されており、以 上の作業を強力に支援します。以下の手順を実行・確認してください。  ③M-Lint機能 図2-7 M- ファイル(psd1_error.m)の起動および M-Lint 機能のコメント内容 M-file 内にエラーコードが含まれる場合は 赤に(オレンジ= 警告 , 黄緑 = 問題なし) コマンドウィンドウからM- ファイル(psd1_error.m)を起動

(1)

(13)

第2 章 1次元信号のスペクル解析

2.3  サンプリング定理の確認

        <サンプリング定理>     信号の中に含まれている有効な信号成分の中で、最も高い周波数がfc の時、     ナイキスト周波数2fc より大きい周波数でサンプリングする必要がある  信号をスペクトル解析する際、どの程度のサンプリング周波数でサンプリングするのが妥当でしょ うか?また、上記のサンプリング定理を満たしていない場合にどのような現象が発生するのでしょう か?ここでは、上記定理を確認するために、サンプリング周波数(1000Hz)を一定にした状態で、信号 の周波数を上げていった場合のスペクトルの変化を確認します。その際、M- ファイル内のパラメー タ(周波数)を繰り返し変更しながら実行する必要があります。このような検証を行う際はエディタ 機能であるセル実行が有効です。以下の手順を実行してください。  ①M-ファイルのセル実行 サンプリング定理を満たしている場合 サンプリング定理を満たしていない場合 何が起きるのか? 図2-8 M- ファイル(fftsamp1.m)のセル実行 周波数の数値部分を選択

(2)

(3)

(4)

周波数が510になるまで+ボタンを押す OK! ?? fc=500Hzより大きくなるとエリアシングが発生!

(1)

コマンドウィンドウからM- ファイル(fftsamp1.m)を起動

(14)

 補足: プロファイラ MATLABエディタにはM-ファイルのパフォーマンス検証や比較検証を行うためのプロファイラが実装 されています。この機能を使うことにより、コードのコール数やカバレッジ、実行時間を容易に表示す ることができます。ここでは、M- ファイル = nonallo.m を例に、以下の手順で実行します。 図2-9 M- ファイル(nonallo.m)に対するプロファイル実行

(1)

(2)

カバレッジレート 各種条件でコードを検証 変数xと同じ大きさのデータをforループより前に予め定義 しておくことで高速処理が可能であることを示唆

(3)

クリック

(15)

第3 章 ディジタルフィルタ設計 ワークスペースをクリック

3 章   デ ィ ジ タ ル フ ィ ル タ 設 計

 この章では、MATLAB のディジタルフィルタ設計ツール(sptool)によるフィルタ設計・検証を取 り上げます。以下はステージと実施手順です。

3.1  wav ファイルの取り込みとグラフ表示

 カレントフォルダ下に格納されているwav ファイル(sound1.wav)を MATLAB のメモリ内に取り 込みます。ここでは、インポートウィザードを使います。以下の手順を実行してください。  ①インポートウィザードによる取り込み <3.1 wavファイルの取り込みとグラフ表示> ①インポートウィザードによる取り込み ②時間/ 周波数応答の確認 <3.2 フィルタ設計およびノイズ除去> ①ローパスフィルタの設計 ②ノイズ除去の効果を確認 図3-1 ディジタルフィルタ設計の実施手順とステージ フォーカスツール:

 Signal Processing Toolbox 技術キーワード:  FIR/IIR ディジタルフィルタ  インパルス応答  周波数/ 位相応答   図2-2 インポートウィザードによる wav ファイル(sound1.wav)の取り込み手順

(2)

(3)

ファイル名をダブルクリック

(4)

(1)

(16)

 前章ではM- ファイルでの解析を取り上げましたが、ここでは sptoolと呼ばれる信号処理解析ツー ルを使って、時間/周波数応答の確認、ディジタルフィルタ設計を行います。以下の手順を実行して ください。  ②時間/周波数応答の確認 図2-3 sptool によるデータの取り込み手順と確認 sptool を起動

(1)

[データ]として変数 data を選択

(2)

(3)

(4)

[サンプリング周波数]として変数 fs を選択

(5)

(6)

(7)

音として再生する範囲をデータの最初から最後に指定

(8)

sptool に取り込んだデータ(変数名 data)を音として再生

(9)

(17)

第3 章 ディジタルフィルタ設計  先ほどの音から、データには高域ノイズが付加されている可能性が高いことが予想されます。ま た、以上の周波数応答からも1500Hz以上の帯域でノイズ成分が付加されていることが解析的に確認 されました。次節では、この信号に対してローパスフィルタを適用し、高周波ノイズを除去すること を試みます。  次に、取り込んだデータ(変数名data)の周波数応答を確認します。以下の手順を実行します。

(1)

(2)

信号sig1が選択されていることを確認 各種のスペクトラム 推定手法を選択可能 図2-4 sptool によるパワースペクトラム推定手順と確認

(3)

(18)

3.2  フィルタ設計およびノイズ除去

 高周波ノイズを除去するためのディジタルフィルタを設計します。では、どのような仕様のフィル タを作成したらよいでしょうか?まず、一つ目の仕様はローパス特性を持っていることです。また、 先の周波数特性の結果から、およそ有効帯域(0 ~ Fs/2 = 3709Hz)の半分以降で減衰していく特性 であれば高周波ノイズを除去できそうであることが分かります。また、フィルタは線形位相を保持さ せるためにFIR型を採用します。以上の仕様に基づきフィルタを設計します。以下の手順を実行して ください。  ①ローパスフィルタの設計 図2-5 設計するディジタルフィルタの仕様 応答タイプ = ローパス 設計手法 = FIR 型(窓関数法) 次数 = 20 CutOff 周波数 = 0.5(Fs/2 で正規化した場合)          ※この周波数で 6dB減衰 ※

(1)

図2-5 sptool によるディジタルフィルタの設計環境

(2)

(3)

(4)

(19)

第3 章 ディジタルフィルタ設計

(3)

(4)

 次に、設計したディジタルフィルタの特性を確認します。以下の手順を実行します。

(1)

振幅/位相特性 図2-6 設計したディジタルフィルタの特性を確認

(2)

群遅延特性 インパルス応答 フィルタ係数  以上の特性より、仕様通りのディジタルフィルタが設計できました。次節では、このフィルタに信 号を適用しノイズ除去の効果を確認します。以下の手順を実行してください。  ②ノイズ除去の効果を確認 [sig1]と[filt1]を選択

(1)

図2-7 設計したディジタルフィルタを信号(sig1)に適用する手順

(2)

(3)

(4)

(5)

[sig2]が作成されていることを確認

(20)

(6)

図2-8 フィルタリング前後の時間軸応答

(7)

Shift + クリック ラインの色変更  以上の結果より、フィルタ通過後の信号(sig2)は高周波ノイズが除去されていることが確認でき ます。次に周波数応答も確認してみます。以下の手順を実行してください。

(8)

X 軸を拡大

(9)

(10)

図2-9 フィルタリング前後の周波数応答

(3)

(11)

(1)

(2)

(4)

(5)

Shift + クリック sig2 = フィルタリング後 sig1 = フィルタリング前 sig2 = フィルタリング後 sig1 = フィルタリング前

(21)

第3 章 ディジタルフィルタ設計

図2-10 sptool からワークスペースへの出力 Point 5 <分野に特化した解析ツールおよび関数ライブラリ>

 MATLAB では、Signal Processing Toolbox をはじめ信号処理分野で活用される多数の関数ライブ ラリ(40 以上)が提供されています。解析内容に応じて適時利用することで、高度なアルゴリズム を簡単に実行することができます。各Toolboxでは、専門分野にフォーカスした解析関数およびGUI ツールが提供されています。  補足: sptoolからの出力  先ほどの例題では、ワークスペース上に定義されたデータをsptool上に取り込むことを行いましたが、 逆にsptool 上で解析した結果(信号、フィルタ、スペクトル)をワークスペースに出力することもでき ます。また、sptoolは設計したフィルタを M- ファイルで容易に利用できるようにするために、設計内容 と等価なM-ファイルを自動生成することもできます。以下の手順で実行します。   ①ワークスペースへの出力 ②M-ファイルの出力 図2-11 sptool から M- ファイルの出力

(1)

(3)

(1)

(2)

(2)

(22)

図2-12 GUI 構築ツールの起動  補足: GUI(Graphical User Interface)の作成

 先ほどsptoolを使ってフィルタを設計しましたが、このような GUIツールをユーザ独自に構築するこ ともできます。これにより、M-ファイルとして実行するのではなく、GUIツールとして操作性を向上さ せて解析を行うことができます。また、オプション製品であるMATLAB Compiler を利用することでス タンドアロンアプリケーション(*.exe)や共有ライブラリを作成することもできます。以下に GUI構築 ツールの起動方法とサンプルGUIを示します。   ①GUI構築ツールの起動方法   ②サンプルGUI(主成分分析法による顔認識GUI) 図2-13 サンプル GUI(主成分分析法による顔認識 GUI)の実行

(1)

(2)

(1)

(23)

第4 章 マルチレート信号処理システム設計

4 章   マ ル チ レ ー ト 信 号 処 理 シ ス テ ム 設 計

 この章では、Simulinkによるマルチレート信号処理システムの設計を取り上げます。以下はステー ジと実施手順です。

4.1  ダウンサンプリングによるレート変換

 カレントフォルダ下に格納されているダウンサンプリングによるレート変換モデルファイル (rateconv_ver1.mdl)を起動し、シミュレーションを実行します。以下の手順を実行してください。  ①エリアシングの影響を確認 <4.1 ダウンサンプリングによるレート変換> ①エリアシングの影響を確認 <4.2 直接構成によるデシメーション> ①帯域制限フィルタの設計 ②アンチエリアシングフィルタの効果を確認 <4.3 サウンドカードからのデータ取得> ①リアルタイム信号の確認 図4-1 マルチレート信号処理システム設計の実施手順とステージ フォーカスツール:  Simulink

 Filter Design Toolbox  Signal Processing Blockset  Data Aquisition Toolbox 技術キーワード:  インターポレータ/ デシメータ  スペクトログラム   図4-2 ダウンサンプリングによるレート変換モデル(rateconv_ver1.mdl)のシミュレーション手順

(1)

(2)

シミュレーション開始ボタン 0 ~ 500Hzまで正弦波の周波数がスウィープ サンプリング周波数 = 1kHz 10点ずつ間引く エリアシングは発生していない エリアシングが発生! 30Hz付近のピークを確認

(3)

(4)

(24)

 以上のシミュレーション結果より、ダウンサンプリングだけではエリアシングが発生してしまうた めレート変換器として利用できないことが分かります。では、どのような処理が必要でしょうか?以 上の図4-3 を確認すると、今回の場合はエリアシング成分はナイキスト周波数(F2/s)以上の信号の折 り返し成分であることが分かります。つまりエリアシング成分を発生させないようにするためには、 ナイキスト周波数(Fs/2=100/2=50Hz)以上の信号を減衰させればよいことが分かります。次節では、 帯域制限フィルタ(アンチエリアシングフィルタ)とダウンサンプラを組み合わせたシステム(直接 構成によるデシメーション)のシミュレーションを行います。 図4-3 ダウンサンプリングとスペクトルの関係

4.2  直接構成によるデシメーション

 まず、先のモデルの左下にあるフィルタ設計ツールを起動し、以下の仕様の帯域制限フィルタを設 計します。以下の手順を実行してください。  ①帯域制限フィルタの設計 図4-4 設計する帯域制限フィルタの仕様と設計環境 応答タイプ = ローパス 設計手法 = FIR 型(等リップル) フィルタ次数 = 最小次数

(2)

(3)

アンチエリアシングのための ローパス特性になっていることを確認 ダブルクリックして フィルタ設計ツール (fdatool)を起動

(1)

Passband 周波数(wpass) = 0.077(Fs で正規化) Stopband 周波数(wstop) = 0.12(Fs で正規化) Passband のリプル(Apass) = 0.001 dB Stopband の減衰量(Astop) = 70 dB

(25)

第4 章 マルチレート信号処理システム設計  以上のシミュレーション結果より、設計した帯域制限フィルタが折り返し成分を減衰している様子 を確認することができます。  次に、以上で設計した帯域制限フィルタからSimulink モデルを自動生成した後、図 4-5 と等価な Simulink モデルを作成しシミュレーションを実行します。以下の手順を実行してください。  ②アンチエリアシングフィルタの効果を確認 図4-6 設計した帯域制限フィルタを組み合わせたSimulinkモデル 図4-7 レート変換モデル(直接構成によるデシメーション)のシミュレーション手順

(1)

エリアシングは発生していない

(2)

(4)

生成されたブロックを結線 図4-5 設計するレート変換器の構成

(3)

(26)

(1)

図4-8 サウンドカードからのデータ取得モデル(rateconv_ver4.mdl)のシミュレーション手順

(2)

(3)

ダブルクリック

4.3  サウンドカードからのデータ取得

 今まではファイル経由でデータをMATLABやSimulink上に取り込みましたが、サウンドカードや データ収集ボード、計測器/測定器から直接データを取り込むことができます。これにより、実デー タを使用した解析/ シミュレーション /検証作業が容易になります。ここではサウンドカードのサン プリング周波数9600Hz から 960Hz にレート変換(ポリフェーズ分解によるデシメータ)するモデル (rateconv_ver4.mdl)を取り上げます。なお、本シミュレーションでは時間が変化するにつれて信号 の周波数成分がどのように変化するか?を確認するためにスペクトログラムも表示させています。  ①リアルタイム信号の確認 接続しいているデバイスを表示

 サウンドカード等のハードウェア経由でデータを取得する場合はData Aquisition Toolbox(以下 DAQ)が必要となります。現在のサポートしている主要メーカは以下になります。ご使用のハード ウェアがサポートされているかどうかについては次の開発元w e b をご参照ください(h t t p : / / www.mathworks.com/products/daq/supportedio.html)。 ・DAQサポートメーカ  Acqiris  ADLINK  Advantech  CONTEC  Data Translation  g.tec IOTech Keithley Instruments Measurement Computing National Instruments sound cards

United Electronic Industries ... etc

(27)

第4 章 マルチレート信号処理システム設計 図4-9 マルチレートフィルタのサンプルセッション(fir_example.fda)の起動手順 Point 6 <ディジタル・アナログ混在システムシミュレーションの重要性>  Simulink は、解析的に解くことが困難とされる非線形要素を含むシステムやアナログ要素(S 領 域)とディジタル要素(Z領域)が混在したシステムを直感的に表現し、時間軸上のシミュレーショ ンを行うことができます。特に近年、複雑化・高度化するディジタル・アナログ混在システムの設 計・検証においては、Verilog AMS/Spiceレベルのシミュレーションだけでなく、システムレベルの 検証を十分に実施し、事前にパラメータの最適値や感度を把握することがますます重要になってき ています。  補足: マルチレートの多段フィルタの設計  前節のレート変換の例題では、一つのフィルタで設計しましたが、実際のハードウェア設計を考慮す ると、回路面積を削減するために多段のマルチレートフィルタが用いられるのが一般的です。先ほど取 り上げたフィルタ設計ツール(fdatool)では複数のディジタルフィルタをカスケード接続し、フィルタ全 体の応答解析を行うことが可能です。以下の手順で多段フィルタ設計のサンプルを確認します。   ①fdatoolのセッションを開く

(3)

(8)

(2)

(1)

(7)

(4)

(5)

(6)

設計したフィルタのリストが掲載 3 つの FIR フィルタとそのフィルタを カスケード接続したフィルタが掲載 ダブルクリック カスケード接続したフィルタを確認 加算、乗算、遅延といったプリミ ティブなレベルでフィルタを実現

(9)

(10)

ファイル名をダブルクリック

(28)

 補足: デジタル・アナログ混在システムのシミュレーション  デジタル・アナログ混在システムの例として、シグマデルタA/D 変換器を取り上げます。シグマデル タ(ΣΔ)変調器は、リニアリティ、アンチエリアシング特性とアナログ実装への要求の低さから、低 コストで高分解能が必要なアプリケーションのA/Dコンバータとして利用されています。特に、オーバー サンプリング技術を使うことにより、緩やかなアナログLPF 特性で高いパフォーマンスを実現できると いう特徴を持ちます。以下に概念図とモデルの実行手順を示します。 図4-10 ΣΔ変換器モデルのシミュレーション手順とモデル概念図

(1)

(2)

200Hz の正弦波 量子化ノイズ アナログΣΔ変調 デシメータ 量子化信号のパワースペクトル なお、テキストでは取り上げませんが、カレントディレクトリ内には以下のサンプルも含まれています。  ・2 次ΣΔ A/D 変換モデル(sdadc2ord_soln.mdl), アクティブ方式 Butterworth LPF(butterlp.mdl)  ・Fractional-N(分数分周)方式の周波数シンセサイザ(fractional_4.mdl, fractional_6.mdl)

  ①ΣΔ変換器モデルのシミュレーション

アナログフィルタ(S領域の伝達関数)

(29)

第5 章 フーリエ変換の性質

5 章  フ ー リ エ 変 換 の 性 質

 この章では、フーリエ変換の性質である、「時間領域の畳み込みと周波数領域の積は等価」を確認 します。以下はステージと実施手順です。

5. 1  画像の輝度範囲およびコントラスト調整

 カレントフォルダ下に格納されている画像の輝度範囲を検証するためのM- ファイル(im1.m)を 実行し、解析対象となる画像の輝度範囲を確認します。以下の手順を実行してください。  ①輝度範囲を確認 <5.1 画像の輝度範囲およびコントラスト調整> ①輝度範囲を確認 <5.2 動画像に対する2次元フィルタリング> ①2 次元フィルタの設計 ②周波数領域でのフィルタリング ③時間軸方向のフィルタリング 図5-1フーリエ変換の性質の実施手順とステージ フォーカスツール:  Simulink

 Image Processing Toolbox

 Video&Image Processing Blockset 技術キーワード:  フーリエ変換  2 次元畳み込み /2 次元フィルタ   図5-2 輝度範囲検証用の M- ファイル(im1.m)の実行手順

(2)

(3) (4)

要素の輝度値とカラーを表示 輝度の範囲は0 ~約 0.8の範囲であることを確認 クリック&ドラッグ クリック&ドラッグ

(5)

(6)

(1)

(30)

2次元係数の畳み込み

5.2  動画像に対する 2 次元フィルタリング

 ここでは、主に2 種類のフィルタを適用します。1つ目は、動画像を 1 枚毎に対して 2 次元の係数 行列を畳み込む方法、2つ目は、動画像の要素に対して時間軸方向にフィルタ係数を畳み込む方法で す。以下に概略図を示します。ここではベンチマークとして画像のサイズを128 × 128 とします。 図5-3 2 次元フィルタリングの手法  なお、以上で述べた畳み込みは線形システムの応答を時間領域で表現するものですが、この時間領 域の畳み込みをフーリエ変換すると以下の関係が得られることが知られています。結論から示すと 時間領域で畳み込みとして表現された線形システムの入出力の関係が、周波数領域では積の形で表現 できることを表しています。特に2 次元信号(画像)の場合は直接的に畳み込みを行うと演算量が膨 大になるため、2 次元 FFT による畳み込みは重要な要素となります。 時間軸方向の畳み込み * は畳み込みを表す 図5-4 フーリエ変換の性質 時間領域では畳み込み 周波数領域では積  次節では、以上のフーリエ変換の性質を確認するために、以下のモデリング手法で実現し応答の比 較を行います。また、図5-3 に記載されている2つの手法の違いについても確認します。

  ・2 次元係数の時間領域での畳み込み = Video&Image Processing Blocset   ・2 次元係数の周波数領域での畳み込み = Signal Processing Blockset

  ・2 次元係数の周波数領域での畳み込み = Embedded MATLAB Function(M- ファイル)   ・時間軸方向の畳み込み = Signal Processing Blockset

(31)

第5 章 フーリエ変換の性質 図5-6 2 次元フィルタの係数を計算する M- ファイル(lpfilt.m)の実行手順  2 次元フィルタの設計においては、まず、1 次元フィルタの係数を計算し、次に変換行列を使って 2次元フィルタの係数を求めます。シミュレーションにおいては高周波ノイズのフィルタリングを行 うことを想定しているため、設計するフィルタは以下の仕様に従うものとして設計します。以下の手 順を実行してください。  ①2次元フィルタの設計 図5-5 設計するディジタルフィルタの仕様 応答タイプ = ローパス 設計手法 = FIR 型(最小二乗線形位相) 次数 = 12 PassBand 周波数 = 0.5(Fs/2 で正規化した場合) StopBand 周波数 = 0.55

(2)

(1)

図の中心部分がDC 成分のため ローパス特性になっていること が確認できる

(32)

 次に、動画像に対する2 次元フィルタリングモデル(imagefilt_ver1.mdl)を起動します。このモデ ル内のEmbedded MATLAB Functionブロックにより周波数軸上での畳み込みを実現していますが、す べてのコードが記述されていません。こちらにコードを追加する必要があります。以下の手順を実行 してください。  ②周波数領域でのフィルタリング

(1)

(2)

ダブルクリック

(3)

(4)

図5-7 動画像に対する 2 次元フィルタリングモデル(imagefilt_ver1)のシミュレーション手順 オリジナル画像 ノイズ付加画像 時 間 領 域 で の 畳 み 込 み Video&Image Processing Blockset

周波数領域での畳み込み Signal Processing Blockset

周波数領域での畳み込み Embedded MATLABFcn

時間軸方向の畳み込み Signal Processing Blockset

時間軸方向のフィルタリングが 良好な結果となることを確認 時間領域と周波数領域での畳み込みが一致することを確認

(33)

第5 章 フーリエ変換の性質

図5-8 Embedded MATLAB Function ブロックの対応関数リストの表示手順 Point 7 <SimulinkとM-ファイルとの協調性>

 Simulink で提供される Embedded Function ブロックによりアルゴリズム開発の段階で検証した資 産をシステム設計のフローで容易に流用することができます。なお、このブロックで記述した M-ファイルはシミュレーション前に一度、Cコード生成されコンパイル・リンクを実行します。この ため、MATLAB FcnブロックでM-ファイルをコールするよりも高速にシミュレーションを行うこ とができます。SimulinkはMATLAB環境との協調により、柔軟かつ自由度の高い解析が可能です。

 補足: Embedded MATLAB Functionブロックでサポートされる関数リスト

 Embedded MATLAB Function ブロックは多数の数学関数をサポートしています。サポートしている関 数リストを表示するためには以下の手順を実行します。

  ①Embedded MATLAB Functionブロックのサポート関数リストの表示方法

(34)

6 章   固 定 小 数 点 デ ィ ジ タ ル 信 号 処 理 シ ス テ ム 設 計

 この章では、前章で取り上げた時間軸方向の畳み込みを行うFIRフィルタを浮動小数点演算させた 時と固定小数点演算させた時で画像がどの程度劣化するかを確認するモデルを取り上げます。また、 本モデルでは固定小数点モデルに対してオートスケーリングを行い、特性改善を行います。以下はス テージと実施手順です。

6.1  浮動・固定小数点演算によるフィルタ

 カレントフォルダ下に格納されている固定小数点フィルタの設計セッションを開き、固定小数点演 算の仕様を確認します。以下の手順を実行してください。  ①固定小数点フィルタの設計セッションの起動 <6.1 浮動・固定小数点演算によるフィルタ> ①固定小数点フィルタの設計セッションの起動 ②浮動・固定小数点フィルタの比較 <6.2 スケーリング変更による特性改善> ①オートスケーリングツールの利用手順 ②Accelerator による高速化 図6-1 固定小数点演算の実施手順とステージ フォーカスツール:

 Simulink Fixed Point  Fixed-Point Toolbox 技術キーワード:  固定小数点演算  自動コード生成  

(3)

(2)

(1)

フィルタ係数の語長  = 8bit(小数部の bit 幅 =8) 入力・出力の語長  = 8bit(小数部の bit 幅 =6) 乗算器の語長  =16bit(小数部の bit 幅 =14) アキュムレータの語長  =16bit(小数部の bit 幅 =14) 図6-2 固定小数点フィルタの設計セッション(fdata1.fda)の起動手順

(4)

固定小数点演算の設定

(35)

第6 章 固定小数点ディジタル信号処理システム設計 図6-3 固定小数点フィルタリングモデル(timefilt_ver2.mdl)のシミュレーション手順  前節で設計されている固定小数点フィルタからSimulinkブロックを自動生成して、システム全体を 構築したモデル(timefilt_ver2.mdl)を起動します。次に、シミュレーションを実行して固定小数点演 算と浮動小数点演算の結果を比較します。以下の手順で実行してください。  ②浮動・固定小数点フィルタの比較

(1)

(2)

固定小数点のヒストグラムは量子化の影響で浮動小 数点演算に比べて輝度値の分解能が低下しているこ とを確認 ノイズ付加画像 オリジナル画像 浮動小数点フィルタ 固定小数点フィルタ  シミュレーションを実行すると以下のメッセージがコマンドウィンドウ上に表示されます。これ は、ブロックに入力される信号が固定小数点化の影響により飽和していることを警告しています。次 節ではこの飽和が起きないように自動的にスケーリングポイントを決定します。

(36)

6.2  スケーリング変更による特性改善

 前節で使用した固定小数点フィルタは画像を見た限りでは浮動小数点フィルタと大きな差は見られ ませんが、一部のブロックで飽和が発生しています。ここでは、スケーリングポイントの自動変更を 行います。以下の手順を実行してください。  ①オートスケーリングツールの利用手順

(2)

(1)

図6-4 オートスケーリングツールの利用手順

(4)

浮動小数点型でシミュレーション オートスケーリングツールで提示されたス ケーリング情報でシミュレーションを実行 現在の設定でシミュレーション

(3)

(5)

(6)

(8)

(7)

(9)

(10)

浮動小数点型でのシミュレーション結果(最 大値/ 最小値)をリファレンスとし、0% の振 幅マージンを持たせてスケーリングを実行 図6-5 オートスケーリングツールで提示されたスケーリング情報

(37)

第6 章 固定小数点ディジタル信号処理システム設計

Point 8 <固定小数点システムの評価・検証>

 Simulink Fixed Point や Fixed-Point Toolbox を使用することで固定小数点化や、最適スケーリング の検証までを短期間で行うことが可能です。これまで取り上げてきたMATLAB および Simulink 環 境を共通プラットフォームとしてアルゴリズム設計から固定小数点化までを強力にサポートします。  次に、前節で取り上げたシステムを高速にシミュレーションするためのモデル(timefilt1_ver4.mdl) を起動し、シミュレーションを実行します。以下の手順を実行してください。  ②Acceleratorによる高速化

(1)

(2)

(3)

 シミュレーションボタンを押すとモデル全体からCコードを生成し、コンパイル・リンクを行いま す。シミュレーション時にはコンパイル後のモデル(拡張子=.mexw32)が実行されるため高速にシ ミュレーションを行うことが可能です。 図6-67 高速シミュレーションモデル(timefilt_ver4.mdl)の実行手順 図6-6 Simulinkの固定小数点データタイプの例 Accelerator モードを選択 Point 9 <自動コード生成機能>  Simulink 環境で作成したモデルは自動コード生成ツールにより組込み用途の C コードや HDL (Verilog/VHDL)コード(Filter Design HDL Coder/Simulink HDL Coder)に変換することができます。

また、生成されたコードを3rd Party 製品により特定のターゲットハードウェアに実装したり、各 種シミュレータとコ・シミュレーションすることで設計フローを分断することなく設計・検証・評 価を行うことが可能です。

(38)

図6-8 Filter ブロックから C コードを自動生成する手順

 補足: Cコード自動生成

 Real-time Workshop および Real-time Workshop Embedded Coder を利用すると、Simulink モデルから組込 みを考慮した効率的なCコードを自動生成することができます。以下では前節のオートスケーリングを 適用したフィルタについて実施します。以下の手順を実行します。   ①FilterブロックからCコードを自動生成

(1)

(2)

(3)

クリックすると対応するSimulink ブロックをハイライト

(39)

付録

1. MATLAB の情報ソース

 MATLABによるプログラム開発において、参考となる資料やホームページを紹介します。

1  マニュアル & デモ

(40)

2 MATLAB からの Web アクセス

 メニューバー[ヘルプ]のサブメニュー[Web リソース]から、開発元 The MathWorks 社のホーム ページへアクセスすることができます。

・The MathWorks Web サイト The MathWorks 社 HP のメインページ   ・製品とサービス The MathWorks 社のプロダクトページ ・サポート The MathWorks 社の技術サポートページ ・トレーニング The MathWorks 社の技術トレーニングページ ・MathWorks アカウント ライセンス情報の確認、Web ダウンロード等を実行 ・MATLAB Central MATLABユーザコミュニティのメインページ

・MATLAB File Exchange ユーザが公開している M- ファイル等をダウンロード ・MATLAB Newsgroupへのアクセス MATLABユーザのニュースグループへアクセス ・MATLAB ニュースレター MATLABユーザのニュースレターへアクセス

(41)

付録

2 .  ポイントのまとめ

Point 1 <データは配列として管理>  MATLABではデータを多次元配列として定義するためデータの参照や変更が容易です。 Point 2 <柔軟なグラフ機能>  MATLABでは2/3次元のグラフをはじめ、ボリュームデータの表示、アニメーション等、様々なグ ラフィックスをシンプルなコマンドで簡単に描くことが可能です。また、対話的に編集可能なため、 即座に編集結果を確認することができます。 Point 3 <高精度かつ高速な配列演算関数>  MATLAB では、FFT をはじめ信号処理分野で一般的に使用される多数の数学関数が提供されて います。なお、数値演算のコアライブラリとして各CPU毎に最適化された LAPACK / BLASを実装 しているため、行列/配列演算を簡単かつ高速に実現することができます。なお、数値演算には IEEE の倍精度演算がデフォルトとして適用されます。 Point 4 <M-ファイルによるシンプルなプログラミング>  MATLAB は、C/Fortran 言語のようなコンパイラ言語に比べて、記述や操作が簡単なのでアルゴ リズムの本質部分に専念できます。また、対話型の環境のためプログラム経験が浅い方でも馴染み やすく、デバッグ作業も簡単です。さらに、C/C++ 言語に比べて大幅にツール習得時間を削減でき ることも大きな利点といえます。また、次節で述べられているM-Lint機能の情報を活用することに より、早期にエラーを発見し、修正を行うことも可能です。 Point 5 <分野に特化した解析ツールおよび関数ライブラリ>

 MATLAB では、Signal Processing Toolbox をはじめ信号処理分野で活用される多数の関数ライブ ラリ(40 以上)が提供されています。解析内容に応じて適時利用することで、高度なアルゴリズム を簡単に実行することができます。各Toolboxでは、専門分野にフォーカスした解析関数およびGUI ツールが提供されています。

(42)

Point 6 <ディジタル・アナログ混在システムシミュレーションの重要性>  Simulink は、解析的に解くことが困難とされる非線形要素を含むシステムやアナログ要素(S 領 域)とディジタル要素(Z領域)が混在したシステムを直感的に表現し、時間軸上のシミュレーショ ンを行うことができます。特に近年、複雑化・高度化するディジタル・アナログ混在システムの設 計・検証においては、Verilog AMS/Spiceレベルのシミュレーションだけでなく、システムレベルの 検証を十分に実施し、事前にパラメータの最適値や感度を把握することがますます重要になってき ています。 Point 7 <SimulinkとM-ファイルとの協調性>

 Simulink で提供される Embedded Function ブロックによりアルゴリズム開発の段階で検証した資 産をシステム設計のフローで容易に流用することができます。なお、このブロックで記述した M-ファイルはシミュレーション前に一度、Cコード生成されコンパイル・リンクを実行します。この ため、MATLAB FcnブロックでM-ファイルをコールするよりも高速にシミュレーションを行うこ とができます。SimulinkはMATLAB環境との協調により、柔軟かつ自由度の高い解析が可能です。

Point 8 <固定小数点システムの評価・検証>

 Simulink Fixed Point や Fixed-Point Toolbox を使用することで固定小数点化や、最適スケーリング の検証までを短期間で行うことが可能です。これまで取り上げてきたMATLAB および Simulink 環 境を共通プラットフォームとしてアルゴリズム設計から固定小数点化までを強力にサポートします。

Point 9 <自動コード生成機能>

 Simulink 環境で作成したモデルは自動コード生成ツールにより組込み用途の C コードや HDL (Verilog/VHDL)コード(Filter Design HDL Coder/Simulink HDL Coder)に変換することができます。

また、生成されたコードを3rd Party 製品により特定のターゲットハードウェアに実装したり、各 種シミュレータとコ・シミュレーションすることで設計フローを分断することなく設計・検証・評 価を行うことが可能です。

図 2-10  sptool からワークスペースへの出力 Point  5 <分野に特化した解析ツールおよび関数ライブラリ>
図 2-12  GUI 構築ツールの起動 補足: GUI(Graphical User Interface)の作成
図 5-8  Embedded MATLAB Function ブロックの対応関数リストの表示手順Point 7 <SimulinkとM-ファイルとの協調性>
図 6-8  Filter ブロックから C コードを自動生成する手順 補足: Cコード自動生成

参照

関連したドキュメント

お客様は、各ASLロケーションにおいて、マスター・インストール・メデ ィア及びApproved Volume License

●お使いのパソコンに「Windows XP Service Pack 2」をインストールされているお客様へ‥‥. 「Windows XP Service

問題集については P28 をご参照ください。 (P28 以外は発行されておりませんので、ご了承く ださい。)

Windows Hell は、指紋または顔認証を使って Windows 10 デバイスにアクセスできる、よ

*Windows 10 を実行しているデバイスの場合、 Windows 10 Home 、Pro 、または Enterprise をご利用ください。S

※証明書のご利用は、証明書取得時に Windows ログオンを行っていた Windows アカウントでのみ 可能となります。それ以外の

すべての Web ページで HTTPS でのアクセスを提供することが必要である。サーバー証 明書を使った HTTPS

お客さまの希望によって供給設備を変更する場合(新たに電気を使用され