2009-01-01から1年間の記事一覧

Arduino 周波数/周期カウンタ (6)

LPF 出力部の OP アンプの直線性が気になったので、LMC662 を使った場合と、 TLC272 を使った場合との、出力電圧が小さい領域での直線性の測定を行い、比較してみました。 結果のグラフを下に示します。

Arduino 周波数/周期カウンタ (5)

前回とほぼ同じハードウェアで、XR2206 を自動測定してみました。 LM331 の結果と合わせてプロットしたグラフを下に示します。

Arduino 周波数/周期カウンタ (4)

周期測定ライブラリを利用してリニア VCO の特性を自動測定する Pakurino (Arduino) 用のスケッチを作成し、LM331 についてデータを取ってみました。 結果のグラフを下に示します。 20 Hz から 20 kHz までの 10 オクターブの範囲で、誤差は ±4 セント程度に…

Arduino 周波数/周期カウンタ (3)

12 月 7 日の記事の「PeriodCounter」ライブラリを使って、200 Hz の信号1〜2周期の測定を多数回繰り返してみたところ、やはり数千分の1程度の頻度でエラーが生じました。 エラー対策のための修正を施したバージョンで同じ測定を試すと、ほほ丸一日、数百…

Arduino 周波数/周期カウンタ (2)

周波数を計測するのに、基準クロックから作成した正確な 1 ms とか 1 s とかの一定時間幅のゲート信号を使って入力信号をカウントする「普通」の方式では、周波数の分解能はゲート・タイムの逆数に比例する形になります。 たとえば、ゲート・タイム 1 s では…

Arduino 周波数/周期カウンタ (1)

VCO などの発振周波数の自動測定を目的として、AVR マイコンでオーディオ帯域信号の周期を測定するライブラリの作成をしています。 プロトタイピングのツールとして Arduino (Pakurino) を使い、簡単な周波数/周期カウンタとして機能するサンプル・スケッチ…

リボンコントローラ回路 (3)

今回は、正負2電源が必要ですが、Collector 電極 (2 番端子) の接触抵抗の変化の影響が小さい回路について考えます。 「SoftPot」は、データシートの表紙に「Membrane Potentiometer」と書いてある通り、ポテンショメータ、つまり、固定電極の 1 番端子と 3…

リボンコントローラ回路 (2)

前回の回路で言い忘れていましたが、あの回路はリボン・センサである SoftPot のすぐそばに実装する「センサ・アンプ」部で、シンセ用の CV やゲート信号は (センサ部とはケーブルで接続される) 後置の本体回路で生成します。 また、前回は、押す/押さない/…

リボンコントローラ回路 (1)

アナログシンセビルダーズサミット 2009 の takeda さんのプレゼンで、Spectra Symbol 社の 500 mm の 「SoftPot」 を使ったリボンコントローラで 10 mVp-p 程度のノイズが取りきれないというお話がありました。 私は SoftPot は持っていないので、実際に試…

別のアンチログ回路 (3) -- アナログシンセの VCO ブロック (40)

前回の回路は、差動入力電流に対してアンチログ特性の出力電流を得るものですから、ピッチ CV のサミング・アンプが差動電流出力でなければ、何らかの形の電圧-差動電流変換回路が必要になります。 まず思いつくのがエミッタ直結のトランジスタ2個による差…

別のアンチログ回路 (2) -- アナログシンセの VCO ブロック (39)

