« 私のオーディオ原点 その3 | トップページ | ゲルマニウムラジオについて その1 »

2017年4月 1日 (土)

私のオーディオ原点 その4

前回作成したゲルマラジオは未だにウンともスンとも鳴りません。
まあ、それはさておき、中学生の頃、自分で銅線を巻いてコイルを自作して
ゲルマラジオを鳴らしたことを思い出しました。
何かの本で調べて、ずいぶん苦労して計算した記憶があります。
で、今はExcel VBAという超便利なツールがあります。
古い記憶と、Excel関数研究会様の作られた近似関数を元に、文末のような
関数を作成し、ユーザ関数としてExcelに登録しました。
そうすると、画像のようなことが簡単にできます。
Photo
この例は、indactance(半径、コイル長、巻き数、比透磁率)という関数を作って
G2にインダクタンスの計算結果を返しています。
 ※ピンクを入力すると黄色いところを計算する。
で、合わせてAM放送の波長帯に共振するためのバリコン容量を計算させています。
 ※グラフで示すと赤と青の曲線それぞれが、緑線と交わるところの値が
   AM放送受信に必要となるバリコンの容量を示します。
   この例ではコイルのインダクタンスが314μHとなり、その場合、使用する
   バリコンは31~291pFの容量変化が必要となります。
興味のある方は文末のソースをご参考にしてください。
あと、コイルの容量が決まったら、AM放送の受信に必要なバリコン容量を求める
関数も2つ書いてあります。(計3つの関数)

今度、このプログラムで計算した通りにゲルマラジオ作ってみようと思います。

