匂い認識回路/A Portable Odor Recognition System with LVQ Circuit

匂い認識システム

〈1・1〉 QCMセンサアレイの構成

図1:QCMセンサ:(a)外観 (b)構造及び原理

水晶振動子は、安定な発振周波数を得るために用いられるが、電極表面の質量変化を発振周波数変化として取り出すことも可能である。 このように用いる水晶振動子センサをQCM(Quartz crystal microbalance)センサと呼ぶ。図1はQCMセンサの外観及び原理を示している。 ある程度の選択性のある感応膜を電極表面に塗布すれば、違った匂いの選択性を持った匂いセンサとなる。 本研究において、TCP(Tricresyl Phosphate)、OV17、PEG1k(poly Ethylene glycol 1000)、Apl(Apiezon L)の四種類の感応膜でセンサアレイを構成した。 本研究で使用したQCMは20MHz、AT-CUTである。

〈1・2〉 短時間フーリエ変換

センサの応答値だけでなくその時定数等の時間変化情報も匂い識別に有用である(5)。 本研究では短時間フーリエ変換法によるスペクトル情報を使用する。 短時間フーリエ変換(以下STFTと略)は入力信号をある時間幅 (窓) で窓関数と原波形を掛け合わせてフーリエ変換することにより求められる。 この窓を時間に応じてシフトさせることにより、時間毎のスペクトラムを求めることができる。 なお、STFTの演算はハードウェアで行い、DC成分の規格等はCPUコアが実行するプログラム内で行っている。

〈1・3〉 LVQユニット

図2 LVQの学習動作

LVQ ユニットは学習ベクトル量子化法(6)を用いたパターン認識アルゴリズムで構成されている。 LVQの学習動作は、既知カテゴリの匂いの入力ベクトルとすべての参照ベクトルとの間の距離計算を行い、 最も入力ベクトルに近い参照ベクトル(最近傍参照ベクトル)を探し、最近傍参照ベクトルの位置を移動させてカテゴリの境界を更新する。 そのため、図2のように入力ベクトルと最近傍参照ベクトルのカテゴリを比較し、一致していれば図2-a のように、 最近傍参照ベクトルを入力ベクトルに近づけ、一致していなければ図2-b のように最近傍参照ベクトルを遠ざける。 これを繰り返して参照ベクトルの配置を最適化する。
本研究ではカテゴリ数を4として、カテゴリあたり16参照ベクトルを用いた。これらの参照ベクトルはFPGA内部メモリに配置した。

〈1・4〉 システム全体の構成

匂い認識チップの構成を図3 に示す。この回路のうち、発振回路を除くすべての回路はディジタル回路として FPGA 内に実装している。図3 の矢印は識別時のデータの流れを示している。

図3 匂い認識システムの構成

識別時のデータの流れはそれぞれ以下のようになる:

  1. 匂いサンプルはQCMセンサアレイを用いた発振回路により、匂いデータを周波数変化(4次元のデータ)としてFPGAモジュールに出力する。
  2. FPGAモジュールに実装された周波数計測ユニットで周波数変化を計測、STFT ユニットと LVQ ユニット両方に渡す。
  3. STFT ユニットでは短時間フーリエ変換を施したデータを作成する。その演算結果と周波数データを合わせた 8 次元のデータを LVQ ユニットに送り、識別動作を開始する。
  4. CPU コアで LVQ ユニットの識別結果を受け取り、そのデータを外部(ユーザー) に送信する。

なお、本システムは匂い有無の判別を行うプログラムを実装している。時定数の関係でセンサ応答が存在しても実際には匂いが既に無くなっていることがあり、匂い無しと判別された場合はにおいの識別は行わない。

〈1・5〉試作した匂い認識システム

図4 風洞を使用した匂い測定実験の測定系

図4は匂い認識システムの各部品を実装した専用ボードを示している(サイズ:105mmX50mmX20mm)。 QCMセンサアレイを持つ計測回路によって収集された匂いデータを短時間フーリエ変換回路を通してLVQユニットで識別を行い、またCPUコアにより外部に識別結果を出力する。
基板を外注試作し、FPGAモジュール(ヒューマンデータ社のAP68-06-A4)を用いた。また、必要な電源回路、発振回路、近距離無線モジュールを搭載している。