昭和63年(1988年)度

オブジェクト指向による信号処理プログラミング

研究者名:大松英明・構井克典

指導教官:町田秀和

緒言

 信号処理( Signal Processing ) は各種科学・技術分野において我々を取り巻く物理現象の解析や計測などに広範囲に応用される重要な手法であり,効率のよいアルゴリズムの研究も進んで来ている。また近年,ハードウェアの発達により高性能で低価,小型のパソコンやマイコンは我々のごく身近な存在となっており,ディジタル信号処理( Digital Signal Processing ) の取り扱いが容易になっている。
 こうして信号処理の対象となる分野は,ディジタルフィルタ( Digital Filter ),画像信号処理,音声の信号処理,地震探鉱法など多くの分野に専門・分化して急速に発展しつつあり,今後ますます重要になってくると考えられる。
 こうした背景から我々の研究では,パソコンを用いて実用性の伴なう1つのシステムとしての信号処理環境(いわゆるCAD)の実現が一つの主題である。この信号処理環境の実現において,そのアルゴリズムと,それに用いるパラメタによる結果の影響が問題となってくる。そのために最適なアルゴリズムとパラメタを見いだすには,試行錯誤を必要とする。たとえばフィルタの設計では,その種類や次数は試行錯誤により検討し決定する。
 このような試行錯誤的な作業の負担をより軽減するには,我々が従来慣れ親しんできた FORTRANやPascal等の手続き指向型言語では実現が困難である。そこで我々は信号処理開発環境を「オブジェクト指向」の概念を用いて実現することにし,その代表的言語であるSmalltalkを用いてさまざまな信号の生成,処理,表示を実現し,また,信号処理環境の応用としてフィルタの設計をシミュレーションとして行なう信号処理環境を実現した。

結言

 我々は、すぐれた使い勝手を持つ信号処理環境を実現するため、オブジェクト指向という概念を導入してこれを構築した。実際には、オブジェクト指向型のプログラミング言語であるSmalltalk を使用し,マウス,ウィンドウ,メニューを利用した試行錯誤による処理がおこなえる信号処理環境を実現した。
 本研究では,
・まず移動平均、自己相関などの信号処理の基本的な処理を実現し、
・次に応用例としてフィルタの設計を支援する環境を構築した。
これらの実現においては、信号自体をオブジェクトとして捉えることにより、自然な形で信号処理環境を記述することができた。その反面、Smalltalkの言語上の制約により、次のような不満を感じた。
・処理速度が遅い。
・音声などの外部からの信号を入力する機能がない。
・処理速度の関係により信号のサンプリング点数が少な く低い周波数までしか表現できない。
このような問題点もあるが,この信号処理環境はディジタル信号処理の学習用シュミレータとしては最適である。ある処理で実際に信号がどのように加工されているのかをグラフィックにより確かめることができ,理論を理解する上で大きな助けとなる。