何か、オーディオが全く関係無い投稿となりました。すいませんです。
---------------------------------------------
Function Indactance(r As Variant, l As Variant, n As Integer, mu0 As Variant)
'コイルの半径、長さ、巻き数、比透磁率からインダクタンスを算出
pi = 3.14159265359   '円周率
r = r / 10 ^ 2       '半径 m⇒cm変換
l = l / 10 ^ 2       'コイル長 m⇒cm変換
mu = 4 * pi * 10 ^ (-7)    '真空透磁率
mu0 = mu0 * mu    '比透磁率 ⇒透磁率置き換え
k = 1 / Sqr(1 + (l / (2 * r)) ^ 2)
k2 = k ^ 2
' 第1種完全楕円積分関数の近似式
Select Case k2
  Case Is >= 0.9
    ellipticK = -1 * (Log((1 - k2) / 16) * (1 + ((1 - k) / (1 + k))) * (1 + 0.25 * ((1 - k) / (1 + k)) ^ 2 _
                + 0.140625 * ((1 - k) / (1 + k)) ^ 4 + 0.09765625 * ((1 - k) / (1 + k)) ^ 6 _
                + 0.07476806640625 * ((1 - k) / (1 + k)) ^ 8 + 0.060562133789063 * ((1 - k) / (1 + k)) ^ 10 _
                + 0.050889015197754 * ((1 - k) / (1 + k)) ^ 12 + 0.043878793716431 * ((1 - k) / (1 + k)) ^ 14 _
                + 0.038565346039832 * ((1 - k) / (1 + k)) ^ 16 + 0.034399336436763 * ((1 - k) / (1 + k)) ^ 18 _
                + 0.031045401134179 * ((1 - k) / (1 + k)) ^ 20 + 0.028287235330936 * ((1 - k) / (1 + k)) ^ 22 _
                + 0.025979075503585 * ((1 - k) / (1 + k)) ^ 24 + 0.024019115665297 * ((1 - k) / (1 + k)) ^ 26 _
                + 0.022334101173471 * ((1 - k) / (1 + k)) ^ 28 + 0.02086997676321 * ((1 - k) / (1 + k)) ^ 30) / 2) _
                - (0.25 * (1 - k2) ^ 1 + 0.1640625 * (1 - k2) ^ 2 + 0.120442708333333 * (1 - k2) ^ 3 _
                + 9.48842366536458E-02 * (1 - k2) ^ 4 + 7.82020568847656E-02 * (1 - k2) ^ 5 _
                + 6.64824962615967E-02 * (1 - k2) ^ 6 + 5.78063777514866E-02 * (1 - k2) ^ 7 _
                + 5.11277645793078E-02 * (1 - k2) ^ 8 + 4.58295358550949E-02 * (1 - k2) ^ 9 _
                + 4.15245529572978E-02 * (1 - k2) ^ 10 + 3.79578436926501E-02 * (1 - k2) ^ 11 _
                + 3.49547161709425E-02 * (1 - k2) ^ 12 + 3.23915049813948E-02 * (1 - k2) ^ 13 _
                + 0.030178226673021 * (1 - k2) ^ 14)
  Case Else
    ellipticK = pi * (1 + 0.25 * ((1 - (1 - k2) ^ (1 / 4)) / (1 + (1 - k2) ^ (1 / 4))) ^ 4 _
                + 0.140625 * ((1 - (1 - k2) ^ (1 / 4)) / (1 + (1 - k2) ^ (1 / 4))) ^ 8 _
                + 0.09765625 * ((1 - (1 - k2) ^ (1 / 4)) / (1 + (1 - k2) ^ (1 / 4))) ^ 12 _
                + 0.07476806640625 * ((1 - (1 - k2) ^ (1 / 4)) / (1 + (1 - k2) ^ (1 / 4))) ^ 16 _
                + 0.060562133789063 * ((1 - (1 - k2) ^ (1 / 4)) / (1 + (1 - k2) ^ (1 / 4))) ^ 20 _
                + 0.050889015197754 * ((1 - (1 - k2) ^ (1 / 4)) / (1 + (1 - k2) ^ (1 / 4))) ^ 24 _
                + 0.043878793716431 * ((1 - (1 - k2) ^ (1 / 4)) / (1 + (1 - k2) ^ (1 / 4))) ^ 28 _
                + 0.038565346039832 * ((1 - (1 - k2) ^ (1 / 4)) / (1 + (1 - k2) ^ (1 / 4))) ^ 32 _
                + 0.034399336436763 * ((1 - (1 - k2) ^ (1 / 4)) / (1 + (1 - k2) ^ (1 / 4))) ^ 36 _
                + 0.031045401134179 * ((1 - (1 - k2) ^ (1 / 4)) / (1 + (1 - k2) ^ (1 / 4))) ^ 40 _
                + 0.028287235330936 * ((1 - (1 - k2) ^ (1 / 4)) / (1 + (1 - k2) ^ (1 / 4))) ^ 44 _
                + 0.025979075503585 * ((1 - (1 - k2) ^ (1 / 4)) / (1 + (1 - k2) ^ (1 / 4))) ^ 48 _
                + 0.024019115665297 * ((1 - (1 - k2) ^ (1 / 4)) / (1 + (1 - k2) ^ (1 / 4))) ^ 52 _
                + 0.022334101173471 * ((1 - (1 - k2) ^ (1 / 4)) / (1 + (1 - k2) ^ (1 / 4))) ^ 56 _
                + 0.02086997676321 * ((1 - (1 - k2) ^ (1 / 4)) / (1 + (1 - k2) ^ (1 / 4))) ^ 60) _
                / (1 + Sqr(1 - k2)) * (1 + ((1 - (1 - k2) ^ (1 / 4)) / (1 + (1 - k2) ^ (1 / 4))) ^ 2)
