next up previous
Next: 3. C6711DSK + Audio Up: DSPによる非線形系の信号処理 Previous: 1. C6211DSK による ODE

2. C3x による ODE solver

DSP (Digital Signal Prosessor)は リアルタイム信号処理に適しており, 現在盛んにその応用が研究されている. 本報告では,報告[1]の成果をベースに, 任意の非線形常微分方程式の解をDSP内部で数値積分法によって求積し, アナログ信号として抽出するシステムを開発したのでその概要を報告する.

数値積分手続きにおいて,非線形項が多項式で記述されるため, 状態に関するその多項式の値を一次的にメモリに保管しておかねば ならない点が,アナログ回路が非線形素子を通じて解を生成する メカニズムとの本質的な違いである. 前回の報告[1]で用いた固定小数点型DSPでは,時刻および 状態変数のスケーリングを行なわねばならないのはもちろん, Runge-Kutta(RK)アルゴリズム中の積すべてにおいて 整数部のダイナミックレンジを確保することが問題となっていた. 非線形多項式の各項における値域の正規化や, 元の力学系の性質を失なわない程度のスケーリング係数を 決定することは固定小数点型変数では至難である. そこで本研究では,プロセッサを浮動小数点型を採用した C3x シリーズに変更した.これにより,スケーリングの手間を プログラマに負担させることなく,演算精度が維持されるようになった. 実験機器としては, Texas Instrument社のプロセッサ C3x(50MHz, 32Bit floating point 25MIPS, 50MFLOPS, internal RAM: 2K word)を搭載した実験ボード TMS320C3x DSKを ベースに,外部 SRAM: 32K word (256kBit $\times$ 4), 16Bit stereo audio CODEC(標本化周波数 4〜50kHz可変) を拡張したものを用いた.図3にその概要を示す.

Figure 3: 実験用DSPシステム.パラレルポートによってホストマシンと 接続される.2入力2出力.
\includegraphics {labboard.ps}

ソフトウェアとしては,C言語を用いることができる. UNIX 上で g++ を用いてクロス開発を行なう. 生成したバイナリは,専用デバッガを用いて実験ボードにロードさせた. 実験対象としては,物理モデルを伴わない3次元自律系 Chen 方程式[2] を用いた.

\begin{displaymath}
\dot{x} = a (y - x), \quad
\dot{y} = (c - a) x - xz + cy, \quad
\dot{z} = xy - bz
\end{displaymath} (2)

図2は,式(2)の解をDSPで計算し, そのうち,$x$$z$ の出力を観測したものである.

Figure 4: 式(2)に関するDSP出力の $x$-$z$ リサージュ. $a=35$, $b=3$ $c=28$
\includegraphics {chen.ps}

Figure 5: 式(2)に関するDSP出力 $x$ の FFT. 横軸: 5KHz/dec., 縦軸: 10 dB/dec., $h = 0.02$.
\includegraphics {chenX002.ps}

Figure 6: 式(2)に関するDSP出力 $x$ の FFT. 横軸: 5KHz/dec., 縦軸: 10 dB/dec., $h = 0.05$. 10KHzぐらいまで一様なスペクトルが 得られている.
\includegraphics {chenX005.ps}

RK法の積分刻み$h$ は,問題に依存するが,ある程度 任意に変えられるため,カオス発振の中心周波数の 設計も自由度が高い. 図 3 では $h = 0.02$ と取った場合の FFT結果を示している. ほぼ DC〜5KHz のレンジでカオス的な性質である一様な スペクトルがみられる. 図 4 では $h = 0.05$ と刻みを大きく取ることにより, スペクトルは高い周波数にシフトし,「速いカオス」が 表現されていることが分かる.刻み $h$ ,標本化周波数, 計算アルゴリズムの速さにはそれぞれトレードオフが あると考えられ,今後はできるだけ速いカオスの 出力のための最適化が課題となる.



Tetsushi Ueta
March 18 2006