adc_c.mht

来自「常用的DSP算法集锦」· MHT 代码 · 共 50 行

MHT
50
字号
From: <由 Microsoft Internet Explorer 5 保存>
Subject: 
Date: Wed, 27 Sep 2006 22:32:49 +0800
MIME-Version: 1.0
Content-Type: text/html;
	charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.oxbad.com/DSP/maindoc/arithmetic_source/c/ADC.C
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2962

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dgb2312">
<META content=3D"MSHTML 6.00.2900.2963" name=3DGENERATOR></HEAD>
<BODY><PRE>/* adc.c  -  successive approximation A/D converter */

#include &lt;math.h&gt;

double dac();
int u();

void adc(x, b, B, R)
double x, R;
int *b, B;
{
       int i;
       double y, xQ, Q;

       Q =3D R / pow(2, B);                        /* quantization width =
\(Q=3DR/2\sp{B}\) */
       y =3D x + Q/2;                              /* rounding */

       for (i =3D 0; i &lt; B; i++)                   /* initialize bit =
vector */
              b[i] =3D 0;

       b[0] =3D 1 - u(y);                          /* determine MSB */

       for (i =3D 1; i &lt; B; i++) {                 /* loop starts =
with \(i=3D1\) */
              b[i] =3D 1;                          /* turn \(i\)th bit =
ON */
              xQ =3D dac(b, B, R);                 /* compute DAC output =
*/
              b[i] =3D u(y-xQ);                    /* test and correct =
bit */
              }
}
</PRE></BODY></HTML>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?