MAXUPLD入門 その10 1bit信号処理、大好き
1信号 ( 20bit data ) 出力が、よりきれいになりました
1.1次ローパスフィルタの作り直し
1次LPFを、作り直しました。
今までは、空中敗戦でしたが、今回は、SMAを付け、チップ抵抗、チップコンデンサを使いました。
既に経験済みですが、フィルタは、チップ部品を使うと、いい結果が出ます。-> 158.7次Chebychev
filterを試す
それから、以前、プログラムによって、100MHz動作を試しました。
今回も、20bit dataにて、100MHz動作させてみましたが、
返って、ノイズが増えて、望ましくありませんでした。 通常の50MHz動作のほうが、きれいです。わしは、何をしとったんやろ.....
2.1bit信号の常数倍に挑戦
これには、2通りの方法が、あります。
1. 単純に、1bit毎に常数倍する。
2. 移動平均をとって、割らないでおく
全て、ΔΣ変調の部屋のお陰です、ありがとうございます。
1.の方法
4倍します。
これは、ビットが1の時、4を出力し、ビットが0の時、-4を出力します。
この時、多ビットになりますから、再び Pulse
Density Modulation にて、1ビット信号に変換して出力します。
PDM1が元の1bit信号、PDM_multi_xが、4倍した1bit信号、carry_outが最終出力
最終出力(carry_out)が、元の1ビット信号(PDM1)と、ちょっと形が違うので、これは、失敗かも......
と言うのも、Pulse
Density
Modulationは、パルス密度変調だから、
パルス密度の変調であって、個々の信号による変調ではないのですから....今、気が付きました (-_-;;
これは、きっと、失敗で、正しくないと思います。
2.の移動平均による方法が、正しいと思います。
2.の移動平均を使う方法
romからdataを読み出し、1ビット信号に変換( PDMed_sig ) ->移動平均する(
PDMed_thr_ave_sig ) -> 再び、1ビット信号に変換( carry_out )
移動平均した信号 (
PDMed_thr_ave_sig
) は、信号の形が見えますね。
今の場合、移動平均は、32tapsです。
ですので、32で割ってないので、移動平均を32倍した事になります。
再び1ビット信号に変換したもの( carry_out
) は、 遅延が見られますが、元の1ビット信号と、大体、同じと思われます。
何か、1bit表現なんですが、正負が逆転したような雰囲気がするのですが.....1bit表現で、そんなもん、見えますやろか?
LE(ロジックエレメント)の消費も少なくて、うれしいです。
次回は、いよいよ、1bit信号同士の積に、挑戦します、あかんかも......
H.21.3.27