超高精度アナログピンクノイズフィルター回路の設計

ピンクノイズをどえりゃー真面目に考える

題が真面目ではないですがピンクノイズはアナログの世界ではとてもいい加減で(よい加減ではない)数個のフィルターを混ぜて作られたいわゆる疑似的なものが殆どです。
デジタルな世界ではVoss-McCartneyアルゴリズムというのが有名です。
それじゃぁDonもBobも私も納得しないので作ってみたいと思います。
ただ、人が聴くためのフィルターの効いたピンクノイズですので、他の用途には適しません。
デジタルでのピンクノイズにはほぼ同等であると思います。
一番の問題は-3db/octのスロープはアナログでは簡単に作れないという事。普通は-6db/octです。シンセは-24db/octが一般的です。複数並列、直列と工夫するしかありません。


構成は

ホワイトノイズ→-1db単位に31段分圧→バッファー31個→フィルター31個→サミングミキサー→ピンクノイズ出力

並列に31個ローパスフィルターしたものを合成します。1Uラックのグラフィックイコライザーでピンクノイズを作るようなものです。BPFがLPFになってだけともいえます。(リッチですね)
過剰にリッチなのですがおそらくコンデンサーが一番お金がかかります。抵抗はそうでもないです。
1段目は20HzのLPFで一番電圧が高く、31段目は20480Hzでかすかな電圧になります。
それ以降は-6db/octになるので聞こえない部分は好きなだけHPFでもかけて混ぜて下さい。
LPFがこんな風に重なり合う

分圧しよう

DCオフセットがある場合(マイナスに振れない)クリッピングしてしまうのでACカップリングとしてNP1μF16Vですかね。
分圧回路は抵抗を使うのですが、なにせ使えば吸われるので電圧が不安定なのです。(実体験が無いとわからないです)
そのための等倍率バッファーが必要です。まあ汎用オペアンプでいんです。ローノイズにしても電圧が違う同じノイズ入力ですから。そういう所はTL074とかで充分だと思います。
抵抗も大きくなると出力が小さくなりノイズも乗りやすくなります。(つまりノイズで値があばれます)
周波数が高いほうであばれるので-2.9dbとかなだらかになる分にはむしろデジタルで真似できなくて面白いと思います。

番号抵抗値 (Ω)電圧比E96Combo備考
R12,899.701.002,740 + 160 = 2,900.0最上段(+側)
R2353.40.89332 + 21.5 = 353.0-1dBステップ
R3399.50.79383 + 16.2 = 399.0-2dBステップ
R4449.80.71432 + 18.0 = 450.0-3dBステップ
R55050.63487 + 18.0 = 505.0-4dBステップ
R65650.56536 + 26.0 = 562.0-5dBステップ
R7631.100.50604 + 27.0 = 631.0-6dBステップ
R8704.000.45681 + 23.0 = 704.0-7dBステップ
R9783.100.40750 + 33.0 = 783.0-8dBステップ
R10870.200.35845 + 25.0 = 870.0-9dBステップ
R11966.000.32931 + 35.0 = 966.0-10dBステップ
R121,070.800.281,020 + 51.0 = 1,071.0-11dBステップ
R131,185.000.251,130 + 55.0 = 1,185.0-12dBステップ
R141,309.200.221,240 + 69.0 = 1,309.0-13dBステップ
R151,444.900.201,370 + 75.0 = 1,445.0-14dBステップ
R161,592.900.181,500 + 93.0 = 1,593.0-15dBステップ
R171,753.900.161,620 + 134.0 = 1,754.0-16dBステップ
R181,928.700.141,780 + 149.0 = 1,929.0-17dBステップ
R192,118.200.12592,000 + 118.0 = 2,118.0-18dBステップ
R202,323.400.11222,210 + 113.0 = 2,323.0-19dBステップ
R212,545.400.12,430 + 115.0 = 2,545.0-20dBステップ
R222,785.300.08912,610 + 175.0 = 2,785.0-21dBステップ
R233,044.300.07942,870 + 174.0 = 3,044.0-22dBステップ
R243,323.600.07083,160 + 164.0 = 3,324.0-23dBステップ
R253,624.700.06313,400 + 225.0 = 3,625.0-24dBステップ
R263,949.000.05623,680 + 269.0 = 3,949.0-25dBステップ
R274,297.900.05014,020 + 278.0 = 4,298.0-26dBステップ
R284,672.900.04474,420 + 253.0 = 4,673.0-27dBステップ
R295,075.600.03984,870 + 206.0 = 5,076.0-28dBステップ
R305,507.600.03555,230 + 278.0 = 5,508.0-29dBステップ
R315,970.700.03165,620 + 351.0 = 5,971.0-30dBステップ
R326,474.3006,040 + 434.0 = 6,474.0終端(GND)

