AM調(diào)制的FPGA實(shí)現(xiàn)原理和步驟_第1頁
AM調(diào)制的FPGA實(shí)現(xiàn)原理和步驟_第2頁
AM調(diào)制的FPGA實(shí)現(xiàn)原理和步驟_第3頁
AM調(diào)制的FPGA實(shí)現(xiàn)原理和步驟_第4頁
AM調(diào)制的FPGA實(shí)現(xiàn)原理和步驟_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

AM調(diào)制的FPGA實(shí)現(xiàn)原理和步驟一、說明:功能:AM調(diào)制平臺:Vivado2016.4和MatlabR2017a二、原理:1.AM調(diào)制原理AM已調(diào)信號的時(shí)域表達(dá)式:已調(diào)信號的頻域表達(dá)式:本質(zhì)上AM調(diào)制就是頻譜的搬移。AM調(diào)制的系統(tǒng)框圖將調(diào)制信號加上一個(gè)直流分量,保證信號的最小值大于零,然后再和載波相乘,得到已調(diào)信號。三、AM調(diào)制的FPGA實(shí)現(xiàn)1.產(chǎn)生調(diào)制信號和載波信號調(diào)用ROMIP核在FPGA內(nèi)部產(chǎn)生兩路余弦信號,其中一路信號用于模擬外部輸入的調(diào)制信號,另一路用作載波信號。在配置ROMIP核之前,需要用Matlab生.coe文件,存放在ROM核里。Matlab生成.coe文件:%---------------------------------%width=8;%設(shè)置rom的位寬depth=1024;%設(shè)置rom的深度%---------------------------------%x=linspace(0,2*pi,depth);%在一個(gè)周期內(nèi)產(chǎn)生depth個(gè)采樣點(diǎn)y_cos=cos(x);%生成余弦函數(shù)%y_cos=sin(x);%生成正弦函數(shù)%y_cos=round(y_cos*(2^(width-1)-1))+2^(width-1)-1;%將數(shù)據(jù)轉(zhuǎn)化成整數(shù),生成無符號數(shù)y_cos=round(y_cos*(2^(width-1)-1));%將數(shù)據(jù)轉(zhuǎn)化成整數(shù),生成有符號數(shù)plot(x,y_cos);%繪圖fid=fopen(‘E:WorkspaceDDSDesignIP_Corecos.coe’,‘wt’);fprintf(fid,‘memory_initialization_radix=10;memory_initialization_vector=’);fori=1:depthifmod(i-1,8)==0fprintf(fid,‘’);endfprintf(fid,‘%6d,’,y_cos(i));endfclose(fid);%關(guān)閉文件生成.coe文件后就可以進(jìn)行IP核的配置了。ROM核具體配置:配置完IP核后,編寫控制模塊,產(chǎn)生兩路信號。其中,調(diào)制信號上疊加的直流分量的大小為調(diào)制信號的峰值,這樣將得到調(diào)制度為100%的已調(diào)信號。如果要得到不同的調(diào)制度,則需要疊加不同大小的直流分量,同時(shí)需要注意定義的數(shù)據(jù)位寬,防止數(shù)據(jù)溢出。產(chǎn)生載波和帶有直流分量的調(diào)制信號:modulecos_make(inputclk,inputrst_n,outputreg[7:0]cos_s,outputregsigned[7:0]cos_c);//------------------------------------//parameterfreq_s=32‘d429497;//調(diào)制信號頻率10kparameterfreq_c=32’d42949673;//載波頻率1Mparametercnt_width=8‘d32;//------------------------------------////------------------------------------//reg[cnt_width-1:0]cnt_s=0;reg[cnt_width-1:0]cnt_c=0;wire[9:0]addr_s;wire[9:0]addr_c;always@(posedgeclkornegedgerst_n)beginif(!rst_n)begincnt_s《=0;cnt_c《=0;endelsebegincnt_s《=cnt_s+freq_s;cnt_c《=cnt_c+freq_c;endendassignaddr_s=cnt_s[cnt_width-1:cnt_width-10];assignaddr_c=cnt_c[cnt_width-1:cnt_width-10];//------------------------------------////------------調(diào)用ROM核----------------//wiresigned[7:0]cos_s_r;wiresigned[7:0]cos_c_r;ROMROM_inst(.clka(clk),.addra(addr_s),.douta(cos_s_r),.clkb(clk),.addrb(addr_c),.doutb(cos_c_r));always@(posedgeclkornegedgerst_n)beginif(!rst_n)begincos_s《=0;cos_c《=0;endelsebegincos_s《=cos_s_r+8’d128;//加上大小為峰值的直流分量cos_c《=cos_c_r;endendendmodule2.生成AM調(diào)制信號得到兩路信號后就可以用乘法器將兩路信號相乘,得到已調(diào)信號。乘法器具體配置:AM調(diào)制的頂層模塊:modulemodulate(inputclk,inputrst_n,outputsigned[15:0]AM_mod);wire[7:0]cos_s;wiresigned[7:0]cos_c;//------------調(diào)用出波模塊------------//cos_makecos_make_inst0(.clk(clk),.rst_n(rst_n),.cos_s(cos_s),.cos_c(cos_c));//-----------------------------------////------------調(diào)用乘法器--------------//MULTMULT_inst1(.CLK(clk),.A(cos_s),.B(cos_c),.P(AM_mod));endmodule3.仿真調(diào)制結(jié)果以上AM調(diào)制過程基本完成,但是正確與否還需要通過仿真來確定,接下來編寫仿真用的測試模塊。TestBeach的編寫:timescale1ns/1psmoduletb_AM();//---------接口設(shè)置----------//regsclk;regrst_n;wiresigned[15:0]AM_mod;//--------------------------//initialsclk=1;always#5sclk=~sclk;//100M時(shí)鐘initialbeginrst_n=0;#500rst_n=1;end//----------------------

溫馨提示

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

最新文檔

評論

0/150

提交評論