{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# No.25 Twin-T型発振回路\n", "大人の科学 Vol.32の付録、電子ブロックを使ってTwin-T型発信回路に挑戦してみました。\n", "\n", "矢印の抵抗とコンデサーが繋がっているところが、Tの字が2つ並んでみえることからTwin-T型と呼ばれています。\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 動かしてオシロスコープでみてみよう\n", "それでは、回路を電子ブロックで組んで、動かしてみましょう。ポーとやさしい音が聞こえてきます。\n", "\n", "\n", "\n", "九州工大のArduinoオシロスコープで波形とスペクトルをみてみましょう。ちょっと歪んでいますが、正弦波に近いに波形を示しています。FFTの結果から周波数は1kHz近くであることが分かります。\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## LTSpiceで計算してみよう\n", "上記の回路をLTSpiceで計算して波形をみてみましょう。\n", "ちょっと分かりづらいですが、ベース電圧V(n004)の青い線とコレクター電圧V(n002)の緑の線で波形が反転しているのが分かります。\n", "\n", "- [No.25.asc](data/No.25.asc)\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Twin-T CRフィルタの計算\n", "抵抗とコンデンサーで作られるTwin-T CRフィルタの計算をしてくれる便利なサイトがありました。\n", "\n", "- [Twin-T CR・フィルタ計算ツール](http://sim.okawa-denshi.jp/TwinTCRtool.php)\n", "\n", "このサイトで計算した伝達関数は、以下のようになります。\n", "\n", "$$\n", "G(s) = \\frac{s^3+2000s^2+12000000s+200000000000}{s^3+114000s^2+412000000s+200000000000\n", "}\n", "$$\n", "\n", "伝達関数のグラフは、バンドパスフィルタがY軸で反転した形を持ち、\n", "振幅が最も小さいところで、位相-180度(反転)となっています。\n", "\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Sageでノッチフィルタの伝達関数をプロット\n", "せっかくSageを使っているので、ノッチフィルタの伝達関数のグラフを求めてみましょう。\n", "\n", "s, R1, R2, R3, C1, C2, C3の変数を定義して、伝達関数Hを定義します。\n", "伝達関数は、\n", "[ツインTノッチフィルタの解析](https://note.chiebukuro.yahoo.co.jp/detail/n327729?fr=pc_fb_share_n)\n", "を参考にしました。" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "## ノッチフィルタ\n", "s, R1, R2, R3, C1, C2, C3 = var('s R1 R2 R3 C1 C2 C3')\n", "\n", "H =( s^3*R1*R2*R3*C1*C2*C3 + s^2*(R2*R3*C2*C3 + R1*R3*C2*C3) + s*(C2*R3 + C3*R3) + 1)/(s^3*(C1*C2*C3*R1*R2*R3) + s^2*(C1*C3*R1*R2 + C2*C3*R1*R3 + C2*C3*R2*R3 + C1*C2*R1*R3 + C1*C3*R1*R3) + s*(C3*R1 + C3*R2 + C2*R3 + C1*R1 + C3*R3) + 1)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "(C1*C2*C3*R1*R2*R3*s^3 + (C2*C3*R1*R3 + C2*C3*R2*R3)*s^2 + (C2*R3 + C3*R3)*s + 1)/(C1*C2*C3*R1*R2*R3*s^3 + (C1*C3*R1*R2 + C1*C2*R1*R3 + C1*C3*R1*R3 + C2*C3*R1*R3 + C2*C3*R2*R3)*s^2 + (C1*R1 + C3*R1 + C3*R2 + C2*R3 + C3*R3)*s + 1)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show(H)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "抵抗とコンデンサーの値をHに代入し、$s=2 \\pi i f$として、伝達関数の振幅と位相をグラフに表示してみましょう。振幅はtoDb関数デジベルに変換、位相はtoDeg関数で度に変換して方対数グラフでプロットします。\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f = var('f')\n", "vals = {s: 2*i*pi*f, R1: 10^4, R2: 10^4, R3:10^3, C1:10^-7, C2: 10^-8, C3:5*10^-8}\n", "\n", "h(f) = H.subs(vals)\n", "\n", "# 電気ではデジベルで表示するため、toDb関数を定義する\n", "def toDb(v):\n", " return 20*log(abs(v), 10) \n", "\n", "# 位相は以下の様になる\n", "Phi(f) = arctan(imaginary(h(f))/real(h(f)))\n", "\n", "# 位相を度で表示\n", "def toDeg(v):\n", " return v*180/pi " ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "scrolled": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 1 graphics primitive" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot(toDb(h(f)), [f, 50, 10^5], scale=\"semilogx\", plot_points=1024, figsize=5)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n/RrGublm0/H162N/fNtirTOaAS6FsfsojKP7HLc8z2lJfbTfiUQihBI4ohmJRNi4ceNu79++fTvl\n5eX7/Pp9fV5VH4/1Y9HWlEz7qumnn0xjjqXseP+dsXx9Mp/nFi3Mfy9aBEcfvfev8+Lz/HsVv1Jb\ntuz9uU/m8xzt58fzPFf1cb8+z8n4vjae5319TiKe54yMjLizLBSJOL/y7LZt26hTpw5z5syhoKBg\n1/vHjBlDWVkZTz75ZKXPLy8vJysri379+pGWVvn1QmFhIYWFhXt8nIqvExERSZaysjIyMzPj+h5J\nOTJOT08nLy+PkpKSXWEciUQoKSlh/Pjxe/264uLimP6BGRkZlJWVxV2v7Nm4cebe2pdesl2JOxx9\ntDldfffdtitx1tq1cNhhMHMmnHSS7WpE3CcjIyPu75G009SXXnopo0ePJi8vjy5dunDHHXewZcsW\nxowZk7DHCIVCcb86kb1LS4MaNUD/i41OnWDFCv///9i61bytU8f//1YRW5IWxsOGDWPt2rVce+21\nrF69mg4dOvDCCy/QsGHDZJUgcdKtTZXl5EBxsZkyT021XY3ztAKXiHOSOsA1btw4xo0bl8yHlARS\nGFeWk2OG2lauhFatbFfjHO1nLOI8tVaJmsK4soplMbX4h4jES61VoqYwrqxhQzjooOjWqBYRqYpa\nq8usWrWK4447jrZt29KhQwcef/xx2yXtojDeXW5u9Y6My8rK6Ny5M506dSInJ4fp06cnvjhxjR9/\n/JFDDz2UK664wnYp4pBDDz2UDh060LFjx0qrTUbL6qIfsru0tDTuuusucnJyWL16NXl5eZx00knU\nrl3bdmkK4z3IyYHZs2P/uszMTF599VVq1arFjz/+SNu2bRkyZAj16tVLfJFi3d/+9je6detmuwxx\nUEpKCosWLap2r1ZrdZmDDjqInF8uRmZnZ9OgQQPW/3bNRYsUxrvLyYEvv4RYb28PhULUqlULMEdN\nYO69dyPtZxyflStX8vHHH9O/f3/bpYiDIpEIO3furPbXq7W62NKlS9m5cyeNGjWyXQqgMN6TiiGu\n996L/WvLysro0KEDTZs2ZeLEidSvXz+xxYkrXH755dx0002ufbEliZGSksKxxx5L165dmTlzZuxf\n70BNgfXqq69SUFBAo0aNSElJYe7cubt9zpQpU2jevDm1a9emW7duLFmyZI/fa/369YwePZpp06Y5\n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\nxiIiIpb9P81tHQ3buAphAAAAAElFTkSuQmCC\n", "text/plain": [ "Graphics object consisting of 1 graphics primitive" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# プロットに少し時間がかかります。\n", "plot(toDeg(Phi(f)), [f, 50, 10^5], scale=\"semilogx\", plot_points=300, figsize=5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### フィルタ計算ツールとのクロスチェック\n", "以下のサイトのフィルタの伝達関数とのクロスチェックし、一致することを確認しました。\n", "- http://sim.okawa-denshi.jp/TwinTCRtool.php" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "s |--> (s^3 + 2000*s^2 + 12000000*s + 200000000000)/(s^3 + 114000*s^2 + 412000000*s + 200000000000)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "vals = {R1: 10^4, R2: 10^4, R3:10^3, C1:10^-7, C2: 10^-8, C3:5*10^-8}\n", "\n", "hs(s) = H.subs(vals)\n", "show(hs)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## ツインT型ノッチフィルタの伝達関数の求め方\n", "昔の人はどうやってこんな複雑な伝達関数を計算できたのでしょう?\n", "\n", "Sageを使って、伝達関数の導出を確認してみましょう。\n", "\n", "以下のサイトを参考にしました。\n", "- [ツインTノッチフィルタの解析](https://note.chiebukuro.yahoo.co.jp/detail/n327729?fr=pc_fb_share_n)\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "次に重ねの理を使って、Vo = Vo1 + Vo2に分解します。ここがポイントです。\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "上部のVo1を以下のようにVT, ZT, ZAに整理します。\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "R1とC1の間の電圧は、テブナンの定理から以下のようになります。\n", "\n", "$$\n", "V_T = V_i \\frac{\\frac{1}{s C_1}}{R_1 + \\frac{1}{s C_1}}\n", "$$\n", "\n", "$$\n", "Z_T = R_2 + \\frac{\\frac{1}{s C_1}}{R_1 + \\frac{1}{s C_1}}\n", "$$\n", "\n", "$$\n", "Z_A = \\frac{1}{s C_3} + \\frac{\\frac{R_3}{s C_2}}{R_3 + \\frac{1}{s C_2}}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "これをSageで定義します。" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "Vi/(C1*(R1 + 1/(C1*s))*s)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "" ], "text/plain": [ "R2 + R1/(C1*(R1 + 1/(C1*s))*s)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "" ], "text/plain": [ "1/(C3*s) + R3/(C2*(R3 + 1/(C2*s))*s)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "s, R1, R2, R3, C1, C2, C3 = var('s R1 R2 R3 C1 C2 C3')\n", "VT, Vi, Vo, Vo1, Vo2, ZT, ZA = var('VT Vi Vo Vo1 Vo2 ZT ZA')\n", "\n", "VT = Vi * (1/(s*C1)/(R1 + 1/(s*C1)))\n", "ZT = R2 + (R1/(s*C1))/(R1+1/(s*C1))\n", "ZA = 1/(s*C3) + (R3/(s*C2))/(R3 + 1/(s*C2))\n", "show(VT); show(ZT); show(ZA)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vo1は、VTをZTとZAで分圧しているので、以下のように求まります。" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "Vi*(1/(C3*s) + R3/(C2*(R3 + 1/(C2*s))*s))/(C1*(R1 + 1/(C1*s))*(R2 + 1/(C3*s) + R1/(C1*(R1 + 1/(C1*s))*s) + R3/(C2*(R3 + 1/(C2*s))*s))*s)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Vo1 = VT*ZA/(ZT+ZA)\n", "show(Vo1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vo2は、vo1に以下の置換をすると求まります。\n", "\n", "$$\n", "R1 → 1/sC2, R2 → 1/sC3, R3 → 1/sC1\n", "$$\n", "\n", "$$\n", "C1 → 1/sR3, C2 → 1/sR1, C3→ 1/sR2\n", "$$" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "(R22 + R11/(C11*(R11 + 1/(C11*s))*s))*R33*Vi/((R22 + 1/(C33*s) + R11/(C11*(R11 + 1/(C11*s))*s) + R33/(C22*(R33 + 1/(C22*s))*s))*(R33 + 1/(C22*s)))" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "" ], "text/plain": [ "(R2 + R1/(C1*(R1 + 1/(C1*s))*s))*R3*Vi/((R2 + 1/(C3*s) + R1/(C1*(R1 + 1/(C1*s))*s) + R3/(C2*(R3 + 1/(C2*s))*s))*(R3 + 1/(C2*s)))" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 循環変換を避けるため、一旦R11, R22, R33, C11, C22, C33で置換\n", "R11, R22, R33, C11, C22, C33 = var('R11 R22 R33 C11 C22 C33')\n", "rel1= {R1: 1/(s*C22), R2: 1/(s*C33), R3: 1/(s*C11), C1: 1/(s*R33), C2: 1/(s*R11), C3 : 1/(s*R22)}\n", "Vo2 = Vo1.subs(rel1)\n", "show(Vo2)\n", "# R1, R2, R3, C1, C2, C3に戻す\n", "rel2 = {R11: R1, R22: R2, R33: R3, C11: C1, C22: C2, C33:C3}\n", "Vo2 = Vo2.subs(rel2)\n", "show(Vo2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "重ね合わせの理より、Voは、Vo1+Vo2で求まります。" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "(R2 + R1/(C1*(R1 + 1/(C1*s))*s))*R3*Vi/((R2 + 1/(C3*s) + R1/(C1*(R1 + 1/(C1*s))*s) + R3/(C2*(R3 + 1/(C2*s))*s))*(R3 + 1/(C2*s))) + Vi*(1/(C3*s) + R3/(C2*(R3 + 1/(C2*s))*s))/(C1*(R1 + 1/(C1*s))*(R2 + 1/(C3*s) + R1/(C1*(R1 + 1/(C1*s))*s) + R3/(C2*(R3 + 1/(C2*s))*s))*s)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Vo = Vo1 + Vo2\n", "show(Vo)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "伝達関数 $H(s) = \\frac{V_o}{V_i}$を求めると、以下のようになります。" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "((R2 + R1/(C1*(R1 + 1/(C1*s))*s))*R3*Vi/((R2 + 1/(C3*s) + R1/(C1*(R1 + 1/(C1*s))*s) + R3/(C2*(R3 + 1/(C2*s))*s))*(R3 + 1/(C2*s))) + Vi*(1/(C3*s) + R3/(C2*(R3 + 1/(C2*s))*s))/(C1*(R1 + 1/(C1*s))*(R2 + 1/(C3*s) + R1/(C1*(R1 + 1/(C1*s))*s) + R3/(C2*(R3 + 1/(C2*s))*s))*s))/Vi" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "h_hat = Vo/Vi\n", "show(h_hat)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "h_hatに抵抗、コンデンサーの値を代入し、式を整理すると求める伝達関数となります。" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "(s^3 + 2000*s^2 + 12000000*s + 200000000000)/(s^3 + 114000*s^2 + 412000000*s + 200000000000)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show(h_hat.subs(vals).simplify_full())" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "このようにSageを使うと式のまま計算を進め、グラフの表示や値の計算ができます。" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "SageMath 7.5.1", "language": "", "name": "sagemath" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.13" } }, "nbformat": 4, "nbformat_minor": 2 }