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