{"id":407,"date":"2008-11-18T08:05:00","date_gmt":"2008-11-18T13:05:00","guid":{"rendered":"https:\/\/www.circuitdesign.info\/blog\/2008\/11\/continuous-time-sigma-delta-adc-noise-shaping-filter-circuit-architectures-2\/"},"modified":"2008-11-20T00:34:45","modified_gmt":"2008-11-20T05:34:45","slug":"continuous-time-sigma-delta-adc-noise-shaping-filter-circuit-architectures-2","status":"publish","type":"post","link":"https:\/\/www.circuitdesign.info\/blog\/2008\/11\/continuous-time-sigma-delta-adc-noise-shaping-filter-circuit-architectures-2\/","title":{"rendered":"Continuous time sigma-delta ADC noise shaping filter circuit architectures"},"content":{"rendered":"<p>The continuous-time sigma-delta (CTSD) analog-to-digital converter (ADC) is a class of sigma-delta analog-to-digital converters that utilize a continuous-time noise-shaping filter (NSF | H(s)). In this post, I analyze a few noise-shaping filter (NSF) architectures that affect highly linear CTSD ADC\u2019s.<\/p>\n<p><!--more--><\/p>\n<p>The alternative sigma-delta ADC, the discrete-time sigma-delta (DTSD) employs switched-capacitor circuits that require op-amp bandwidths larger than the sampling rate and suffer from kT\/C noise. In addition, discrete-time sigma-deltas require anti-alias filtering ahead of the ADC, whereas continuous-time sigma-deltas have built-in anti-aliasing. Specifically, aliasing occurs at the quantizer, which is within the sigma-delta loop (akin to quantization noise) and is therefore rejected by the loop.<\/p>\n<p>The continuous-time sigma-delta loop is illustrated below:<\/p>\n<p style=\"center;\"><a href=\"https:\/\/www.circuitdesign.info\/blog\/wp-content\/uploads\/2008\/11\/scan0098a1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"0px\" src=\"https:\/\/www.circuitdesign.info\/blog\/wp-content\/uploads\/2008\/11\/scan0098a-thumb1.jpg\" border=\"0\" alt=\"scan0098a\" width=\"244\" height=\"70\" \/><\/a><\/p>\n<p>Note that H(s) is a continuous-time filter (s-domain) and there is a DAC in the feedback path to convert from digital back to analog. The comparator shown is a clocked comparator, producing a digital word Y (N-bit).<\/p>\n<p style=\"center;\">This article will focus on the choice of architectures for H(s). I will assume the following 3rd-order topology for H(s):<br \/>\n<a href=\"https:\/\/www.circuitdesign.info\/blog\/wp-content\/uploads\/2008\/11\/scan0098b1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"0px\" src=\"https:\/\/www.circuitdesign.info\/blog\/wp-content\/uploads\/2008\/11\/scan0098b-thumb1.jpg\" border=\"0\" alt=\"scan0098b\" width=\"244\" height=\"110\" \/><\/a><\/p>\n<p>A series of integrators are cascaded and then summed (with weightings k1, k2, and k3) to produce the input z to the comparator.\u00a0 This filter implements\n<\/p>\n<p align=\"center\">(K<sub>1<\/sub>s<sup>2<\/sup> + K<sub>2<\/sub>s + K<sub>3<\/sub>)\/s<sup>3<\/sup><\/p>\n<p>Often times, a noise-transfer zero is desired (to widen the noise-shaped bandwidth); this can be accommodated with the following:<\/p>\n<p style=\"center;\"><a href=\"https:\/\/www.circuitdesign.info\/blog\/wp-content\/uploads\/2008\/11\/scan0098c1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"0px\" src=\"https:\/\/www.circuitdesign.info\/blog\/wp-content\/uploads\/2008\/11\/scan0098c-thumb1.jpg\" border=\"0\" alt=\"scan0098c\" width=\"244\" height=\"120\" \/><\/a><\/p>\n<p>The feedback term \u03b3\/s creates a (resonant) pole in the noise-shaping filter which maps to an imaginary zero in the noise transfer function (NTF).<\/p>\n<p>Typically, the active-RC configuration is used for continuous-time filters that are to be tightly controlled and where high linearity is necessary. The first integrator (for example) is composed of a stage shown below:<\/p>\n<p style=\"center;\"><a href=\"https:\/\/www.circuitdesign.info\/blog\/wp-content\/uploads\/2008\/11\/scan00931.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"0px\" src=\"https:\/\/www.circuitdesign.info\/blog\/wp-content\/uploads\/2008\/11\/scan0093-thumb1.jpg\" border=\"0\" alt=\"scan0093\" width=\"244\" height=\"122\" \/><\/a><\/p>\n<p>The analog input voltage is converted to a current. Likewise, the DAC feedback voltage is converted to a current. These currents are subtracted into the summing junction and integrated on the capacitor C.<\/p>\n<p>Unfortunately, the main disadvantage of this topology is that the op-amp must now source and sink the DAC current pulse. The response of the op-amp creates an inter-symbol interference problem. The integrated current follows the pulse response of the op-amp. However, when three positive pulses are generated from the DAC, their integrated value does not equal the integrated value of a +1, \u20131, and +1 sequence of pulses:<\/p>\n<p style=\"center;\"><a href=\"https:\/\/www.circuitdesign.info\/blog\/wp-content\/uploads\/2008\/11\/scan0100a.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"0px\" src=\"https:\/\/www.circuitdesign.info\/blog\/wp-content\/uploads\/2008\/11\/scan0100a-thumb.jpg\" border=\"0\" alt=\"scan0100a\" width=\"244\" height=\"195\" \/><\/a>A +1, -1, +1 sequence results in an integrated value of +0.6-0.6+0.6 = 0.6 &#8230;<\/p>\n<p style=\"center;\"><a href=\"https:\/\/www.circuitdesign.info\/blog\/wp-content\/uploads\/2008\/11\/scan0100b.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"0px\" src=\"https:\/\/www.circuitdesign.info\/blog\/wp-content\/uploads\/2008\/11\/scan0100b-thumb.jpg\" border=\"0\" alt=\"scan0100b\" width=\"244\" height=\"202\" \/><\/a>&#8230; whereas a +1, +1, +1 sequence results in an integrated value of +0.6+1.0+1.0 = 2.6<\/p>\n<p>In short, the op-amp has an easier time with the DAC maintains a constant output than when it transitions. As a result, the integrated value is signal-dependent, which means it is nonlinear. <span style=\"#808080;\">This effect is worse when the op-amp slews, but occurs even when the op-amp operates in a linear manner.<\/span><\/p>\n<p>A popular alternative to the active-RC is the Gm-C architecture:<\/p>\n<p style=\"center;\"><a href=\"https:\/\/www.circuitdesign.info\/blog\/wp-content\/uploads\/2008\/11\/scan00941.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"0px\" src=\"https:\/\/www.circuitdesign.info\/blog\/wp-content\/uploads\/2008\/11\/scan0094-thumb1.jpg\" border=\"0\" alt=\"scan0094\" width=\"244\" height=\"194\" \/><\/a><\/p>\n<p>In this case, a (current-mode) DAC\u2019s output is directly summed with the signal current onto an integrated capacitor (which I thoughtfully forgot to draw in the illustration). This architecture isolates the DAC signal from the analog input signal. Consequently, the transconductor requirements are greatly relaxed; it only needs to tolerate the DAC switching on its output, but does not need to actually process the switching signal from input to output.<\/p>\n<p>The main disadvantage of the Gm-C stage is that it cannot drive a low-impedance. Since any resistive loading will steal charge from the load capacitor, only capacitive stages may be driven by the Gm-C stage. Consequently, once one has chosen a Gm-C first stage, all proceeding stages must then be Gm-C\u2014unless one places a voltage buffer in-between the Gm-C and an active-RC.<\/p>\n<p>In the case of the Gm-C, the weighed sum of the integrator outputs must be handled by a separate stage. Essentially, each of the k1, k2, k3 gains would be a separate transconductor that can get wire-summed (summing current) to produce the output z. However, with the active-RC, separate summing stages are not required. By adding a resistor feedback to the active-RC stages, we can allow each stage to pass through a linear term, thus creating a weighted sum of the integrator outputs:<\/p>\n<p style=\"center;\"><a href=\"https:\/\/www.circuitdesign.info\/blog\/wp-content\/uploads\/2008\/11\/scan00991.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"0px\" src=\"https:\/\/www.circuitdesign.info\/blog\/wp-content\/uploads\/2008\/11\/scan0099-thumb1.jpg\" border=\"0\" alt=\"scan0099\" width=\"244\" height=\"96\" \/><\/a><\/p>\n<p>For your clarity and my sanity, I have excluded the resonant \u03b3 term. The overall transfer function is<\/p>\n<p align=\"center\">(1\/(sC2R1))\u00d7(R3\/R2 + 1\/(sC3R2))\u00d7(R5\/R4 + 1\/(sC5R4))<\/p>\n<p>Which is of the original form<\/p>\n<p align=\"center\">(K<sub>1<\/sub>s<sup>2<\/sup> + K<sub>2<\/sub>s + K<sub>3<\/sub>)\/s<sup>3<\/sup><\/p>\n<p>Ideally, one would like the best of both worlds: the ability for the DAC current to bypass the op-amp as in the Gm-C, the voltage-mode output of the active-RC, and the direct weighted sum of the active-RC. It turns out that one can do so by developing a floating DAC that directly sums on the capacitor C1 in the active-RC. To do so, one actually builds two complementary DAC\u2019s that in unison drive each side of the capacitors C1:<\/p>\n<p style=\"center;\"><a href=\"https:\/\/www.circuitdesign.info\/blog\/wp-content\/uploads\/2008\/11\/scan00951.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"0px\" src=\"https:\/\/www.circuitdesign.info\/blog\/wp-content\/uploads\/2008\/11\/scan0095-thumb1.jpg\" border=\"0\" alt=\"scan0095\" width=\"244\" height=\"178\" \/><\/a><\/p>\n<p>Of course, these DAC\u2019s will not exactly match each other. However, the beauty of this configuration is that when the DAC\u2019s do mismatch, the op-amp can source\/sink the current. Nonetheless, if the DAC\u2019s match to 40 dB, we have reduced the high-frequency current demands on the op-amp by 40 dB and increased the linearity by 40 dB.<\/p>\n<p>I had initially thought that this DAC summation method was a novel idea. I don\u2019t have a reference for it, but I am informed that it falls into the class of ideas that are so old they are new.<\/p>\n<p>In the future, I will post another trick one can do to the noise-shaping filter (in combination with what I\u2019ve shown here) that linearizes the continuous-time sigma-delta. Consider subscribing via <a title=\"CircuitDesign.info RSS\/Atom feed\" href=\"https:\/\/www.circuitdesign.info\/blog\/feed\/\" target=\"_blank\">RSS<\/a> or <a title=\"email subscription via FeedBurner\" href=\"http:\/\/www.feedburner.com\/fb\/a\/emailverifySubmit?feedId=2104282&amp;loc=en_US\" target=\"_blank\">email<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The continuous-time sigma-delta (CTSD) analog-to-digital converter (ADC) is a class of sigma-delta analog-to-digital converters that utilize a continuous-time noise-shaping filter (NSF | H(s)). In this post, I analyze a few noise-shaping filter (NSF) architectures that affect highly linear CTSD ADC\u2019s.<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3],"tags":[102,19,48,103,26,105,44],"class_list":["post-407","post","type-post","status-publish","format-standard","hentry","category-analog-pro","tag-active-rc","tag-adc","tag-continuous-time","tag-gm-c","tag-linearity","tag-noise-shaping-filter","tag-sigma-delta"],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/poCEy-6z","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.circuitdesign.info\/blog\/wp-json\/wp\/v2\/posts\/407","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.circuitdesign.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.circuitdesign.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.circuitdesign.info\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.circuitdesign.info\/blog\/wp-json\/wp\/v2\/comments?post=407"}],"version-history":[{"count":7,"href":"https:\/\/www.circuitdesign.info\/blog\/wp-json\/wp\/v2\/posts\/407\/revisions"}],"predecessor-version":[{"id":418,"href":"https:\/\/www.circuitdesign.info\/blog\/wp-json\/wp\/v2\/posts\/407\/revisions\/418"}],"wp:attachment":[{"href":"https:\/\/www.circuitdesign.info\/blog\/wp-json\/wp\/v2\/media?parent=407"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.circuitdesign.info\/blog\/wp-json\/wp\/v2\/categories?post=407"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.circuitdesign.info\/blog\/wp-json\/wp\/v2\/tags?post=407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}