0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IoT向け小型センサ・ノード開発キット「STWIN.box 」を使ってセンサ・データ収集⑤ 超音波FFT MEMS-StudioでFFT解析

Last updated at Posted at 2025-06-19

前回の記事で、STWIN.boxFP-SNS-DATALOG2のGUIツールを使って音声データを取り込み、簡易的なグラフ表示まで確認しました。

前回記事: IoT向け小型センサ・ノード開発キット「STWIN.box 」を使ってセンサ・データ収集④ 超音波FFT

ところで、このFP-SNS-DATALGO2のGUIツールでは、データ取得中にFFTグラフをリアルタイムに確認できますが、一度記録したログデータの再読み込み & 再確認ができません。そこで、記事③でも紹介しましたMEMS-Studio(MEMSセンサ用の開発・評価ツール)の中にデータ分析機能がありますので、これを試してしてみます。

MEMS-Studio

000_overview.png

MEMS-Studioツール

MEMSセンサを対象とした、開発者向けGUIツールです。記事②の「4. hsdatalog_data_export.py データ変換」や、記事③の「6. hsdatalog_to_unico.py」でも紹介しています。基本的にはMEMSセンサ用のマザーボード:STEVAL-MKI109Dとともに使用しますが、センサ・データの解析用ツールとしても利用できます。なおこちらで描画されるグラフについてもhsdatalog_plot.pyを使った時と同じく、PC側でのFFT演算になります。デバイス側(STWIN.box)でFFT演算されたファイル(fft_dpu.csv)については、現時点ではMEMS-Studioではデータ取り込みできません。

以下手順で実施していきます。

  1. テスト用音声データをFP-SNS-DATALOG2のGUIのGUIツールで記録 & 保存
  2. MEMS-Studioのデータ解析ページ上で、取得したデータをアップロード
  3. FFT解析ページで確認

1. 準備

1-1. ハードウェアとソフトウェアの準備

ハードウェア(STWIN.box)とソフトウェア(FP-SNS-DATALOG2)の準備内容は前回の記事④と同じになります。加えて、記事③で紹介したMEMS-Studioと、音声テスト用として、超音波帯域対応のオーディオ機器を用意します。

  • 記事④と同じハードウェアとソフトウェア
  • 60~100KHzあたりまでの音声帯域出力対応のスピーカおよびアンプ

MEMS-Studio

まだMEMS-Studioがセットアップされていない場合、以下サイトからダウンロードしてPCにインストールしておきます。
ダウンロードはこちら: MEMS-Studio

1-2. 音声データの準備

まず、記事4の1.~3.と同じ手順で、超音波音声データを取り込んでみました。40KHzのsin波をスピーカから出力させた状態で記録します。約5秒間ほどのデータです。次に、変換用コマンドを使ってDATファイルをcsvデータに変換します。後の作業のため(上書き防止のため)、csvファイル名は適当に変更しておくとよいでしょう。

MEMS-Studio用データ変換はこちらのコマンドで実行できます。

コマンド: python hsdatalog_to_unico.py データフォルダ名 [OPTIONS]

(base) D:\...\Utilities\HSDPython_SDK\examples>python hsdatalog_plot.py 20250314_14_35_05 -s all

変換生成されたcsvファイル(ここでは“xxx_unico.csv”にファイル名変更)

120_imp23absu_unico.png

csvファイルが用意できたところで次はMEMS-Studioでの操作に移ります。

補足

標準のデータ変換Scriptであるhsdatalog_data_export.py(記事④の「3-4-データ変換」で解説)で出力されるcsvファイルでも、MEMS-Studioにアップロード可能です。両者でセンサデータの内容自体に違いはなく、hsdatalog_to_unico.pyで生成されるcsvデータの方は 時間データ列が削除されているだけ です。

122_csv.png

注意点としては、hsdatalog_data_export.pyとhsdatalog_to_unico.pyは両方とも同じファイル名のcsvデータを出力しますので(例: imp23absu_mic.csv)、これらのコマンドをどちらも実行すると、最後に実行したコマンドでファイル内容は上書きされてしまいます。両方保存しておきたい場合、事前にファイル名を変更するなどしておいてください。

124_40KHzdata.png

2. 超音波FFT解析

2-1. MEMS-Studio起動 & データのアップロード

MEMS-Studio起動

csvデータファイルが用意できた段階でMEMS-Studioの操作を始めます。通常、MEMS-StudioはMEMS用マザーボードなどのセンサ用評価ボードとともに使用しますが、ここでは記事③の時と同じくデータ解析機能だけ利用します。

MEMS-Studioのスタート画面:

210_memsStudio_start.png

データのアップロード

スタートページのConnectは無視して、左側タグから Data Analysis のページに移動します。次に、右上の Browse をクリックして、マイクデータのcsvファイルをアップロードします。

212_memsStudio_dataload.png

補足

通常のcsv変換データを使った場合(hsdatalog_data_export.pyによる変換)は、時間データもグラフに表示されますので、以下の操作で時間軸を非表示にしてください。

214_memsStudio_csv.png

データトリミング & 拡大

グラフ内をマウスで範囲指定して、トリミングすることもできます。
ただ注意点として、一度トリミングを確定させると元に戻せません。元に戻したい場合は、ファイルを再ロードしてください。

216_trimming.png

表示のみ拡大して見たい場合、下のオレンジ四角の幅を調整してズームできます。

218_zoom_.png

2-2. FFT解析

Frequency Domainを選択すると、FFT描画モードページに移動できます。
この時サンプリング周波数(データレート:ODR)を聞かれるので、“192000” と入力します。

220_memsStudio_freq.png

FFT設定

下側のFFTグラフに、40KHzあたりのピークが確認できました。窓関数やFFT lengthなどは右側の設定項目から選択可能です。

222_memsStudio_FFT1.png

FFT対象範囲の調整

上側には時間軸データ(タイムドメイン)、下側にそのFFT結果が表示されます。時間軸データグラフ内をマウスで範囲指定することで、FFT演算の対象範囲を調整できます。デフォルトでは、記録データ全体に対しての演算結果が表示されます。

224_memsStudio_FFT2_.png

以上、MEMS-Studioを使って、保存した音声データをFFTチェックする方法を紹介しました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?