新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于DDS技術(shù)的BPSK信號(hào)生成

基于DDS技術(shù)的BPSK信號(hào)生成

作者: 時(shí)間:2009-06-30 來源:網(wǎng)絡(luò) 收藏

0 引言

本文引用地址:http://butianyuan.cn/article/188869.htm

直接數(shù)字式頻率合成器(Direct Digitalfrequency Synthesizer,)是從相位概念出發(fā),直接合成所需波形的頻率合成技術(shù)。VHDL是IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語(yǔ)言,可描述硬件電路的功能、連接關(guān)系及定時(shí)關(guān)系,在電子工程領(lǐng)域用來描述、驗(yàn)證和設(shè)計(jì)電子線路,得到了廣泛應(yīng)用。故將VHDL語(yǔ)言與技術(shù)結(jié)合,設(shè)計(jì)生成。

1 的基本原理

DDS把一系列數(shù)字量形式的通過數(shù)模轉(zhuǎn)換器(DAC)轉(zhuǎn)換成模擬量形式的信號(hào),其基本結(jié)構(gòu)如圖1。

DDS由相位累加器、加法器、波形存儲(chǔ)器(ROM)、數(shù)字乘法器、D/A轉(zhuǎn)換器和低通濾波器(LPF)組成。DDS的核心是相位累加器,由一個(gè)加法器和一個(gè)相位寄存器(REG)級(jí)聯(lián)構(gòu)成。在參考時(shí)鐘fc的控制下,相位累加器對(duì)頻率控制字K進(jìn)行線性累加,輸出的和再與相位控制字P相加后作為地址,對(duì)ROM尋址。ROM中存放經(jīng)過采樣、量化處理后的周期性連續(xù)信號(hào)一個(gè)周期波形的幅度值,即與一個(gè)周期的相位采樣相對(duì)應(yīng)的函數(shù)波形查找表,不同相位地址對(duì)應(yīng)周期信號(hào)的不同幅度值編碼。ROM輸出的幅度值編碼通過數(shù)字乘法器被幅度控制字A加權(quán),加權(quán)后的幅度值編碼經(jīng)D/A轉(zhuǎn)換器變成階梯波,再經(jīng)低通濾波器平滑后就可得所合成信號(hào)的模擬波形。合成的信號(hào)波形取決于ROM中存放的幅度值數(shù)據(jù),故用DDS可產(chǎn)生任意波形。

設(shè)相位累加器的字長(zhǎng)為N,則DDS的輸出頻率f0和頻率分辨率(即最小輸出頻率)△fmin分別為:

只要N足夠大,DDS可以得到很小的頻率分辨率。要改變DDS的輸出頻率,只要改變頻率控制字K即可。

根據(jù)Nyquist采樣定理,在對(duì)連續(xù)信號(hào)進(jìn)行采樣的一個(gè)周期內(nèi),采樣頻率不能改變,故利用DDS進(jìn)行信號(hào)合成時(shí),在信號(hào)合成的一個(gè)周期內(nèi),頻率控制字K不能發(fā)生變化,也就是K在每次改變之前至少應(yīng)該持續(xù)2N/K個(gè)DDS時(shí)鐘周期,即2N/K/fc。

通過改變相位控制字P,可以控制輸出信號(hào)的相位參數(shù)。設(shè)相位加法器的字長(zhǎng)為M,當(dāng)相位控制字由0變到P(P≠0)時(shí),ROM的輸入為相位累加器的輸出與相位控制字P之和,因此,其輸出的幅度值相位會(huì)增加2πP/2M,從而使最后輸出的模擬信號(hào)產(chǎn)生相移。

DDS輸出信號(hào)的幅度可以通過在ROM之后加入一個(gè)數(shù)字乘法器來實(shí)現(xiàn)。幅度控制字A起到對(duì)ROM所輸出的幅度值編碼進(jìn)行加權(quán)的作用。

可見,當(dāng)DDS的相位累加器字長(zhǎng)和相位加法器字長(zhǎng)確定后,通過改變K、P、A就可以有效地控制DDS輸出的模擬信號(hào)的頻率、相位和幅度,這就是DDS技術(shù)的調(diào)制特性。

2 采用VHDL語(yǔ)言實(shí)現(xiàn)DDS

為簡(jiǎn)單起見,以下所描述的DDS僅設(shè)置了頻率控制字K,相位控制字P和幅度控制字A都未予以考慮,其處理可類推。DDS的輸出為正弦波信號(hào)。

由于正弦波關(guān)于π奇對(duì)稱,關(guān)于π/2與3π/2偶對(duì)稱,因此波形存儲(chǔ)器(ROM)中只需存儲(chǔ)其1/4個(gè)周期的幅度值編碼。具體地,ROM中存儲(chǔ)正弦波0~π/2相位范圍內(nèi)的256個(gè)采樣點(diǎn)的幅度值,采用8位編碼。而DDS的輸出為9位,最高位作為符號(hào)位,用以區(qū)分幅度值的正負(fù),“0”表示正,“1”表示負(fù)。ROM為8位地址尋址,而相位累加器的字長(zhǎng)采用10位。最高位用以區(qū)分正弦波的前、后半周期,“0”為前半周期,幅度值為正,“1”為后半周期,幅度值為負(fù)。次高位用以區(qū)分正弦波前、后半周期的前、后1/4周期,“0”為前1/4周期,尋址地址為相位累加器的低8位,“1”為后1/4周期,尋址地址為相位累加器低8位的取反。

用VHDL實(shí)現(xiàn)DDS的源程序的核心部分如下:

在Xilinx ISE 8.2i開發(fā)環(huán)境中對(duì)其進(jìn)行仿真的結(jié)果如圖2。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: BPSK DDS 信號(hào)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