この表だと入力10Vなら一番低いのは0.316Vですね。かすかに聴こえ・・無いと思います。
ここを精密に分圧するとよりなだらかな線で-3db/octになるはずです。
最近は1%よりも精度のあるチップ抵抗が使えるので表面実装がベストですね。

バッファーしよう

バッファー回路は特に説明しません。負帰還で精密な抵抗2本でOKです。

フィルターしよう

ここにポリスチレンコンデンサ(いわゆるスチコン)が一番良いのですがノイズなのでそこまで贅沢せずとも結果は出ます。(と思いたい)
緑のポリエステル(マイラーコン)か黄色のポリプロピレン(安全)か赤の粘着性ポリエステル(CBB)とあります。1%精度の103Fとか入手できればそれを使うといいでしょう。
チップの積層セラミック(np0/c0g)という温度関係なく精度の高いものもあります。ただセラミックはLPF通したのにキンキンする(おそらく固有共振)音で有名ですからセラミックは避けます。並列なので余計目立つでしょう。

📐 前提条件
起点周波数:20 Hz(1バンド目)
ステップ幅:1/3オクターブ(周波数比 ≈ 2^(1/3) ≈ 1.26)業界では31バンドと呼ぶ。
フィルタータイプ:単純なRCローパス(-3dB点を中心周波数とする)
C固定方式:C = 100 nF(104F~104J)とし、Rを計算
•  抵抗:E96系を使用する。精度が悪い場合は合成抵抗で精度を上げる


BandHzOhmE96E96Combo
12079,577.4780,60078,700 + 1,800 = 80,500
225.263,162.3864,90062,000 + 1,150 = 63,150
331.7550,098.0251,10049,900 + 200 = 50,100
44039,788.7440,20039,200 + 590 = 39,790
550.431,581.1931,60030,900 + 680 = 31,580
663.525,049.0125,50024,900 + 150 = 25,050
78019,894.3720,00019,600 + 300 = 19,900
8100.8015,791.1916,20015,400 + 390 = 15,790
9127.0012,524.5012,70012,400 + 120 = 12,520
10160.009,947.1810,0009,530 + 417 = 9,947
11201.607,896.008,0607,680 + 220 = 7,900
12254.006,262.256,3406,040 + 220 = 6,260
13320.004,973.595,1104,870 + 100 = 4,970
14403.203,948.004,0203,830 + 120 = 3,950
15508.003,131.123,1603,010 + 120 = 3,130
16640.002,486.792,4902,430 + 56 = 2,486
17806.401,974.002,0001,910 + 62 = 1,972
181,016.001,566.001,5801,500 + 66 = 1,566
191,280.001,243.401,2401,210 + 33 = 1,243
201,612.809861,020953 + 33 = 986
212,032.00782787768 + 14 = 782
222,560.00621.69634604 + 18 = 622
233,225.60493499475 + 18 = 493
244,064.00391402383 + 8.2 = 391
255,120.00311316301 + 10 = 311
266,451.20247249237 + 10 = 247
278,128.00195196187 + 8.2 = 195
2810,240.00155158150 + 4.7 = 154.7
2912,902.40124127121 + 3.3 = 124.3
3016,256.0098.110095.3 + 2.7 = 98.0
3120,480.0078.580.676.8 + 1.7 = 78.5

よし、E24系では得られない精密な直線に近づきましたよ。およそ誤差1%以下です。
10kΩより低い抵抗を使いたくない、低いコンデンサーにしたい場合は途中から再計算が必要です。
20段くらいから電気使いそうですからね。チップサイズも大きくなりそうです。


ミックスしよう。

バッファが反転増幅だったのでミキサーも反転増幅でいんじゃないですか。
ミックスの入力抵抗は100kΩとして31段使います。
負帰還抵抗は66kΩ。10Vppであればいいだけなので調整しても良いと思います。
最終的にTL074が8個です。



入口の1μFを10μFにして最後の負帰還抵抗を56kΩでもいいかな。


シミュレーションはこちら

ここまでやりきってもただのピンクノイズです。
いえ、真の姿のピンクノイズです。
20Hzがピークですもの。
波形もこうなりますね。
同じ構成でLPFではなくHPFで20480Hzスタートで設計するとブルーノイズフィルターが出来るはずです。
雨音の発生回路も面白そうですね。
水滴の大きさと、着水音と気泡破裂音で数mSが最小単位。音は重なり合うのでジェネレーターは複数。水滴の大きさが似通っているはずなので8つ位ジェネレータでステレオ感が出れば面白そうです。
ほいだば。

コメント