CN104660260B - Adc的自适应滤波数字校准电路和方法 - Google Patents
Adc的自适应滤波数字校准电路和方法 Download PDFInfo
- Publication number
- CN104660260B CN104660260B CN201510067902.1A CN201510067902A CN104660260B CN 104660260 B CN104660260 B CN 104660260B CN 201510067902 A CN201510067902 A CN 201510067902A CN 104660260 B CN104660260 B CN 104660260B
- Authority
- CN
- China
- Prior art keywords
- value
- gain
- update
- slope
- original binary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001914 filtration Methods 0.000 title claims abstract description 37
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 27
- 230000008859 change Effects 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000000295 complement effect Effects 0.000 claims description 8
- 229940047812 adderall Drugs 0.000 claims description 4
- 230000014509 gene expression Effects 0.000 claims description 4
- 210000001367 artery Anatomy 0.000 claims 2
- 238000004080 punching Methods 0.000 claims 2
- 210000003462 vein Anatomy 0.000 claims 2
- 108091022873 acetoacetate decarboxylase Proteins 0.000 description 29
- 230000003044 adaptive effect Effects 0.000 description 8
- 230000006872 improvement Effects 0.000 description 6
- 238000000465 moulding Methods 0.000 description 3
- 230000003252 repetitive effect Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 101710096655 Probable acetoacetate decarboxylase 1 Proteins 0.000 description 1
- 101100434411 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ADH1 gene Proteins 0.000 description 1
- 101150102866 adc1 gene Proteins 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000003245 working effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/10—Calibration or testing
- H03M1/1009—Calibration
- H03M1/1033—Calibration over the full range of the converter, e.g. for correcting differential non-linearity
- H03M1/1038—Calibration over the full range of the converter, e.g. for correcting differential non-linearity by storing corrected or correction values in one or more digital look-up tables
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/10—Calibration or testing
- H03M1/1009—Calibration
- H03M1/1014—Calibration at one point of the transfer characteristic, i.e. by adjusting a single reference value, e.g. bias or gain error
- H03M1/1019—Calibration at one point of the transfer characteristic, i.e. by adjusting a single reference value, e.g. bias or gain error by storing a corrected or correction value in a digital look-up table
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03G—CONTROL OF AMPLIFICATION
- H03G3/00—Gain control in amplifiers or frequency changers
- H03G3/20—Automatic control
- H03G3/30—Automatic control in amplifiers having semiconductor devices
- H03G3/3052—Automatic control in amplifiers having semiconductor devices in bandpass amplifiers (H.F. or I.F.) or in frequency-changers used in a (super)heterodyne receiver
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03006—Arrangements for removing intersymbol interference
- H04L25/03012—Arrangements for removing intersymbol interference operating in the time domain
- H04L25/03019—Arrangements for removing intersymbol interference operating in the time domain adaptive, i.e. capable of adjustment during data reception
- H04L25/03038—Arrangements for removing intersymbol interference operating in the time domain adaptive, i.e. capable of adjustment during data reception with a non-recursive structure
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Nonlinear Science (AREA)
- Filters That Use Time-Delay Elements (AREA)
- Analogue/Digital Conversion (AREA)
Abstract
本发明公开了一种ADC的自适应滤波数字校准电路,包括:控制模块,定点加法器,定点乘法器;控制模块包括:有限状态机,移位寄存器,寄存器阵列;定点加法器实现对加数和被加数编码后相加;控制模块控制控制完成全部校准算法运算操作,校准算法运算操作步骤包括:控制模块控制从外部ADC获取原始二进制值;根据权重和扰动信号计算误差值,并根据误差值进行权重更新和扰动信号更新运算;增益校准运算;进行最后结果运算。本发明还公开了一种ADC的自适应滤波数字校准方法。本发明能提高自适应滤波运算速度以及精度,且具有友好的接口协议,方便嵌入到现有各种ADC逻辑电路中。
Description
技术领域
本发明涉及一种半导体集成电路制造领域,特别是涉及一种ADC的自适应滤波数字校准电路;本发明还涉及一种ADC的自适应滤波数字校准方法。
背景技术
ADC主要的误差来源包括比较器偏移(Offset),电容失配(Mismatch),增益误差(Gain error)等,其中制造带来的DAC电容失配,是不可能避免的,由其引起的ADC输出特性曲线非线性变化,对ADC的性能影响最大。传统的模拟改善方式有采用大电容单元,但带来面积,功耗的开销。或是采用小电容阵列来代替大电容阵列,来改善ADC的线性特性,但这种方式会增加控制难度,降低ADC速度。采用自适应滤波算法的数字校准方式,正在成为校准电容失配的主流技术。现有自适应滤波算法中一般通过将ADC的输出信号和另一高精度的ADC输出信号进行比较得到误差值,根据误差值对权重进行修正,重复运算最后使得ADC的输出信号得到校准。
发明内容
本发明所要解决的技术问题是提供一种ADC的自适应滤波数字校准电路,能提高自适应滤波运算速度以及精度,且具有友好的接口协议,方便嵌入到现有各种ADC逻辑电路中。为此,本发明还提供一种ADC的自适应滤波数字校准方法。
为解决上述技术问题,本发明提供的ADC的自适应滤波数字校准电路包括:控制模块,多个定点加法器,定点乘法器;所述控制模块包括:有限状态机,移位寄存器,寄存器阵列。
多个所述定点加法器用于实现并行加法运算,各所述定点加法器都分别包括3个输入端和2个输出端,3个输入端分别输入加数、被加数和数据编码指示信号,1个输出端输出数据溢出指示信号,另1个输出端输出加法运算结果,所述数据编码指示信号由所述有限状态机提供并包括4位,所述加数和所述被加数分别在所述数据编码指示信号的2位信号的控制下进行格式变化、所述定点加法器对格式变化后的所述加数和所述被加数进行加法运算。
所述控制模块控制整个所述自适应滤波数字校准电路的工作状态并控制完成全部校准算法运算操作,校准算法运算操作步骤包括:
步骤一、所述控制模块控制从所述外部ADC获取第一个原始二进制值,在校准使能信号为使能状态时,接着获取第二个原始二进制值,之后进行步骤二;在校准使能信号为非使能状态时,所述控制模块控制获取第一个原始二进制值后直接进入步骤四。
步骤二、根据权重和扰动信号计算误差值,并根据误差值进行权重更新和扰动信号更新运算,完成更新运算后,判断是否已经过M次更新运算,M大于1;如果已经经过M次更新运算,则判断误差值是否小于2LSB,如果误差值小于2LSB则进入增益校准运算并以更新后的权重为最优权重,否则直接停止运算并在所述控制模块的error端口输出一个周期的高脉冲;如果更新运算次数小于M,则重新进行步骤一。
步骤三、增益校准运算,首先计算最优权重和,之后进行增益修正运算,不断调整ADC输出特性曲线增益系数,一直到增益误差小于2LSB,之后进入步骤四。
步骤四、进行最后结果运算,最后结果运算为采样最优权重对所述第一个原始二进制值的各位进行带权重相加,获得求和值后乘以增益系数,最后结果运算之后从所述控制模块的bincode端口给出数据结果,并从eoc端口输出一个周期的高脉冲信号。
进一步的改进是,步骤二中所述误差值的计算公式为:
其中[]补表示采用补码表示,error表示误差值,k表示所述第一个原始二进制值和所述第二个原始二进制值的位数,bi+表示所述第一个原始二进制值的第i位的值,bi-表示所述第二个原始二进制值的第i位的值;Wi表示所述第一个原始二进制值的第i位所对应的权重值,所述第一个原始二进制值和所述第二个原始二进制值的第i位所对应的权重值相同,diff表示扰动信号的值。
所述误差值的计算中的加法运算采用多个所述定点加法器进行并行运算得到,加法运算中操作数为Wi时所对应的两位所述数据编码指示信号值为{bi+,bi-},加法运算中操作数为diff时所对应的两位所述数据编码指示信号值为01。
通过所述移位寄存器进行左移一位操作来实现乘2。
进一步的改进是,步骤二中所述权重更新公式为:
[Wi(n+1)]补=[Wi(n)]补+U×[-(bi+-bi-)×error(n)]补;
Wi(n)表示所述第一个原始二进制值的第i位所对应的第n次更新前的权重值,error(n)表示第n次更新前的误差值,Wi(n+1)表示所述第一个原始二进制值的第i位所对应的第n次更新后的权重值,所述权重更新公式适用于i的取值为0到k-1的权重,Wk为最高位权重值,Wk初始值为固定值且更新时不改变,i的取值为0到k-1的权重Wi的初始值的都为0;U为收敛因子;所述权重更新运算中操作数为error(n)时所对应的两位所述数据编码指示信号值为{bi-,bi+},操作数为Wi(n)时所对应的两位所述数据编码指示信号值为10。
步骤二中所述扰动信号更新公式为:
[diff(n+1)]补=[diff(n)]补+U×[error(n)]补;
diff(n)表示第n次更新前的所述扰动信号值,diff(n+1)表示第n次更新后的所述扰动信号值;所述扰动信号更新中加数和被加数的两位所述数据编码指示信号值为10。
进一步的改进是,步骤三的所述增益校准运算的计算最优权重和的公式为:
Wiopt表示所述第一个原始二进制值的第i位所对应的最优权重值,k表示所述第一个原始二进制值和所述第二个原始二进制值的位数,sum_Wquant表示最优权重和。
进一步的改进是,步骤三中的所述增益校准运算的增益修正运算包括如下分步骤:
步骤31、在所述控制模块的控制下由所述定点乘法器完成如下求积运算:
sum_temp=slope×sum_wqusnt;
slope表示增益修正系数,sum_temp表示增益修正系数带权重积。
步骤32、在所述控制模块的控制下由一个所述定点加法器完成如下增益修正误差计算:
[slope_err]补=16383+[-sum_temp]补;
slope_err表示增益修正误差;操作数为sum_temp时所对应的两位所述数据编码指示信号值为01;如果计算所得的slope_err小于2LSB说明已经找到增益修正系数,直接进入步骤四,否则进入步骤33。
步骤33、更新增益修正系数,采用如下公式进行更新:
[slope(m+1)]补=[slope(m)]补+[slope_err(m)×0.5]补×2.44×10-4;
slope(m)表示第m次更新前的误差值增益修正系数,slope(m+1)表示第m次更新后的误差值增益修正系数,slope_err(m)表示第m次更新前的增益修正误差;slope_err(m)通过所述移位寄存器先完成右移13位,加法中操作数slope(m)和slope_err(m)所对应的两位所述数据编码指示信号值都为10;增益修正系数更新后反回到步骤31。
进一步的改进是,步骤四进行最后结果运算的公式为:
result表示最后结果,k表示所述第一个原始二进制值的位数,当校准使能信号不使能时bi表示所述第一个原始二进制值的第i位的值,当校准使能信号使能时bi表示所述第一个原始二进制值和所述第二个原始二进制值的和的第i位数,Wiopt表示所述第一个原始二进制值的第i位所对应的最优权重值,slope表示所述增益调整系数;所述最后结果运算的计算中的加法运算采用多个所述定点加法器进行并行运算得到,加法运算中操作数为Wiopt时所对应的两位所述数据编码指示信号值为由bi决定,bi为1时,对应的两位所述数据编码指示信号值为10,否则为00,计算中乘法运算用所述定点乘法器运算得到。
为解决上述技术问题,本发明提供的ADC的自适应滤波数字校准方法采用自适应滤波数字校准电路进行校准,自适应滤波数字校准电路包括:控制模块,多个定点加法器,定点乘法器;所述控制模块包括:有限状态机,移位寄存器,寄存器阵列。
多个所述定点加法器用于实现并行加法运算,各所述定点加法器都分别包括3个输入端和2个输出端,3个输入端分别输入加数、被加数和数据编码指示信号,1个输出端输出数据溢出指示信号,另1个输出端输出加法运算结果,所述数据编码指示信号由所述有限状态机提供并包括4位,所述加数和所述被加数分别在所述数据编码指示信号的2位信号的控制下进行格式变化、所述定点加法器对格式变化后的所述加数和所述被加数进行加法运算。
所述控制模块控制整个所述自适应滤波数字校准电路的工作状态并控制完成全部校准算法运算操作,校准算法运算操作步骤包括:
步骤一、所述控制模块控制从所述外部ADC获取第一个原始二进制值,在校准使能信号为使能状态时,接着获取第二个原始二进制值,之后进行步骤二;在校准使能信号为非使能状态时,所述控制模块控制获取第一个原始二进制值后直接进入步骤四。
步骤二、根据权重和扰动信号计算误差值,并根据误差值进行权重更新和扰动信号更新运算,完成更新运算后,判断是否已经过M次更新运算,M大于1;如果已经经过M次更新运算,则判断误差值是否小于2LSB,如果误差值小于2LSB则进入增益校准运算并以更新后的权重为最优权重,否则直接停止运算并在所述控制模块的error端口输出一个周期的高脉冲;如果更新运算次数小于M,则重新进行步骤一。
步骤三、增益校准运算,首先计算最优权重和,之后进行增益修正运算,不断调整ADC输出特性曲线增益系数,一直到增益误差小于2LSB,之后进入步骤四。
步骤四、进行最后结果运算,最后结果运算为采样最优权重对所述第一个原始二进制值的各位进行带权重相加,获得求和值后乘以增益系数,最后结果运算之后从所述控制模块的bincode端口给出数据结果,并从eoc端口输出一个周期的高脉冲信号。
本发明具有如下有益效果:
1、采用简单定点加法器,优化自适应滤波算法更方便电路实现,在控制单元的控制下高效的进行并行运算,快速完成自适应滤波算法运算,完成高精度ADC的各位最优权重值的校准,实现ADC输出特性曲线的线性化。
2、增加单周期定点乘法运算器,在完成各最优权重校准后,自动完成增益误差校准,调整ADC输出特性曲线为二进制结果特性曲线,支持非二进制电容阵列的使用,极大的提高ADC的精度和使用范围。
3、本发明数字校准电路为独立的算法电路模块,具有友好的接口协议,方便嵌入到现有的ADC逻辑(logic)电路中。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明:
图1是本发明实施例ADC的自适应滤波数字校准电路图;
图2是图1中的加法器的实现框图;
图3是本发明实施例方法的流程图。
具体实施方式
如图1所示,是本发明实施例ADC的自适应滤波数字校准电路2图;本发明实施例ADC的自适应滤波数字校准电路2包括:控制模块(controller)4,多个定点加法器(adder)8,定点乘法器(multiplier)9,本发明实施例中采用了两个定点加法器8,图1中分别显示为定点加法器一和定点加法器二;所述控制模块4包括:有限状态机(FSM)5,移位寄存器(shift)7,寄存器阵列(Register array)6;本发明实施例中移位寄存器7共有4个分别显示为shift1、shift2、shift2和shift4。
多个所述定点加法器8用于实现并行加法运算,如图2所示,是图1中的加法器的实现框图;各所述定点加法器8都为单周期有符号定点加法器,都分别包括3个输入端和2个输出端,3个输入端分别输入加数add_da、被加数add_db和数据编码指示信号code[3:0],1个输出端输出数据溢出指示信号ov,另1个输出端输出加法运算结果,所述数据编码指示信号code[3:0]由所述有限状态机5提供并包括4位,所述加数add_da和所述被加数add_db分别在所述数据编码指示信号code[3:0]的2位信号的控制下进行格式变化、所述定点加法器8对格式变化后的所述加数add_da和所述被加数add_db进行加法运算。如图2中所示可知,所述定点加法器8包括了2个编码器(code data)8a和一个加法器8b,2个编码器8a分别显示为code data1和code data2,所述加数add_da和所述被加数add_db分别输入到一个编码器8a中,加数add_da输入到code data1中,被加数add_db输入到code data2中,所述数据编码指示信号的前位即code[1:0]输入到code data1用于对加数add_da进行编码形成信号data1,所述数据编码指示信号的后两位即code[3:2]输入到code data2用于对加数add_db进行编码形成信号data2,加法器即adder8b对data1和data2进行相加形成相加结果输出。
表一
code[1:0] | data11 |
00or 11 | 0 |
01 | [-add_da]补 |
10 | [add_da]补 |
本发明实施例中code data1的编码规则如表一所示,当code[1:0]为00或11时,data11为0;当code[1:0]为01时,data11为[-add_da]补,[]补表示补码;当code[1:0]为10时,data11为[add_da]补。
表二
code[3:2] | data12 |
00or 11 | 0 |
01 | [-add_db]补 |
10 | [add_db]补 |
本发明实施例中code data12的编码规则如表二所示,当code[3:2]为00或11时,data12为0;当code[3:2]为01时,data12为[-add_db]补;当code[3:2]为10时,data12为[add_db]补。
图1中定点加法器一对应的输入输出数据都在后面加了1,如code1[3:0],add1_da,add1_db,ov1,result1;定点加法器二对应的输入输出数据都在后面加了2,如code2[3:0],add2_da,add2_db,ov2,result2。图1中,add1_da,add1_db,add2_da,add2_db分别由存储于寄存器阵列6中的数据data1,data2,data3,data4经过一个移位寄存器7后输入。所述定点乘法器9为有符号单周期定点乘法器,两个输入端分别从存储于寄存器阵列6输入两个数据即乘数mul_da和被乘数mul_db,输出端输出数据result3。移位寄存器7由FSM5输出的控制信号s_state控制,FSM5还输出所述数据编码指示信号code1和code2。
本发明实施例中两个定点加法器8都为单周期有符号定点加法器,完成自适应滤波算法的加法运算addx_da,addx_db分别是加数和被加数,codex数据编码指示信号,ovx数据溢出指示信号。
本发明实施例中,控制模块4信号rawdy信号抬高后,完成原始二进制值raw_data的获取,之后控制整个电路的工作状态。控制完成全部算法运算操作,完成之后输出一个时钟周期的信号eoc以及校准后的正确12为结果信号bincode。信号reset为系统复位信号,信号clk为工作时钟信号,信号state为状态指示信号,信号calen是校准使能信号,根据工作状态有效的协调定点加法器一和二以及乘法器三个运算单元并行工作,快速完成算法运算。本发明实施例中所有的数据运算精度28bit。
如图3所示,是本发明实施例方法的流程图,所述控制模块4控制整个所述自适应滤波数字校准电路2的工作状态并控制完成全部校准算法运算操作,校准算法运算操作步骤包括:
步骤一、自适应算法运算开始前,外部ADC 1提供无校准的原始二进制值raw_data,原始二进制值raw_data为14bit数据,表示为raw_data[13:0];当信号calen为低时,只获取一次原始14bit数据,直接进入计算结果运算。如果信号calen为高时,需要完成两次数据采集分别是raw_data1(增加一扰动分量),raw_data2(减去一扰动分量),开始启动算法运算。也即所述控制模块4控制从所述外部ADC1获取第一个原始二进制值raw_data,,在校准使能信号为使能状态即信号calen为高时,接着获取第二个原始二进制值,之后进行步骤二;在校准使能信号为非使能状态即信号calen为低时,所述控制模块4控制获取第一个原始二进制值后直接进入步骤四。
步骤二、根据权重和扰动信号计算误差值,并根据误差值进行权重更新和扰动信号更新运算,完成更新运算后,判断是否已经过M次更新运算,M大于1;如果已经经过M次更新运算,则判断误差值是否小于2LSB,如果误差值小于2LSB则进入增益校准运算并以更新后的权重为最优权重,否则直接停止运算并在所述控制模块4的error端口输出一个周期的高脉冲;如果更新运算次数小于M,则重新进行步骤一。
21、所述误差值的计算公式为:
其中[]补表示采用补码表示,error表示误差值,k表示所述第一个原始二进制值和所述第二个原始二进制值的位数,由于本发明实施例中原始二进制值raw_data为14bit数据,故k为14;bi+表示所述第一个原始二进制值的第i位的值,bi-表示所述第二个原始二进制值的第i位的值;Wi表示所述第一个原始二进制值的第i位所对应的权重值,所述第一个原始二进制值和所述第二个原始二进制值的第i位所对应的权重值相同,diff表示扰动信号的值。
所述误差值的计算中一共需要完成14次加法运算,14次加法运算采用2个所述定点加法器8进行并行运算完成,加法运算中操作数为Wi时所对应的两位所述数据编码指示信号值为{bi+,bi-},加法运算中操作数为diff时所对应的两位所述数据编码指示信号值为01。操作数为Wi和diff通过所述移位寄存器7进行左移一位操作来实现乘2。
上述运算中,[]补表示采用补码表示,即所有数据在进行加法运算都是补码格式,方便在加法器实现数据的加减法运算,所有的中间数值,都是补码格式。
22、所述权重更新公式为:
[Wi(n+1)]补=[Wi(n)]补+U×[-(bi+-bi-)×error(n)]补;
Wi(n)表示所述第一个原始二进制值的第i位所对应的第n次更新前的权重值,error(n)表示第n次更新前的误差值,Wi(n+1)表示所述第一个原始二进制值的第i位所对应的第n次更新后的权重值;也即带n的参数表示上次参与误差运算时使用的参数。本发明实施例中,所述权重更新共需要14次定点加法运算,14次加法运算在控制模块的控制下由个加法器并行完成。
所述权重更新公式适用于i的取值为0到k-1的权重,Wk为最高位权重值,Wk初始值为固定值且更新时不改变,i的取值为0到k-1的权重Wi的初始值的都为0,也即W13初始值为固定值且更新时不改变,W12至W0的初始值都为0。
U为收敛因子,本发明实施例中收敛因子u选取固定步为(0.000001)2,对应操作数即error从寄存器6输出时,在s_state信号的控制下先作右移6位操作。
所述权重更新运算中操作数为error(n)时所对应的两位所述数据编码指示信号值为{bi-,bi+},操作数为Wi(n)时所对应的两位所述数据编码指示信号值为10。
所述扰动信号更新公式为:
[diff(n+1)]补=[diff(n)]补+U×[error(n)]补;
diff(n)表示第n次更新前的所述扰动信号值,diff(n+1)表示第n次更新后的所述扰动信号值;所述扰动信号更新中加数和被加数的两位所述数据编码指示信号值为10。
完成权重更新和扰动分量值即扰动信号更新后,如果整个算法重复过程小于M次,重新回到获取原始14bit数据,进行误差error计算,权重与扰动分量值更新。如果整个算法重复过程次数大于等于M次,误差error值小于2LSB,说明已经获取到最优权重,进入增益校准运算,如果已经获取ADC输出特性曲线增益调整系数slope,直接进入结果运算。如果error值大于2LSB端口信号error输出一个时钟周期的高脉冲信号。
步骤三、增益校准运算,首先计算最优权重和,之后进行增益修正运算,不断调整ADC输出特性曲线增益系数,一直到增益误差小于2LSB,之后进入步骤四。
所述增益校准运算的计算最优权重和的公式为:
Wiopt表示所述第一个原始二进制值的第i位所对应的最优权重值,k表示所述第一个原始二进制值和所述第二个原始二进制值的位数,sum_Wquant表示最优权重和。
所述增益校准运算的增益修正运算包括如下分步骤:
步骤31、在所述控制模块4的控制下由所述定点乘法器9完成如下求积运算:
sum_temp=slope×sum_wqusnt;
slope表示增益修正系数,sum_temp表示增益修正系数带权重积。
步骤32、在所述控制模块4的控制下由一个所述定点加法器8完成如下增益修正误差计算:
[slope_err]补=16383+[-sum_temp]补;
slope_err表示增益修正误差;操作数为sum_temp时所对应的两位所述数据编码指示信号值为01;如果计算所得的slope_err小于2LSB说明已经找到增益修正系数,直接进入步骤四,否则进入步骤33。
步骤33、更新增益修正系数,采用如下公式进行更新:
[slope(m+1)]补=[slope(m)]补+[slope_err(m)×0.5]补×2.44×10-4;
slope(m)表示第m次更新前的误差值增益修正系数,slope(m+1)表示第m次更新后的误差值增益修正系数,slope_err(m)表示第m次更新前的增益修正误差;slope_err(m)在s_state的控制下通过所述移位寄存器7先完成右移13位,加法中操作数slope(m)和slope_err(m)所对应的两位所述数据编码指示信号值都为10;增益修正系数更新后反回到步骤31。
步骤四、进行最后结果运算,最后结果运算为采样最优权重对所述第一个原始二进制值的各位进行带权重相加,获得求和值后乘以增益系数,最后结果运算之后从所述控制模块4的bincode端口给出数据结果,并从eoc端口输出一个周期的高脉冲信号。
进行最后结果运算的公式为:
result表示最后结果,k表示所述第一个原始二进制值的位数,当校准使能信号不使能时bi表示所述第一个原始二进制值的第i位的值,当校准使能信号使能时bi表示所述第一个原始二进制值和所述第二个原始二进制值的和的第i位数,Wiopt表示所述第一个原始二进制值的第i位所对应的最优权重值,slope表示所述增益调整系数;最后bincode选取result的第24位到13位作为输出。最后结果运算中一共需要13次定点加法运算,所述最后结果运算的计算中的加法运算采用多个所述定点加法器8进行并行运算得到,加法运算中操作数为Wiopt时所对应的两位所述数据编码指示信号值为由bi+决定,bi+为1时,对应的两位所述数据编码指示信号值为10,否则为00;计算中乘法运算用所述定点乘法器运算得到。
以上通过具体实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
Claims (12)
1.一种ADC的自适应滤波数字校准电路,其特征在于,自适应滤波数字校准电路包括:控制模块,多个定点加法器,定点乘法器;所述控制模块包括:有限状态机,移位寄存器,寄存器阵列;
多个所述定点加法器用于实现并行加法运算,各所述定点加法器都分别包括3个输入端和2个输出端,3个输入端分别输入加数、被加数和数据编码指示信号,1个输出端输出数据溢出指示信号,另1个输出端输出加法运算结果,所述数据编码指示信号由所述有限状态机提供并包括4位,所述加数和所述被加数分别在所述数据编码指示信号的2位信号的控制下进行格式变化、所述定点加法器对格式变化后的所述加数和所述被加数进行加法运算;
所述控制模块控制整个所述自适应滤波数字校准电路的工作状态并控制完成全部校准算法运算操作,校准算法运算操作步骤包括:
步骤一、所述控制模块控制从外部ADC获取第一个原始二进制值,在校准使能信号为使能状态时,接着获取第二个原始二进制值,之后进行步骤二;在校准使能信号为非使能状态时,所述控制模块控制获取第一个原始二进制值后直接进入步骤四;
步骤二、根据权重和扰动信号计算误差值,并根据误差值进行权重更新和扰动信号更新运算,完成更新运算后,判断是否已经过M次更新运算,M大于1;如果已经经过M次更新运算,则判断误差值是否小于2LSB,如果误差值小于2LSB则进入增益校准运算并以更新后的权重为最优权重,否则直接停止运算并在所述控制模块的error端口输出一个周期的高脉冲,所述error端口为校准算法运算失败信号输出端口;如果更新运算次数小于M,则重新进行步骤一;
步骤三、增益校准运算,首先计算最优权重和,之后进行增益修正运算,不断调整ADC输出特性曲线增益系数,一直到增益误差小于2LSB,之后进入步骤四;
步骤四、进行最后结果运算,最后结果运算为采用最优权重对所述第一个原始二进制值的各位进行带权重相加,获得求和值后乘以增益系数,最后结果运算之后从所述控制模块的bincode端口给出数据结果,并从eoc端口输出一个周期的高脉冲信号;所述bincode端口为二进制数据结果输出端口,所述eoc端口为校准算法运算结束信号端口。
2.如权利要求1所述的ADC的自适应滤波数字校准电路,其特征在于:步骤二中所述误差值的计算公式为:
其中[]补表示采用补码表示,error表示误差值,k表示所述第一个原始二进制值和所述第二个原始二进制值的位数,bi+表示所述第一个原始二进制值的第i位的值,bi-表示所述第二个原始二进制值的第i位的值;Wi表示所述第一个原始二进制值的第i位所对应的权重值,所述第一个原始二进制值和所述第二个原始二进制值的第i位所对应的权重值相同,diff表示扰动信号的值;
所述误差值的计算中的加法运算采用多个所述定点加法器进行并行运算得到,加法运算中操作数为Wi时所对应的两位所述数据编码指示信号值为{bi+,bi-},加法运算中操作数为diff时所对应的两位所述数据编码指示信号值为01;
通过所述移位寄存器进行左移一位操作来实现乘2。
3.如权利要求2所述的ADC的自适应滤波数字校准电路,其特征在于:步骤二中所述权重更新公式为:
Wi(n)表示所述第一个原始二进制值的第i位所对应的第n次更新前的权重值,error(n)表示第n次更新前的误差值,Wi(n+1)表示所述第一个原始二进制值的第i位所对应的第n次更新后的权重值,所述权重更新公式适用于i的取值为0到k-1的权重,Wk为最高位权重值,Wk初始值为固定值且更新时不改变,各位权重Wi的初始值的都为0;U为收敛因子;所述权重更新运算中操作数为error(n)时所对应的两位所述数据编码指示信号值为{bi-,bi+},操作数为Wi(n)时所对应的两位所述数据编码指示信号值为10;
步骤二中所述扰动信号更新公式为:
diff(n)表示第n次更新前的所述扰动信号的值,diff(n+1)表示第n次更新后的所述扰动信号的值;所述扰动信号更新中加数和被加数的两位所述数据编码指示信号值为10。
4.如权利要求1或2所述的ADC的自适应滤波数字校准电路,其特征在于:步骤三的所述增益校准运算的计算最优权重和的公式为:
Wiopt表示所述第一个原始二进制值的第i位所对应的最优权重值,k表示所述第一个原始二进制值和所述第二个原始二进制值的位数,sum_Wquant表示最优权重和。
5.如权利要求4所述的ADC的自适应滤波数字校准电路,其特征在于:步骤三中的所述增益校准运算的增益修正运算包括如下分步骤:
步骤31、在所述控制模块的控制下由所述定点乘法器完成如下求积运算:
sum_temp=slope×sum_Wquant;
slope表示增益修正系数,sum_temp表示增益修正系数带权重积;
步骤32、在所述控制模块的控制下由一个所述定点加法器完成如下增益修正误差计算:
[slope_err]补=16383+[-sum_temp]补;
slope_err表示增益修正误差;操作数为sum_temp时所对应的两位所述数据编码指示信号值为01;如果计算所得的slope_err小于2LSB说明已经找到增益修正系数,直接进入步骤四,否则进入步骤33;
步骤33、更新增益修正系数,采用如下公式进行更新:
[slope(m+1)]补=[slope(m)]补+[slope_err(m)×0.5]补×2.44×10-4;
slope(m)表示第m次更新前的增益修正系数,slope(m+1)表示第m次更新后的增益修正系数,slope_err(m)表示第m次更新前的增益修正误差;slope_err(m)通过所述移位寄存器先完成右移13位,加法中操作数slope(m)和slope_err(m)所对应的两位所述数据编码指示信号值都为10;增益修正系数更新后返回到步骤31。
6.如权利要求1所述的ADC的自适应滤波数字校准电路,其特征在于:步骤四进行最后结果运算的公式为:
result表示最后结果,k表示所述第一个原始二进制值的位数,当校准使能信号不使能时bi表示所述第一个原始二进制值的第i位的值,当校准使能信号使能时bi表示所述第一个原始二进制值和所述第二个原始二进制值的和的第i位数,Wiopt表示所述第一个原始二进制值的第i位所对应的最优权重值,slope表示所述增益修正系数;所述最后结果运算的计算中的加法运算采用多个所述定点加法器进行并行运算得到,加法运算中操作数为Wiopt时所对应的两位所述数据编码指示信号值为由bi决定,bi为1时,对应的两位所述数据编码指示信号值为10,否则为00,计算中乘法运算用所述定点乘法器运算得到。
7.一种ADC的自适应滤波数字校准方法,其特征在于:采用自适应滤波数字校准电路进行校准,自适应滤波数字校准电路包括:控制模块,多个定点加法器,定点乘法器;所述控制模块包括:有限状态机,移位寄存器,寄存器阵列;
多个所述定点加法器用于实现并行加法运算,各所述定点加法器都分别包括3个输入端和2个输出端,3个输入端分别输入加数、被加数和数据编码指示信号,1个输出端输出数据溢出指示信号,另1个输出端输出加法运算结果,所述数据编码指示信号由所述有限状态机提供并包括4位,所述加数和所述被加数分别在所述数据编码指示信号的2位信号的控制下进行格式变化、所述定点加法器对格式变化后的所述加数和所述被加数进行加法运算;
所述控制模块控制整个所述自适应滤波数字校准电路的工作状态并控制完成全部校准算法运算操作,校准算法运算操作步骤包括:
步骤一、所述控制模块控制从外部ADC获取第一个原始二进制值,在校准使能信号为使能状态时,接着获取第二个原始二进制值,之后进行步骤二;在校准使能信号为非使能状态时,所述控制模块控制获取第一个原始二进制值后直接进入步骤四;
步骤二、根据权重和扰动信号计算误差值,并根据误差值进行权重更新和扰动信号更新运算,完成更新运算后,判断是否已经过M次更新运算,M大于1;如果已经经过M次更新运算,则判断误差值是否小于2LSB,如果误差值小于2LSB则进入增益校准运算并以更新后的权重为最优权重,否则直接停止运算并在所述控制模块的error端口输出一个周期的高脉冲,所述error端口为校准算法运算失败信号输出端口;如果更新运算次数小于M,则重新进行步骤一;
步骤三、增益校准运算,首先计算最优权重和,之后进行增益修正运算,不断调整ADC输出特性曲线增益系数,一直到增益误差小于2LSB,之后进入步骤四;
步骤四、进行最后结果运算,最后结果运算为采用最优权重对所述第一个原始二进制值的各位进行带权重相加,获得求和值后乘以增益系数,最后结果运算之后从所述控制模块的bincode端口给出数据结果,并从eoc端口输出一个周期的高脉冲信号;所述bincode端口为二进制数据结果输出端口,所述eoc端口为校准算法运算结束信号端口。
8.如权利要求7所述的ADC的自适应滤波数字校准方法,其特征在于:步骤二中所述误差值的计算公式为:
其中[]补表示采用补码表示,error表示误差值,k表示所述第一个原始二进制值和所述第二个原始二进制值的位数,bi+表示所述第一个原始二进制值的第i位的值,bi-表示所述第二个原始二进制值的第i位的值;Wi表示所述第一个原始二进制值的第i位所对应的权重值,所述第一个原始二进制值和所述第二个原始二进制值的第i位所对应的权重值相同,diff表示扰动信号的值;
所述误差值的计算中的加法运算采用多个所述定点加法器进行并行运算得到,加法运算中操作数为Wi时所对应的两位所述数据编码指示信号值为{bi+,bi-},加法运算中操作数为diff时所对应的两位所述数据编码指示信号值为01;
通过所述移位寄存器进行左移一位操作来实现乘2。
9.如权利要求8所述的ADC的自适应滤波数字校准方法,其特征在于:步骤二中所述权重更新公式为:
Wi(n)表示所述第一个原始二进制值的第i位所对应的第n次更新前的权重值,error(n)表示第n次更新前的误差值,Wi(n+1)表示所述第一个原始二进制值的第i位所对应的第n次更新后的权重值,所述权重更新公式适用于i的取值为0到k-1的权重,Wk为最高位权重值,Wk初始值为固定值且更新时不改变,各位权重Wi的初始值的都为0;U为收敛因子;所述权重更新运算中操作数为error(n)时所对应的两位所述数据编码指示信号值为{bi-,bi+},操作数为Wi(n)时所对应的两位所述数据编码指示信号值为10;
步骤二中所述扰动信号更新公式为:
diff(n)表示第n次更新前的所述扰动信号的值,diff(n+1)表示第n次更新后的所述扰动信号的值;所述扰动信号更新中加数和被加数的两位所述数据编码指示信号值为10。
10.如权利要求7或8所述的ADC的自适应滤波数字校准方法,其特征在于:步骤三的所述增益校准运算的计算最优权重和的公式为:
Wiopt表示所述第一个原始二进制值的第i位所对应的最优权重值,k表示所述第一个原始二进制值和所述第二个原始二进制值的位数,sum_Wquant表示最优权重和。
11.如权利要求10所述的ADC的自适应滤波数字校准方法,其特征在于:步骤三中的所述增益校准运算的增益修正运算包括如下分步骤:
步骤31、在所述控制模块的控制下由所述定点乘法器完成如下求积运算:
sum_temp=slope×sum_Wquant;
slope表示增益修正系数,sum_temp表示增益修正系数带权重积;
步骤32、在所述控制模块的控制下由一个所述定点加法器完成如下增益修正误差计算:
[slope_err]补=16383+[-sum_temp]补;
slope_err表示增益修正误差;操作数为sum_temp时所对应的两位所述数据编码指示信号值为01;如果计算所得的slope_err小于2LSB说明已经找到增益修正系数,直接进入步骤四,否则进入步骤33;
步骤33、更新增益修正系数,采用如下公式进行更新:
[slope(m+1)]补=[slope(m)]补+[slope_err(m)×0.5]补×2.44×10-4;
slope(m)表示第m次更新前的增益修正系数,slope(m+1)表示第m次更新后的增益修正系数,slope_err(m)表示第m次更新前的增益修正误差;slope_err(m)通过所述移位寄存器先完成右移13位,加法中操作数slope(m)和slope_err(m)所对应的两位所述数据编码指示信号值都为10;增益修正系数更新后返回到步骤31。
12.如权利要求7所述的ADC的自适应滤波数字校准方法,其特征在于:步骤四进行最后结果运算的公式为:
result表示最后结果,k表示所述第一个原始二进制值的位数,当校准使能信号不使能时bi表示所述第一个原始二进制值的第i位的值,当校准使能信号使能时bi表示所述第一个原始二进制值和所述第二个原始二进制值的和的第i位数,Wiopt表示所述第一个原始二进制值的第i位所对应的最优权重值,slope表示所述增益修正系数;所述最后结果运算的计算中的加法运算采用多个所述定点加法器进行并行运算得到,加法运算中操作数为Wiopt时所对应的两位所述数据编码指示信号值为由bi决定,bi为1时,对应的两位所述数据编码指示信号值为10,否则为00,计算中乘法运算用所述定点乘法器运算得到。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510067902.1A CN104660260B (zh) | 2015-02-10 | 2015-02-10 | Adc的自适应滤波数字校准电路和方法 |
US14/984,096 US9571116B2 (en) | 2015-02-10 | 2015-12-30 | Circuit and method of adaptive filtering digital calibration of ADC |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510067902.1A CN104660260B (zh) | 2015-02-10 | 2015-02-10 | Adc的自适应滤波数字校准电路和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104660260A CN104660260A (zh) | 2015-05-27 |
CN104660260B true CN104660260B (zh) | 2018-06-19 |
Family
ID=53251017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510067902.1A Active CN104660260B (zh) | 2015-02-10 | 2015-02-10 | Adc的自适应滤波数字校准电路和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9571116B2 (zh) |
CN (1) | CN104660260B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104767524B (zh) * | 2015-04-17 | 2018-06-19 | 上海华虹宏力半导体制造有限公司 | Adc自适应滤波数字校准方法 |
CN108988860B (zh) * | 2017-05-31 | 2022-08-09 | 深圳市中兴微电子技术有限公司 | 一种基于sar adc的校准方法及sar adc系统 |
CN111130546B (zh) * | 2019-12-31 | 2023-04-07 | 无锡矽杰微电子有限公司 | 基于硬件二分法的adc自动校准方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741382A (zh) * | 2009-11-19 | 2010-06-16 | 复旦大学 | 一种宽带频率综合器的低误差高速频率自动校准电路 |
CN103973306A (zh) * | 2014-04-04 | 2014-08-06 | 华南理工大学 | 一种流水线adc的后台数字校准装置及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5589881A (en) * | 1994-11-09 | 1996-12-31 | The Regents Of The Univ. Of California Office Of Technology Transfer | Enhanced performance CCD output amplifier |
US5859881A (en) * | 1996-06-07 | 1999-01-12 | International Business Machines Corporation | Adaptive filtering method and apparatus to compensate for a frequency difference between two clock sources |
TWI489784B (zh) * | 2012-03-16 | 2015-06-21 | Ind Tech Res Inst | 時間交錯式類比數位轉換器之時序校正電路及時序校正方法 |
-
2015
- 2015-02-10 CN CN201510067902.1A patent/CN104660260B/zh active Active
- 2015-12-30 US US14/984,096 patent/US9571116B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741382A (zh) * | 2009-11-19 | 2010-06-16 | 复旦大学 | 一种宽带频率综合器的低误差高速频率自动校准电路 |
CN103973306A (zh) * | 2014-04-04 | 2014-08-06 | 华南理工大学 | 一种流水线adc的后台数字校准装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104660260A (zh) | 2015-05-27 |
US9571116B2 (en) | 2017-02-14 |
US20160233875A1 (en) | 2016-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102006073B (zh) | 一种快速收敛多通道时间交织模数转换器及其校准系统 | |
CN104993827B (zh) | 模数转换器误差估计校正的装置及其方法 | |
CN104660260B (zh) | Adc的自适应滤波数字校准电路和方法 | |
CN107271081B (zh) | 基于两阶段最小二乘拟合的硅压阻式压力变送器温度补偿方法及装置 | |
CN102857225A (zh) | 一种多通道高速并行交替采样系统的失配误差校准方法 | |
CN103078640B (zh) | 一种用于adc的rls自适应滤波校准方法 | |
CN103051339B (zh) | 一种ad采样值校正方法及系统 | |
CN103196466B (zh) | 传感器输出修正电路和修正装置及传感器输出修正方法 | |
CN101729072A (zh) | 数模转换电路及其输出数据校正方法 | |
CN103929180B (zh) | 一种数模转换器以及数模转换器中电流源阵列的控制方法 | |
CN102025375B (zh) | 模数转换器及其数字校准电路 | |
CN117032625A (zh) | 一种低延时的浮点平方根函数硬件实现方法 | |
CN113037248A (zh) | 一种基于分段频域优化的小数延时滤波器设计方法 | |
CN106385311A (zh) | 一种基于fpga的复混沌简化系统的混沌信号发生器 | |
CN102403965A (zh) | 一种基于Volterra模型的功率放大器模拟方法 | |
CN104767524B (zh) | Adc自适应滤波数字校准方法 | |
CN115097899A (zh) | 一种高响应电源波形模拟方法 | |
CN107707178A (zh) | 低通滤波器的滤波方法、低通滤波器及伺服驱动器 | |
CN108631752A (zh) | 成形滤波器及其成形方法 | |
CN107015783A (zh) | 一种浮点角度压缩实现方法及装置 | |
CN102253924B (zh) | 开方运算的硬件实现方法以及开方运算器 | |
CN105702398A (zh) | 一种旋转式十进微调电阻箱 | |
Xu et al. | FPGA Implementation of Memristor Emulators Using Fractional Order Calculus: A High-Precision Reconfigurable Approach | |
CN103487776A (zh) | 一种基于fpga误差校正方法 | |
CN110391814A (zh) | 用于芯片内数模转换器的积分非线性数字校正方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |