數字下變頻器中坐標變換模塊的ASIC實現
2.2 用CORDIC算法的流水結構實現坐標變換
CORDIC迭代結構如圖3所示,采用流水結構每次迭代完成一次旋轉,每級迭代都用寄存器寄存,這樣每個時鐘周期都可以計算出一次幅度和相位。迭代的次數越多,精度越高,當然耗費的資源也就越多。
在數字下變頻器輸出I,Q兩路信號后(輸出信號用補碼表示),用CORDIC實現坐標變換時,為簡化電路結構,只用計算的相角,其他象限的相角,采用處理后再映射的辦法求取,岡此,對剛進入的數據會進行預處理。首先就是求輸人數據的絕對值,并記錄符號位作為處理后象限映射的依據。接下來,會判斷I,Q兩路數據的大小關系,并將較小的值交換到Q路,這樣做的目的是要在同樣的迭代次數下,達到更高的迭代精度。進入CORDIC迭代單元前會對I,Q兩路數據進行位寬拓展,從而保證CORDIC迭代過程中,不會因截斷誤差造成太大的偏差。經過CORDIC迭代后所得的幅度值是有增益的,此時需要對其進行修正,另一方面,相位值需根據先前記錄的I,Q兩路數據的符號位和I,Q兩路數據交換的情況作象限映射,表1列出了相位映射的規(guī)則。坐標變換模塊的實現結構如圖4所示。
評論