●フーリエ変換の動作をイメージでつかむ

専用のAndroidアプリの画面

●離散値の積和を連続的に見て理解する

まずは,フーリエ変換の仕組みをほとんど数式を用いずにイメージできるように解説します.

分かりやすいように,離散値で積和しながら各周波数に対応するΣ演算で値が積み重なっていく様子を見ていきます.このために,筆者提供のAndroidアプリを使います.入力信号の周波数を変えながら回転因子との積がどのように変化していくか観察します.離散フーリエ変換の時系列にそって,演算が進む様子をアプリの画面で確認すれば,フーリエ変換の大まかな動作をイメージできます.

(2024年現在,Android 10で動作を確認済み)

●FFTのアルゴリズム

次にフーリエ変換を高速に実行するFFTのアルゴリズムを解説します.計算手順を1ステップづつたどりながら,FFTによる処理がどのようにして計算量を削減しているかが分かります.

●FPGAへのFFTの実装

C言語でFFTを実装して,その動作を確認した後,高位合成(Vivado HLS)でVerilogコードを生成しFPGAで動かします.さらに,RTLで手動で実装し,実行速度の速いFFT回路を動かします.

アプリケーション例としてスペアナを作ります.画面描画はPS側のLinuxでOpenCVを使って行います.

ターゲットボードはZYBO(Digilent)です.

2件のコメントがあります

  1. 岩田利王

    当該記事の筆者の岩田です。記事のご紹介有難うございます。
    ただ、Andorid版はURLが変わりました。このサイトの下のほうにQRコードがあるのでそちらからダウンロードしてください。
    https://digitalfilter.com/smartdsp/prologue/manga01/prologue04.html
    (Googleの審査が厳しくなり、その対応でアプリ作り直し)

    1. nagai

      岩田様
      情報ありがとうございます.
      これまでFFTについては何度も記事で扱ってきていると思いますが,理論の説明にはなっているものの,理解するための解説になっていないことが多かったと思います(まぁ数学が関わると大概そうなるのですが).
      そんな中,FPGAマガジンNo.17でのFFTの記事は,まだ理解していない人向けの解説になっており,イメージをつかむのに最適だったと思います.
      あまり目立ちませんが,今の学生からもFPGAマガジンのバックナンバーを読んでいると聞いています.
      FFTについても,学ぶ人の理解を助けると思いますので,アプリご対応いただきまして非常に助かります.

コメントを残す