アプローチ
このサンプルを構築するために、FP-AI-SENSING1ファンクション・パックを使用し、 STEVAL-STLKT01 V1ボード上で実行しました。 このASC構成は、オンボードMEMSマイクを使用して16kHz(16bit、1チャネル)のサンプリング・レートで音声をキャプチャします。 1ミリ秒間隔でDMA割込みと共に最新の16 PCM音声サンプルを受信します。 その後、これらのサンプルを50%が重複した1024サンプルからなるスライディング・ウィンドウで累積します。 特徴抽出のために、バッファを512サンプル(つまり32ms)間隔でASC前処理に入力します。 ASC前処理で音響特徴を抽出してログメル(30 x 32)スペクトログラムを生成します。
このステップは、計算効率とメモリ管理を最適化するために2つのルーチンに分かれています。
- 最初のパートでは、時間領域の入力信号から32のスペクトログラム列の1つを、FFTとフィルターバンクアプリケーション(30メルバンド)を使ってメルスケールに変換する。
- 2番目のパートでは、32列すべてが計算されたとき(つまり1024ミリ秒後)、メルスケーリングされたスペクトログラムに対数スケーリングが適用され、ASC畳み込みニューラルネットワークの入力特徴量が作成される。
(30 x 32)ログメル・スペクトログラムを1024ms間隔でASC畳込みニューラル・ネットワーク入力に送ると、出力としてラベル(屋内、屋外、車内)を分類できます。
センサ
データ
結果
モデルST独自の量子化畳込みニューラル・ネットワーク
入力サイズ:30x32
複雑度 517 K MACC
メモリフットプリント:
ウエイト用 31 KBフラッシュ
アクティベーション用 18 KBRAM
STM32L476 (Low Power) @ 80 MHzでの性能
使用例:1 分類/秒
プリ/ポスト処理:3.7 MHz
NN 処理:6 MHz
消費電力 (1.8 V)



混同行列
コード最適化ツール STM32Cube.AI
無償のSTM32Cube拡張パッケージX-CUBE-AIにより、ニューラル・ネットワークや機械学習モデルといった学習済みAIアルゴリズムを、STM32に最適化されたCコードへ自動変換できます。
対応製品 STM32
Arm® Cortex®-Mベース32bitマイコンのSTM32ファミリは、マイコン・ユーザに高いレベルの自由を提供します。完全統合性および開発の容易さを維持しながら、高性能、リアルタイム性能、豊富な機能、デジタル信号処理、低消費電力 / 低電圧駆動、およびコネクティビティを兼ね備えた製品を提供します。