<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

統計信息的重采樣裝置的制作方法

文檔序號:11154953閱讀:991來源:國知局
統計信息的重采樣裝置的制造方法

本發明涉及分析記錄類儀器儀表技術領域,尤其涉及的是一種統計信息的重采樣裝置。



背景技術:

在儀器儀表行業,各類測量設備通常需要測量各種指標,并將這些指標的歷史測量記錄實時保存到存儲設備中。例如在電力儀表行業,一些分析記錄儀器需要按照IEC61000規范指定的時間間隔測量電壓有效值,并將電壓有效值的歷史趨勢按照用戶設定的區間進行統計,并將區間最大值、最小值、平均值、標準差等統計結果保存到SD卡(Secure Digital Memory Card,安全數碼卡)。這樣,用戶就可以在測量結束后方便地通過“趨勢圖”查看電壓有效值在任意測量區間內的歷史趨勢,并獲得準確的區間統計參數。

在查看趨勢圖時,用戶可能觀察到某一時間區間內存在異常值,并希望進一步放大該異常區域;或者用戶可能希望在同一趨勢圖上觀察更長區間內的趨勢。具體來說,用戶手動指定歷史趨勢的起始時間和結束時間,然后分析裝置對該區間內的統計信息進行“重采樣”,將大量的原始統計點序列重新采樣為指定個數的少量統計點序列,并以趨勢線的形式展示給用戶。

這里的重采樣并不能簡單地進行“等時抽樣”(即等間隔抽取),這種簡單的抽樣方法很可能在抽樣時漏掉某些異常區間,導致用戶無法在最終趨勢線上觀察到異常點,因而不適用于抽取趨勢信息。正確的重采樣方式應該是對原始的統計點進行重新統計和計算,從而得到以輸出分辨率生成的準確的統計點序列。這兩種重采樣方法的區別類似于示波器的等時采樣和峰值采樣的區別,但由于歷史趨勢不止包含最大值/最小值,因此其處理內容與時間開銷相對于標準峰值采樣方法也要更多,對設備的處理算法和計算能力也有更高的要求。

目前,大部分的分析記錄儀表均只統計并記錄區間最大值和最小值,并在查看趨勢時使用標準的峰值采樣方法,甚至一些簡單的設備只是簡單地等時抽取。這些處理手段很難滿足用戶精確分析的需求。一些較為先進的分析設備直接將統計點以最大/最小/平均的格式保存在SD卡,對所述格式的統計點進行串行重采樣運算,這種方式雖然可以得到準確的結果,但由于逐指令的串行計算導致重采樣速度很慢,用戶難以接受;且所有的操作均在主CPU(中央處理器)內進行,長時間的高CPU占用會導致設備難以快速響應并處理用戶的其他業務,影響設備的平均性能。



技術實現要素:

本發明所要解決的技術問題是提供一種統計信息的重采樣裝置,為用戶提供數據精確、響應快速的趨勢圖功能。

為解決上述問題,本發明提出一種統計信息的重采樣裝置,包括:

輸入統計點緩沖單元,用以緩存讀取到的一個或兩個以上的待重采樣的統計點,在需統計時彈出一統計點,所述統計點為原始數據在一個時間區間內的統計信息集合,相鄰統計點的兩個時間區間之間連續;

輸出統計點步進控制單元,根據設定的輸出統計點總數和輸入統計點總數確定重采樣時機,并在重采樣時機輸出步進使能信號;

原始數據統計單元,連接所述輸入統計點緩沖單元和輸出統計點步進控制單元,接收最新輸出的統計點,用以在統計信息的統計格式的基礎上對統計點進行再統計,生成再統計數據,并在步進使能信號的控制下,將再統計數據輸出后,初始化為默認狀態或用當前統計點替換再統計數據;

輸出統計點緩沖單元,連接所述原始數據統計單元和所述輸出統計點步進控制單元,在所述步進使能信號的控制下,壓入并緩存再統計數據,生成重采樣后的統計點;

后置統計運算單元,連接所述輸出統計點緩沖單元,將重采樣后的統計點進行后置運算,得到用于趨勢圖顯示的趨勢點序列。

根據本發明的一個實施例,所述輸出統計點步進控制單元包括:計數器和比較器;所述計數器在輸入統計點緩沖單元的每個統計點彈出并在原始數據統計單元處理后,加上輸出統計點總數;所述比較器的一個輸入端接收計數器的計數值,另一個輸入端接收輸入統計點總數,在計數值大于輸入統計點總數時為重采樣時機,比較器輸出步進使能信號。

