寄存器溢出的問題
發布時間:2008/11/10 0:00:00 訪問次數:1547
寄存器溢出的問題可以通過縮放輸人來緩解,將輸人縮放到一定程度可降低或消除寄存器溢出的概率。這種方法的缺點是實踐中求解所需的縮放因子非常煩瑣。測試用的輸人可能并非最壞情況輸入,因而可能低估所需的縮放因子。而且縮放降低了輸入的精度,因而也將降低輸出精度。另一種消除運行時溢出的方法是使用擴展精度的算法和寄存器。擴展精度寄存器具有額外的字長余量,從而允許最壞條件下濾波器仍能無誤差地存儲并保留系統狀態。
克服運行時溢出危害的首選方法是求解各寄存器或狀態位置處的最壞情況濾波器增益。這是研究fir時引人的最壞情況設計分析的擴展。通過將fir的沖激響應假設為無限長,可實現fir到iir的轉換。在fir中最壞情況分析是用濾波器的沖激響應來確定的,相似的方法也可用于iir。如果假設通過逐樣比較得到輸人信號的邊界為|x[k]≤mx,那么最壞情況輸人可表示為下式:
用術語講,gmax是濾波器輸人-輸出響應的j1范數。為了對n階iir運用這種基于fir的方法,需要算出系統所有狀態的i1范數,于是先要求出存儲在輸入和狀態移位寄存器之間的n個沖激響應。使用所選結構的狀態變量描述將便于進行求解。從狀態4元組[a,d,c,d]中[,4,b1的元素出發,利用一些數學技術即可算出從輸人到狀態n之間的n個沖激響應,利用下式可以進行仿真運算:
式中,h[k]花]為沖激響應構成的n維向量。理論上講,所有獨立狀態的i,范數均由向量值的無窮和確定,即
式中,hi[k]為第i個移位寄存器的輸出(即狀態xi[k]所在的位置)。不幸的是,利用式求解時需要計算無窮和。
假設系統是漸近穩定的,其沖激響應將逐漸收斂到零上,因而‖h[k]‖1為有界的穩態值。可以運用基本特征值分析原則來求解收斂值,而更簡單的方法是用實驗法求解i,范數。這種方法是用足夠長的部分求和值來逼近式。matlab的norm函數可用于按給定誤差容限計算第j個狀態的沖激響應的j,范數。一旦l,范數‖h[k]‖1被計算或估計出,即可用于確定狀態寄存器的動態范圍需求。下面的例子顯示了這個過程。
歡迎轉載,信息來自維庫電子市場網(www.dzsc.com)
寄存器溢出的問題可以通過縮放輸人來緩解,將輸人縮放到一定程度可降低或消除寄存器溢出的概率。這種方法的缺點是實踐中求解所需的縮放因子非常煩瑣。測試用的輸人可能并非最壞情況輸入,因而可能低估所需的縮放因子。而且縮放降低了輸入的精度,因而也將降低輸出精度。另一種消除運行時溢出的方法是使用擴展精度的算法和寄存器。擴展精度寄存器具有額外的字長余量,從而允許最壞條件下濾波器仍能無誤差地存儲并保留系統狀態。
克服運行時溢出危害的首選方法是求解各寄存器或狀態位置處的最壞情況濾波器增益。這是研究fir時引人的最壞情況設計分析的擴展。通過將fir的沖激響應假設為無限長,可實現fir到iir的轉換。在fir中最壞情況分析是用濾波器的沖激響應來確定的,相似的方法也可用于iir。如果假設通過逐樣比較得到輸人信號的邊界為|x[k]≤mx,那么最壞情況輸人可表示為下式:
用術語講,gmax是濾波器輸人-輸出響應的j1范數。為了對n階iir運用這種基于fir的方法,需要算出系統所有狀態的i1范數,于是先要求出存儲在輸入和狀態移位寄存器之間的n個沖激響應。使用所選結構的狀態變量描述將便于進行求解。從狀態4元組[a,d,c,d]中[,4,b1的元素出發,利用一些數學技術即可算出從輸人到狀態n之間的n個沖激響應,利用下式可以進行仿真運算:
式中,h[k]花]為沖激響應構成的n維向量。理論上講,所有獨立狀態的i,范數均由向量值的無窮和確定,即
式中,hi[k]為第i個移位寄存器的輸出(即狀態xi[k]所在的位置)。不幸的是,利用式求解時需要計算無窮和。
假設系統是漸近穩定的,其沖激響應將逐漸收斂到零上,因而‖h[k]‖1為有界的穩態值。可以運用基本特征值分析原則來求解收斂值,而更簡單的方法是用實驗法求解i,范數。這種方法是用足夠長的部分求和值來逼近式。matlab的norm函數可用于按給定誤差容限計算第j個狀態的沖激響應的j,范數。一旦l,范數‖h[k]‖1被計算或估計出,即可用于確定狀態寄存器的動態范圍需求。下面的例子顯示了這個過程。
歡迎轉載,信息來自維庫電子市場網(www.dzsc.com)