插值查找表:實(shí)現(xiàn)DSP功能的簡(jiǎn)便方法
線性化非線性傳感器
本文引用地址:http://2s4d.com/article/106456.htm目前許多企業(yè)在工業(yè)控制系統(tǒng)中使用“智能傳感器”,以滿足低占用空間、低功耗、高性能、最低成本以及最短開(kāi)發(fā)時(shí)間等要求。通用智能傳感器可視為一個(gè)由傳感器及其信號(hào)控制線路、模數(shù)轉(zhuǎn)換器(ADC)、帶或不帶嵌入式處理器的相關(guān)DSP子系統(tǒng)組成的功能組件,所有這些功能塊都集成在的同一器件上,如圖4所示。
智能傳感器的目的是將物理量(如電機(jī)中的電流)轉(zhuǎn)化為數(shù)字電路能夠處理的數(shù)字信號(hào)。構(gòu)建這類傳感器所采用的技術(shù)及組件的某些特性通常會(huì)導(dǎo)致諸如失調(diào)、增益和非線性等誤差,進(jìn)而導(dǎo)致總體傳遞函數(shù)呈非線性。
一般來(lái)說(shuō),客戶會(huì)校正他們產(chǎn)品中運(yùn)行的DSP子系統(tǒng)所出現(xiàn)的上述誤差。如果y=f(x)是來(lái)自傳感器和ADC級(jí)聯(lián)的數(shù)字輸出信號(hào),那么DSP必須執(zhí)行其反函數(shù)g(y)=f-1(y)來(lái)補(bǔ)償非線性函數(shù),這樣總體輸出z即為:
這是直線方程,其斜率為m,縱截距為b。
最簡(jiǎn)單的線性化方法是LUT法,采用存儲(chǔ)在ROM中的傳感器校準(zhǔn)點(diǎn)。不過(guò),對(duì)16位的ADC來(lái)說(shuō),ROM顯得過(guò)大了,且需要64個(gè)BRAM單元。而內(nèi)插LUT則不然,是一個(gè)良好的解決方案。
舉例來(lái)說(shuō),我們假定非線性傳遞函數(shù)是一條拋物線。下一MATLAB分段碼說(shuō)明了如何生成最終直線的m和b參數(shù),以及如何計(jì)算g(y)(即f(x)的反函數(shù))。圖5用三種顏色顯示了三條不同曲線。請(qǐng)注意在計(jì)算f(x)的反函數(shù)g(y)過(guò)程中會(huì)丟失一些值。這是因?yàn)橛袔讉€(gè)y值相同的點(diǎn)對(duì)應(yīng)著不同的x點(diǎn)。因此,需要對(duì)g(y)進(jìn)行平滑化,填補(bǔ)所有缺失的點(diǎn)。為精確起見(jiàn),我沒(méi)有把這部分運(yùn)算包括在MATLAB分段碼中,見(jiàn)代碼清單。
我采用非常類似于圖3的設(shè)計(jì),在SystemGeneratorforDSP中運(yùn)行基于定點(diǎn)周期的仿真,在非線性傳感器的總體輸出范圍內(nèi)得到了92.48dB的信噪比。
合成孔徑雷達(dá)相關(guān)文章:合成孔徑雷達(dá)原理
評(píng)論