新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 插值查找表:實現(xiàn)DSP功能的簡便方法

插值查找表:實現(xiàn)DSP功能的簡便方法

作者:DanieleBagni 賽靈思公司DSP專家兼現(xiàn)場應用工程師 時間:2010-03-02 來源:電子產(chǎn)品世界 收藏

  線性化非線性傳感器

本文引用地址:http://butianyuan.cn/article/106456.htm

  目前許多企業(yè)在工業(yè)控制系統(tǒng)中使用“智能傳感器”,以滿足低占用空間、低功耗、高性能、最低成本以及最短開發(fā)時間等要求。通用智能傳感器可視為一個由傳感器及其信號控制線路、模數(shù)轉(zhuǎn)換器(ADC)、帶或不帶嵌入式處理器的相關(guān)子系統(tǒng)組成的功能組件,所有這些功能塊都集成在的同一器件上,如圖4所示。

  智能傳感器的目的是將物理量(如電機中的電流)轉(zhuǎn)化為數(shù)字電路能夠處理的數(shù)字信號。構(gòu)建這類傳感器所采用的技術(shù)及組件的某些特性通常會導致諸如失調(diào)、增益和非線性等誤差,進而導致總體傳遞函數(shù)呈非線性。

  一般來說,客戶會校正他們產(chǎn)品中運行的子系統(tǒng)所出現(xiàn)的上述誤差。如果y=f(x)是來自傳感器和ADC級聯(lián)的數(shù)字輸出信號,那么必須執(zhí)行其反函數(shù)g(y)=f-1(y)來補償非線性函數(shù),這樣總體輸出z即為:

  這是直線方程,其斜率為m,縱截距為b。

  最簡單的線性化方法是LUT法,采用存儲在ROM中的傳感器校準點。不過,對16位的ADC來說,ROM顯得過大了,且需要64個BRAM單元。而內(nèi)插LUT則不然,是一個良好的解決方案。

  舉例來說,我們假定非線性傳遞函數(shù)是一條拋物線。下一MATLAB分段碼說明了如何生成最終直線的m和b參數(shù),以及如何計算g(y)(即f(x)的反函數(shù))。圖5用三種顏色顯示了三條不同曲線。請注意在計算f(x)的反函數(shù)g(y)過程中會丟失一些值。這是因為有幾個y值相同的點對應著不同的x點。因此,需要對g(y)進行平滑化,填補所有缺失的點。為精確起見,我沒有把這部分運算包括在MATLAB分段碼中,見代碼清單。

  我采用非常類似于圖3的設計,在SystemGeneratorforDSP中運行基于定點周期的仿真,在非線性傳感器的總體輸出范圍內(nèi)得到了92.48dB的信噪比。

合成孔徑雷達相關(guān)文章:合成孔徑雷達原理


關(guān)鍵詞: Xilinx DSP 插值查找表

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