メディア

「デジタル信号処理」が迎えた転換期単体DSPは主役を降板?(3/3 ページ)

» 2010年04月01日 00時00分 公開
[Robert Cravotta,EDN]
前のページへ 1|2|3       

必要なスキル、ツールの現状

 デジタル信号処理システムの構築には、アルゴリズムの考案と改良、ターゲットプロセッサにおけるアルゴリズムの実装、システムレベルのタイミングの定義/検証が必要となる。これらを実行するためのスキルは、1つのチーム内で1人の人物が持っていればよいという考え方がある。米The MathWorks社の信号処理アプリケーション担当シニアストラテジストであるKen Karnofsky氏は、「必要となるスキルのうちいずれかを持つ人々が意見交換を行うと、解釈の問題が生じる」という経験を明かしてくれた。このような問題が起きるのは、それぞれに発想方法やデータフローが異なるからである。

 例えば、アルゴリズムの考案には数学が重要であり、モデル化の対象とする物理的現象に対する理解が必要となる。それに対し、ターゲットとするプロセッサにアルゴリズムを実装する際には、アルゴリズムを考案するときと同様に数学や物理現象について理解している必要はない。それよりも、十分な処理性能とエネルギー効率を確実に実現するために、リソースの管理/スケジューリングの方法に関するスキルが求められる。また、システムレベルのタイミングの検証には、システムが堅牢に動作するためにサポートしなければならないさまざまな動作条件を特定することが必要になる。

図1「LabVIEW」のデジタル信号処理対応機能(提供:National Instruments社) 図1 「LabVIEW」のデジタル信号処理対応機能(提供:National Instruments社) 

 MathWorks社の「MATLAB/Simulink」や米National Instruments社の「LabVIEW」のようなツールは、さまざまな抽象化レベルにおけるアルゴリズムの開発を支援する(図1)。問題を定義する場合や設計上の選択肢を調査する場合には、高い抽象レベルを対象としてこれらの開発ツールを使用するのが一般的である。

 LabVIEWを例にとると、同製品の「Express VI(Virtual Instrument:仮想装置)」は、対話型で構成設定ベースのユーザーインターフェースを持つ。これを使うことにより、テスト用の信号を合成したり、フィルタ処理などの適用結果を確認したり、周波数スペクトルについて精査したりすることができる。一方、「ARRAY」、「Point-by-Point」などのようなより抽象度の低いツールであれば、柔軟性が高く、プログラミングが可能であるため、カスタムアルゴリズムの開発や実装に使用することができる。

 LabVIEWやMATLAB/Simulinkなどの開発ツールを用いれば、ターゲットとするデジタル信号処理ボードで実行可能なコードを自動生成することができる。このことにより、アルゴリズムの開発と実装との間のギャップを埋めることが可能になる。自動生成したコードをターゲットとするデジタル信号処理ボードで動作させることにより、アルゴリズム開発者は、実装担当者が直面する問題を、より直接的に理解できるという利点もあるだろう。

 通常、ターゲットとするアーキテクチャ上にアルゴリズムを実装して最適化するには、ターゲットとするシステム向けにチップメーカーが提供する開発ツールを使用する。だが、LabVIEWやMATLAB/Simulinkのような開発ツールを用いれば、わずかな時間でターゲットを変更できる。このような技術の利用は広まっており、自動生成されたコードによって、ターゲットとする複数のアーキテクチャ間のトレードオフを容易に比較できるようになっている。

 ただし、この種の開発ツールでは対応できないケースもある。処理性能の面での制約に対処するために特殊なリソースを必要とするアルゴリズムに対しては、コンパイラ組み込み関数や、手作業によって最適化したアセンブリを使用する必要があるかもしれない。

 コンパイラは、レジスタのスケジューリングや内部メモリーへのアクセスに関しては強力である。これらのリソースを直接管理するからだ。一方、DMA(Direct Memory Access)のスケジューリングには弱い。これは、アクセスするリソースを完全に制御するわけではないためである。コンパイラ組み込み関数を使用することにより、開発者はより直接的にリソース割り当てを指定することができる。

 システムが共有リソースに対して実行するタスクの増加に伴い、システムレベルのタイミングにかかわる技術はさらに重要なものとなる。初期のDSPは、割り込みをサポートすることにより、ループのオーバーヘッドを低下させることを重視していた。それに対し、最新のプロセッサは、特に接続機能において、多くの割り込みソースをサポートする。信号処理アルゴリズムはますます複雑になってきており、システムレベルのタイミング解析を複雑にしている。

 今日では、より多くのメーカーが、適切な信号処理アルゴリズムを商品化し、バンドル/ライセンスソフトウエアにさまざまな処理コンポーネントに組み込んでいる。この状況がさらに進めば、開発者は、システムレベルの性能の定義/検証と、アルゴリズムの開発/実装に、より多くの時間を使えるようになるだろう。

 TI社の主席技術フェローであるGene Frantz氏は、「以前よりも経験の浅いDSPユーザーが増えた」と感じている。実際、そうした流れを受け、大学における信号処理の講義方法にも変化が生じるだろう。今後は、より多くの信号処理アルゴリズムが、実装済みの商品として提供されるようになるはずだ。それにより、多くの設計者は、すべてのブロックを最初から構築するよりも、基本ブロックを革新的に組み合わせる方法に着目するようになるであろう。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.