Last Update 2015/11/04

TMS320C6713搭載DSPスタータキットで学ぶ
C++活用DSPプログラミング

三上 直樹 著
B5判 216ページ
CD-ROM付き
定価2,640円(税込)
2006年6月1日発行
[絶版2013.6.15] C++活用DSPプログラミング
大変恐縮ですが,こちらの商品は品切れ絶版となりました.

 DSP開発効率の向上という面から,クラスをサポートしているC++言語での開発は,非常に有効である.最近ではDSPの性能も向上し,C++言語などの高級言語を用いたDSP開発は主流となってきている.
 本書は,C++言語を用いたDSP開発について述べたInterfaceの連載記事「C++によるDSPオブジェクト指向プログラミング」(2004年2月号から10月号に8回にわたって掲載)に大幅な加筆と修正を加え,よりていねいに解説したものである.
 Texas Instruments社から発売されているTMS320C6713が搭載のDSPスタータキットを例に,C++言語のクラスを活用して,DSP開発をより速く,より簡単に行うための手法について述べている.

目次

 DSPの歴史,汎用CPUとの違い,C++言語のメリット
第1章 DSPとC++言語
 1 DSPと汎用CPU
 2 DSPのプログラミング――アセンブリ言語からC言語へ
 3 C++言語を使う理由
 4 C++言語とディジタル信号処理に関する文献

 CODECを初期化し利用するための
第2章 アナログ信号入出力用クラスの作成
 1 DSPとDSKボードの初期化のためのクラス
 2 ポーリング方式によるアナログ信号入出力のためのクラス
 3 割り込み制御のためのクラス
 4 割り込みを使ったアナログ信号入出力のためのクラス
 5 ライブラリの作成
  Column 1 クラスのメンバへのアクセスと継承
  Column 2 抽象基底クラスと仮想関数

 ポーリング/割り込みを利用した
第3章 アナログ信号入出力用クラスを使った簡単なプログラム
 1 ポーリング方式でアナログ信号の入出力を行うプログラム
 2 割り込みを使ってアナログ信号の入出力を行うプログラム

 クラスの中で静的/動的な配列を使う
第4章 FIRフィルタのプログラムの作成
 1 FIRフィルタについて
 2 FIRフィルタのクラス――静的な配列を使う場合
 3 FIRフィルタのクラス――動的な配列を使う場合(I)
 4 FIRフィルタのクラス――動的な配列を使う場合(II)
  Column set_new_handler()について

 直接形IIとポリモーフィズムを利用する縦続形
第5章 IIRフィルタのプログラムの作成
 1 IIRフィルタについて
 2 直接形IIのIIRフィルタの実現
 3 縦続形IIRフィルタの実現
  Column スライダ

 プログラムを楽に作るための
第6章 複素数クラスと配列クラスの作成
 1 複素数クラス
 2 汎用1次元配列クラス
  Column 1 演算子のオーバロード
  Column 2 汎用2次元配列クラス
  Column 3 explicitなコンストラクタ

 ディジタル信号処理で重要となる
第7章 FFTのアルゴリズムとクラスの作成
 1 DFT――離散的フーリエ変換
 2 FFTのアルゴリズム
 3 FFTのためのクラス
 4 FFT用クラスのライブラリ作成
 5 FFT用クラスのテスト・プログラム
  Column  乱数発生用クラス

 FFTクラスを利用するプログラム
第8章 FFTによるリアルタイム・スペクトル解析器の作成
 1 FFTによるスペクトル解析の方法
 2 スペクトル解析結果の出力方法の検討
 3 FFTによるスペクトル解析のプログラム(I)
 4 FFTによるスペクトル解析のプログラム(II)
  Column 1 ノコギリ波の補正
  Column 2 仮想デストラクタが必要な理由

 FIRフィルタの処理にFFTを応用する例
第9章 FFTを利用するディジタル・フィルタの作成
 1 型FFTによるFIRフィルタ
 2 FFTにより畳み込みを行うクラス
 3 FFTによるFIRフィルタのプログラム――非リアルタイム処理
 4 FFTによるFIRフィルタのプログラム――リアルタイム処理

 演算子の多重定義による
第10章 固定小数点演算用クラス
 1 固定小数点演算
 2 固定小数点演算用クラスの作成

 固定小数点演算用クラスを使った
第11章 ディジタル・フィルタと正弦波発生器の例
 1 FIRフィルタの実現
 2 IIRフィルタ
 3 固定小数点演算用クラスによるsinの計算
  Column 1 縦続形IIRフィルタのスケーリング
  Column 2 縦続形IIRフィルタのペアリングとオーダリング
  Column 3 実行時間の測定方法

 作成したクラスと,その使用例
第12章 C6713 DSKの拡張ボードを使う
 1 DSK8AD1DAハードウェアの概要
 2 DSK8AD1DAを使うためのクラス
 3 DSK8AD1DA用クラスの簡単な使用例
 4 中心周波数可変IIRフィルタの構成法
 5 DSK8AD1DA用クラスを利用する可変フィルタ


付録A DSPスタータキット「TMS320C6713 DSK」の概要
 1 C6713 DSKボード
 2 C6713 DSKのソフトウェア

付録B TMS320C6713について
 1 TMS320C6000シリーズのDSP
 2 TMS320C6713のハードウェアの概要
 3 TMS320C6713のアドレッシングと命令

付録C TMS320C6000シリーズのDSPのC++言語
 1 データの型
 2 キーワード――interrupt,near,far,volatile
 3 ランタイム・サポート関数
 4 Intrinsics関数

付録D C6713 DSKのインストールと動作の確認
 1 DSKのソフトウェアのインストール
 2 DSKボードの動作確認
 3 Code Composer Studioの最初の起動

付録E Code Composer Studioによるプログラム開発の手順
 1 CCSの起動と終了
 2 CCSのカスタマイズ
 3 新規プロジェクトの作成
 4 既存のプロジェクトのオープン
 5 ほかのエディタの使用方法

付録F ディジタル・フィルタ設計プログラム
 1 フィルタ設計プログラムのインストール
 2 FIRフィルタの設計
 3 IIRフィルタの設計

付録G うまく動かない場合の対処
 1 よくある「うまくいかない場合」
 2 途中で発生する問題への対処

本書に付属するCD-ROMについて

●本書付属のCD-ROMについてのご注意
本書付属のCD-ROMの貸与または改変,複写複製(コピー)はできません.詳しくはこちらをご覧ください.