サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
www.finetune.co.jp/~lyuka
例えば、入力が A, B 出力が Y の NAND 回路を HDL 記述すると Y = !(A & B) ド・モルガンの法則 (De Morgan's laws) に慣れる 入出力とも負論理の AND は正論理の OR である。 いわゆる NAND 回路は負論理入力、正論理出力の OR であるともいえます。 一般に、入出力の論理を反転すれば、AND は OR に OR は AND になります。 !(A & B) = (!A # !B) !(A # B) = (!A & !B) !((A & B) # (C & D)) = (!A # !B) & (!C # !D) 論理演算のおさらい 定数との演算 (A & 1) = A (A & 0) = 0 (A # 0) = A (A # 1) = 1 (A $ 0) = A (A $ 1) = !A — XOR は片方が1の時、入力を反転して出力す
πの計算には π/4 = arctan(1) に基づく各種の方法が多く使われていたが、現在ではガウス(Johann Gauss 1777-1855)の算術幾何平均による完全楕円積分のアルゴリズムと、楕円積分に関するルジャンドル(Adrien-Marie Legendre 1752-1833)の関係式に基づく算術幾何平均アルゴリズムが主流*Note1になっている。 【ガウス・ルジャンドル(Gauss-Legendre)の2次の収束公式によるプログラム例】 very_long_float pi2(iter) int iter; { int i; very_long_float a, b, t, x, y; a = 1; b = 1 / sqrt(2); t = 1; x = 4; for (i = 0; i < iter; i++) { y = a; a = (a + b) / 2; b =
制御装置のファームウェアなどで整数の値を丸める必要があるときに、 切捨てや四捨五入で丸めると誤差の蓄積が問題になる場合があります。 例えば、16ビットの測定データの結果を十進数で 3桁に丸めて -99.9~+99.9 の値と して扱い、それを積算に用いるような場合が考えられます。 そのような場合は、JIS Z 8401 規則A にならって偶数丸めを行う方が良いです。 また、2進整数の右シフトによる安易な2の冪での除算は切り捨てと同様な誤差の蓄積をもたらします。 この場合も偶数丸めと同様な考え方で扱うのが好ましいです。 十進数の偶数丸め ●十進数の偶数丸めと、四捨五入による誤差の蓄積の例 誤差の例として、入力が 20~0 へと順次変化した場合の丸めの例を list.1 に示します。 入力を積算した場合の値 210 に対して 偶数丸めの場合には 210 と誤差が少なく(この場合は零に)なってい
ここで、 31/128 に着目すると、これは 2^5 - 1 / 2^ 7 であるから技術的に (というか 2進数的に)大変都合が良い。 確か似たようなことを小林芳直さんがどこかに書かれていて、 これを「バイナリ暦」と提唱(笑)されていた記憶があるので、ここでも バイナリ暦(Binarian)と呼ぶことにする(笑)。 即ち 128 で割り切れず 4 で割り切れる年をうるう年にすればよく、 これだけで数十万年の間はややこしいい他の補正をせずとも誤差が 1日以内に収まることになる。 下のグラフは Binarian が、西暦で表した年が 128 で割り切れず 4 で割り切れる年を うるう年とした場合の太陽年とのずれ。 Gregorian が、西暦で表した年が 100 で割り切れず 4 で割り切れる年を うるう年とし、4000 で割り切れ 400 で割り切れない年も閏年とした場合の太陽年とのずれ。
1/f雑音は増幅器の低周波域の雑音として有名なピンクノイズとも言われる3dB/オクターブで電力が減衰する雑音である。 近年、1/fのゆらぎが人に心地よいとして、エアコンや扇風機の風量制御や照明などにも応用されている。 そのような用途のために、疑似ホワイトノイズから1/f雑音を生成するアルゴリズムを考案した。 1/fの特性、つまり 3dB/oct. の特性を得るには様々な方法があろうが、ここでは、 fig.1 に示すラグリードフィルタ(lag-lead filter)を縦列接続したラダーフィルタ(ladder filter)に相当する伝達関数により1/f特性を近似した。 このラダーフィルタの伝達関数をデジタルフィルタで実現し、疑似ホワイトノイズにこのフィルターを施すことにより1/f雑音を得ている。 伝達関数 f(s) は次の式で表される。
デジタル通信分野で広く用いられているM系列(Maximum length sequence) と呼ばれる n ビットのシフトレジスタと フィードバックで生成される周期が n^2 - 1 の符号列がある。 回路構成は fig.1 のようになり、フィードバックの形成の仕方で2種類ある。 fig.1 中の (+) 印は排他的論理和(EX-OR)である。 このシフトレジスタとフィードバックで形成している回路はつまり原始多項式で の除算器ともいえる。 fig.1 LFSR による構成例 主としてデジタル通信のさまざまなところに使われていて、 フレーム同期信号やスクランブル、周波数拡散用の拡散符号や誤り率測定や測距、 擬似雑音発生などに利用されている。 このように広く使われている訳は、M系列で生成されるビット列には、 次のような特徴があるからである。 0と1の発生確率がほぼ同じ。(0と1の発生個数が1
自宅に Hewlette Packard (以下 hp) の基準周波数発生用 GPS レシーバ HP Z3816A を設置した。 ドメイン名が finetune.jp っていう割にはうちには周波数基準が無かったので、 ちょっと嬉しい。 ここのところのマイブームが ntpd だったので、これを利用して finetune.jp 用 Stratum 1 NTP サーバーの運用を開始した。 [Jun.14, 2005] ntpd から見た offset の変動も ±4μs 以内 (>5σ) に収まっているようである。 [Jul. 10, 2005] 概要 アンテナ設置 装置概観 PPS インターフェース シリアルインターフェース PPS 割り込み応答遅延 HP Z3816A の設定 kernel のリビルド (FreeBSD 4.11-STABLE) ntp のビルドと設定 (ntp-4.2.0)
このところ客先での作業が多くなってきたので、 出先用にポータブルサーバーが欲しくなってきた。 そこで思い出したのが信頼性の面でちょっと不安で買ってからしばらく放置していた 玄人指向の玄箱という名前の USB ポート付き(*Note2)の NAS(Network attached storage)。 中身は PowerPC の Linux マシンで基本的には Baffalo の LinkStation と同じ。ちょっといじればそこそこましになるかも。 [Mar.11, 2005] まずは、Buffalo の LinkStation で液洩れ報告のあった電源のコンデンサ(Ltec LZG)の交換から。 玄箱は特にメインボードの出来が結構良いだけに電源のちゃちさが気になる。 見たところ、25 W クラスの電源に見受けられるが、 オリジナルのままだとの電源の出力コンデンサがリプル電流の為か相当熱く
Higher-order convergence algorithm for reciprocal and square root Takayuki HOSODA Nov. 16, 2009 The Newton-Raphson method is a first-order approximation of a function f(x) around the approximate value of xn . Its convergence speed can be increased by higher order approximation. Japanese edition is here. Reciprocal The recurrence formula for reciprocal 1 / A by Newton-Raphson method is Given by Xn+
温度や電圧などを A/D 変換器で取り込むときに雑音低減のために簡易なデジタル フィルタをかけたいことがよくある。異常検出用途などでは、オーバーシュートが 発生せずリアルタイム処理に向いていて、また、組み込み用プロセッサでは 処理能力の余裕が少ないので、演算量や使用する変数が少ない方式が望ましい。 デジタルフィルタには様々な方式のものがあるが、ここでは必要な変数領域が少なく 除算が不要な 2次の IIR (Infinite Impulse Response) LPF (Low Pass Filter) を 状態変数フィルタ(State variable filter) *fig.4 等の過渡応答から直接変換して実現した ものを紹介する。下にダイアグラム*fig.1 とそのプログラム例を示す。 [fig.1 2次 IIR LPF ダイアグラム (状態変数型)] [Prog.1 Cプログラム例
このページを最初にブックマークしてみませんか?
『Lyuka's pages in finetune』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く