Δ-ΣADC実験編 その8 SINCフィルタ1段
100KHz出力をCICフィルタ1段に通して、1/16にdecimateした結果
1.苦肉の策
いやー、IIRフィルタって、難しいですね。
SINCフィルタ1段を作りましたが、積分を移動平均で、代用しています。
ynは、発散してしまいますので、
これを、移動平均で代用しました。
「積分は、移動平均では無い」、その通りだと思いますが、
何となく、それらしい結果になりました (^_^;;
decimateする前の元信号
1/16にdecimateした結果が、冒頭の図です。
再掲 (よさげでしょう、 ルンルン ♪ )
その他
何となく、SINCフィルタ1段を通した結果らしく見えます....
尚、SINCフィルタを通す前のmixed信号も、1bitに変換してから、フィルタに通しています。
1bitだと、処理がしやすいので、すっかり、はまりました。
2.1bit信号同士の積は、どうだった?
1bit Δ-ΣAD変換器を経由して得た7MHzの信号 ->51tapsのbandpass filter-> filtered 7MHz
それと、NCOで作成した7.1MHzのsin波
この両者を1bit信号として処理して、1bit信号同士の積を求めたのですが
結果は、200Hz位毎に、ノイズが乗ります。
あきゃんなー 涙、涙。
decimationが不要な、1bit信号処理は、物凄く気に入っているんですが.....難しいなあ。
3.1bit信号用のIIRフィルタも、難しい
以下は、1次のIIR HPFの設計です。(Scilabで学ぶディジタル信号処理 三谷先生 CQ出版)
これを、FPGAで b1=0.5として設計すると、以下のようになるでしょう。
この結果は、FPGAからの出力は、ありません。
z[0]-z[1]
は、1bitですから、最大でも その差は、1です。
それを3/4倍すれば、必ず、結果は ゼロになりますねん。
つまり、出力は、いつまで経っても、現れません.... 当たり前ですね、とほほ。
以上、デシメーションする方法と、あくまで、1bit信号として処理する方法を試しましたが
今ん所、
積分を移動平均で近似した、decimationが勝っています。
フレー、フレー、ibit信号処理
どっちやねん? (^_^;;
H.22.6.27