3.3 V ノイズジェネレータ (7)

これまでの方針をふまえて、-3 dB/oct (-10 dB/dec) 特性のフィルタ回路の LTspice シミュレーションを行い、実際にブレッドボード上に実験回路を作成して特性を測定してみました。
まず、下に LTspice に入力した回路図を示します。

上部 1/3 の部分が、Sallen-Key 回路による 3 次バタワース・フィルタ (カットオフ周波数 24 kHz) で、ホワイトノイズ用のフィルタを想定しています。
ピンクノイズ用のフィルタには、この LPF で帯域制限されたホワイトノイズが入力されるものとし、ピンクノイズ用フィルタの特性は、ホワイトノイズ用 LPF の特性を込みで設定しています。
帯域外の成分はホワイトノイズ用 LPF で減衰されるので、ピンクノイズ用フィルタで減衰させる必要はなく、「超高域ラグ」は「超高域ラグ・リード」として構成し、全体ではラグ・リード 4 対にしてあります。
2 段目のインピーダンスを高く選び、さらに OP アンプを使った反転型回路として、入力インピーダンスが周波数に依存しないで高く保たれるようにし、1 段目のインピーダンスを低く選ぶことで中間のバッファを省略し、1 段目のパッシブ回路と直結しています。
1 段目のインピーダンスは 10 kΩ 程度、2 段目の入力インピーダンスは 470 kΩ としています。
回路定数は、コンデンサの値については主に E6 系列の値、抵抗については E24 系列の値を選んでいます。
1.65 nF のコンデンサは、332 (3.3 nF) のコンデンサを 2 個直列にして実現します。
LTspice の AC 解析のシミュレーション結果の周波数特性のグラフを下に示します。

下側のグラフの灰色の線が -3 dB/oct (-10 dB/dec) の理想特性を示す直線で、明るい緑の線がホワイトノイズ用 LPF の特性、青色の線がピンクノイズ・フィルタ 1 段目の特性、赤色の線がピンクノイズ・フィルタ出力の特性です。
上側のグラフの暗い緑色の線は、-3 dB/oct (-10 dB/dec) の理想特性からの誤差の特性のグラフです。
素子値の制約のため、素子数が多い割には誤差はやや多く、p-p 値で約 0.7 dB となっています。
実際の実験に使った回路を下に示します。 抵抗はすべて J 級 (誤差 5 %) の炭素皮膜抵抗、コンデンサは手持ちの誤差 10 % 程度のものを使いました。

ホワイトノイズ用のフィルタ入力は、マイコンによる m-系列出力と直結することを想定しており、特にバイアス回路は設けておらず、m-系列ディジタル出力値である 0 V および Vcc の平均の Vcc/2 が DC バイアス成分となります。
ピンクノイズフィルタの OP アンプのバイアスは何らかの方法で作り出した「アナログ・コモン電圧」を使うことを想定しています。
回路図にある 470 kΩ と直列になっている 1 μF のコンデンサは、アナログ・コモン電圧が Vcc/2 と異なる場合に直流分をカットするためのものです。
WaveGene と WaveSpectra を使って測定したピンクノイズ・フィルタの周波数特性を下に示します。

この測定は WaveGene 側では再生出力のサンプリング周波数を 192 kHz として 0.1 Hz から 47 kHz までのサイン波のリニア・スイープを 180 秒かけて行い、WaveSpectra 側では録音入力のサンプリング周波数を 48 kHz に設定して応答をピーク・ホールドして記録する方法で行ったものです。
約 100 Hz 以下の低域でグラフが波打っているように見えますが、これは後述するような測定上の問題によるもので、フィルタの実際の特性ではありません。
見やすいように、グラフ表示の際の「シフト」量を調整して、周波数 100 Hz、1 kHz、10 kHz でそれぞれゲインが -10 dB、-20 dB、-30 dB の付近を通るようにしてあり、本当のゲインの値とは違っています。
20 kHz あたりで減衰が急になっているのはホワイトノイズ用の 24 kHz LPF の特性によるもので、40 kHz 付近からさらに減衰が急になっているのは ADC の入力 LPF の特性によるものです。
WaveSpectra のオーバーレイ表示の生データをファイルにセーブする機能を使ってデータ・ファイルを作成し、理想特性からの誤差をプロットしたグラフを下に示します。
(09/05 追記: 当初のグラフにはデータ処理に誤りがあって正しくなかったので修正して差し替えました)

約 100 Hz 以下の領域でグラフが波打ち、それ以上の領域ではグラフが太く見えているのは、FFT ウィンドウ幅の中に何周期分のサイン波の波形が含まれるかという値が変化しているためです。
FFT ウィンドウ幅の中に整数周期のサイン波がおさまれば誤差はないのですが、スイープしているため含まれる周期数の小数部、つまり、1 周期未満の部分の量が周波数によって変化するため、スイープにともなって誤差の量が変動し、グラフ上では「波打って」あるいは「太く」見えることになります。
抵抗、コンデンサの誤差が大きいので、設計値通りの応答とはなっていませんが、その割にはリプルの値は p-p 値で 1 dB 程度となっています。