チャージアンプの出力はADコンバータ(ADC)によりデジタル化されます。使っているADCはマイクロコントローラ(STM32F207VE)内蔵の12ビットADCです。一般にADCにはDNL(微分非直線性)と呼ばれる誤差がありますが、通常の用途ではあまり問題になりません。しかし、ガンマ線のスペクトルグラフを描く用途では顕著にその誤差が現れます。次の画像はDNLの補正をする前のCS137のスペクトルです。(画像をクリックすると拡大できます。以下同じ)
この画像の一部分を拡大したのが次の画像です。このグラフを見ると、左半分では周期的にカウント数が変動しています。右側の全吸収ピークではカウント数が大きく上下しています。これらの不具合はADCの各ビットの電圧幅が一定でない事に起因します。良くあるのは隣合うビットで一方が幅が狭く、その隣のビットは幅が広い場合です。この場合ソフトである程度補正が可能です。その補正を行ったのが次の画像です。この補正で大分良くなりましたが限界があります。補正をより完全に行うにはハード的な対策が必要で、Sliding Scale Methodという方法があります。この方法はDAコンバータ(DAC)を回路に追加し、チャージアンプの出力とDACの出力をオペアンプで足し合わせて、AD変換し、変換されたデジタル値からDACの電圧を引くという方法です。DACの出力を0から数十テャンネル変化させれば色々な電圧幅のビットでサンプリングする事になり、結果的にDNLが目立たなくなります。この方法で補正したのが次の画像です。