(4)エッジデバイスへのアルゴリズムの実装
IoTシステムの各コンポーネントへのパーティショニング、最適化を行った後、エッジ・デバイスへのアルゴリズムの具体的な実装方式を検討します。
エッジデバイスについては、デバイスに最適化された信号処理ライブラリが提供されるARMプロセッサや、高速処理が可能なFPGAなどの選択肢があり、また、各種センサや無線通信機能を搭載したスマートフォンなどの既存デバイスを応用する方法もあります。
前述のデータクレンジングや特徴量抽出について、図10のようなモデルベースデザインのワークフローに従い、机上でのシミュレーションに使用したアルゴリズムモデルから、必要とされる処理速度と処理内容によって、ソフトウェア(C/C++などの言語)で処理する部分とハードウェア(HDLなどの言語)で処理する部分へのパーティショニングを行います。実装方式を決めた後、組み込みターゲットへ実装するコードを自動生成し、エッジデバイス開発を進めます。
図10:アルゴリズムを実装するフロー
以下の事例では、音声信号のスペクトログラムについて、画像処理技術により喘息特有のパターン(特徴量)を抽出しており、エッジデバイスとしては、汎用のモバイル端末を使用しています。