基于fpga的待測(cè)角三角函數(shù)值的測(cè)算方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及工業(yè)控制中角度測(cè)算過(guò)程,尤其涉及一種基于FPGA的待測(cè)角三角函 數(shù)值的測(cè)算方法及系統(tǒng)。
【背景技術(shù)】
[0002] 硬件三角函數(shù)的運(yùn)算是指在FPGA或SOC系統(tǒng)上實(shí)現(xiàn)三角函數(shù)的數(shù)值計(jì)算,如正弦 函數(shù)sinx、余弦函數(shù)cosx、正切函數(shù)tanx、余切函數(shù)cotx等。一般這種基于硬件系統(tǒng)的運(yùn) 算結(jié)果無(wú)法直接調(diào)用硬件的相關(guān)IP核獲得,必須轉(zhuǎn)換成基本的加減乘除運(yùn)算間接計(jì)算獲 得。目前,硬件三角函數(shù)的實(shí)現(xiàn)方法主要分為三種:
[0003] (1)基于多項(xiàng)式展開(kāi)的數(shù)值逼近法
[0004] 三角函數(shù)可以利用泰勒級(jí)數(shù)等方式進(jìn)行多項(xiàng)式展開(kāi),從而將抽象的三角函數(shù)計(jì)算 轉(zhuǎn)化為基本的數(shù)學(xué)運(yùn)算,比如:
【主權(quán)項(xiàng)】
1. 一種基于FPGA的待測(cè)角S角函數(shù)值的測(cè)算方法,包括如下步驟: 51 ;檢測(cè)得到任意待測(cè)角度的弧度值,并確認(rèn)所需S角函數(shù)的類(lèi)型; 52 ;將步驟S1得到的數(shù)值和類(lèi)型應(yīng)用到預(yù)設(shè)的轉(zhuǎn)換關(guān)系表,得到轉(zhuǎn)換后角度值及符號(hào) 標(biāo)識(shí); 所述轉(zhuǎn)換關(guān)系表用W: 將原待測(cè)角度的數(shù)值轉(zhuǎn)換到預(yù)設(shè)的造表區(qū)間內(nèi),得到所述轉(zhuǎn)換后角度值; 設(shè)定一個(gè)符號(hào)標(biāo)識(shí),該符號(hào)標(biāo)識(shí)用W確定S角函數(shù)值的正負(fù); 53 ;仿真對(duì)應(yīng)的S角函數(shù)曲線,依次在該S角函數(shù)曲線上取若干定點(diǎn),依據(jù)該些定點(diǎn)依 次得到若干連續(xù)的擬合曲線,從而獲得若干擬合曲線各自的函數(shù)式; 54 ;將所述轉(zhuǎn)換后角度值定位于其中一個(gè)擬合曲線的范圍內(nèi); 55 ;將步驟S2中得到的所述轉(zhuǎn)換后角度值代入到步驟S4中定位的擬合曲線的函數(shù)式 中,得到=角函數(shù)的數(shù)值; 56 ;依據(jù)所述符號(hào)標(biāo)識(shí)確定該=角函數(shù)數(shù)值的正負(fù),最終得到=角函數(shù)值。
2. 如權(quán)利要求1所述的基于FPGA的待測(cè)角S角函數(shù)值的測(cè)算方法,其特征在于:所述 造表區(qū)間為[0, n/2]。
3. 如權(quán)利要求1所述基于FPGA的待測(cè)角S角函數(shù)值的測(cè)算方法,其特征在于;在所述 步驟S3中,在該曲線上取若干定點(diǎn)時(shí),下規(guī)則進(jìn)行定點(diǎn)的選擇: a、 相鄰定點(diǎn)間的角度值間隔固定; b、 在所述造表區(qū)間的范圍內(nèi)取定點(diǎn); C、沿角度值從小到大的取值方向依次取點(diǎn)。
4. 如權(quán)利要求3所述基于FPGA的待測(cè)角S角函數(shù)值的測(cè)算方法,其特征在于;在取若 干定點(diǎn)和得到若干連續(xù)的擬合曲線的過(guò)程中: 對(duì)于每一個(gè)擬合曲線: 先自起點(diǎn)起在S角函數(shù)的曲線上取m個(gè)定點(diǎn),據(jù)此m個(gè)定點(diǎn)繪制一個(gè)擬合曲線; 然后,繼續(xù)在S角函數(shù)的曲線上取定點(diǎn),且自第m+1個(gè)定點(diǎn)起,將所取定點(diǎn)的角度值代 入該擬合曲線和原=角函數(shù)曲線中,得到兩個(gè)函數(shù)值; 進(jìn)行函數(shù)值的比較; 若對(duì)于第n個(gè)定點(diǎn)的角度值,兩個(gè)函數(shù)值之間的誤差等于一個(gè)預(yù)設(shè)的判定值,則取該 點(diǎn)為本擬合曲線的終點(diǎn),且將其作為下一個(gè)擬合曲線的起點(diǎn); 若對(duì)于第n個(gè)定點(diǎn)的角度值,兩個(gè)函數(shù)值之間的誤差大于該預(yù)設(shè)的判定值,則取第n-1 個(gè)點(diǎn)為本擬合曲線的終點(diǎn),且將其作為下一個(gè)擬合曲線的起點(diǎn); 若對(duì)于第n個(gè)定點(diǎn)的角度值,兩個(gè)函數(shù)值之間的誤差小于該預(yù)設(shè)的判定值,則繼續(xù)取 下一個(gè)頂點(diǎn)進(jìn)行計(jì)算和比較。
5. 如權(quán)利要求4所述基于FPGA的待測(cè)角S角函數(shù)值的測(cè)算方法,其特征在于對(duì)于第 一個(gè)擬合曲線,其起點(diǎn)的角度值為0。
6. 如權(quán)利要求1所述基于FPGA的待測(cè)角S角函數(shù)值的測(cè)算方法,其特征在于:相鄰 兩個(gè)擬合曲線擬合曲線之間通過(guò)一個(gè)擬合點(diǎn)實(shí)現(xiàn)連續(xù);在所述步驟S4中,具體包括如下步 驟: 先分別得到轉(zhuǎn)換后角度值對(duì)應(yīng)的階碼W及各擬合點(diǎn)對(duì)應(yīng)的階碼; 比較轉(zhuǎn)換后角度值對(duì)應(yīng)的階碼和各擬合點(diǎn)對(duì)應(yīng)的階碼: 若轉(zhuǎn)換后角度值對(duì)應(yīng)的階碼的數(shù)值處于某兩個(gè)相鄰的擬合點(diǎn)對(duì)應(yīng)的階碼之間,則將所 述轉(zhuǎn)換后角度值定位于該兩個(gè)擬合點(diǎn)確定的擬合曲線的范圍內(nèi); 若轉(zhuǎn)換后角度值對(duì)應(yīng)的階碼的數(shù)值與其中一個(gè)擬合點(diǎn)對(duì)應(yīng)的階碼相同,則確認(rèn)該轉(zhuǎn)換 后角度值位于與該擬合點(diǎn)相鄰的一個(gè)擬合曲線的范圍內(nèi),然后,再比較兩者的尾數(shù)大小, 進(jìn)而將所述轉(zhuǎn)換后角度值定位于其中一個(gè)擬合曲線的范圍內(nèi)。
7. 如權(quán)利要求1所述基于FPGA的待測(cè)角S角函數(shù)值的測(cè)算方法,其特征在于;所述擬 合曲線為二次擬合曲線,其函數(shù)式為f = ax2+bx+c,在將步驟S5中,W如下公式f = (ax+b) x+c,通過(guò)兩次乘法和兩次加法進(jìn)行計(jì)算。
8. -種基于FPGA的待測(cè)角S角函數(shù)值的測(cè)算系統(tǒng),包括預(yù)處理單元、查表定位單元、 計(jì)算單元和后處理單元; 所述預(yù)處理單元,用W將檢測(cè)得到的數(shù)值和類(lèi)型應(yīng)用到預(yù)設(shè)的轉(zhuǎn)換關(guān)系表,得到轉(zhuǎn)換 后角度值及符號(hào)標(biāo)識(shí); 所述轉(zhuǎn)換關(guān)系表用W: 將原待測(cè)角度的數(shù)值轉(zhuǎn)換到預(yù)設(shè)的造表區(qū)間內(nèi),得到所述轉(zhuǎn)換后角度值; 設(shè)定一個(gè)符號(hào)標(biāo)識(shí),該符號(hào)標(biāo)識(shí)用W確定S角函數(shù)值的正負(fù); 所述查表定位單元,用W仿真對(duì)應(yīng)的=角函數(shù)曲線,依次在該=角函數(shù)曲線上取若 干定點(diǎn),依據(jù)該些定點(diǎn)依次得到若干連續(xù)的擬合曲線,從而獲得若干擬合曲線各自的函數(shù) 式; 然后,將所述轉(zhuǎn)換后角度值定位于其中一個(gè)擬合曲線的范圍內(nèi); 所述計(jì)算單元,用W將轉(zhuǎn)換后角度值代入到所述查表定位單元定位的擬合曲線的函數(shù) 式中,得到S角函數(shù)的數(shù)值, 所述后處理單元;依據(jù)所述符號(hào)標(biāo)識(shí)確定該=角函數(shù)數(shù)值的正負(fù),最終得到=角函數(shù) 值。
9. 如權(quán)利要求8所述基于FPGA的待測(cè)角S角函數(shù)值的測(cè)算系統(tǒng),其特征在于;所述查 表定位單元被配置成:在該=角函數(shù)曲線上取若干定點(diǎn)時(shí),下規(guī)則進(jìn)行定點(diǎn)的選擇: a、 相鄰定點(diǎn)間的角度值間隔固定; b、 在所述造表區(qū)間的范圍內(nèi)取定點(diǎn); C、沿角度值從小到大的取值方向依次取點(diǎn)。
10. 如權(quán)利要求9所述基于FPGA的待測(cè)角S角函數(shù)值的測(cè)算方法,其特征在于:對(duì)于 每一個(gè)擬合曲線: 先自起點(diǎn)起在S角函數(shù)的曲線上取m個(gè)定點(diǎn),據(jù)此m個(gè)定點(diǎn)繪制一個(gè)擬合曲線; 然后,繼續(xù)在S角函數(shù)的曲線上取定點(diǎn),且自第m+1個(gè)定點(diǎn)起,將所取定點(diǎn)的角度值代 入該擬合曲線和原=角函數(shù)曲線中,得到兩個(gè)函數(shù)值; 進(jìn)行函數(shù)值的比較; 若對(duì)于第n個(gè)定點(diǎn)的角度值,兩個(gè)函數(shù)值之間的誤差等于一個(gè)預(yù)設(shè)的判定值,則取該 點(diǎn)為本擬合曲線的終點(diǎn),且將其作為下一個(gè)擬合曲線的起點(diǎn); 若對(duì)于第n個(gè)定點(diǎn)的角度值,兩個(gè)函數(shù)值之間的誤差大于該預(yù)設(shè)的判定值,則取第n-1 個(gè)點(diǎn)為本擬合曲線的終點(diǎn),且將其作為下一個(gè)擬合曲線的起點(diǎn); 若對(duì)于第n個(gè)定點(diǎn)的角度值,兩個(gè)函數(shù)值之間的誤差小于該預(yù)設(shè)的判定值,則繼續(xù)取 下一個(gè)頂點(diǎn)進(jìn)行計(jì)算和比較。
11. 如權(quán)利要求8所述基于FPGA的待測(cè)角S角函數(shù)值的測(cè)算方法,其特征在于:相鄰 兩個(gè)擬合曲線之間通過(guò)一個(gè)擬合點(diǎn)實(shí)現(xiàn)連續(xù);所述查表定位單元被配置實(shí)現(xiàn)W下步驟: 先分別得到轉(zhuǎn)換后角度值對(duì)應(yīng)的階碼W及各擬合點(diǎn)對(duì)應(yīng)的階碼; 比較轉(zhuǎn)換后角度值對(duì)應(yīng)的階碼和各擬合點(diǎn)對(duì)應(yīng)的階碼: 若轉(zhuǎn)換后角度值對(duì)應(yīng)的階碼的數(shù)值處于某兩個(gè)相鄰的擬合點(diǎn)對(duì)應(yīng)的階碼之間,則將所 述轉(zhuǎn)換后角度值定位于該兩個(gè)擬合點(diǎn)確定的擬合曲線的范圍內(nèi); 若轉(zhuǎn)換后角度值對(duì)應(yīng)的階碼的數(shù)值與其中一個(gè)擬合點(diǎn)對(duì)應(yīng)的階碼相同,則確認(rèn)該轉(zhuǎn)換 后角度值位于與該擬合點(diǎn)相鄰的一個(gè)擬合曲線的范圍內(nèi),然后,再比較兩者的尾數(shù)大小,進(jìn) 而將所述轉(zhuǎn)換后角度值定位于其中一個(gè)擬合曲線的范圍內(nèi)。
12. 如權(quán)利要求8所述基于FPGA的待測(cè)角S角函數(shù)值的測(cè)算方法,其特征在于:所述 擬合曲線的函數(shù)式為f = ax2+bx+c,所述后處理單元配置成W如下公式f = (ax+b)x+c,通 過(guò)兩次乘法和兩次加法進(jìn)行計(jì)算。
【專(zhuān)利摘要】本發(fā)明提供了一種基于FPGA的待測(cè)角三角函數(shù)值的測(cè)算方法及系統(tǒng),該方法包括如下步驟:S1:檢測(cè)得到任意待測(cè)角度的弧度值,并確認(rèn)所需三角函數(shù)的類(lèi)型;S2:將步驟S1得到的數(shù)值和類(lèi)型應(yīng)用到預(yù)設(shè)的轉(zhuǎn)換關(guān)系表,得到轉(zhuǎn)換后角度值及符號(hào)標(biāo)識(shí);S3:仿真對(duì)應(yīng)的三角函數(shù)曲線,依次在該三角函數(shù)曲線上取若干定點(diǎn),依據(jù)這些定點(diǎn)依次得到若干連續(xù)的擬合曲線,從而獲得若干擬合曲線各自的函數(shù)式;S4:將所述轉(zhuǎn)換后角度值定位于其中一個(gè)擬合曲線的范圍內(nèi);S5:將步驟S2中得到的所述轉(zhuǎn)換后角度值代入到步驟S4中定位的擬合曲線的函數(shù)式中,得到三角函數(shù)的數(shù)值;S6:依據(jù)所述符號(hào)標(biāo)識(shí)確定該三角函數(shù)數(shù)值的正負(fù),最終得到三角函數(shù)值。
【IPC分類(lèi)】G06F7-548
【公開(kāi)號(hào)】CN104536720
【申請(qǐng)?zhí)枴緾N201410805911
【發(fā)明人】朱冬冬, 潘再生, 施一明, 童慶, 王薇
【申請(qǐng)人】浙江中控研究院有限公司
【公開(kāi)日】2015年4月22日
【申請(qǐng)日】2014年12月22日