Last Update 2023/02/22

フーリエ変換で周波数特性まるわかり!
FPGAマガジン No.17
はじめてのスペクラム解析

FPGAマガジン編集部 編
B5判 144ページ
定価2,420円(税込)
JAN9784789846271
2017年5月1日発行
好評発売中!
FPGAマガジン No.17

 ディジタル信号処理の代表格と言えば,高速フーリエ変換(Fast Fourier Transform,FFT)があげられます.FFTは応用範囲も非常に広く,さまざまな信号処理で使われています.本特集では今回の企画向けに,FFTの変換動作のイメージが理解できるように,スマートフォン用アプリケーションを用意しました(Windows版アプリケーションも準備予定).まずはこのアプリケーションを使って,FFTとはどういうものか,その動作メカニズムをアプリを動かしながら学べます.
 FFTのイメージがつかめたところで,次はC言語でFFT処理をプログラミングしてみます.まずはアルゴリズム通りに浮動小数点演算を使って計算し,その次にHDL化を見越して固定小数点演算のみで計算するプログラムに改良してみます.
 固定小数点演算でFFTが計算できたら,そのCプログラムを高位合成ツールを使ってRTLに変換してFPGAに実装してみます.そして最終段階として,C言語で記述されたFFT処理と同等の回路を,ハードウェアの構造を考えながら最適な形でHDLで書き直し,FPGAに実装してみます.
 FFTの応用事例として特集の最後では,定番評価ボードZYBOのオーディオ入力を使って,オーディオ・スペアナを製作してみます.

目次

フーリエ変換で周波数特性まるわかり!
特集 はじめての スペクトラム解析

[信号処理では避けて通れない?]
信号成分解析はもちろん,フィルタ処理や信号圧縮など応用範囲は広いFFT
プロローグ ディジタル信号処理でよく使われる高速フーリエ変換

[フーリエ変換? FFTって何?]
「スマホで学ぶ!実践ディジタル信号処理入門」をLet's install!
第1章 アプリを使って入力音声の周波数成分を見てみよう

[FFTのイメージをつかもう]
アナログ信号を対象にしたフーリエ変換,ディジタル化したDFT,高速化したFFT
第2章 アプリで動作がわかる!高速フーリエ変換のイメージ

[まずはアルゴリズム通りに…]
定番ボードZYBOにLinuxを載せてソフトウェアでFFT処理
第3章 高速フーリエ変換のC言語プログラミング

[開発期間短縮ならC合成]
Vivado HLSで生成したRTLをFPGAに実装して性能比較
第4章 高位合成でCソースから楽々ハードウェア化

[最高性能を引き出せる]
とことん高速化するならやっぱりHDLをゴリゴリ書くしかない!
第5章 手仕上げHDLで高速フーリエ変換をさらに速く!

[FFTはFPGA,波形描画はOpenCV]
オーディオ入力信号のリアルタイムFFT処理に挑戦!
第6章 定番ボードZYBOで動かすオーディオ・スペアナの製作

[縦と横で行うのがポイント]
縦横2次元方向でFFTすれば画像の傾きが分かる!
Appendix1 音声だけでなく画像処理でも使えるFFT

[ARMコアがなくてもOK]
プログラマブル・ロジックだけのFPGAをどう検証する?
Appendix2 パソコンでFFTの入出力を検証する方法

特別寄稿

[ソフトウェア・エンジニアよ注目!]
高位合成やディープ・ラーニングについて情報交換できる
続・FPGAコミュニティのススメ

特設 高位合成ツールVivado HLS

[データが順番に流れるならストリームが最適]
無料のVivado HL WebPACK Edition 2016.4で高位合成にチャレンジしよう(AXI4ストリーム編)
第1章 AXI4ストリームによるラプラシアン・フィルタ処理回路の実装

[これ以上の高速化は難しい?!]
無料のVivado HL WebPACK Edition 2016.4で高位合成にチャレンジしよう(AXI4ストリーム編)
第2章 ついに80倍高速化!AXI4マスタ版ラプラシアン・フィルタの最適化

技術解説

[設定を変え繰り返し最適化]
Vivadoのエラー・メッセージとInTimeを使ったタイミング・ミート法
いまさら聞けないFPGAのタイミング・エラーとその対処

[SDSoCで使い慣れたLinuxが動く]
SDSoCのLinuxディストリビューションを自在に切り替え可能!
アプリケーションを自由に開発できるSDSoC対応Linux環境の構築

[発熱温度が見積もれる!]
Xilinx Power Estimator(XPE)を活用した消費電力の見積もりと実測値を比較
Xilinx社製FPGAによる消費電力&熱設計の注意点

[7シリーズFPGAでMicroBlazeを使おう!]
Vivadoで始めるソフトIPプロセッサMicroBlaze&MicroBlaze MCS
DDRメモリを接続して大容量メモリにアクセス!

[高位合成ツールを使ってディープ・ラーニングをFPGAに!]
ディープ・ラーニング・フレームワークChainerとXilinx社SDSoCを連携
ディープ・ニューラル・ネットワークをFPGAで動かす俺々フレームワークを作る

[Altera社製デバイス活用編]
デジカメとしてもフォト・フレームとしても使える
MAX10-FB基板対応デジカメ・ボード開発中!

[実践!Gbpsシリアル通信!]
定番&最新FPGAの研究〜Xilinx編〜
Kintex-7ボード間で高速シリアル通信を試す(前編)