根據本發明的一個實施例,所述步進使能信號還作為所述計數器的求余使能信號;所述計數器響應于所述求余使能信號而將計數值更新為減去了輸入統計點總數后的值。

根據本發明的一個實施例,還包括:

輸入統計點總數設置單元,連接所述輸出統計點步進控制單元,用于配置并輸出所述輸入統計點總數、或其他配置信息;

輸出統計點總數設置單元,連接所述輸出統計點步進控制單元,用于設置并輸出所述輸出統計點總數、或其他配置信息。

根據本發明的一個實施例,所述統計點的統計信息包括:區間原始數據最大值、區間原始數據最小值、區間原始數據和、區間原始數據平方和、區間原始數據個數。

根據本發明的一個實施例,當統計點的時間區間內不存在原始數據或者原始數據無效時,將區間原始數據最大值記為原始數據的數據類型的最小值,將區間原始數據最小值記為原始數據的數據類型的最大值,其余記為0。

根據本發明的一個實施例,原始數據統計單元包括:

原始數據最大值保持單元,其輸入端連接所述輸入統計點緩沖單元的最大值輸出端,其輸出端連接所述輸出統計點緩沖單元的最大值輸入端,用以將新接收的統計點的區間原始數據最大值與當前保持的最大值比較,保持并輸出較大者;

原始數據最小值保持單元,其輸入端連接所述輸入統計點緩沖單元的最小值輸出端,其輸出端連接所述輸出統計點緩沖單元的最小值輸入端,用以將新接收的統計點的區間原始數據最小值與當前保持的最小值比較,保持并輸出較小者;

原始數據和累加單元,其輸入端連接所述輸入統計點緩沖單元的和輸出端,其輸出端連接所述輸出統計點緩沖單元的和輸入端,用以將新接收的統計點的區間原始數據和與當前保持的累加值進行求和,保持并輸出求和后的累加值;

原始數據平方和累加單元,其輸入端連接所述輸入統計點緩沖單元的平方和輸出端,其輸出端連接所述輸出統計點緩沖單元的平方和輸入端,用以新接收的統計點的區間原始數據平方和與當前保持的平方和累加值進行求和,保持并輸出求和后的平方和累加值;

原始數據個數統計單元,其輸入端連接所述輸入統計點緩沖單元的個數輸出端,其輸出端連接所述輸出統計點緩沖單元的個數輸入端,用以對接收的統計點的區間原始數據個數進行累加計數,輸出計數后的個數;

原始數據最大值保持單元、原始數據最小值保持單元、原始數據和累加單元、原始數據平方和累加單元和原始數據個數統計單元在步進使能信號的控制下,輸出各自保持數據后,初始化為默認狀態或用當前統計點替換各自保持數據。

根據本發明的一個實施例,所述后置統計運算單元包括:

后置平均值計算單元,連接所述輸出統計點緩沖單元,根據重采樣后的統計點計算平均值其中,Sum為原始數據和的累加值,N為原始數據個數的累加計數;

后置方差計算單元,連接所述輸出統計點緩沖單元和后置平均值計算單元,根據重采樣后的統計點和平均值計算方差其中,SquareSum為原始數據平方和的累加值。

根據本發明的一個實施例,所述后置統計運算單元通過CPU實現,所述輸入統計點緩沖單元、輸出統計點步進控制單元、原始數據統計單元和輸出統計點緩沖單元不通過CPU實現。

根據本發明的一個實施例,還包括外部存儲單元,連接所述輸入統計點緩沖單元,用以存儲待重采樣的統計點序列。

采用上述技術方案后,本發明相比現有技術具有以下有益效果:

對分析記錄儀器儀表的將現有已處理的原始數據統計點序列進行重采樣,將輸入統計點序列按照指定的比例重新抽取為輸出統計點序列,進而可以實現分析記錄類儀器儀表的趨勢圖縮放功能,通過硬件化的重采樣裝置來處理,相比現有的逐指令的串行計算來說,重采樣速度更快,而且所有的操作可以不全部在CPU中操作,較少占用CPU資源,因而設備對于用戶其他業務的響應更快速,設備的平均性能更高;

采用一種流水線式的計算結構,可將裝置中的所有非乘除法運算單元全部部署到FPGA等硬件設備中作為CPU的協處理器,并通過CPU將FPGA流水線輸出的數據進行簡單的后置計算,即可既快速又精確地得到最大值、最小值、平均值、方差等全部常用統計指標的區間值,從而大大加快數據處理速度,并顯著降低CPU負荷,最終為用戶提供數據精確、響應快速的趨勢圖功能。

