资源描述:
《基于FPGA的psk调制.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、西南交通大学信息科学与技术学院通信工程专业工程实习报告——(psk调制解调器的FPGA实现)课题设计报告年级:2010学号:20100147姓名:刘妍专业:通信工程二零一三年七月一、(psk调制解调器的FPGA实现)总体设计基本原理PSK调制原理相移键控(PSK):一种用载波相位表示输入信号信息的调制技术。移相键控分为绝对移相和相对移相两种。以未调载波的相位作为基准的相位调制叫作绝对移相。以二进制调相为例,取码元为“1”时,调制后载波与未调载波同相;取码元为“0”时,调制后载波与未调载波反相;“1”和“0”时调制后载波相位差180度。PSK调制原理图:PSK解调原理2P
2、SK信号的解调只能用相干解调一种形式。解调原理框图及波形如图所示:二、详细设计顶层模块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[7:0]dataout;counterCOUNTER(.c
3、lk(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(sync_DA_n));LookUpTableLOOKUPTABL
4、E(.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;regclk1;reg[6:0]count;parameterN=128;always@
5、(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);inputclk1;inputreset_n;outputdataoutm;reg[7:1]c;always@(posedgeclk1ornegedgereset_n)beg
6、inif(!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_n,sync_DA_n);inputclk;inputreset_n;inputdataoutm;output[6
7、: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;//always@(dataoutm)//begin//case(dataoutm)//1'b0:begin//address_data=address_data2;//end//1'b1:begin//address_data=address_data1;//end//default:begin/