本發(fā)明涉及一種應(yīng)用于高速ADC的LMS誤差校正系統(tǒng)及方法。
背景技術(shù):
隨著集成電路工藝的進(jìn)步,數(shù)字自適應(yīng)校正技術(shù)(簡稱LMS)被廣泛的應(yīng)用于解決ADC中的各類偏差問題,LMS算法是對初始化的濾波器系數(shù)依據(jù)最小均方誤差準(zhǔn)則進(jìn)行不斷修正來實(shí)現(xiàn)的,LMS算法有一個(gè)收斂時(shí)間,這個(gè)時(shí)間受到算法步長因子的控制,在一定值范圍內(nèi),增大步長因子會減小收斂時(shí)間,但是穩(wěn)定后跟蹤精度較低,反之則調(diào)整時(shí)間更長,穩(wěn)定后跟蹤精度更高。
對ADC當(dāng)中運(yùn)算放大器的增益誤差校正是LMS算法的一個(gè)典型應(yīng)用。由于運(yùn)算放大器的增益誤差的校正常常需要千分之一的精度,所以LMS算法的步長因子通常是一個(gè)很小的值,比如處于10^-12級別,至少需要41比特小數(shù)才能以有符號數(shù)的形式表達(dá)這個(gè)步長因子,因此在具體運(yùn)算時(shí)數(shù)據(jù)的位寬非常大,難以在高速電路當(dāng)中進(jìn)行實(shí)現(xiàn)。隨著近年來高速ADC電路的發(fā)展,急需一種可以在高速ADC當(dāng)中實(shí)現(xiàn)誤差校正LMS算法的電路及方法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種應(yīng)用于高速ADC的LMS誤差校正系統(tǒng)及方法。
本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的:一種應(yīng)用于高速ADC的LMS誤差校正系統(tǒng),包括串并轉(zhuǎn)換電路、并行運(yùn)算電路和結(jié)果生成電路;所述的串并轉(zhuǎn)換電路的輸出端與并行運(yùn)算電路連接,并行運(yùn)算電路的輸出端與結(jié)果生成電路連接;串并轉(zhuǎn)換電路用于將ADC的采樣輸入信號和采樣輸出信號進(jìn)行串并轉(zhuǎn)換,得到多路的ADC采樣輸入信號和ADC采樣輸出信號,并行運(yùn)算電路用于將串并轉(zhuǎn)換得到的信號進(jìn)行并行運(yùn)算,結(jié)果生成電路接收并行運(yùn)算電路的輸出做進(jìn)一步處理,并實(shí)現(xiàn)誤差校正信號的輸出。
所述的并行運(yùn)算電路包括多個(gè)并行運(yùn)算支路,每個(gè)并行運(yùn)算支路對應(yīng)于一路ADC采樣輸入信號和ADC采樣輸出信號;每個(gè)并行運(yùn)算支路的輸出端均與結(jié)果生成電路連接。
所述并行運(yùn)算支路包括ADC采樣輸入信號并行輸入端、采樣輸出信號并行輸入端、第一運(yùn)算輸出端、第二運(yùn)算輸出端和四個(gè)乘法器;
第一乘法器的兩路輸入端分別與ADC采樣輸入信號并行輸入端和采樣輸出信號并行輸入端連接,第一乘法器的輸出端與第三乘法器的一路輸入端連接,第三乘法器的另一路輸入端連接信號u,第三乘法器的輸出端與第一運(yùn)算輸出端連接;
第二乘法器的兩路輸入端均與采樣輸出信號并行輸入端連接,第二乘法器的輸出端與第四乘法器的一路輸入端連接,第四乘法器的另一路輸入端連接信號u,第四乘法器的輸出端與第二運(yùn)算輸出端連接。
所述的結(jié)果生成電路包括加法器一、加法器二、加法器三、減法器、D觸發(fā)器一、D觸發(fā)器二、D觸發(fā)器三、除法器和第五乘法器;所述加法器一的輸入端分別與每個(gè)并行運(yùn)算支路的第一運(yùn)算輸出端連接,加法器一的輸出端通過D觸發(fā)器一與加法器三的第一路輸入端連接;所述加法器二的輸入端分別與每個(gè)并行運(yùn)算支路的第二運(yùn)算輸出端連接,加法器二的輸出端與減法器的負(fù)輸入端連接,減法器的正輸入端接1*2exp信號,減法器的輸出端與D觸發(fā)器二連接,D觸發(fā)器二的輸出端與第五乘法器的第一路輸入端連接,第五乘法器的第二路輸入端與D觸發(fā)器三的輸出端連接,第五乘法器的輸出端與加法器三的第二路輸入端連接,加法器三的輸出端與除法器連接,該除法器除數(shù)固定,除法器輸出端既與D觸發(fā)器三輸入端連接,同時(shí)也與結(jié)果生成電路的輸出端連接,作為最終的LMS誤差校正信號。
所述結(jié)果生成電路中,第五乘法器的第二路輸入端輸入的信號w[kM]表示誤差跟蹤信號,由上一次最終輸出的LMS誤差校正信號通過D觸發(fā)器三處理得到,。
所述的一種應(yīng)用于高速ADC的LMS誤差校正系統(tǒng)的校正方法,包括以下步驟:
S1.獲取ADC的采樣輸入信號d[n]和采樣輸出信號x[n];
S2.將信號d[n]和信號x[n]進(jìn)行串并轉(zhuǎn)換,并在每個(gè)并行運(yùn)算支路中結(jié)合信號u對串并轉(zhuǎn)換得到的信號進(jìn)行運(yùn)算,u代表步長因子科學(xué)計(jì)數(shù)法的有效位,即將LMS運(yùn)算的步長因子u*2-exp放大2exp倍即可得到u;
S3.將每個(gè)并行運(yùn)算支路中第一運(yùn)算輸出端的信號相加,得到p_res_sum[kM],將每個(gè)并行運(yùn)算支路的第二輸出端信號相加,并通過減法器處理,得到信號s_res_sum[kM];
S4.將p_res_sum[kM]通過D觸發(fā)器一的處理后得到信號P1;將s_res_sum[kM]通過D觸發(fā)器二處理后,與w[kM]相乘得到信號P2,將信號P1與信號P2相加,由于在生成s_res_sum[kM]和p_res_sum[kM]的運(yùn)算中,步長因子均被放大2exp倍,所以得到最終輸出的LMS誤差校正信號也被放大2exp倍,即輸出結(jié)果為w[(k+1)M]*2exp:
w[(k+1)M]*2exp=w[kM]*s_res_sum[kM]+p_res_sum[kM];
S5.將加法器三的結(jié)果w[(k+1)M]*2exp通過右移的方式進(jìn)行除法運(yùn)算后,得到最終輸出信號w[(k+1)M]。
所述的步驟S2包括以下子步驟:
S21.將信號d[n]進(jìn)行串并轉(zhuǎn)換,得到d[kM]、d[kM+1]、….d[kM+m]…d[kM+M-1];其中m為0到M-1之間的整數(shù),M表示串并轉(zhuǎn)換得到的信號個(gè)數(shù),即并行運(yùn)算的支路個(gè)數(shù);
S22.將信號x[n]進(jìn)行串并轉(zhuǎn)換,得到x[kM]、x[kM+1]、….x[kM+m]…x[kM+M-1];其中m為0到M-1之間的整數(shù),M表示串并轉(zhuǎn)換得到的信號個(gè)數(shù),即并行運(yùn)算的支路個(gè)數(shù);
S23.在并行運(yùn)算電路的每個(gè)支路中,結(jié)合信號u對串并轉(zhuǎn)換得到的信號進(jìn)行運(yùn)算,從每個(gè)并行運(yùn)算支路的第一運(yùn)算輸出端和第二運(yùn)算輸出端輸出運(yùn)算結(jié)果,其中u代表步長因子科學(xué)計(jì)數(shù)法的有效位,實(shí)現(xiàn)將LMS運(yùn)算的步長因子u*2-exp放大2exp倍,-exp為冪指數(shù)。
所述的步驟S3包括以下子步驟:
S31.將每個(gè)并行運(yùn)算支路中第一運(yùn)算輸出端的信號通過第一加法器相加,得到p_res_sum[kM],由于在并行運(yùn)算支路中采用步長因子科學(xué)計(jì)數(shù)法的有效位u進(jìn)行運(yùn)算,故LMS運(yùn)算的步長因子u*2-exp實(shí)際上被放大了2exp倍,只有有效位u參與運(yùn)算,得到的信號實(shí)際上放大了2exp倍:
S32.將每個(gè)并行運(yùn)算支路的第二輸出端信號通過第二加法器相加,得到的信號同樣放大了2exp倍,并通過減法器運(yùn)算,由于減數(shù)被放大2exp倍,因此被減數(shù)也需要放大同樣倍數(shù),因此需要用1*2exp減去相加得到的信號,獲得s_res_sum[kM]::
所述的w[kM]由上一次最終輸出的LMS誤差校正信號w[(k+1)M]通過D觸發(fā)器三處理得到。
進(jìn)一步地,在公式w[(k+1)M]*2exp=w[kM]*s_res_sum[kM]+p_res_sum[kM]中,實(shí)際上運(yùn)算放大結(jié)果擴(kuò)大了2exp倍;本申請中最終的輸出結(jié)果需要除以2exp,或者通過乘以2-exp,通過右移以抵消這種放大。
本發(fā)明的有益效果是:本發(fā)明先通過串并轉(zhuǎn)換電路進(jìn)行轉(zhuǎn)換,再通過并行運(yùn)算電路及結(jié)果生成電路進(jìn)行計(jì)算,所有變量的數(shù)據(jù)率都比原始輸入數(shù)據(jù)率降低了M倍,同時(shí)并行運(yùn)算電路可根據(jù)電路的實(shí)現(xiàn)速度進(jìn)行相應(yīng)的流水線運(yùn)算,從而避免了運(yùn)算量最大的這一部分成為制約系統(tǒng)實(shí)現(xiàn)速度的瓶頸。
附圖說明
圖1為LMS算法校正ADC電路運(yùn)放增益的應(yīng)用框圖;
圖2為本發(fā)明的原理框圖;
圖3為并行運(yùn)算電路及結(jié)果生成電路的具體電路圖。
具體實(shí)施方式
下面結(jié)合附圖進(jìn)一步詳細(xì)描述本發(fā)明的技術(shù)方案,但本發(fā)明的保護(hù)范圍不局限于以下所述。
如圖1所示,使用LMS算法校正ADC電路運(yùn)放增益的應(yīng)用框圖,通過在ADC的輸入端加入確知的信號d[n],再將ADC的輸出x[n]與d[n]進(jìn)行相關(guān)運(yùn)算,可以計(jì)算出圖中的opamp_gain值,即運(yùn)放增益。
如圖2所示,一種應(yīng)用于高速ADC的LMS誤差校正系統(tǒng),包括串并轉(zhuǎn)換電路、并行運(yùn)算電路和結(jié)果生成電路;所述的串并轉(zhuǎn)換電路的輸出端與并行運(yùn)算電路連接,結(jié)果生成電路的輸出端與并行運(yùn)算電路連接;串并轉(zhuǎn)換電路用于將ADC的輸入采樣信號和采樣輸出信號進(jìn)行串并轉(zhuǎn)換,得到多路的ADC采樣輸入信號和ADC采樣輸出信號,并行運(yùn)算電路用于將串并轉(zhuǎn)換得到的信號進(jìn)行并行運(yùn)算,結(jié)果生成電路接收并行運(yùn)算電路的輸出做進(jìn)一步處理,并實(shí)現(xiàn)誤差校正信號的輸出。
本申請中由于高速ADC電路的數(shù)據(jù)率通常為幾百M(fèi)Hz甚至GHz以上,LMS算法當(dāng)中大量高位寬的數(shù)據(jù)運(yùn)算無法直接實(shí)現(xiàn)如此之高的數(shù)據(jù)吞吐率,所以必須引入串并轉(zhuǎn)換電路,將輸入數(shù)據(jù)率降低。
如圖3所示,所述的并行運(yùn)算電路包括多個(gè)并行運(yùn)算支路,每個(gè)并行運(yùn)算支路對應(yīng)于一路ADC采樣輸入信號和ADC采樣輸出信號;每個(gè)并行運(yùn)算支路的輸出端均與結(jié)果生成電路連接。
所述并行運(yùn)算支路包括ADC采樣輸入信號并行輸入端、采樣輸出信號并行輸入端、第一運(yùn)算輸出端、第二運(yùn)算輸出端和四個(gè)乘法器;
第一乘法器的兩路輸入端分別與ADC采樣輸入信號并行輸入端和采樣輸出信號并行輸入端連接,第一乘法器的輸出端與第三乘法器的一路輸入端連接,第三乘法器的另一路輸入端連接信號u,第三乘法器的輸出端與第一運(yùn)算輸出端連接;
第二乘法器的兩路輸入端均與采樣輸出信號并行輸入端連接,第二乘法器的輸出端與第四乘法器的一路輸入端連接,第四乘法器的另一路輸入端連接信號u,第四乘法器的輸出端與第二運(yùn)算輸出端連接。
所述的結(jié)果生成電路包括加法器一、加法器二、加法器三、減法器、D觸發(fā)器一、D觸發(fā)器二、D觸發(fā)器三、除法器和第五乘法器;所述加法器一的輸入端分別與每個(gè)并行運(yùn)算支路的第一運(yùn)算輸出端連接,加法器一的輸出端通過D觸發(fā)器一與加法器三的第一路輸入端連接;所述加法器二的輸入端分別與每個(gè)并行運(yùn)算支路的第二運(yùn)算輸出端連接,加法器二的輸出端與減法器的負(fù)輸入端連接,減法器的正輸入端接1*2exp信號,減法器的輸出端與D觸發(fā)器二連接,D觸發(fā)器二的輸出端與第五乘法器的第一路輸入端連接,第五乘法器的第二路輸入端與D觸發(fā)器三的輸出端連接,乘法器的輸出端與加法器三的第二路輸入端連接,加法器三的輸出端與除法器連接,該除法器除數(shù)固定(除數(shù)為2exp),除法器輸出端既與D觸發(fā)器三輸入端連接,同時(shí)也與結(jié)果生成電路的輸出端連接,作為最終的LMS誤差校正信號。
從圖3可以看出,每一個(gè)并行運(yùn)算支路分別計(jì)算當(dāng)前輸入所對應(yīng)的p_res變量和s_res變量,并行運(yùn)算支路的輸入數(shù)據(jù)率為原始數(shù)據(jù)率的M分之一,所以p_res變量和s_res變量的運(yùn)算速度可以大幅度降低,方便電路實(shí)現(xiàn)。
所述結(jié)果生成電路中,第五乘法器的第二路輸入端輸入的信號w[kM]由上一次最終輸出的LMS誤差校正信號通過D觸發(fā)器三處理得到。
所述的一種應(yīng)用于高速ADC的LMS誤差校正系統(tǒng)的校正方法,包括以下步驟:
S1.獲取ADC的采樣輸入信號d[n]和采樣輸出信號x[n];
S2.將信號d[n]和信號x[n]進(jìn)行串并轉(zhuǎn)換,并在每個(gè)并行運(yùn)算支路中結(jié)合信號u對串并轉(zhuǎn)換得到的信號進(jìn)行運(yùn)算,u代表步長因子科學(xué)計(jì)數(shù)法的有效位,即將LMS運(yùn)算的步長因子u*2-exp放大2exp倍即可得到u;
S3.將每個(gè)并行運(yùn)算支路中第一運(yùn)算輸出端的信號相加,得到p_res_sum[kM],將每個(gè)并行運(yùn)算支路的第二輸出端信號相加,并通過減法器處理,得到信號s_res_sum[kM];
S4.將p_res_sum[kM]通過D觸發(fā)器一的處理后得到信號P1;將s_res_sum[kM]通過D觸發(fā)器二處理后,與w[kM]相乘得到信號P2,將信號P1與信號P2相加,由于在生成s_res_sum[kM]和p_res_sum[kM]的運(yùn)算中,步長因子均被放大2exp倍,所以得到最終輸出的LMS誤差校正信號也被放大2exp倍,即輸出結(jié)果為w[(k+1)M]*2exp:
w[(k+1)M]*2exp=w[kM]*s_res_sum[kM]+p_res_sum[kM];
S5.將加法器三的結(jié)果w[(k+1)M]*2exp通過右移的方式進(jìn)行除法運(yùn)算后,得到最終輸出信號w[(k+1)M]。
其中s_res_sum[kM]和p_res_sum[kM]與w[kM]無關(guān),可根據(jù)輸入數(shù)據(jù)提前進(jìn)行獨(dú)立運(yùn)算,即通過并行運(yùn)算支路結(jié)合結(jié)果生成電路中的加法器實(shí)現(xiàn)。
所述的步驟S2包括以下子步驟:
S21.將信號d[n]進(jìn)行串并轉(zhuǎn)換,得到d[kM]、d[kM+1]、….d[kM+m]…d[kM+M-1];其中m為0到M-1之間的整數(shù),M表示串并轉(zhuǎn)換得到的信號個(gè)數(shù),即并行運(yùn)算的支路個(gè)數(shù);
S22.將信號x[n]進(jìn)行串并轉(zhuǎn)換,得到x[kM]、x[kM+1]、….x[kM+m]…x[kM+M-1];其中m為0到M-1之間的整數(shù),M表示串并轉(zhuǎn)換得到的信號個(gè)數(shù),即并行運(yùn)算的支路個(gè)數(shù);S23.在并行運(yùn)算電路的每個(gè)支路中,結(jié)合信號u對串并轉(zhuǎn)換得到的信號進(jìn)行運(yùn)算,從每個(gè)并行運(yùn)算支路的第一運(yùn)算輸出端和第二運(yùn)算輸出端輸出運(yùn)算結(jié)果;其中u代表步長因子科學(xué)計(jì)數(shù)法的有效位,實(shí)現(xiàn)將LMS運(yùn)算的步長因子u*2-exp放大2exp倍,-exp為冪指數(shù)。
所述的步驟S3包括以下子步驟:
S31.將每個(gè)并行運(yùn)算支路中第一運(yùn)算輸出端的信號通過第一加法器相加,得到p_res_sum[kM],由于在并行運(yùn)算支路中采用步長因子科學(xué)計(jì)數(shù)法的有效位u進(jìn)行運(yùn)算,故LMS運(yùn)算的步長因子u*2-exp實(shí)際上被放大了2exp倍,只有有效位u參與運(yùn)算,得到的信號也放大了2exp倍:
S32.將每個(gè)并行運(yùn)算支路的第二輸出端信號通過第二加法器相加,得到的信號同樣放大了2exp倍,并通過減法器運(yùn)算,由于減數(shù)被放大2exp倍,因此被減數(shù)也需要放大同樣倍數(shù),用1*2exp減去相加得到的信號,獲得s_res_sum[kM]:
所述的w[kM]由上一次最終輸出的LMS誤差校正信號w[(k+1)M]通過D觸發(fā)器三處理得到。
進(jìn)一步地,在公式w[(k+1)M]*2exp=w[kM]*s_res_sum[kM]+p_res_sum[kM]中,實(shí)際上運(yùn)算放大結(jié)果擴(kuò)大了2exp倍;本申請中最終的輸出結(jié)果需要除以2exp,或者通過乘以2-exp,通過右移以抵消這種放大。