附圖說明

圖1為本發明一實施例的統計信息的重采樣裝置的結構框圖;

圖2為本發明另一實施例的統計信息的重采樣裝置的結構框圖。

具體實施方式

為使本發明的上述目的、特征和優點能夠更加明顯易懂,下面結合附圖對本發明的具體實施方式做詳細的說明。

在下面的描述中闡述了很多具體細節以便于充分理解本發明。但是本發明能夠以很多不同于在此描述的其它方式來實施,本領域技術人員可以在不違背本發明內涵的情況下做類似推廣,因此本發明不受下面公開的具體實施的限制。

參看圖1,本實施例的統計信息的重采樣裝置,包括:輸入統計點緩沖單元1,輸出統計點步進控制單元4,原始數據統計單元2,輸出統計點緩沖單元3和后置統計運算單元7。各單元之間可以以流水線的形式工作,縮短處理時間從而加快響應速度,在前面的單元處理當前統計點時,后面可以同時在處理下個統計點。當然也可以不是流水線的形式,而是等待一個統計點被全部單元處理完成之后再處理下一個統計點,具體不做限制。

統計點為原始數據在一個時間區間內的統計信息集合,相鄰統計點的兩個時間區間之間連續。統計點按照連續的時間區間順序組成一個完整序列,即本發明描述的輸入統計點序列。重采樣裝置根據用戶設置的輸入統計點個數以及輸出統計點個數,確定重采樣的采樣點時間,對輸入統計點序列進行重采樣,得到對應的輸出統計點序列。一般地,輸入統計點序列的長度要長于輸出統計點序列的長度。

輸入統計點緩沖單元1可以采用緩存、存儲器、寄存器等實現,緩存讀取到的一個或兩個以上的待重采樣的統計點。優選可以以先進先出的隊列形式保存,保存的數據可以是CPU從外部存儲單元中讀取到的一部分正在等待重采樣的輸入統計點序列(即原始數據連續的兩個以上的統計點)。輸入統計點緩沖單元1在需統計時彈出一統計點,該彈出的統計點為彈出前的輸入統計點緩沖單元1的最先進入其中的統計點,彈出該統計點之后,將下一個統計點作為下一個被彈出的統計點,也就是之前的統計點已不在輸入統計點緩沖單元中1了。具體的,輸入統計點緩沖單元1可以通過一個寬度為5*32-bit、深度為16的FIFO來實現,FIFO的每一個單元均包含待重采樣的統計點,每個統計點例如可以包括最大值、最小值、和、平方和、個數五種信息,其中最大值、最小值、和、平方和四種信息均以32-bit浮點數的格式進行存儲,而個數則以32-bit整數的格式進行存儲。FIFO的輸入端通過5個獨立的32-bit寄存器與CPU連接,可以通過AXI總線的指定地址向各個寄存器依次寫入對應同一個輸入統計點的統計信息,當且僅當個數寄存器完成寫入操作時,FIFO將當前5個寄存器中的統計信息通過一次性原子操作壓入FIFO內部,作為一個新的輸入統計點,排隊等待處理。

為了能夠在輸入統計點緩沖單元1內部的存儲空間溢出之前安全地停下來并等待其可寫,需要將FIFO的滿標志位等狀態信息作為一個獨立的狀態寄存器通過AXI總線提供給CPU供其輪詢。

在目標設備上,寫入寄存器的輸入值實際上來自于外部存儲設備,例如SD卡,而由于SD卡文件系統的復雜性,讀取SD卡的功能也將在CPU內實現。也就是說CPU不斷地從SD卡中讀取測量期間實時保存的統計信息記錄文件,并解析獲得輸入統計點,然后將讀取到的值不斷地寫入5個寄存器,從而實現數據的不間斷處理。

可選地,輸入統計點緩沖單元1也可以只緩沖一個統計點,每當需要統計時,由CPU向輸入統計緩沖單元1填入新的統計點,此時才會繼續處理新的統計點,否則將進入等待狀態。

輸入統計點緩沖單元1的彈出統計點的時機是根據原始數據統計單元2的統計情況而定的,當原始數據統計單元2需要進行統計時,可以控制輸入統計點緩沖單元1彈出一個統計點給原始數據統計單元2。

輸出統計點步進控制單元4根據設定的輸出統計點總數和輸入統計點總數確定重采樣時機,并在重采樣時機輸出步進使能信號。步進使能信號可用于控制何時向輸出統計點緩沖單元3壓入一個原始數據統計單元2處理后的統計點(再統計數據),同時控制原始數據統計單元2初始化為默認狀態或用當前統計點替換再統計數據。