End Select
' 第2種完全楕円積分関数の近似式
Select Case k2
  Case Is >= 0.9
    ellipticE = 1 + Log(16 / (1 - k2)) * (0.25 * (1 - k2) ^ 1 _
                + 0.09375 * (1 - k2) ^ 2 + 0.05859375 * (1 - k2) ^ 3 _
                + 0.042724609375 * (1 - k2) ^ 4 + 3.36456298828125E-02 * (1 - k2) ^ 5 _
                + 2.77576446533203E-02 * (1 - k2) ^ 6 + 2.36270427703857E-02 * (1 - k2) ^ 7 _
                + 2.05681845545769E-02 * (1 - k2) ^ 8 + 1.82114134076983E-02 * (1 - k2) ^ 9 _
                + 1.63396848074626E-02 * (1 - k2) ^ 10 + 1.48171232685854E-02 * (1 - k2) ^ 11 _
                + 1.35543002627401E-02 * (1 - k2) ^ 12 + 1.24899401459544E-02 * (1 - k2) ^ 13 _
                + 0.011580645052911 * (1 - k2) ^ 14) _
                - (0.25 * (1 - k2) ^ 1 + 0.203125 * (1 - k2) ^ 2 + 0.140625 * (1 - k2) ^ 3 _
                + 0.106913248697917 * (1 - k2) ^ 4 + 8.61434936523438E-02 * (1 - k2) ^ 5 _
                + 7.21057891845703E-02 * (1 - k2) ^ 6 + 6.19933843612671E-02 * (1 - k2) ^ 7 _
                + 5.43648806799735E-02 * (1 - k2) ^ 8 + 4.84063620595927E-02 * (1 - k2) ^ 9 _
                + 4.36240574034321E-02 * (1 - k2) ^ 10 + 3.97012166681937E-02 * (1 - k2) ^ 11 _
                + 3.64253766556837E-02 * (1 - k2) ^ 12 + 3.36487345955861E-02 * (1 - k2) ^ 13 _
                + 3.12653021448977E-02 * (1 - k2) ^ 14)
  Case Else
    ellipticE = pi * (1 + Sqr(1 - k2)) / 4 * (1 + 0.25 * (k / (1 + Sqr(1 - k2))) ^ 4 _
                + 0.015625 * (k / (1 + Sqr(1 - k2))) ^ 8 + 0.00390625 * (k / (1 + Sqr(1 - k2))) ^ 12 _
                + 0.00152587890625 * (k / (1 + Sqr(1 - k2))) ^ 16 + 7.476806640625E-04 * (k / (1 + Sqr(1 - k2))) ^ 20 _
                + 4.20570373535156E-04 * (k / (1 + Sqr(1 - k2))) ^ 24 + 2.59637832641602E-04 * (k / (1 + Sqr(1 - k2))) ^ 28 _
                + 1.71401537954807E-04 * (k / (1 + Sqr(1 - k2))) ^ 32 + 1.1902884580195E-04 * (k / (1 + Sqr(1 - k2))) ^ 36 _
                + 8.5998341091909E-05 * (k / (1 + Sqr(1 - k2))) ^ 40 + 6.4143390773097E-05 * (k / (1 + Sqr(1 - k2))) ^ 44 _
                + 4.9109783560652E-05 * (k / (1 + Sqr(1 - k2))) ^ 48 + 3.8430585064475E-05 * (k / (1 + Sqr(1 - k2))) ^ 52 _
                + 3.0636627124103E-05 * (k / (1 + Sqr(1 - k2))) ^ 56 + 2.4815667970524E-05 * (k / (1 + Sqr(1 - k2))) ^ 60 _
                + 2.0380836682823E-05 * (k / (1 + Sqr(1 - k2))) ^ 64 + 1.6942892778713E-05 * (k / (1 + Sqr(1 - k2))) ^ 68 _
                + 1.4236736293224E-05 * (k / (1 + Sqr(1 - k2))) ^ 72 + 1.2077563683656E-05 * (k / (1 + Sqr(1 - k2))) ^ 76 _
                + 1.0333865426829E-05 * (k / (1 + Sqr(1 - k2))) ^ 80 + 8.91032274048E-06 * (k2 / (1 + Sqr(1 - k2)) ^ 2) ^ 84)
End Select
'長岡係数
kn = (4 / (3 * pi * Sqr(1 - k2)) * (((1 - k2) / k2) * ellipticK - ((1 - 2 * k2) / k2) * ellipticE - k))
'インダクタンスを返す。単位はμHに変換
Indactance = Round((kn * mu0 * pi * r ^ 2 * n ^ 2) / l * 10 ^ 6, 0)
End Function

 

Function CpF_H(l As Integer)
'コイルのインダクタンスL(μH)において、526.5KHzの共振に必要なコンデンサ容量(pF)
pi = 3.14159265359
CpF_H = Round(1 / ((2 * pi * 526500) ^ 2 * l * 10 ^ (-12)) * 10 ^ 6, 0)
End Function

 

Function CpF_L(l As Integer)
'コイルのインダクタンスL(μH)において、1605.5KHzの共振に必要なコンデンサ容量(pF)
pi = 3.14159265359
CpF_L = Round(1 / ((2 * pi * 1606500) ^ 2 * l * 10 ^ (-12)) * 10 ^ 6, 0)
End Function

« 私のオーディオ原点 その3 | トップページ | ゲルマニウムラジオについて その1 »

オーディオ」カテゴリの記事