资源描述:
《基于fpga的psk调制》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、可编辑版西南交通大学信息科学与技术学院通信工程专业工程实习报告——(psk调制解调器的FPGA实现)课题设计报告年级:2010学号:20100147姓名:刘妍专业:通信工程二零一三年七月Word完美格式可编辑版一、(psk调制解调器的FPGA实现)总体设计基本原理PSK调制原理相移键控(PSK):一种用载波相位表示输入信号信息的调制技术。移相键控分为绝对移相和相对移相两种。以未调载波的相位作为基准的相位调制叫作绝对移相。以二进制调相为例,取码元为“1”时,调制后载波与未调载波同相;取码元为“0”时,调制后载波与未调载波反相;“1”和“0”时调制后载波相位差180度。P
2、SK调制原理图:PSK解调原理2PSK信号的解调只能用相干解调一种形式。解调原理框图及波形如图所示:Word完美格式可编辑版二、详细设计顶层模块modulebpsk(clk,reset_n,clk_DA,blank_DA_n,sync_DA_n,dataout,dm_out);inputclk;inputreset_n;outputclk_DA;outputblank_DA_n;outputsync_DA_n;output[7:0]dataout;output[7:0]dm_out;wire[6:0]address;wiredataoutm;wireclk1;wire
3、[7:0]dataout;counterCOUNTER(.clk(clk),.reset_n(reset_n),.count(count),.clk1(clk1));PN_SeqPN_SEQ(.clk1(clk1),.reset_n(reset_n),.dataoutm(dataoutm));ControllerCONTROLLER(.clk(clk),.reset_n(reset_n),.dataoutm(dataoutm),.address(address),.clk_DA(clk_DA),.blank_DA_n(blank_DA_n),.sync_DA_n(sy
4、nc_DA_n));Word完美格式可编辑版LookUpTableLOOKUPTABLE(.clk(clk),.reset_n(reset_n),.address(address),.dataout(dataout));depskdepsk(.clk(clk),.reset_n(reset_n),.data(dataout),.dataout(dm_out));endmoduleendmodule分频模块modulecounter(clk,reset_n,count,clk1);inputclk,reset_n;outputclk1;output[6:0]count;
5、regclk1;reg[6:0]count;parameterN=128;always@(posedgeclkornegedgereset_n)if(!reset_n)begincount<=1'b0;clk1<=1'b0;endelseif(count<63)begincount<=count+1'b1;endelsebegincount<=1'b0;clk1<=~clk1;endendmoduleM序列产生模块modulePN_Seq(clk1,reset_n,dataoutm);Word完美格式可编辑版inputclk1;inputreset_n;outputd
6、ataoutm;reg[7:1]c;always@(posedgeclk1ornegedgereset_n)beginif(!reset_n)c<=7'b1000000;elsebeginc[2]<=c[1];c[3]<=c[2];c[4]<=c[3];c[5]<=c[4];c[6]<=c[5];c[7]<=c[6];c[1]<=c[2]^c[3]^c[4]^c[7];endendassigndataoutm=c[7];endmodule控制器模块moduleController(clk,reset_n,dataoutm,address,clk_DA,blank_DA
7、_n,sync_DA_n);inputclk;inputreset_n;inputdataoutm;output[6:0]address;outputclk_DA;outputsync_DA_n;outputblank_DA_n;reg[6:0]address_data1;reg[6:0]address_data2;reg[6:0]address_data;Word完美格式可编辑版//always@(dataoutm)//begin//case(dataoutm)//1'b0:begin//address_data=address_data2;//e