原始數據統計單元2連接輸入統計點緩沖單元1和輸出統計點步進控制單元3。原始數據統計單元2接收輸入統計點緩沖單元1最新彈出的統計點,在統計信息的統計格式的基礎上對統計點進行再統計,生成再統計數據,舉例而言,若原統計信息的統計格式為求和,則再統計方式便是求和。原始數據統計單元2在步進使能信號的控制下,將再統計數據輸出后,初始化為默認狀態或用當前統計點替換再統計數據。

輸出統計點緩沖單元3連接原始數據統計單元2和輸出統計點步進控制單元4,在步進使能信號的控制下,壓入并緩存再統計數據,生成重采樣后的統計點,每一個再統計數據的緩存點繼而重采樣后的統計點。同樣可以采用緩存、存儲器、寄存器等實現,可以以先進先出的形式保存尚未被CPU讀走的一部分輸出統計點序列。

可選地,輸出統計點緩沖單元3也可以只緩沖一個統計點,每當輸出統計點緩沖單元3緩沖了一個輸出統計點時,立即通知CPU取走統計點,在CPU尚未取走該統計點之前,整個裝置將不再從輸入統計點緩沖單元1彈出新的輸入統計點進行處理,始終保持掛起狀態,直至輸出統計點緩沖單元3的統計點被CPU取走。輸出統計點緩沖單元3的具體實現部件可以與輸入統計點緩沖單元1相同,可參看前述關于輸入統計點緩沖單元1的描述。

在目標設備上,從寄存器讀取的輸出值將被位于CPU緩存至DDR(雙倍速率同步動態隨機存儲器)內存中作為初始趨勢點序列,其中不包含平均值和方差信息。某次重采樣操作對應的全部輸出統計點均已經被CPU讀走并緩存至DDR后,CPU將啟動后置計算單元,計算得到每個統計點的平均值和方差統計信息,并補充到初始趨勢點序列中,得到最終的趨勢點序列,并在CPU中使用繪圖工具將趨勢點繪制為趨勢圖。

后置統計運算單元7連接輸出統計點緩沖單元4,將重采樣后的統計點進行后置運算,得到用于趨勢圖顯示的趨勢點序列。重采樣后的統計點生成的趨勢點序列,后置統計運算單元7的運算結果保存到趨勢點序列中,用于趨勢圖顯示以或后置的其他計算。

本發明實施例將輸入統計點序列按照指定的比例重新抽取為輸出統計點序列,從而與原始數據的統計信息采樣比例不同,從而實現分析記錄類儀器儀表的趨勢圖縮放功能。各單元對于統計點的處理可以由時鐘信號控制,呈一條流水線有序進行。

輸出統計點步進控制單元3理論上相當于一個精確的、尤其是無累積步進誤差的分數計數器。在一個實施例中,輸出統計點步進控制單元3包括:計數器和比較器。計數器在輸入統計點緩沖單元1的每個統計點彈出并在原始數據統計單元2處理后,加上輸出統計點總數,加和結果作為計數值,計數器可以是加減法計數器。比較器的一個輸入端接收計數器的計數值,另一個輸入端接收輸入統計點總數,在計數器的計數值大于輸入統計點總數時,比較器的輸出端發生變化,此時即為重采樣時機,比較器輸出步進使能信號。

步進使能信號還作為計數器的求余使能信號,控制計數器對計數值求余,計數器發揮減法功能,將計數值減去輸入統計點總數得到余數,將該余數作為新的計數值進行后續的累加,換言之,計數器響應于求余使能信號而將計數值更新為減去了輸入統計點總數后的值。

具體的,輸出統計點步進控制單元4可以首先通過一個32-bit定點加法器和一個32-bit內部寄存器組成一個任意步進值的32-bit計數器,計數器與輸入統計點總數寄存器作為一個32-bit比較單元的兩個輸入端,當且僅當計數值大于等于輸入統計點總數時,比較單元輸出有效,而每當比較單元輸出有效時,32-bit比較單元內部寄存器會減去輸入統計點總數,使比較單元的輸出回到無效狀態。

其中,定點加法器的一端為32-bit內部寄存器本身,而另一端則為輸出統計點總數寄存器,每當本裝置完成一個輸入統計點的統計運算時,32-bit寄存器的值就加上輸出統計點總數,定點加法器的輸出會在下一個時鐘節拍被再次保存至32-bit內部寄存器,用于下一次的步進運算。

