ΔΣ-ADC 実験編 その5 Q出力にdirectに積の続き


今回はQ出力にsin波を掛けたみた

 1.sin波を掛けると、良好

    前節では、Q出力を7.1MHzで再サンプリングしました。

    今回は、Q出力にsin波を掛けてみました。

    今回の方が、再サンプリングより、よい結果です。

    つまり、ノイズフロアから約40dB位上に、100KHz出力が見られます。

    もっと、100KHz出力を拡大してみましょう。


    なんか、ノイズの盛り上がりがみられます。

    それも、やむを得ないかも.....

    何故なら、113.6MHzのクロックで、sin波を発生させても、

    7100KHzの出力では、


    こんなに、でこぼこしたsin波だからです。(1周期が、16個のpulseで構成されています。)

    このsin波をPDM  (Pulse Density Mod.) 後に、FFTしてみると、びっくりします。
   

    解決策の一つは

    3段のΔΣーADCにする事です。




    こうする事によって、少なくとも300KHzの帯域で、フラットなノイズレベルになりますね。

        これなら、sin波を掛けても、ノイズの盛り上がりは、消失すると思います。
 
    でも、原理的には、

    これで、ベースバンドへ周波数変換できたわけです。

    で、

    sin波と、cos波を生成して、入力信号に掛けて、I、Q各信号を作り、

    Jyaiko 1.1.5で、観測してみると




    やはり、当然ながら、ノイズの盛り上がりが観測されます。

    これでは、あかんなー。

    これが、複素周波数変換なら、6dB稼げるし、ノイズの盛り上がりも無くなるのです。

    如何せん、

    my SDR (Software Defined Radio)  Jyaiko1.1.5では

     portaudioで信号入力->複素FFT->FFT内で周波数遷移->FFTを使ってfir filterと直線畳み込み->IFFT及びoverlap-add法で復調->音声出力

    と言う、システムを使っています。

    Jyaiko1.1.5では、down samplingを、使いませんでした。

    これが、大きな入力の時、fir境界部でフィルタの切れが悪い原因である事は、解っています。

    このように Jyaiko1.1.5では

    FFTを使って、周波数領域に遷移して、 以降の処理である周波数変換、フィルタ処理は、周波数領域内で行いました。






SLICEは、3%しか使ってなくて、凄く、いいのですが.....


    FPGAでFFTするとなると

    FFT IP coreを使うか(有料 10万円は要る)、

    それとも 無料のFFT_butterfly演算を使って、FFTを作り上げるか....... 死にそう......
    

    却下!

    いまんところ、却下します。 これだけで、少なくとも2年は掛かると思う。    

    私は、純アマチュア (町の平凡な歯医者) なので、

        何年掛かってもよいとは、言うものの.....ちょっと、つらいわあ (^_^;;

    そうすっと、残された手は、

        やはり

              Q出力に、軽くbandpass filterを掛け、1bitに量子化された2信号同士の積を試す事

    だと思います。

        解っていたのに、何で最初から、それを、せえへんねんやろ....

    実のところを言いますと、楽をしたかったのです (^_^;;
    
H.22.5.11