標準實驗報告三 數(shù)字上下變頻_第1頁
標準實驗報告三 數(shù)字上下變頻_第2頁
標準實驗報告三 數(shù)字上下變頻_第3頁
標準實驗報告三 數(shù)字上下變頻_第4頁
標準實驗報告三 數(shù)字上下變頻_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

PAGEPAGE1電子科技大學實驗報告學生姓名:學號:指導教師:一、實驗室名稱:通信信號處理及傳輸實驗室二、實驗項目名稱:數(shù)字上下變頻三、實驗原理:1、數(shù)字上/下變頻的理論基礎通常的無線通信都是通過載波調(diào)制信號來實現(xiàn)。這意味著產(chǎn)生了數(shù)字基帶信號后,需要將信號通過數(shù)模(DA)轉(zhuǎn)換,由射頻端調(diào)制到某個載波頻段進行發(fā)送。這個將基帶信號調(diào)制到高頻載波頻段的過程就稱為上變頻。反之,在接收機端將模數(shù)(AD)轉(zhuǎn)換后的高速率高頻帶數(shù)字信號轉(zhuǎn)換為低速率的基帶信號,即將中頻或者高頻信號搬移到基帶或者低頻波段的過程就稱為下變頻。因此,上變頻和下變頻的概念分別是指把信號搬移到更高或更低的頻率上。這可以通過信號與一個復旋轉(zhuǎn)向量相乘得到,結果為:其中,代表搬移的頻率,通常稱為載波頻率。復數(shù)信號的實部和虛部也可以分別稱做同相分量或正交分量。數(shù)字上變頻和下變頻就是對上式進行數(shù)字化。這就意味著信號和復向量都要用量化的樣本來表示。引入滿足采樣定理的采樣周期,這樣,數(shù)字上變頻和下變頻可以寫為:。進行上變頻還是下變頻是由頻率的符號決定。因此只要對其中一種情況進行討論即可。我們假設對接收到的信號在模擬前端對整個接收帶寬進行下變頻,然后進行濾波。假設信道可位于帶寬為Band的頻帶(波段)內(nèi)的任何位置,頻帶內(nèi)包含所需信道加上干擾鄰道。如圖1所示。對信號進行下變頻可以得到圖2。鄰道干擾可以通過信道化濾波器來濾除。帶寬帶寬B感興趣信道鄰道干擾-fc 0fc-B/2fcfc+B/2圖1下變頻前信號信道示意圖鄰道干擾鄰道干擾圖2下變頻后信號信道示意圖為了分析方便,我們假設中頻信號為單頻形式,暫不考慮鄰道及其他干擾。1)數(shù)字下變頻的時域分析:數(shù)字下變頻的目的是把所需的分量從載波頻率加搬移至基帶。模擬中頻信號為單頻形式:其中表示信號頻率,表示信號初始相位。同時假設用于正交解調(diào)的兩路數(shù)字本振的初始相位為0,那么模擬中頻信號經(jīng)過A/D后得到的信號形式為??梢娦盘柺窃盘栐谔幍囊恍╇x散值。因此A/D輸出的最終信號形式為:那么,此信號經(jīng)過正交數(shù)字解調(diào)后的信號形式(設信號頻率和本振頻率相同,即)可以表示如下:I路: ;Q路: ??梢钥闯觯簲?shù)字正交解調(diào)輸出包括兩項,其中第1項為解調(diào)過程中引入的高頻分量,第二項為所需要的低頻分量。2)數(shù)字下變頻的頻域分析: 輸入模擬中頻信號的頻譜為:。此信號經(jīng)A/D變換后的輸出信號頻譜為: 經(jīng)過數(shù)字正交解調(diào)后的頻譜:I路: ;Q路: 。應該注意的是,實際上發(fā)射機和接收機的本振是不同步的。因而,經(jīng)過接收機下變頻后的信號與發(fā)射信號之間存在相位和頻率偏差,必須進行校正。2、VHDL實現(xiàn)數(shù)字上/下變頻在程序中,我們先對AD輸入的信號進行采樣,然后將采樣后的數(shù)據(jù)與內(nèi)部的1MHz正弦載波信號值表相乘,再通過DA發(fā)送出去。1MHz正弦載波信號的產(chǎn)生由于實驗箱中輸入信號的采樣率是16MHZ,要產(chǎn)生1MHz的正弦載波信號,我們可將1MHz的正弦信號離散化為16個樣本,等效于用16MHZ的時鐘采樣,即:sin(2*pi*f*n/fs),其中f=1MHz,fs=16MHZ→sin(2*pi*n/16)其中,n的取值為0到15,也就完整地表示了這個調(diào)制正弦信號的一個周期。在離散化之后,我們再進行一個幅值上的放大,即乘以511,最終得到的一個樣本用10bit長的向量來表示。在程序中,我們用變量dc_array來表示調(diào)制正弦信號modulation_signal,它是一個包含16個元素的數(shù)組,每個元素都是一個長度為10bit的向量。constantmodulation_signaluc_array(0to15):=frequency=1Mhz("0000000000",--511*sin(2*pi*0/16)"0011000011",--511*sin(2*pi*1/16)"0101101001",--511*sin(2*pi*2/16)"0111011000",--511*sin(2*pi*3/16)"0111111111",--511*sin(2*pi*4/16)"0111011000",--511*sin(2*pi*5/16)"0101101001",--511*sin(2*pi*6/16)"0011000011",--511*sin(2*pi*7/16)"0000000000",--511*sin(2*pi*8/16)"1100111101",--511*sin(2*pi*9/16)"1010010111",--511*sin(2*pi*10/16)"1000101000",--511*sin(2*pi*11/16)"1000000010",--511*sin(2*pi*12/16)"1000101000",--511*sin(2*pi*13/16)"1010010111",--511*sin(2*pi*14/16)"1100111101");--511*sin(2*pi*15/16)(2)上變頻過程上變頻過程其實就是輸入信號uc_din(經(jīng)過AD之后長度也為10bit)與調(diào)制信號modulation_signal的相乘過程。關鍵代碼段如下:typeuc_arrayisarray(naturalrange<>)ofstd_logic_vector(9downto0);typeuc_smachineis(uc_idle,uc_transmit);constantmodulation_signal:uc_array(0to15):=--frequency=1Mhzsignaluc_st:uc_smachine;signaluc_flag:std_logic;--signalchip_cnt:std_logic_vector(4downto0);signalchip_cnt:std_logic_vector(4downto0);signaluc_wave:std_logic_vector(19downto0);signalv_origin,v_modu:std_logic_vector(9downto0);signaluc_tmp:std_logic_vector(9downto0);beginv_origin<=uc_din-512;changedatafromunsignedtosigned;v_modu<=modulation_signal(conv_integer(chip_cnt(3downto0)));uc_sending:process(rst,clk)beginifrst='1'thenuc_st<=uc_idle; chip_cnt<=(others=>'0'); uc_wave<=(others=>'0'); uc_tmp<="1000000000"; uc_flag<='0';elsifclk'eventandclk='1'thencaseuc_stiswhenuc_idle=>ifuc_en='1'then uc_st<=uc_transmit; endif;uc_wave<=(others=>'0'); uc_tmp<="1000000000"; uc_flag<='0';whenuc_transmit=>ifsample_en='1'then chip_cnt<=chip_cnt+1; uc_tmp<=uc_din; if(v_origin(9)orv_modu(9))='0'then uc_wave<=v_origin*v_modu;elsif((v_origin(9)='0')and(v_modu(9)='1'))thenuc_wave<=v_origin*(1024-v_modu);elsif((v_origin(9)='1')and(v_modu(9)='0'))thenuc_wave<=v_modu*(1024-v_origin);elseuc_wave<=(1024-v_modu)*(1024-v_origin);endif; uc_flag<=v_origin(9)xorv_modu(9); endif; ifuc_en='0'then uc_st<=uc_idle; endif;endcase; endif;endprocess; changeupconvertedsignalintoregister_uc_i_Q:process(rst,clk)beginifrst='1'thenuc_I<="1000000000";uc_Q<="1000000000";elsifclk'eventandclk='1'then ifuc_st=uc_idlethen uc_I<="1000000000";uc_Q<="1000000000";else uc_I<=uc_tmp; ifuc_flag='1'then uc_Q <="1000000000"+notuc_wave(18downto9); else uc_Q<="1000000000"+uc_wave(18downto9); endif; endif;endif;endprocess; 四、實驗目的:1.理解數(shù)字上/下變頻的原理,了解無線通信中進行上/下變頻的原因。2.分析上/下變頻后信號時域和頻域波形的變化。3.能夠基于ISE編寫并調(diào)試FPGA上下變頻程序。五、實驗內(nèi)容:(1)數(shù)字上/下變頻基礎驗證實驗,觀察并記錄上/下變頻后信號時域和頻域波形的變化;(2)編寫VHDL程序,完成基于FPGA的數(shù)字上/下變頻實驗。六、實驗器材(設備、元器件):計算機、軟件無線電實驗箱、信號發(fā)生器、示波器、FPGA仿真器、+5V電源七、實驗步驟及實驗數(shù)據(jù)結果分析:1. 數(shù)字上/下變頻基礎實驗通過實驗平臺的菜單窗口提示,利用鍵盤選擇菜單內(nèi)容,逐級進入該實驗操作界面,根據(jù)操作步驟的提示,利用示波器在指定接口進行輸出信號波形觀察。具體步驟如下:檢查實驗平臺左上方和右下方的PowerSwitch是否處于關閉(OFF)狀態(tài);檢查實驗平臺的電源線是否連接正確,若連接正確,實驗平臺右下方的PowerReady指示燈會亮起;將實驗平臺左上方的PowerSwitch置為開啟(ON)狀態(tài),實驗系統(tǒng)進入啟動狀態(tài),觀察實驗平臺中部的顯示屏直至進入“高級軟件無線電教學系統(tǒng)”;按下“確認(回車)”鍵進入系統(tǒng)實驗列表;對于基礎實驗,選擇“1”按Enter鍵,屏幕顯示“進入實驗中,請稍候”提示框,直至進入基礎實驗列表;對于擴展實驗,在ARM界面選擇進入->擴展實驗->FPGA擴展實驗->上下變頻實驗;(1) 數(shù)字上變頻A、選擇“2”B、在按“確認(回車)”后,進入數(shù)字上變頻實驗仿真實驗窗口;C、將能產(chǎn)生正弦信號的函數(shù)信號發(fā)生器與實驗平臺的RXI端口連接,正弦單頻信號的幅度不要超過2V,信號頻率設為1MHz;D、按照軟件無線電實驗平臺軟件界面的提示進行后續(xù)操作;E、將示波器分別觀測實驗平臺TXI和TXQ端口,通過示波器觀察輸出波形和頻譜。 輸入1000KHz的正弦波,程序中預先的上變頻調(diào)制信號頻率是1MHz,分別得到以下的時域及頻域圖:上變頻前后時域波形圖上變頻前信號頻譜圖上變頻后信號頻譜圖根據(jù)示波器上產(chǎn)生波形的頻譜圖,觀察并記錄發(fā)送波形經(jīng)過上變頻后的頻譜特征:譜線個數(shù)譜線分別所處頻段(kHz)原始單頻信號2直流、1MHz上變頻后信號3直流、1MHz、2MHz(2) 數(shù)字下變頻A、選擇“3”B、在按“確認(回車)”后,進入數(shù)字下變頻實驗仿真實驗窗口;C、將能產(chǎn)生正弦信號的函數(shù)信號發(fā)生器與實驗平臺的RXI端口連接,正弦單頻信號的幅度不要超過2V,信號頻率設為1MHz;D、按照軟件無線電實驗平臺軟件界面的提示進行后續(xù)操作;E、將示波器分別觀測實驗平臺TXI和TXQ端口,通過示波器觀察輸出波形和頻譜。輸入1000KHz的正弦波,程序中預先的下變頻調(diào)制信號頻率是500KHz,分別得到以下的時域及頻域圖:下變頻前后時域波形圖上變頻前信號頻譜圖上變頻后信號頻譜圖根據(jù)示波器上產(chǎn)生波形的頻譜圖,觀察并記錄發(fā)送波形經(jīng)過上變頻后的頻譜特征:譜線個數(shù)譜線分別所處頻段(kHz)原始單頻信號2直流、1MHz上變頻后信號3直流、500KHz、1500KHz2. 數(shù)字上/下變頻擴展實驗A、在ISE中編譯uc_dc工程,然后通過JTAG仿真口將比特文件下載到FPGA中;B、用信號發(fā)生器發(fā)送600KHz正弦波到平臺的RXI端口;C、在ARM控制端的顯示界面中按ENTER;D、用示波器觀測平臺的TXI、TXQ端口,查看變頻前后的波形和頻譜。 輸入600KHz的正弦波,程序中預先的調(diào)制信號頻率是1MHz,分別得到以下的時域及頻域圖:上變頻前后的時域波形圖變頻前信號的頻譜圖變頻后信號的頻譜圖E、改變數(shù)字調(diào)制信號頻率,將代碼中固化的1MHz的正弦信號換為2MHz,并采取相同的幅度放大。(提示:511*sin(2*pi*f’*n/fs)=511*sin(2*pi*n/8),其中n的取值是從0到7,將8個樣本值轉(zhuǎn)換成二進制數(shù)。具體的樣本請學生自行完成。constantmodulation_signal:uc_array(0to7):=frequency=2Mhz(16samplesofmodulationsignal,signalis16timessampledby16Mhzclock,signedformatForfrequencyofmodulationsignalis2Mhz,8samplesexactlyformstwoperiodofsignal"0000000000",--511*sin(2*pi*0/8)"0101101001",--511*sin(2*pi*2/8)"0111111111",--511*sin(2*pi*4/8)"0101101001",--511*sin(2*pi*6/8)"0000000000",--511*sin(2*pi*8/8)"1010010111",--511*sin(2*pi*10/8)"1000000010",--511*sin(2*pi*12/8)"1010010111");--511*sin(2*pi*14/8)八、實驗結論:通常的無線通信都是通過載波調(diào)制信號來實現(xiàn)。上變頻和下變頻的概念分別是指把信號搬移到更高或更低的頻率上。而實現(xiàn)頻譜搬移只需要將信號與載波信號相乘即可。九、思考題 自行編寫下變頻的FPGA程序答:下變頻程序類似與上變頻程序:dc_sending:process(rst,clk)beginifrst='1'thendc_st<=dc_idle;chip_cnt<=(others=>'0');dc_wave<=dc_din*modulationsignadc_wave<=(others=>'0');storesthesignofdc_wavedc_flag<='0';storesthevalueofinputdatadc_dindc_tmp<="1000000000";elsifclk'eventandclk='1'thencasedc_stis ifdc_st=dc_idle,moduledetectsdc_en Ondetectingvaliddc_en(highvalid),statedumptodc_transmitto computevalueformodulatedsignal; Inthisstate,dc_waveanddc_flagequals0anddc_tmpstaysatintermediatevaule512; whendc_idle=>ifdc_en='1'then dc_st<=dc_transmit; endif; dc_wave<=(others=>'0'); dc_tmp<="1000000000"; dc_flag<='0'; ifdc_st=dc_transmit,modulecomputesvalueformodulatedsignalandstores itintodc_wave.dc_wave<=abs(v_modu)*abs(v_origin); whendc_transmit=>ifsample_en='1'then chip_cnt<=chip_cnt+1; dc_tmp<=dc_din; if(v_origin(9)orv_modu(9))='0'then--bothpositive dc_wave<=v_origin*v_mod

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論