為了更好地說明輸出統計點步進控制單元4的邏輯,本實施例將通過一個實際場景來推算輸出統計點步進控制單元4的狀態變化。在此場景中,輸入統計點共有12345個,對應從早上6:00到晚上18:00之間的全部趨勢記錄數據;而輸出統計點有800個,對應目標設備的趨勢圖顯示區域的水平像素數。也就是說,在此場景中,需要將每12345/800≈15.43個輸入統計點重采樣為一個輸出統計點。在這種場景下,輸出統計點步進控制單元4的狀態變化如下表一所示。

表一實際場景中輸出統計點步進控制單元的狀態變化

在一個實施例中,裝置還包括:輸入統計點總數設置單元5和輸出統計點總數設置單元6。

輸入統計點總數設置單元5連接輸出統計點步進控制單元4,用于配置并輸出輸入統計點總數,或其他配置信息。輸入統計點總數設置單元5保存了用戶設置的重采樣參數之一:輸入統計點總數,即總共有多少個連續的輸入統計點需要被重采樣。輸入統計點總數設置單元5可以作為一個只讀的存儲單元,為裝置中的其他各個單元(尤其是輸出統計點步進控制單元)提供配置信息。當輸入統計點緩沖單元1累計輸入的統計點個數達到輸入統計點總數設置單元5的當前值時,說明本裝置剛好完成了一次重采樣操作。

輸出統計點總數設置單元6連接輸出統計點步進控制單元4,用于設置并輸出輸出統計點總數,或其他配置信息。輸出統計點總數設置單元6保存了用戶設置的重采樣參數之一:輸出統計點總數,即總共有多少個連續的輸出統計點需要被生成。輸出統計點總數設置單元6也可以作為一個只讀的存儲單元,為本裝置的其他各個單元(尤其是輸出統計點步進控制單元)提供配置信息。當輸出統計點緩沖單元3累計輸出的統計點個數達到輸出統計點總數設置單元6的當前值時,說明本裝置剛好完成了一次重采樣操作。

輸入統計點總數設置單元5和輸出統計點總數設置單元6均可以通過一個32-bit的可讀寫寄存器來實現,寄存器中的內容為一個無符號整數,最多允許設置的輸入點個數為(232-1)個,在啟動一次重采樣之前,先通過AXI總線的指定地址向寄存器寫入對應的值即可,但應理解并不限于此。

具體來說,每當輸入統計點緩沖區的首個緩沖點(統計點)被彈出并處理完成后,計數器自動加上輸出統計點總數設置單元6中保存的設置值,可以為用戶設置,計數器的計數值作為比較器的一個輸入端,輸入統計點總數設置單元5中保存的用戶設置的值作為比較器的另外一個用作比較基準的輸入端,比較器的比較結果輸出端作為計數器的求余使能信號,以及原始數據統計單元2的復位信號,同時也作為輸出統計點緩沖單元3的壓入使能信號。

每當比較器輸出有效時,說明計數器的值已經大于等于用戶設置的輸入統計點總數,一種處理情況可以為:

首先計數器根據求余使能信號將計數值減去輸入統計點總數(簡化了求余操作),使計數器的值仍然保持在小于輸入統計點總數的范圍內;

然后原始數據統計單元2的當前狀態的數據(再統計數據)統一壓入輸出統計點緩沖單元3,從而創建了一個新的輸出統計點;

然后原始數據統計單元2根據步進使能信號(復位信號)復位至無數據的默認狀態,準備開始處理下一個輸入統計點;

最后啟動原始數據統計單元2并完成對當前輸入統計點(前述該下一個輸入統計點)的處理,當前輸入統計點包含的信息將僅出現復位之后的新輸出統計點區間。

可選地,每當比較器輸出有效時,另一種處理情況可以為:

首先計數器根據求余使能信號將計數值減去輸入統計點總數(簡化了求余操作),使計數器的值仍然保持在小于輸入統計點總數的范圍內;

接著先啟動一次原始數據統計單元2并完成對當前輸入統計點的處理;

然后原始數據統計單元2的當前狀態數據(再統計數據)統一壓入輸出統計點緩沖單元3中,從而創建了一個新的輸出統計點;

最后將當前輸入統計點(剛已處理的統計點)的各個統計值直接載入對應的原始數據統計單元2,也就是說,原始數據統計單元2直接統計了當前統計點,而不是恢復至沒有數據的默認狀態。

