
No.1ベストアンサー
- 回答日時:
デジタルフィルタのプログラミング自体は、遅延を表わすZ-1(-1はZの右肩に小さく書かれる)と係数と加算を表わす+を○で囲んだもので表わされる構成図をプログラムとして実現するだけですので何も難しくはないと思います。
遅延Z-1のところを次のサンプルの処理まで記憶しておくという点を除けば単なる乗算と加算の組み合わせだけです。ある程度のC言語でのプログラミング経験があれば難しくはないと思います。ただし、リアルタイム処理になるとバッファ処理が必要になるので複雑になります。これはデジタルフィルタ自体の問題でないので割愛します。
おそらく一番の問題は構成はどのようにすればいいのか、次数や係数はどのように決定すればいいのかだと思います。大きく分けるとFIRとIIRの2つの構成方法がありますが、それぞれに長所と短所があります。まずはデジタル・フィルタに関する書籍をじっくりをお読みすることをお勧めします。検索すればデジタルフィルタに関する書籍は沢山あると思いますが、選ぶときはC言語のプログラムが載っているかではなく、内容が分かり易いあるいは質問者様の要求仕様・応用分野が近いなどの基準で選択するのがいいと思います。
フィルタの概要が理解でき形式と次数を決定したら、次の問題は係数を決めることです。これについては、フィルタの要求仕様から係数を算出してくれるサイトあるいはソフトがありますので検索してみてください。まずFIRかIIRかを決定してから、検索する方がいいかもしれません。(どちらか一方しかサポートしていない場合も結構あります)
デジタル・フィルタに関する書籍は決して簡単ではありませんので、理解するのに根気とある程度の時間が必要なことは考慮しておいてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAにてTIFFから画像を取込みた...
-
プログラミングの問題と解答例...
-
DCOMのアプリで配布用プロ...
-
vba listviewにおけるtextのAli...
-
指定したフォルダーを最前面表...
-
無限ループ中にある任意のキー...
-
COBOLのS9タイプからXタイプへ...
-
Macターミナルで実行中のプログ...
-
VBAで別プロセスのExcelのフル...
-
VC++2010 TCPIP通信の受信処理...
-
Mac 乗数の入力方法
-
VB6.0 SHELLで起動...
-
メモリが不足しています(VBA)
-
メモリのセグメント違反の解決...
-
VB.netでUSBメモリの固有I...
-
Socket通信の0バイト受信について
-
PostMessageの連続送信
-
小数点を含む数値かどうか判断...
-
ソケットのrecvの戻り値が0
-
ADOでアクセスのレコードに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba listviewにおけるtextのAli...
-
指定したフォルダーを最前面表...
-
マイコンからプログラムを読み...
-
初級者の質問――time_tについて
-
2値化した画像の黒い部分のピク...
-
プロダクションコードとは?
-
gccでスタックオーバーフローの...
-
Arduino nano(アルドゥイーノ ...
-
世界一美しいソースコード
-
expectを使用しない対話型処理
-
C言語で1000までの素数を求める...
-
c言語 コマンドライン引数
-
Ofの使い方
-
COBOLのS9タイプからXタイプへ...
-
winsockを使った通信方法
-
無限ループ中にある任意のキー...
-
通信ゲームを作りたいんですが
-
デュアルCPUでのプログラミング...
-
HPBが立ち上がらない
-
遠方界のプログラム
おすすめ情報