adc.c
来自「包含有各种各样的数字信号处理经典算法源代码,很有用的.」· C语言 代码 · 共 29 行
C
29 行
/* adc.c - successive approximation A/D converter */#include <math.h>double dac();int u();void adc(x, b, B, R)double x, R;int *b, B;{ int i; double y, xQ, Q; Q = R / pow(2, B); /* quantization width \(Q=R/2\sp{B}\) */ y = x + Q/2; /* rounding */ for (i = 0; i < B; i++) /* initialize bit vector */ b[i] = 0; b[0] = 1 - u(y); /* determine MSB */ for (i = 1; i < B; i++) { /* loop starts with \(i=1\) */ b[i] = 1; /* turn \(i\)th bit ON */ xQ = dac(b, B, R); /* compute DAC output */ b[i] = u(y-xQ); /* test and correct bit */ }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?