System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及硬件控制,特別是涉及一種正切及反正切函數硬件電路構建方法、裝置、計算機設備、計算機可讀存儲介質和計算機程序產品。
技術介紹
1、在現代科技領域,三角函數、對數函數、開方函數以及正切/反正切函數等任意函數的計算需求日益增長,它們在計算機圖形學、數字信號處理、通信系統、機器人、導航、天體物理學、流體物理學等多個領域扮演著重要角色。隨著技術的發展,對這些函數的計算精度和速度要求也越來越高。
2、軟件解決方案雖然在某些情況下可行,但在需要高速計算的應用中往往力不從心,因此硬件算法實現成為了一種必要的選擇。查找表法是一種簡單快速的實現方式,尤其適用于低精度計算,但隨著計算精度的提高,查找表法由于需要存儲大量數據而變得不切實際。
3、其中,cordic(坐標旋轉數字計算機)算法因其在硬件電路中的高效性而被廣泛使用。它主要通過迭代過程,使用基本的加減法、移位以及查找表等操作來逼近目標函數,無需復雜的乘除運算。然而,cordic算法的迭代特性導致其在高精度計算時收斂速度慢,且吞吐量受限。
4、因此,亟需一種正切及反正切函數硬件電路構建方法、裝置、計算機設備、計算機可讀存儲介質和計算機程序產品,能夠實現對硬件電路的正切及反正切函數的精確計算,并且提高收斂效率,使其具有更高的吞吐量。
技術實現思路
1、基于此,有必要針對上述技術問題,提供一種能夠實現對硬件電路的正切及反正切函數的精確計算,并且提高收斂效率,使其具有更高的吞吐量的正切及反正切函數硬件電路構建
2、第一方面,本申請提供了一種正切及反正切函數硬件電路構建方法,包括:
3、構建包含第一子函數與第二子函數的計算模型;
4、根據正切及反正切函數的計算精度需求,確定所述第二子函數的非線性插值間隔數量和硬件電路的輸入輸出位寬;
5、根據所述第二子函數的非線性插值間隔數量和硬件電路的輸入輸出位寬,利用所述計算模型,對正切及反正切函數進行計算,獲得存儲系數;
6、根據所述存儲系數,構建硬件電路結構。
7、在其中一個實施例中,所述第一子函數為一階函數表示,所述第二子函數為非線性插值函數。
8、在其中一個實施例中,所述構建包含第一子函數與第二子函數的計算模型之前,還包括:
9、分別對所述第一子函數和所述第二子函數進行預處理,使得所述第一子函數和所述第二子函數的變量值均位于大于0且小于1的范圍內。
10、在其中一個實施例中,所述構建包含第一子函數與第二子函數的計算模型,包括:
11、將所述第一子函數與所述第二子函數進行相乘,得到所述計算模型,所述計算模型的表達式為:
12、forg(x)=s1(x)·s2(x);
13、其中,s1(x)為所述第一子函數;s2(x)為所述第二子函數;0≤x<1;0≤forg(x)<1。
14、在其中一個實施例中,所述第一子函數s1(x)和所述第二子函數s2(x)的函數表達式為:
15、
16、其中,l2,i為第一函數系數,j2,i為第二函數系數,c2,i為第三函數系數;i表示第ith個插值間隔,總共劃分為2n個間隔;xw=fract(2n·x)。
17、在其中一個實施例中,所述第一函數系數l2,i的表達式包括:
18、l2,i=f1(xstart,i);
19、所述第二函數系數c2,i的表達式包括:
20、j2,i=k2,i+c2,i;
21、所述第三函數系數c2,i的表達式包括:
22、
23、其中,xstart,i和xend,i分別表示第ith個插值間隔的起點和終點,k2,i表示第ith個插值間隔的斜率。
24、第二方面,本申請還提供了一種正切及反正切函數硬件電路構建裝置,包括:
25、模型構建模塊,用于構建包含第一子函數與第二子函數的計算模型;
26、計算模塊,用于根據正切及反正切函數的計算精度需求,確定所述第二子函數的非線性插值間隔數量和硬件電路的輸入輸出位寬;
27、計算模塊,還用于根據所述第二子函數的非線性插值間隔數量和硬件電路的輸入輸出位寬,利用所述計算模型,對正切及反正切函數進行計算,獲得存儲系數;
28、電路結構構建模塊,用于根據所述存儲系數,構建硬件電路結構。
29、第三方面,本申請還提供了一種計算機設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執行所述計算機程序時實現以下步驟:
30、構建包含第一子函數與第二子函數的計算模型;
31、根據正切及反正切函數的計算精度需求,確定所述第二子函數的非線性插值間隔數量和硬件電路的輸入輸出位寬;
32、根據所述第二子函數的非線性插值間隔數量和硬件電路的輸入輸出位寬,利用所述計算模型,對正切及反正切函數進行計算,獲得存儲系數;
33、根據所述存儲系數,構建硬件電路結構。
34、第四方面,本申請還提供了一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現以下步驟:
35、構建包含第一子函數與第二子函數的計算模型;
36、根據正切及反正切函數的計算精度需求,確定所述第二子函數的非線性插值間隔數量和硬件電路的輸入輸出位寬;
37、根據所述第二子函數的非線性插值間隔數量和硬件電路的輸入輸出位寬,利用所述計算模型,對正切及反正切函數進行計算,獲得存儲系數;
38、根據所述存儲系數,構建硬件電路結構。
39、第五方面,本申請還提供了一種計算機程序產品,包括計算機程序,該計算機程序被處理器執行時實現以下步驟:
40、構建包含第一子函數與第二子函數的計算模型;
41、根據正切及反正切函數的計算精度需求,確定所述第二子函數的非線性插值間隔數量和硬件電路的輸入輸出位寬;
42、根據所述第二子函數的非線性插值間隔數量和硬件電路的輸入輸出位寬,利用所述計算模型,對正切及反正切函數進行計算,獲得存儲系數;
43、根據所述存儲系數,構建硬件電路結構。
44、上述正切及反正切函數硬件電路構建方法、裝置、計算機設備、計算機可讀存儲介質和計算機程序產品,通過構建包含第一子函數和第二子函數的計算模型,可以更準確地模擬正切和反正切函數的行為。通過確定第二子函數的非線性插值間隔數量,可以根據所需的計算精度來調整硬件電路。間隔數量越多,精度越高,但同時計算復雜度和資源消耗也會增加。根據非線性插值間隔數量和所需的輸入輸出位寬,可以設計出適應不同精度要求的硬件電路。通過利用計算模型獲得存儲系數,可以減少計算過程中的復雜運算,提高硬件電路的計算效率。通過精確的系數存儲,可以優化硬件本文檔來自技高網...
【技術保護點】
1.一種正切及反正切函數硬件電路構建方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述第一子函數為一階函數表示,所述第二子函數為非線性插值函數。
3.根據權利要求1所述的方法,其特征在于,所述構建包含第一子函數與第二子函數的計算模型之前,還包括:
4.根據權利要求1所述的方法,其特征在于,所述構建包含第一子函數與第二子函數的計算模型,包括:
5.根據權利要求4所述的方法,其特征在于,所述第一子函數s1(x)和所述第二子函數s2(x)的函數表達式為:
6.根據權利要求5所述的方法,其特征在于,所述第一函數系數l2,i的表達式包括:
7.一種正切及反正切函數硬件電路構建裝置,其特征在于,所述裝置包括:
8.一種計算機設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,其特征在于,所述處理器執行所述計算機程序時實現權利要求1至6中任一項所述的方法的步驟。
9.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至
10.一種計算機程序產品,包括計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至6中任一項所述的方法的步驟。
...【技術特征摘要】
1.一種正切及反正切函數硬件電路構建方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述第一子函數為一階函數表示,所述第二子函數為非線性插值函數。
3.根據權利要求1所述的方法,其特征在于,所述構建包含第一子函數與第二子函數的計算模型之前,還包括:
4.根據權利要求1所述的方法,其特征在于,所述構建包含第一子函數與第二子函數的計算模型,包括:
5.根據權利要求4所述的方法,其特征在于,所述第一子函數s1(x)和所述第二子函數s2(x)的函數表達式為:
6.根據權利要求5所述的方法,其特征在...
【專利技術屬性】
技術研發人員:羅軍,李元晟,王之哲,陳義強,路國光,
申請(專利權)人:中國電子產品可靠性與環境試驗研究所工業和信息化部電子第五研究所中國賽寶實驗室,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。