摘 要:DDS是將先進的數字處理理論與方法引入頻率合成的一項新技術。VHDL作為一種硬件描述語言,用于描述硬件電路的功能、信號連接關系及定時關系,在電子工程領域得到了廣泛的應用。介紹了DDS的基本原理及其調制特性,并且利用VHDL語言編程實現了DDS,在此基礎上進一步設計實現了一種基于DDS技術的線性調頻信號,給出了其主要部分的仿真結果,驗證了其正確性。
關鍵詞:DDS;直接數字頻率合成;調頻;掃頻;VHDL
中圖分類號:TN99 文獻標識碼:B 文章編號:1004373X(2008)1503002
Generation of Linear Frequency Modulation Signal Based on DDS
ZHANG Xianzhi
(Unit 63891 PLA,Luoyang,471003,China)
Abstract:DDS is a new technology which advanced theory and method of digital processing into frequency synthesis.VHDL is a kind of hardware description language,it is used to describe the function of circuit hardware,the connection relationship of signal and the timing relationship.So,it is applied broadly in the field of electron engineering.The fundamental and modulation characteristics of DDS are introduced.Besides,DDS is implemented by programming in VHDL language.A sort of linear FM signal based on DDS technology is implemented.Then,simulation result of the main part of them is given,and its correctness is verificated.
Keywords:DDS;direct digital frequency synthesis;FM;sweep frequency;VHDL
1 DDS(直接數字式頻率合成器)的基本原理
直接數字頻率合成是從相位概念出發直接合成所需波形的一種頻率合成技術。DDS把一系列數字量形式的信號通過數模轉換器(DAC)轉換成模擬量形式的信號,其基本結構如圖1所示。
圖1 DDS結構示意圖DDS由相位累加器、加法器、波形存儲器(ROM)、數字乘法器、D/A轉換器和低通濾波器(LPF)組成。DDS的核心是相位累加器,由一個加法器和一個相位寄存器(REG)級聯構成。在參考時鐘fc的控制下,相位累加器對頻率控制字K進行線性累加,輸出的和再與相位控制字P相加后作為地址,對ROM進行尋址。ROM中存放的是經過采樣、量化處理后的某種周期性連續信號一個周期波形的幅度值,也就是與一個周期的相位采樣相對應的函數波形查找表,不同的相位地址對應這種周期信號的不同幅度值編碼。ROM輸出的幅度值編碼通過數字乘法器被幅度控制字A加權,加權后的幅度值編碼經D/A轉換器變成相應的階梯波,再經低通濾波器平滑后就可以得到所合成信號的模擬波形。合成的信號波形取決于ROM中存放的幅度值數據,因此用DDS可以產生任意波形。
設相位累加器的字長為N,則DDS的輸出頻率fo和頻率分辨率(即最小輸出頻率)Δfmin分別為:fo=K·fc2N
Δfmin=fc2N 只要N足夠大,DDS可以得到很小的頻率分辨率。要改變DDS的輸出頻率,只要改變頻率控制字K即可。
值得注意的是,根據Nyquist采樣定理,在對連續信號進行采樣的一個周期內,采樣頻率不能改變,故利用DDS進行信號合成時,在信號合成的一個周期內,頻率控制字K不能發生變化,也就是K在每次改變之前至少應該持續2N/K個DDS時鐘周期,即2N/K/fc。
通過改變相位控制字P可以控制輸出信號的相位參數,設相位加法器的字長為M,當相位控制字由0變到P(P≠0)時,ROM的輸入為相位累加器的輸出與相位控制字P之和,因此其輸出的幅度值相位會增加2πP/2M,從而使最后輸出的模擬信號產生相移。
DDS輸出信號的幅度可以通過在ROM之后加入一個數字乘法器來實現,幅度控制字A起到對ROM所輸出的幅度值編碼進行加權的作用。
由此可見,當DDS的相位累加器字長和相位加法器字長確定后,通過改變K,P,A就可以有效地控制DDS輸出的模擬信號的頻率、相位和幅度,這就是DDS技術的調制特性。
2 VHDL語言實現的DDS
為簡單起見,下面所描述的DDS僅設置了頻率控制字K,相位控制字P和幅度控制字A都未予以考慮,其處理可以類推。DDS的輸出為正弦波信號。
由于正弦波關于π奇對稱,關于π/2與3π/2偶對稱,因此波形存儲器(ROM)中只需存儲其1/4個周期的幅度值編碼。具體地,ROM中存儲正弦波0~π/2相位范圍內的256個采樣點的幅度值,采用8位編碼。而DDS的輸出為9位,最高位作為符號位,用以區分幅度值的正負,“0”表示正,“1”表示負。ROM為8位地址尋址,而相位累加器的字長采用10位。最高位用以區分正弦波的前、后半周期,“0”為前半周期,幅度值為正,“1”為后半周期,幅度值為負。次高位用以區分正弦波前、后半周期的前、后1/4周期,“0”為前1/4周期,尋址地址為相位累加器的低8位,“1”為后1/4周期,尋址地址為相位累加器低8位的取反。
用VHDL實現DDS的源程序的核心部分如下:
process (clk)
begin
if clk′event and clk = ′1′ then
if addr (8) = ′1′ then
taddr <= not addr (7 downto 0);
else
taddr <= addr (7 downto 0);
end if;
if taddr = x\"00\" then
dsin (8) <= ′0′;
else
dsin (8) <= addr (9);
end if;
case taddr is
when x\"00\" => dsin (7 downto 0) <= x\"00\";
when x\"01\" => dsin (7 downto 0) <= x\"02\";
when x\"02\" => dsin (7 downto 0) <= x\"03\";
…… ……
when x\"FE\" => dsin (7 downto 0) <= x\"FF\";
when x\"FF\" => dsin (7 downto 0) <= x\"FF\";
when others => dsin (7 downto 0) <= x\"00\";
end case;
addr <= addr + fcw;
end if;
end process;
在Xilinx ISE 8.2i開發環境中對其進行仿真的結果,如圖2所示。
圖2 DDS仿真結果3 掃頻信號的產生
利用DDS技術的調制特性可以方便地產生掃頻信號,僅需控制DDS的頻率控制字K,讓其隨預期設計的規律變化即可。
為了采用DDS實現掃頻信號掃頻帶寬范圍內的各個頻點fi,需要為其確定相應的頻率控制字Ki,從而很容易地計算出所需的一系列Ki值。與DDS的基本原理類似,將符合設計要求的一系列Ki值存儲在一張查找表中。再利用一個計數器循環計數,將其輸出作為查找表的尋址地址,以此不斷地循環讀取查找表中的各個Ki。這樣就可以使受Ki控制的DDS的輸出始終在所預期設計的各個頻點fi上變化,達到掃頻的目的。其中,計數器循環一次的時間就是所要實現的掃頻信號的掃頻周期,而計數器的計數范圍則與掃頻信號掃頻帶寬范圍內的頻點個數相對應。
以上就是利用DDS實現掃頻信號的基本思路,以下是實現此思路的VHDL源程序的主要部分:
process (clk)
begin
if clk′event and clk = ′1′ then
case t is
when o\"0\" => dcs <= x\"7a\";
when o\"1\" => dcs <= x\"80\";
when o\"2\" => dcs <= x\"86\";
when o\"3\" => dcs <= x\"8c\";
when o\"4\" => dcs <= x\"92\";
when o\"5\" => dcs <= x\"98\";
when o\"6\" => dcs <= x\"9e\";
when o\"7\" => dcs <= x\"a4\";
when others => dcs <= x\"00\";
end case;
t <= t + 1;
end if;
end process;
在Xilinx ISE 8.2i開發環境中對其進行仿真的結果如圖3所示。
圖3 產生頻率控制字的仿真結果4 結 語
VHDL是IEEE的工業標準硬件描述語言,可以描述硬件電路的功能、信號連接關系及定時關系,在電子工程領域用來描述、驗證和設計電子線路得到了廣泛的接受和應用。利用DDS技術的調制特性產生各種調制信號簡單方便,容易實現。從文中不難看出,將VHDL語言與DDS技術結合起來設計生成調頻信號,直觀快捷,可操作性很強,必將得到更加廣泛的應用。
參 考 文 獻
[1]張順興.數字電路與系統設計[M].南京:東南大學出版社,2004.
[2]黃智偉.射頻電路設計[M].北京:電子工業出版社,2006.
[3]姜宇柏,游思晴.軟件無線電原理與工程應用[M].北京:機械工業出版社,2006.
[4]譚會生,瞿遂春.EDA技術綜合應用實例與分析[M].西安:西安電子科技大學出版社,2004.
[5]潘松,黃繼業,王國棟.現代DSP技術[M].西安:西安電子科技大學出版社,2003.
[6]鄧延安.直接數字頻率合成單象限存儲結構的VHDL語言實現[J].安徽工程科技學院學報,2006,21(1):37-39.
[7]李逢玲,鄭飛.基于EDA技術的調頻信號發生器的設計[J].現代電子技術,2006,29(8):10-12.
[8]DDS原理簡介[EB/OL].http://www.fpga.com.cn.
作者簡介 張先志 男,1983年出生,四川彭州人,助理工程師。主要從事電子信息裝備檢測工作。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文