根據不同信號之間的產生時序不同及信號的走向不同相應結構上的連接線路也相應不同。在該另一種情況下,比較器輸出有效時刻對應的輸入統計點將被前后兩個輸出統計點分別統計各一次,輸出統計點序列的相鄰兩個統計點之間將有很小的一點點時間重疊,這種時間重疊可以保證輸出統計點之間在統計值范圍上是連續不間斷的,從而最終保證趨勢曲線是連續的,不會出現“斷線”的情況。

在一個實施例中,統計點的統計信息可以具體包括:區間原始數據最大值、區間原始數據最小值、區間原始數據和、區間原始數據平方和、區間原始數據個數。

每一種信息對應本裝置的一個邏輯端口,這些信息可以根據適合于具體實施例的格式以及順序保存在外部存儲設備中。具體的,區間原始數據最大值:當前統計點對應的時間區間內,所有原始測量數據中最大的一個值。區間原始數據最小值:當前統計點對應的時間區間內,所有原始測量數據中最小的一個值。區間原始數據和:當前統計點對應的時間區間內,所有原始測量數據的累加和,即∑Xi,其中Xi為統計點區間內第i個原始測量數據。區間原始數據平方和:當前統計點對應的時間區間內,所有原始測量數據的平方值的累加和,即其中Xi為統計點對應的時間區間內第i個原始測量數據。區間原始數據個數:當前統計點對應的時間區間內,總計有多少個原始測量數據。

當統計點的時間區間內不存在原始數據或者原始數據無效(例如全部超出分析記錄設備的物理量程)時,將區間原始數據最大值記為原始數據的數據類型的最小值,將區間原始數據最小值記為原始數據的數據類型的最大值,其余記為0。避免這種情況下出現不正確的數據導致統計結果出現較大誤差。

在一個實施例中,原始數據統計單元2包括:原始數據最大值保持單元21、原始數據最小值保持單元22、原始數據和累加單元23、原始數據平方和累加單元24、原始數據個數統計單元25。

原始數據最大值保持單元21的輸入端連接輸入統計點緩沖單元1的最大值輸出端,其輸出端連接輸出統計點緩沖單元3的最大值輸入端,用以將新接收的統計點的區間原始數據最大值與當前保持的最大值比較,保持并輸出較大者。

原始數據最大值保持單元21保持當前輸出統計點區間對應的所有輸入統計點的最大值信息的最大值。原始數據最大值保持單元21位于輸入統計點緩沖單元1、輸出統計點緩沖單元2最大值端口之間,并將兩者連接起來,每當輸入統計點緩沖單元1的首個緩沖點被彈出后,原始數據最大值保持單元21將該單元當前保持的最大值與輸入統計點緩沖單元1的首個緩沖點中的最大值相比較,并將比較結果中的較大者更新到原始數據最大值保持單元21。

記原始數據最大值保持單元21的原保持值為H.Max,記統計點為P,則原始數據最大值保持單元21新的保持值H.Max’對應的算法如下:

可選的,原始數據最大值保持單元21可以包括但不限于一個32-bit浮點比較器和一個32-bit內部寄存器,其中浮點比較器的一個輸入端為輸入統計點緩沖FIFO的最大值輸出端口,另一個輸入端為32-bit寄存器中保持的“上一次的最大值”,比較器的輸出為兩個輸入值當中的較大值,而比較器的輸出會在下一個時鐘節拍被再次保存至32-bit寄存器,用于下一次的比較運算。

原始數據最小值保持單元22的輸入端連接輸入統計點緩沖單元1的最小值輸出端,其輸出端連接輸出統計點緩沖單元3的最小值輸入端,用以將新接收的統計點的區間原始數據最小值與當前保持的最小值比較,保持并輸出較小者。

原始數據最小值保持單元22保持當前輸出統計點區間對應的所有輸入統計點的最小值信息的最小值。原始數據最小值保持單元22位于輸入統計點緩沖單元1、輸出統計點緩沖單元3最小值端口之間,并將兩者連接起來,每當輸入統計點緩沖單元1的首個緩沖點被彈出后,原始數據最小值保持單元22將該單元當前保持的最小值與輸入統計點緩沖單元1的首個緩沖點中的最小值相比較,并將比較結果中的較小者更新到原始數據最小值保持單元22。

記原始數據最小值保持單元22的原保持值為H.Min,記所述統計點為P,則原始數據最小值保持單元新的保持值H.Min’對應的算法如下:

