數字積分法DDA(DDA(Digital Differential Analyzer)


數字積分法DDA(DDA(Digital Differential Analyzer)     

     數字積分法又稱數字微分分析法DDA(Digital differential Analyzer),是在數字積分器的基礎上建立起來的一種插補算法。數字積分法的優點是,易於實現多坐標聯動,較容易地實現二次曲線、高次曲線的插補,並具有運算速度快,應用廣泛。

1.直線插補

基本原理(自己去看,不在贅述)

原理圖:

實例:設有直線OE,起點在原點,終點E(xe=5,ye=4),寄存器均為三位二進制寄存器,用DDA法實現插補。

初始化 m=2^n=2^3=8,Σy=0,Σx=0

 

每一行出現溢出則移動一次。

結果:

 

實例2

設有一直線OE,如圖3-20所示起點坐標O(0,0),終點坐標為E(4,3),累加器和寄存器的位數為3位,其最大可寄存數值為7(J≥8時溢出)。若用二進制計算,起點坐標O(000,000),終點坐標E(100,011),J≥1000時溢出。試采用DDA法對其進行插補。

結果

 

2. 圓弧插補

第一象限順圓弧插補器

實例:

加工第一象限順圓AB,如圖3-27,起點A(0,5),終點B(5,0)選用寄存器位數n=3,經過 “半加載”處理后,試用DDA法進行插補計算。

JVX和JVY初始值在順圓弧插補圖中有解釋(可以根據第一象限順圓弧運動開始時x變化快y變化慢,結束是x變化慢y變化快來理解)。

結果:

提高插補精度的措施:

對於DDA圓弧插補,徑向誤差可能大於一個脈沖當量。

減少誤差的方法有:

①減小脈沖當量;

②采用累加器預置數法(規格化)

  即在DDA插補之前,將JRX,JRY的初值不置零,而是預置2^(n-1),使其二進制數最高有效位置“1”,其它各位置零,若再累加100…000,累加器就可以產生第一個溢出脈沖。這種處理方式稱為“半加載”(上圖中初始值為4就是使用了半加載。)

 

3. DDA圓弧插補與直線插補的主要區別

  • 圓弧插補中被積函數寄存器寄存的坐標值與對應坐標軸積分器的關系恰好相反。
  • 圓弧插補中被積函數是變量,直線插補的被積函數是常數。
  • 圓弧插補終點判別需采用兩個終點計數器。對於直線插補,如果寄存器位數為n,無論直線長短都需累加2^n次到達終點。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM