連 載 ダウンロード・データあります 84MHz 動作 Cortex-M4 マイコンで DSP 並みフィルタ& FFT 激安! 1500円mbed Nucleoで作る 本格ディジタル信号処理マシン 第 6回 声の特徴まる見え! ボイス・スペアナづくり ①音声を入力.今回 の実験では/ア/ 音源 バッファ・ アンプ回路 いろいろな周波数の 正弦波やオーディオ 信号を入力 アンチエイ リアシング A-DコンバータはMCU に内蔵のものを使用 USBケーブル Nucleo F401RE アナログ信号 LPF回路 ライン 出力 より インターネット (mbed.orgへ) パソコン 音源により 切り替える マイク・ アンプ回路 マイク より 三上 直樹 A0 デバッガ ST-LINK/ SWD V2-1機能 STM32F 401RET6 ②Nucleo F401REで リアルタイムFFTの 計算を行う 5V レギュレータ XC6202P332 ③FFTの結果をグラフ表示. 今回は簡易的にExcelを使用 本稿で紹介したプログラムは mbedのWebサイトで公開中. http://developer.mbed. org/users/CQpub0Mikami/ デバック用アイコン 3.3V マイク・アンプ,バッファ・ アンプ,D-Aコンバータ, LPF へ 図 1 さすが Cortex-M4! リアルタイム FFT 処理で音声用スペクトラム・アナライザを作る 音声やオーディオの信号処理でフーリエ変換はよく 使われます.フーリエ変換を使えば,ある信号に含ま れている周波数成分がわかります.どのような周波数 の sin 波や con 波がどれだけの振幅で含まれているか を,計算で求めることができるため,音声の特徴を把 握するためによく使われます. 本 連 載 で 紹 介 し て い る Nucleo F401RE に は, 84MHz 動 作 で FPU も 使 え る Cortex-M4 マ イ コ ン STM32F401RET6 が搭載されているので,計算量が 多めの FFT(高速フーリエ変換)処理も十分リアルタ イムで行えます. 今回は,mbed で動く FFT 処理プログラムを作り ました.声の特徴を自分で確認できるようになるた め,音声信号の理解が非常にしやすくなります.今回 グラフ表示には簡易的に Excel を使いましたが,リア ルタイム表示するようにできれば,さらに便利になる と思います. ● こんな実験 今回の実験で使うハードウェアの構成を図 1 に示し ます.ソフトウェアとしては FFT のプログラムと, これを応用したスペクトル解析プログラムを作ってお きます. 実験は以下の手順で行います. (1)マイクから音声 / ア / を入力 2015 年 4 月号 (2)Nucleo F401RE 上の Cortex-M4 マイコン STM32 F401RET6 で FFT を計算 (3)パソコンのターミナルで計算結果を表示 (4) (3)を Excel に貼り付けてグラフ化 FFT の考え方 ● 基本…信号を離散化して公式通りに計算する フーリエ変換をコンピュータで計算する場合,離散 値で計算します. 信号を標本化したものを x[n]とし,N 個の x[n]か ら求められる DFT を X[k]とすると,X[k]は次の式 で計算します. N−1 − j2 π kn Y, X[k]= x[n]exp T N n=0 / k= 0,1,2,…, N− 1 �������(1) この式をそのまま計算するとデータ数の 2 乗に比例 した演算量になり,計算量が膨大になります.そこ で,普通のパソコンやマイコンでは FFT アルゴリズ ムを使って計算します. ● データ数が 2M なら計算量を減らせる FFT アルゴリズムはいろいろありますが,ここで は 2 を基底とする周波数間引きのアルゴリズムを使い ます.このアルゴリズムは,扱えるデータ数が 2M(M: 第 1 回 メイン回路の構成(2014 年 10 月号) 第 2 回 D-A コンバータ / フィルタ / マイク・アンプ…音声信号処理実験の準備(2014 年 11 月号) 第 3 回 音声入力に定番 FIR フィルタをかける(2014 年 12 月号) 143
© Copyright 2024 ExpyDoc