まず、文献 [*1] の中の 第5章 増幅回路、5.6 差動電流増幅回路(4)、pp.127、図5.10 出力電流が指数的に増大する差動電流増幅回路 について説明します。 *1:青木 英彦 著:「アナログICの機能回路設計入門―回路シミュレータSPICEを使ったIC設計法 (C&E TUTOR…

別のアンチログ回路 (1) -- アナログシンセの VCO ブロック (38)

アンチログ回路については、これまで「VCO」カテゴリの中に入れていましたが、「アンチログ」のカテゴリを新設しました。 以前、単電源・低電圧での実現に適した、「ベース結合アンチログ」と名付けた回路を示しましたが、今回、別の回路を考えました。 とい…

Gilbert Sine Shaper (14)

GSS

MOS FET の差動ペアの式のフーリエ変換の公式を見つけられないと書きましたが、それに近い公式を見つけました。 「岩波 数学公式」第 II 巻、§53、pp.276 に次のような式が載っていました。 ここで、 は正の数、 は実部が 1/2 以下の複素数、 はガンマ関数、…

Gilbert Sine Shaper (13)

GSS

「岩波 数学公式」第 I 巻、第 VI 編 平面曲線、§64 の型の曲線、第 6.30 図、pp.273 に「S 字カーブ」となる、次のような式が載っていました。 この式の平方根を取ると、 (および、この式の符号をマイナスにしたもの) となります。 この式のグラフを下に示…

Gilbert Sine Shaper (12)

GSS

MOS FET で、しきい値電圧 を超えるゲート・ソース間電圧 をかけて、強反転領域かつ、ドレイン電圧が十分高くて飽和領域にある場合、ドレイン電流は模式的には次のように表されます。 このような MOS FET で差動ペアを構成すると、その差動出力電流と差動電…

Gilbert Sine Shaper (11)

GSS

前回求めた、誤差関数による GSS の式を再掲すると、 となります。 「誤差関数」バージョンであることを示すために、高調波のレベルを決める因子の に「erf」サフィックスを付けました。 tanh バージョンと同様に、プログラムで級数の計算を行って FFT をか…

Gilbert Sine Shaper (10)

GSS

「誤差関数」(error function) と言っても、統一された定義というものは存在していないので、使用する場面に応じて定義を確認しておくことが必要です。 級数の数値計算プログラムに使っている C 言語 (libm ライブラリ) での定義は、 となっており、正の x …

Gilbert Sine Shaper (9)

GSS

これまで求めてきた式の導出過程を振り返ると、g(x) を(もちろん実関数の)奇関数という仮定のみから変形してゆき、奇数次の高調波成分からなるフーリエ級数形式の結果を得ました。 GSS 回路の入力電圧 Va に対して、 2E を周期とする周期関数 偶数次高調波は…

Gilbert Sine Shaper (8)

GSS

(10/28 使用したプログラムにバグがあり、結果のグラフが誤っていたので差し替え、記事を修正しました) (10/29 さらに、プログラムに与えるパラメタに誤りがあり、再度差し替えました) 前回求めた、サイン波の高調波成分の振幅の近似式を利用すると、出力の…

Gilbert Sine Shaper (7)

GSS

これまでに求めた、サイン波の高調波成分の振幅を表す式、 の中の cosech 関数は、指数関数の級数を使って、 (「岩波 数学公式 」II 巻、§37、pp.205) と表すことができます。

Gilbert Sine Shaper (6)

GSS

最後に残ったのは tanh 関数の(逆)フーリエ変換を求めることですが、当然、自力では計算できないので、公式に頼ることになります。 「岩波 数学公式」II 巻、§53、pp.278 に双曲線関数のフーリエ変換の表が載っています。 その最初の行が、 であり、フーリエ…

Gilbert Sine Shaper (5)

GSS

前回は、ポアソンの和公式から、 の(逆)フーリエ変換 を用いて を記述しました。 両者の違いは の因子だけなので、その点に注意して を計算すると、

Gilbert Sine Shaper (4)

GSS

ポアソンの和公式 (Poisson summation formula) とは、簡単に言うと、フーリエ級数 (フーリエ展開) とフーリエ変換との関係を表すものです。 「岩波 数学公式」II 巻、§51、pp.263 の「Poisson の和の公式」の 2 番目の式 を利用して計算を進めます。 ()

Gilbert Sine Shaper (3)

GSS

前回求めた式に を代入して、文献のような回路の実際の電圧の入った式にすると下のようになります。

Gilbert Sine Shaper (2)

GSS

しばらく Gilbert Sine Shaper 自体の話が続き、SSM2164 の回路の話からは離れるので、記事のカテゴリを独立させました。 文献 *1 では、下のような式が示されています。 tanh(・) を 5 項で打ち切った式なので近似式であることは自明ですが、理論的に無限個…

Pakurino の ATmega328P 化 (3)

秋月で ATmega328P の取り扱いが始まりました。 単価 250 円 と安価なので、ATmega を使った FM 音源プログラムの対象デバイスを ATmega168 から ATmega328P に変えることにしました。 プログラム・メモリが 32 K バイトに倍増しているので、168 では共存で…

SSM2164 応用回路 (2) --- GSS 回路 (1)

SSM2164 (V2164) の別の応用例として、以前の記事 (→こちら) で触れた、ギルバート・サイン・シェーパー (Gilbert Sine Shaper) を取り上げます。 Gilbert Sine Shaper (以下「GSS 回路」) では、複数の tanh(・) 特性を合成してサイン特性を近似しています…

SSM2164 応用回路 (1) --- PTAT 電圧源

SSM2164 (V2164) の応用回路として、絶対温度に比例した電圧を出力する PTAT (Proportional To Absolute Temperature) 電圧源を作ってみました。 簡単に言ってしまえば、チップのジャンクション温度を測る温度計です。 このような応用には、 OVCE の「Elemen…

V2164 の特性測定 (6)

前回の補償回路は、Vc の値により変化するベース電流に、シンク方向の補償回路の電流を重畳し、差動ペアの左右それぞれのトータルのバイアス電流を均等に保つものでした。 今回はシンク方向のベース電流にソース方向の補償電流を重ね、バイアス電流をゼロに…

V2164 の特性測定 (5)

LTspice 用の SSM2164 シミュレーション回路にベース電流補償回路を組み込んでみました。 (回路図は→こちら) 補償回路部分の回路を下に示します。