RCローパスフィルタとCRハイパスフィルタのカットオフ周波数などの自動計算
この記事では、RCローパスフィルタ及びCRハイパスフィルタの下記計算を行う。
入力:
・抵抗R[Ω]
・コンデンサC[uF]
・周波数[Hz]
・入力電圧[V]
出力:
・カットオフ周波数[Hz] (-3dB(1/√2=0.707倍)になる周波数)
・ゲイン[倍] (設定した周波数のゲイン)
・出力電圧[V]
また、それぞれの計算方法について記載する。
1. RCローパスフィルタとCRハイパスフィルタの自動計算
・RCローパスフィルタ
・CRハイパスフィルタ
入力
・抵抗R[Ω]入力
・コンデンサC[uf]入力
・周波数f[Hz]入力
・Vin[V]入力
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
RC(ローパスフィルタ)回路計算結果
・RCローパスフィルタのカットオフ周波数 [Hz]
・RCローパスフィルタのゲイン [倍]
・RCローパスフィルタの出力電圧[V]
CR(ハイパスフィルタ)回路計算結果
・CRハイパスフィルタのカットオフ周波数 [Hz]
・CRハイパスフィルタのゲイン [倍]
・CRハイパスフィルタ出力電圧[V]
2. RCローパスフィルタの計算式
※抵抗R[Ω]、コンデンサ[f]、円周率π、とする。
(1) カットオフ周波数[Hz]の算出
・カットオフ周波数 = 1 / (2*π*R*C)
(2) ゲイン[倍]の算出
・ゲイン = 1 / √(1+(2πf*R*C)^2)
(3) 出力電圧[V]の算出
・出力電圧 = 入力電圧 * ゲイン
3. CRハイパスフィルタの計算式
※抵抗R[Ω]、コンデンサ[f]、円周率π、とする。
(1) カットオフ周波数[Hz]の算出
・カットオフ周波数 = 1 / (2*π*R*C)
(2) ゲイン[倍]の算出
・ゲイン = 2πf*R*C / √(1+(2πf*R*C)^2)
(3) 出力電圧[V]の算出
・出力電圧 = 入力電圧 * ゲイン
参考:CRハイパスフィルタの『伝達関数』や『周波数特性』について
4. 計算プログラム
<!DOCTYPE html> <!-- 概要:反転増幅回路の計算ホームページ ・CR回路及びRC回路の画像を表示 ・抵抗、コンデンサ、周波数、入力電圧の記入欄を用意 ・記入した抵抗、コンデンサから周波数特性を算出 ・記入した抵抗、コンデンサ、周波数からゲインを算出 ・ゲインと入力電圧から、出力電圧を算出 --> <html lang="ja" dir="ltr"> <head> <meta charset="utf-8"> <title>CR回路計算ページ</title> <script type="text/javascript" src="js/calc.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> </head> <body> <p>CR回路、RC回路の計算ページです</p> <p>抵抗値R[Ω],コンデンサC[uf],周波数f[Hz],入力電圧[V]を入力してください。</p> <!--増幅回路の入力フォーム --> <p> 抵抗R[Ω]入力 <input type="text" size="15" id="res" value="0"></p> <p> コンデンサC[uf]入力 <input type="text" size="15" id="con" value="0"></p> <p> 周波数f[Hz]入力 <input type="text" size="15" id="freq" value="0"></p> <p> Vin[V]入力<input type="text" size="15" id="vin" value="0"></p> <p>-----------------------------------------------</p> <p>RC(ローパスフィルタ)回路計算結果</p> <p> RCローパスフィルタのカットオフ周波数 <input type="text" size="15" id="lowfilterfreq" value=0> [Hz] </p> <p> RCローパスフィルタのゲイン <input type="text" size="15" id="lowfiltergain" value=0> [倍] </p> <p> RCローパスフィルタの出力電圧<input type="text" id="lowfilterVout" size="15" value=0>[V]</p> <p>CR(ハイパスフィルタ)回路計算結果</p> <p> CRハイパスフィルタのカットオフ周波数 <input type="text" id="highfilterfreq" size="15" value=0>[Hz] </p> <p> CRハイパスフィルタのゲイン <input type="text" id="highfiltergain" size="15" value=0>[倍] </p> <p> CRハイパスフィルタ出力電圧<input type="text" id="highfilterVout" size="15" value=0>[V]</p> <br> <script> ///ページ読み込み完了後、javascriptを実行 window.onload = function () { ///定数宣言 const GAIN = 20; /// 変数宣言 let omeg; //<ω = 2πfc let omegrc; //<omegrc = ω*R*C let lcutoff_freq; //<カットオフ周波数用変数 let lgain; //<ゲイン let lvout; //<出力電圧Vout用[V]変数 ///数値が変更した時関数を実行 $("#res").change(Calc_RCcircuit); $("#con").change(Calc_RCcircuit); $("#freq").change(Calc_RCcircuit); $("#vin").change(Calc_RCcircuit); ///関数の作成 /** ************************************************************** */ /** * カットオフ周波数/関数 * @param num : 数値 * @return : 2倍の値 */ /** ************************************************************** */ function Calc_RCcircuit() { console.log("Calc"); //R,C,,freq,Vinの値を取得 lres_value = $("#res").val(); //<R(抵抗値)の取得 lcon_value = $("#con").val(); //<C[uf]の値取得 lfreq_value = $("#freq").val();//<f(周波数)[Hz]の値取得 lvin_value = $("#vin").val(); //<V(入力電圧)[V]の取得 //計算用変数の計算 omeg = 2*Math.PI*lfreq_value; //<ω = 2πf ///omegrc = ω*R*Cの計算結果 omegrc = omeg * lres_value*lcon_value/1000000 ///RCローパスフィルタ回路計算 ///カットオフ周波数 = 1/(2*π*R*C) lcutoff_freq = 1/(2*Math.PI*lres_value*lcon_value/1000000); ///ゲイン = 1/√(1+(2πf*R*C)^2) lgain = 1/Math.sqrt(1+(omegrc)**2); ///出力電圧 = 入力電圧 * ゲイン lvout = lvin_value * lgain; //計算結果の表示 $("#lowfilterfreq").val( lcutoff_freq ); //<カットオフ周波数を表示 $("#lowfiltergain").val(lgain); //<ゲインを表示 $("#lowfilterVout").val(lvout); //<出力電圧を表示 ///CRハイパスフィルタ回路 ///ゲイン = ωRC/(√1+(ωCR)-2) lgain = omegrc/Math.sqrt(1+(omegrc)**2); ///出力電圧 = 入力電圧 * ゲイン lvout = lvin_value * lgain; ///計算結果の表示 ///カットオフ周波数 = 1/(2*PI*R*C) (RCローパスと同じ) $("#highfilterfreq").val( lcutoff_freq );//<カットオフ周波数を表示 $("#highfiltergain").val( lgain );//<ゲインを表示 $("#highfilterVout").val(lvout);//<出力電圧を表示 } } </script> </body> </html>
HTMLの基本の参考:
HTMLのidとは?使い方やclassとの違いについても解説 | 侍エンジニアブログ
【HTML】id属性とは? 使い方と特徴を解説 | ZeroPlus Media
・Document: querySelector() メソッド - Web API | MDN
関連記事
Project OKI過去のブログ一覧とか - Project_OKI’s diary
・HTML,CSS,Javascript1(環境設定:VSCodeの導入) - Project_OKI’s diary
・HTML,CSS,Javascript2(HTMLでホームページのタイトル設定と段落作成) - Project_OKI’s diary
・HTML,CSS,Javascript3(タグについて) - Project_OKI’s diary
・HTML,CSS,Javascript4(属性による機能追加について) - Project_OKI’s diary
・HTML,CSS,Javascript5(装飾:CSSの追加) - Project_OKI’s diary