可選的,原始數據最小值保持單元22可以包括但不限于一個32-bit浮點比較器和一個32-bit內部寄存器,其中浮點比較器的一個輸入端為輸入統計點緩沖FIFO的最小值輸出端口,另一個輸入端為32-bit寄存器中保持的“上一次的最小值”,比較器的輸出為兩個輸入值當中的較小值,而比較器的輸出會在下一個時鐘節拍被再次保存至32-bit寄存器,用于下一次的比較運算。

原始數據和累加單元23的輸入端連接輸入統計點緩沖單元1的和輸出端,其輸出端連接輸出統計點緩沖單元3的和輸入端,用以將新接收的統計點的區間原始數據和與當前保持的累加值進行求和,保持并輸出求和后的累加值。

原始數據和累加單元23計算當前輸出統計點區間對應的所有輸入統計點的累加和信息的累加和。原始數據和累加單元23位于輸入統計點緩沖單元1、輸出統計點緩沖單元3累加和端口之間,并將兩者連接起來,每當輸入統計點緩沖單元1的首個緩沖點被彈出后,原始數據累加和單元23將該單元當前保持的累加和與輸入統計點緩沖單元1的首個緩沖點中的累加和相加,并將新的累加和更新到原始數據累加和單元23中。

記原始數據和累加單元23的原累加值為A.Sum,記統計點為P,則原始數據和累加單元23新的累加值A.Sum’對應的算法如下:

A.Sum′=A.Sum+P.Sum

可選的,原始數據累加和計算單元可以包括但不限于一個32-bit浮點加法器和一個32-bit內部寄存器,其中浮點加法器的一個輸入端為輸入統計點緩沖FIFO的累加和輸出端口,另一個輸入端為32-bit寄存器中保持的“上一次的累加和”,加法器的輸出為兩個輸入值的和,而加法器的輸出會在下一個時鐘節拍被再次保存至32-bit寄存器,用于下一次的累加運算。

原始數據平方和累加單元24的輸入端連接輸入統計點緩沖單元1的平方和輸出端,其輸出端連接輸出統計點緩沖單元3的平方和輸入端,用以新接收的統計點的區間原始數據平方和與當前保持的平方和累加值進行求和,保持并輸出求和后的平方和累加值。

原始數據平方和累加單元24計算當前輸出統計點區間對應的所有輸入統計點的平方和信息的累加和。原始數據平方和累加單元24位于所述輸入統計點緩沖單元1、輸出統計點緩沖單元3平方和端口之間,并將兩者連接起來,每當輸入統計點緩沖單元1的首個緩沖點被彈出后,原始數據平方和累加單元24將該單元當前保持的平方和與輸入統計點緩沖單元1的首個緩沖點中的平方和相加,并將新的平方和更新到原始數據平方和累加單元24中。

記原始數據平方和累加單元24的原累加值為A.SquareSum,記統計點為P,則原始數據平方和累加單元24新的累加值A.SquareSum’對應的算法如下:

A.SquareSum′=A.SquareSum+P.SquareSum

可選的,原始數據平方和計算單元24可以包括但不限于一個32-bit浮點加法器和一個32-bit內部寄存器,其中浮點加法器的一個輸入端為輸入統計點緩沖FIFO的平方和輸出端口,另一個輸入端為32-bit寄存器中保持的“上一次的平方和”,加法器的輸出為兩個輸入值的和,而加法器的輸出會在下一個時鐘節拍被再次保存至32-bit寄存器,用于下一次的累加運算。

原始數據個數統計單元25的輸入端連接輸入統計點緩沖單元1的個數輸出端,其輸出端連接輸出統計點緩沖單元2的個數輸入端,用以對接收的統計點的區間原始數據個數進行累加計數,輸出計數后的個數。

原始數據個數統計單元25統計當前輸出統計點區間對應的所有原始測量數據點的總個數。原始數據個數統計單元25位于輸入統計點緩沖單元1、輸出統計點緩沖單元3原始數據計數端口之間,并將兩者連接起來,每當輸入統計點緩沖單元1的首個緩沖點被彈出后,原始數據個數統計單元25將該單元當前保持的計數值與輸入統計點緩沖單元1的首個緩沖點中的計數值再次相加,并將新的計數值更新到原始數據個數統計單元25。

記原始數據個數統計單元25的原計數值為C.N,記統計點為P,則原始數據個數統計單元25新的計數值C.N’對應的算法如下:

C.N'=C.N+P.N

