基于fpga控制的非線性模/數轉換的線性化處理方法
【專利摘要】本發明公開了一種基于FPGA控制的非線性模/數轉換的線性化處理方法,由FPGA中的有限狀態機控制模/數轉換器對信號進行轉換,模/數轉換器的轉換狀態包括初始狀態、轉換啟動狀態、轉換完成判斷狀態、數據輸出狀態;模/數轉換器將轉換后的數據信號傳輸至FPGA進行線性化處理;多次重復測量,對得到的多組線性化處理后的數據求平均;將求平均后的數據信號傳輸到上位機進行去噪處理。將數據信號通過FPGA進行線性化處理,然后對其進行多次測量求平均,省掉了麻煩的除法計算,最終去除信號中混有的白噪聲,以此來排除當非線性A/D輸入在0V左右,對A/D輸出求平均時出現的數據異常現象,從而獲得穩定的數據輸出。
【專利說明】
基于FPGA控制的非線性模/數轉換的線性化處理方法
技術領域
[0001] 本發明涉及信號模擬領域,尤其涉及用于熱電堆探測器之一種基于FPGA控制的非 線性模/數轉換的線性化處理方法。
【背景技術】
[0002] 在現代生產生活中的各個領域往往需要對多個信號進行測量,所測的信號多為模 擬信號,必須先經過A/D(模/數)轉換,變成數字信號才能送入計算機進行相應的處理,從而 實現對系統的控制,這個過程就涉及到信號的采集和處理。現在的FPGA (Fie Id - Programmable Gate Array:即現場可編程門陣列)芯片不僅具有很強的邏輯控制能力,而 且還有較強的數字信號處理能力,因此將FPGA應用于信號采集和處理領域已成為今后的一 種發展趨勢。這里我們以熱電堆探測器作為A/D輸入為例,來說明現有技術中基于FPGA控制 的非線性A/D處理方法。
[0003] 這里我們用到的非線性A/D芯片型號是AD7691BRMZ,這是一個18位的差分A/D轉換 器,它的輸出與輸入電壓對應關系如表1所不,表1為輸入電壓與輸出關系表。
[0004] 表 1
[0006] 在FPGA用于對A/D采集數據進行處理的過程中最為常見的就是多次測量求平均 值,當進入A/D的輸入電壓全大于38.15μν或者全小于-38.15μν時,輸出的數字信號針對輸 入電壓為線性關系,經FPGA控制求平均值后得到的數據為正確值,但當輸入電壓在0V左右 徘徊時,也就是在求平均值這個時間段內,輸入電壓既出現了正電壓也出現了負電壓,這時 經過FPGA控制求得的平均值將會是一個異常值。舉個簡單例子,當只作兩次測量求平均時, 一次輸入電壓為+1個最低有效值,另一次輸入電壓為-1個最低有效值,這時對應的輸出數 字信號分別為0x00001和0x3FFFF,相加求和取平均值后的數據為0x20000,而這一 A/D數字 信號輸出對應的輸入電壓卻為負滿量程,顯然此結果并非正確值。熱電堆探測器為感溫型 探測器,當無外界入射光照射時,由于噪聲電壓的存在使其輸出電壓常常在0V上下徘徊,所 以在熱電堆探測器型的光功率計上,當無光照射下,經過多次測量求平均值后往往會出現 數據異常的現象。
[0007] 因此,現有技術有待于更進一步的改進和發展。
【發明內容】
[0008] 鑒于上述現有技術的不足,本發明的目的在于提供一種基于FPGA控制的非線性 模/數轉換的線性化處理方法,以解決模/數輸出求平均時出現的數據異常的技術問題,進 而獲得穩定的數據輸出。
[0009] 為解決上述技術問題,本發明方案包括:
[0010] 一種基于FPGA控制的非線性模/數轉換的線性化處理方法,其包括以下步驟:
[0011] A、由FPGA中的有限狀態機控制模/數轉換器對信號進行轉換,模/數轉換器的轉換 狀態包括初始狀態、轉換啟動狀態、轉換完成判斷狀態、數據輸出狀態;
[0012] B、模/數轉換器將轉換后的數據信號傳輸至FPGA進行線性化處理;
[0013] C、多次重復步驟A、步驟B,將得到的多組線性化處理后的數據進行求平均處理; [0014] D、將求平均后的數據信號傳輸到上位機進行去噪處理。
[0015]所述的線性化處理方法,其中,上述步驟A中的模/數轉換器為十八位差分模/數轉 換器。
[0016] 所述的線性化處理方法,其中,上述步驟B具體的還包括:將數據信號進行高位取 反處理,此時如果建立直角坐標系,此時以模/數輸入為橫軸,以輸出數據信號為縱軸,在整 個工作電壓范圍內模/數的輸入輸出就呈現線性化。
[0017] 所述的線性化處理方法,其中,上述步驟C具體的還包括:測量2n次數據求平均值, 其中η為正整數,對求和后的二進制數據總數右移η位便是平均后的數據。
[0018] 所述的線性化處理方法,其中,上述步驟D具體的還包括:將平均后的數據逐個傳 給上位機,上位機獲得數據后先寄存,等所有測試數據都寄存完畢后,再對所有的寄存數據 進行小波去噪處理,去除信號中混有的白噪聲。
[0019]本發明提供的一種基于FPGA控制的非線性模/數轉換的線性化處理方法,將數據 信號通過FPGA進行線性化處理,然后對其進行多次測量求平均,省掉了麻煩的除法計算,最 終去除信號中混有的白噪聲,以此來排除當非線性A/D輸入在0V左右,對A/D輸出求平均時 出現的數據異常現象,從而獲得穩定的數據輸出。
【附圖說明】
[0020]圖1為現有技術中A/D輸入輸出關系圖;
[0021 ]圖2為本發明中FPGA進行線性處理后的A/D輸入輸出關系圖;
[0022]圖3為現有技術中處理A/D信號的示意圖;
[0023]圖4為采用本發明處理A/D信號的示意圖;
[0024]圖5為本發明中線性化處理方法的流程示意圖。
【具體實施方式】
[0025]本發明提供了一種基于FPGA控制的非線性模/數轉換的線性化處理方法,為使本 發明的目的、技術方案及效果更加清楚、明確,以下對本發明進一步詳細說明。應當理解,此 處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
[0026]本發明提供了一種基于FPGA控制的非線性模/數轉換的線性化處理方法,其包括 以下步驟:
[0027]步驟一,由FPGA中的有限狀態機控制模/數轉換器對信號進行轉換,模/數轉換器 的轉換狀態包括初始狀態、轉換啟動狀態、轉換完成判斷狀態、數據輸出狀態;
[0028]步驟二,模/數轉換器將轉換后的數據信號傳輸至FPGA進行線性化處理;
[0029]步驟三,多次重復步驟一、步驟二,將得到的多組線性化處理后的數據進行求平均 處理;
[0030] 步驟四,將求平均后的數據信號傳輸到上位機進行去噪處理。
[0031] 更進一步的,上述步驟一中的模/數轉換器為十八位差分模/數轉換器。
[0032] 上述步驟二具體的還包括:將數據信號進行高位取反處理,此時如果建立直角坐 標系,以模/數輸入為橫軸,以輸出數據信號為縱軸,在整個工作電壓范圍內模/數的輸入輸 出就呈現線性化。
[0033]上述步驟三具體的還包括:測量2"次數據求平均值,其中η為正整數,對求和后的 二進制數據總數右移η位便是平均后的數據。
[0034] 上述步驟四具體的還包括:將平均后的數據逐個傳給上位機,上位機獲得數據后 先寄存,等所有測試數據都寄存完畢后,再對所有的寄存數據進行小波去噪處理,去除信號 中混有的白噪聲。
[0035] 為了更進一步描述本發明的處理方法,以下列舉更為詳盡的實施例進行說明。以 十八位差分模/數轉換器,即十八位AD7691BRMZ芯片為例進行說明。如圖5所示的,其具體如 下:
[0036]步驟(1):用有限狀態機來產生AD7691BRMZ的轉換控制模塊。主要可分為初始狀 態、轉換啟動狀態、轉換完成判斷狀態、數據輸出狀態等。
[0037]步驟(2):當FPGA得至ljA/D轉換后的數據信號后,要對此數據進行線性化處理。具體 到本例中是把得到的A/D輸出信號強制加上0x20000,即最高位取反,此時如果建立直角坐 標系,以A/D輸入為橫軸,以輸出數據信號為縱軸,在整個工作電壓范圍內A/D的輸入輸出就 呈現出線性化,就可以避免后續0V左右求平均時出現的數據異常問題,其對比結果如圖1與 圖2所示的。
[0038] 步驟(3):對高位取反后的數據多次測量求平均。這里如果沒有特殊要求的情況 下,可以測量2"次數據求平均值,其中η為正整數,這樣對求和后的二進制數據sum右移η位 便是平均后的數據,省掉了麻煩的除法計算。這里我們對每組2 1°個數據進行求平均值,只需 要把2ι〇個數據求和,選取sum[27……10]這18位二進制數即為求平均后的數據。
[0039] 步驟(4):把求完平均的數據傳給上位機并進行去噪處理。平均后的數據逐個傳給 上位機,上位機獲得數據后先寄存,等所有測試數據都寄存完畢后,再對所有的寄存數據進 行小波去噪處理,去除信號中混有的白噪聲,最終處理后的數據與未進行線性化處理的數 據對比如圖3與圖4所示的。顯然的,通過對A/D輸出數據先與0x20000相加后再進行多次相 加求平均處理,這樣可以避免A/D輸入0V左右的數據突變現象,從而獲得穩定的數據輸出。
[0040] 當然,以上說明僅僅為本發明的較佳實施例,本發明并不限于列舉上述實施例,應 當說明的是,任何熟悉本領域的技術人員在本說明書的教導下,所做出的所有等同替代、明 顯變形形式,均落在本說明書的實質范圍之內,理應受到本發明的保護。
【主權項】
1. 一種基于FPGA控制的非線性模/數轉換的線性化處理方法,其包括以下步驟: A、 由FPGA中的有限狀態機控制模/數轉換器對信號進行轉換,模/數轉換器的轉換狀態 包括初始狀態、轉換啟動狀態、轉換完成判斷狀態、數據輸出狀態; B、 模/數轉換器將轉換后的數據信號傳輸至FPGA進行線性化處理; C、 多次重復步驟A、步驟B,將得到的多組線性化處理后的數據進行求平均處理; D、 將求平均后的數據信號傳輸到上位機進行去噪處理。2. 根據權利要求1所述的線性化處理方法,其特征在于,上述步驟A中的模/數轉換器為 十八位差分模/數轉換器。3. 根據權利要求1所述的線性化處理方法,其特征在于,上述步驟B具體的還包括:將數 據信號進行高位取反處理,此時如果建立直角坐標系,則以模/數輸入為橫軸,以輸出數據 信號為縱軸,在整個工作電壓范圍內模/數的輸入輸出就呈現線性化。4. 根據權利要求1所述的線性化處理方法,其特征在于,上述步驟C具體的還包括:測量 2"次數據求平均值,其中η為正整數,對求和后的二進制數據總數右移η位便是平均后的數 據。5. 根據權利要求1所述的線性化處理方法,其特征在于,上述步驟D具體的還包括:將平 均后的數據逐個傳給上位機,上位機獲得數據后先寄存,等所有測試數據都寄存完畢后,再 對所有的寄存數據進行小波去噪處理,去除信號中混有的白噪聲。
【文檔編號】H03M1/12GK106027047SQ201610330609
【公開日】2016年10月12日
【申請日】2016年5月18日
【發明人】董杰, 韓順利, 張鵬, 吳寅初, 韓強
【申請人】中國電子科技集團公司第四十研究所, 中國電子科技集團公司第四十一研究所