シグマデルタ変調
多重帰還 (Multple-Feedback) 型 3 次 LPF を試してみましたが、PSoC4 内蔵の OP アンプを使って、2 次および 3 次高調波のレベルが -80 dB 程度、歪率が 0.02 % 程度の結果が得られました。 フィルタの回路図を下に示します。
2015 年 3 月 2 日付けの記事 (→こちら) に示したように、LPF 出力で観測した 2 次高調波のレベルは基本波のレベルの -40 dB 〜 -60 dB 程度となっています。 アナログ部分を色々いじると高調波のレベルも変動するので、この特性はシグマデルタ変調 DAC のデ…
SdmDac16 のテスト・プロジェクトでは、1 ビット DAC 出力に下図のような内蔵 OP アンプを利用した Sallen-Key トポロジの 2 次バタワース LPF (fc = 4.8 kHz) を接続してアナログ電圧を得ています。 (このシリーズの記事の 1 回目に PWM DAC 用に使った LPF…
「入力モード」の FIFO、つまり CPU 側からデータを書き込み、UDB ハードウェア側からデータを読み出す設定の FIFO では、CPU「バス側」には FIFO の「空き容量」を示すステータス信号が、UDB ハードウェアの「ブロック側」には FIFO エンプティを示すステー…
カスタム・コンポーネントの作成法や、Datapath Configuration Tool の操作方法などについては詳しい説明を省略します。 以下の文書を参照してください。 AN82156: "PSoC® 3, PSoC 4, and PSoC 5LP – Designing PSoC Creator™ Components with UDB Datapaths…
UDB (Universal Digital Block) 内の「データパス」(datapath) モジュール 2 個と、サンプリング・タイミング発生用の TCPWM コンポーネント 1 個を使って (オーディオ帯域の) 16 ビット・データ入力シグマデルタ変調型 DAC を作りました。 シグマデルタ変調…
これまで ΣDM PWM のリニアリティの測定をしていなかったので、整数部 1 LSB の間の小数部 32 レベルについて実測してみました。 結果のグラフを下に示します。 赤の線が 2 次で、青の線が 1 次です。
これまでのところで ΣDM PWM 出力の様子は概要が分かったので、今度は実際に VCO につないでみることにします。 と言っても、アナログ・シンセの VCO モジュールとして機能する回路は手許にないので、PX-150 のテスト用基板に作成した LM331/NJM4151 使用の…
2 次 ΣDM では 1 次 ΣDM に比べて内部状態の数が増えるため、出力系列の周期が大きくなることが予想されます。 といっても、MASH 方式では 1 段目の ΣDM の動作自体は 2 段目の ΣDM の影響を受けないので、全体としての周期は 1 段目の周期の 2、4、8、16、3…
前回の補足として、外部入力が一定値を取る場合の小数部 f の値と、1次 ΣDM 出力波形に含まれる周期変動の基本波の周波数の表を示します。 まず、f が 2 のべき (および 32 からそれを引いたもの) である場合の表を下に示します。 この場合は、基本波と高調…
具体的な実験の手順としては、 Pakurino (Arduino) 用に ΣDM への入力として DC (直流) 出力だけでなく、各種の波形を重畳して出力できるスケッチを作成 その出力の時間波形とスペクトルを、「efu」氏作のフリーソフトウェア「WaveSpectra」で観測 という方…
普通の PWM では、いったんパルス・デューティー値を設定してしまえば、再びその値を変更するタイミングまでは何もする必要がありません。 それに対し、ここでは、PWM デューティーを細かく変化させて分解能を向上させるため、 PWM 周期ごとに処理をする必要…
「FMmelody」のプログラムの説明を書くのをサボって、主に「MIDI2CV」用途を目的とした、シグマデルタ変調 (以下「ΣΔM」、「ΣDM」あるいは「SDM」と略記) により PWM 出力の分解能を上げる実験をしています。 PC 上でプログラムによるシミュレーションを行う…