可選的,原始數據個數統計單元可以包括但不限于一個32-bit定點加法器和一個32-bit內部寄存器,其中定點加法器的一個輸入端為輸入統計點緩沖FIFO的原始數據個數輸出端口,另一個輸入端為32-bit寄存器中保持的“上一次的統計個數”,加法器的輸出為兩個輸入值的和,而加法器的輸出會在下一個時鐘節拍被再次保存至32-bit寄存器,用于下一次的累加運算。

原始數據最大值保持單元21、原始數據最小值保持單元22、原始數據和累加單元23、原始數據平方和累加單元24和原始數據個數統計單元25在步進使能信號的控制下,輸出各自保持數據后,初始化為默認狀態或用當前統計點替換各自保持數據。

在一個實施例中,后置統計運算單元7包括但不限于:后置平均值計算單元71、后置方差計算單元72。

后置平均值計算單元71連接輸出統計點緩沖單元3,根據重采樣后的統計點計算平均值其中,Sum為輸出統計點的原始數據和的累加值,N為原始數據個數的累加計數。后置平均值計算單元71在計算得到平均值Avg后,直接將該平均值Avg保存至重采樣生成的趨勢點序列中,用于趨勢圖顯示以及后置的其他計算。

后置方差計算單元72連接輸出統計點緩沖單元3和后置平均值計算單元71,根據重采樣后的統計點和后置平均值計算單元71計算得到的平均值計算方差其中,SquareSum為輸出統計點的原始數據平方和的累加值。后置方差計算單元72在計算得到方差S2后,直接將該S2保存至重采樣生成的趨勢點序列中,用于趨勢圖顯示。

參看圖2,較佳的,后置統計運算單元7通過CPU實現,輸入統計點緩沖單元1、輸出統計點步進控制單元4、原始數據統計單元2和輸出統計點緩沖單元3不通過CPU實現(圖中PS部分)。輸入統計點緩沖單元1、輸出統計點步進控制單元4、原始數據統計單元2和輸出統計點緩沖單元3可以通過FPGA實現(圖中PL),或者可以通過簡單的運算器、存儲器、寄存器等根據各自相應功能搭建而成。當然CPU還可對FPGA中的各單元進行讀寫操作,或者其他控制操作,但是各單元自身的處理不消耗CPU資源。

具體來說,當輸出統計點步進控制單元4輸出步進使能信號后,輸出統計點緩沖單元3將五個原始數據統計單元的當前值通過一次性原子操作壓入并保存,等待CPU依次讀走。

CPU取走輸出統計點緩沖單元3中的輸出統計點之后,需要對統計點中的累加和統計信息進行后置運算才能得到統計點對應的平均值。后置平均值計算單元71涉及到除法操作,通過CPU內部進行處理。但這里并不會造成性能瓶頸,這是因為相對于數量龐大的輸入統計點而言,輸出統計點的個數通常很少,不會造成過多時間開銷。

CPU取走輸出統計點緩沖單元3中的輸出統計點且后置平均值計算單元71計算得到平均值Avg之后,需要對統計點中的平方和累加和統計信息進行后置運算,才能得到統計點對應的方差。后置方差計算單元72涉及到乘法與除法操作,通過CPU內部進行處理。但這里并不會造成性能瓶頸,這是因為相對于數量龐大的輸入統計點而言,輸出統計點的個數通常很少,不會造成過多時間開銷。

本發明實施例采用一種流水線式的計算結構,可將裝置中的所有非乘除法運算單元全部部署到FPGA等硬件設備中作為CPU的協處理器,并通過CPU將FPGA流水線輸出的數據進行簡單的后置計算,即可既快速又精確地得到最大值、最小值、平均值、方差等全部常用統計指標的區間值,從而大大加快數據處理速度,并顯著降低CPU負荷,最終為用戶提供數據精確、響應快速的趨勢圖功能。

進一步的,裝置還可以包括外部存儲單元,連接輸入統計點緩沖單元,用以存儲待重采樣的統計點序列。繼續參看圖2,外部存儲單元可以為SD卡8,CPU可從SD卡8中讀取等待重采樣的輸入統計點序列或單個輸入統計點。外部存儲單元還可以存儲最終趨勢點序列,用以實現歷史記錄的調取分析。裝置還可以包括顯示屏9,用于顯示最終趨勢點序列,當然顯示屏9可以不設置在裝置中,而是通過信號線連接起來。

本發明雖然以較佳實施例公開如上,但其并不是用來限定權利要求,任何本領域技術人員在不脫離本發明的精神和范圍內,都可以做出可能的變動和修改,因此本發明的保護范圍應當以本發明權利要求所界定的范圍為準。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影