本發(fā)明涉及一種基于cordic(coordinate?rotation?digital?computer)算法的直接數(shù)字頻率合成器(dds),特別是一種通過(guò)優(yōu)化rom使用和提高計(jì)算效率的高速dds系統(tǒng)。本發(fā)明尤其側(cè)重于通過(guò)快速域折疊技術(shù)將角度快速收斂至π/12以內(nèi),并結(jié)合優(yōu)化查找表壓縮技術(shù),大幅減少rom消耗,從而提高系統(tǒng)的精度和效率。
背景技術(shù):
1、直接數(shù)字頻率合成(direct?digital?synthesis,dds)技術(shù)廣泛應(yīng)用于生成精確的頻率和波形信號(hào),其主要優(yōu)點(diǎn)包括高頻率分辨率、快速轉(zhuǎn)換速度、良好的穩(wěn)定性、可生成多種波形以及相位連續(xù)性。dds系統(tǒng)的核心部件通常包括相位累加器、相幅轉(zhuǎn)換器和數(shù)模轉(zhuǎn)換器(dac)。相位累加器負(fù)責(zé)生成逐步累加的相位信號(hào),相幅轉(zhuǎn)換器將這些相位信號(hào)轉(zhuǎn)換為對(duì)應(yīng)的波形幅度,而數(shù)模轉(zhuǎn)換器(dac)則將生成的數(shù)字振幅信號(hào)轉(zhuǎn)換為模擬信號(hào),以供外部使用。
2、在傳統(tǒng)設(shè)計(jì)中,相幅轉(zhuǎn)換器往往依賴cordic算法來(lái)實(shí)現(xiàn)高效的角度計(jì)算和波形生成。cordic算法通過(guò)迭代計(jì)算正弦和余弦值,以完成角度到振幅的轉(zhuǎn)換。然而,為了實(shí)現(xiàn)較高的計(jì)算精度,傳統(tǒng)dds系統(tǒng)通常需要依賴rom存儲(chǔ)大量的查找表數(shù)據(jù),以便快速查找所需的正弦和余弦值。但這種方法導(dǎo)致了對(duì)rom資源的高度依賴,而rom資源的有限性直接限制了dds系統(tǒng)整體性能的進(jìn)一步提升。此外,cordic算法在計(jì)算效率和精度方面也存在瓶頸,尤其是在高精度應(yīng)用中,可能會(huì)出現(xiàn)較高的相位噪聲和雜散信號(hào),從而影響輸出信號(hào)的質(zhì)量。
3、隨著技術(shù)的不斷進(jìn)步和高精度應(yīng)用需求的增加,傳統(tǒng)cordic算法的計(jì)算速度和精度已難以滿足現(xiàn)代dds系統(tǒng)的要求。研究人員提出了多種優(yōu)化方案,旨在減少迭代次數(shù)、降低rom資源消耗以及去除縮放因子等,這些改進(jìn)在一定程度上緩解了傳統(tǒng)算法的不足,但在rom資源的利用和計(jì)算效率方面仍存在進(jìn)一步優(yōu)化的空間。
4、針對(duì)這一挑戰(zhàn),本發(fā)明提出了一種基于優(yōu)化型cordic算法的高速直接數(shù)字頻率合成器。該頻率合成器由相位累加器、cordic轉(zhuǎn)換器和數(shù)模轉(zhuǎn)換器(dac)組成。相位累加器負(fù)責(zé)累加輸入相位并進(jìn)行適當(dāng)截取,以生成精確的相位信號(hào)。cordic轉(zhuǎn)換器采用優(yōu)化型cordic算法,通過(guò)小角度提取模塊將輸入的相位角度轉(zhuǎn)換為π/12以內(nèi)的小角度,并利用查找表模塊僅存儲(chǔ)對(duì)應(yīng)π/12劃分的11組正余弦數(shù)值。這一設(shè)計(jì)顯著減少了對(duì)rom的依賴,優(yōu)化了存儲(chǔ)資源的利用。隨后,數(shù)據(jù)經(jīng)過(guò)免縮放處理,并通過(guò)余四算法的并行三組旋轉(zhuǎn)計(jì)算模塊進(jìn)行處理,最終在域折疊還原模塊中通過(guò)和角公式還原信號(hào)。最后,經(jīng)過(guò)數(shù)模轉(zhuǎn)換器(dac)將生成的數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào)。
5、整個(gè)頻率合成器系統(tǒng)采用流水線架構(gòu),不僅提高了計(jì)算效率,還通過(guò)優(yōu)化cordic算法顯著提升了頻率合成器的精度和速度,同時(shí)大幅降低了存儲(chǔ)需求。這一改進(jìn)極大地減少了大規(guī)模芯片制造中的生產(chǎn)費(fèi)用,使得該設(shè)計(jì)能夠更好地滿足現(xiàn)代高精度、低雜散dds系統(tǒng)的需求。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提供了一種基于優(yōu)化型cordic算法的高速直接數(shù)字頻率合成器(dds),旨在解決傳統(tǒng)dds系統(tǒng)中rom資源消耗大、計(jì)算效率低、輸出信號(hào)質(zhì)量不佳的問(wèn)題。
2、為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種基于優(yōu)化型cordic算法的高速直接數(shù)字頻率合成器,包括:
3、相位累加器,負(fù)責(zé)累加輸入相位并進(jìn)行適當(dāng)截??;
4、cordic轉(zhuǎn)換器,用于將相位信號(hào)轉(zhuǎn)化為數(shù)字振幅信號(hào);
5、數(shù)模轉(zhuǎn)換器(dac),用于將cordic轉(zhuǎn)換器輸出的數(shù)字振幅信號(hào)轉(zhuǎn)換為模擬信號(hào);
6、其中,所述cordic轉(zhuǎn)換器包括以下模塊:
7、小角度提取模塊,用于解析輸入的角度信息,提取象限、區(qū)域數(shù)據(jù)及相應(yīng)的小角度信息;
8、查找表模塊,采用精簡(jiǎn)的查找表資源,預(yù)存小角度條件下的精確正余弦值,并通過(guò)獲取小角度的高位信息確定查詢地址,實(shí)現(xiàn)快速檢索;
9、旋轉(zhuǎn)計(jì)算模塊,對(duì)傳統(tǒng)cordic算法的旋轉(zhuǎn)矩陣進(jìn)行改進(jìn),基于小角度信息和查找表模塊提供的正余弦值,采用免縮放因子的迭代方法進(jìn)行旋轉(zhuǎn)逼近計(jì)算,實(shí)現(xiàn)高效的旋轉(zhuǎn)計(jì)算;
10、角度還原模塊,接收小角度提取模塊提供的象限與區(qū)域數(shù)據(jù),通過(guò)正負(fù)關(guān)系和坐標(biāo)交換生成全范圍的角度,完成角度還原。
11、作為本發(fā)明的進(jìn)一步改進(jìn),所述相位累加器包括一個(gè)加法單元和一個(gè)累加寄存器。加法單元用于將頻率控制字與前一周期的累加值相結(jié)合,生成新的相位值。累加寄存器則用于在每個(gè)時(shí)鐘周期內(nèi)存儲(chǔ)生成的相位值,并將其作為下一周期的輸入,以確保頻率合成器在連續(xù)工作過(guò)程中保持相位累加的一致性和系統(tǒng)的穩(wěn)定運(yùn)行。此外,所述相位累加器還對(duì)輸入的相位信號(hào)進(jìn)行適當(dāng)截取,以滿足特定的精度要求。
12、作為本發(fā)明的進(jìn)一步改進(jìn),所述小角度提取模塊進(jìn)一步包括角度解碼器,用于將輸入的相位信息解碼為象限、區(qū)域和小角度信息,以指導(dǎo)查找表模塊和旋轉(zhuǎn)計(jì)算模塊的后續(xù)操作。每個(gè)象限被劃分為六個(gè)區(qū)域(a、b、c、d、e、f),每個(gè)區(qū)域的范圍為π/12。角度解碼器通過(guò)解析相位信息的高五位數(shù)據(jù)確定角度的象限和區(qū)域,并通過(guò)區(qū)域修正因子m快速修正小角度,從而實(shí)現(xiàn)快速收斂至π/12以下,簡(jiǎn)化計(jì)算量和查找表規(guī)模。
13、作為本發(fā)明的進(jìn)一步改進(jìn),所述查找表模塊通過(guò)查找表壓縮技術(shù)進(jìn)行了優(yōu)化,預(yù)先計(jì)算并存儲(chǔ)小角度范圍內(nèi)(0到π/12)的正弦和余弦值。通過(guò)將π/12有效劃分為11組正余弦數(shù)值,設(shè)計(jì)成小型查找表。在小角度下,正弦和余弦值的存儲(chǔ)位寬可以進(jìn)一步省略高位的1和0。這一優(yōu)化顯著減少了查找表和rom資源的使用,同時(shí)保證了在旋轉(zhuǎn)計(jì)算過(guò)程中能夠快速且高精度地提供參考值,從而提高了系統(tǒng)的整體效率。
14、作為本發(fā)明的進(jìn)一步改進(jìn),所述優(yōu)化型cordic算法是基于傳統(tǒng)cordic算法的改進(jìn)。傳統(tǒng)cordic算法的公式如下:
15、
16、其中,l為總的旋轉(zhuǎn)次數(shù);xl:經(jīng)過(guò)l次旋轉(zhuǎn)后的橫坐標(biāo),代表最終余弦值;yl:經(jīng)過(guò)l次旋轉(zhuǎn)后的縱坐標(biāo),代表最終正弦值;cosθn和sinθn:分別為第n次旋轉(zhuǎn)角度的余弦值和正弦值;x0和y0:初始輸入向量的橫縱坐標(biāo)。旋轉(zhuǎn)矩陣為θ是[0,π/12]之間的小角度,對(duì)應(yīng)的公式為:
17、
18、其中,tn∈{0,1},表示所在角度二極化的二進(jìn)制編碼。
19、優(yōu)化型的cordic算法是處于一個(gè)小角度情況下的實(shí)現(xiàn),通過(guò)對(duì)旋轉(zhuǎn)矩陣的優(yōu)化來(lái)實(shí)現(xiàn)。在第六次和第七次的旋轉(zhuǎn)矩陣使用cosθn和sinθn的泰勒展開(kāi)式進(jìn)行免縮放策略,變化如下:
20、
21、在后續(xù)旋轉(zhuǎn)階段,使用cosθn和tanθn的等效近似,變化形式:
22、
23、作為本發(fā)明的進(jìn)一步改進(jìn),所述旋轉(zhuǎn)計(jì)算模塊采用泰勒級(jí)數(shù)展開(kāi)法進(jìn)行近似計(jì)算,并對(duì)每個(gè)階段的旋轉(zhuǎn)矩陣結(jié)合免縮放算法和余四算法進(jìn)行優(yōu)化。在每個(gè)計(jì)算階段,通過(guò)查找表模塊提供的正弦和余弦值逐步縮小旋轉(zhuǎn)角度的范圍,以提高計(jì)算精度。在中間兩次旋轉(zhuǎn)中,使用cosθn和sinθn的泰勒展開(kāi)式,后續(xù)旋轉(zhuǎn)階段則全部采用cosθn和tanθn的等效近似。此外,旋轉(zhuǎn)計(jì)算模塊采用流水線和并行計(jì)算架構(gòu),使多步旋轉(zhuǎn)計(jì)算能夠并行進(jìn)行,從而顯著提升計(jì)算效率和系統(tǒng)響應(yīng)速度。
24、作為本發(fā)明的進(jìn)一步改進(jìn),所述角度還原模塊包括角度變換器,用于將π/12內(nèi)計(jì)算出的小角度的正弦值,通過(guò)π/6的和角公式以及正負(fù)關(guān)系和坐標(biāo)交換擴(kuò)展至全角度范圍,確保cordic算法在全角度范圍內(nèi)的旋轉(zhuǎn)和變換準(zhǔn)確性。
25、作為本發(fā)明的進(jìn)一步改進(jìn),所述數(shù)模轉(zhuǎn)換器(dac)用于將cordic轉(zhuǎn)換器生成的數(shù)字振幅信號(hào)轉(zhuǎn)換為模擬信號(hào),以實(shí)現(xiàn)信號(hào)的最終輸出。
26、相對(duì)于現(xiàn)有技術(shù),本發(fā)明的優(yōu)點(diǎn)如下:
27、本發(fā)明通過(guò)使用優(yōu)化型的cordic算法,實(shí)現(xiàn)了以下顯著的技術(shù)效果:
28、1.提升計(jì)算效率與信號(hào)質(zhì)量:通過(guò)引入小角度提取模塊和免縮放因子的迭代旋轉(zhuǎn)方法,結(jié)合泰勒級(jí)數(shù)展開(kāi)法和并行計(jì)算架構(gòu),優(yōu)化了旋轉(zhuǎn)計(jì)算過(guò)程,顯著提高了計(jì)算速度。此外,通過(guò)小角度提取設(shè)計(jì)和旋轉(zhuǎn)矩陣優(yōu)化,可以處理更長(zhǎng)的數(shù)據(jù)位寬,從而有效降低了因相位累加器截?cái)鄬?dǎo)致的雜散信號(hào)和相位噪聲,提高了dds輸出信號(hào)的質(zhì)量,使系統(tǒng)在高速數(shù)字信號(hào)處理應(yīng)用中能夠提供更快、更穩(wěn)定的響應(yīng)能力和高質(zhì)量輸出。
29、2.減少rom資源消耗:采用查找表壓縮技術(shù)和小型查找表設(shè)計(jì),有效減少了rom資源的使用。這不僅降低了系統(tǒng)的硬件成本和功耗,還為高精度計(jì)算提供了更多的資源空間,優(yōu)化了系統(tǒng)的整體性能。