FPGA实验BDPSK调制解调器设计等_通信工程实验报告.docx

FPGA实验BDPSK调制解调器设计等_通信工程实验报告.docx

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
通信工程实验报告班级:___通信1班____学号: ________ 姓名: 华亿超市 实验一 FPGA 实验 BDPSK 调制解调器设计一、实验目的⒈ 掌握BDPSK 的调制和解调原理。⒉ 掌握倍频和分频的概念以及原理。⒊ 用VerilogHDL 硬件描述语言建模时序逻辑电路,实现BDPSK 基带调制解调系统。实验报告要求⒈ 调制器和解调器的外引脚图和内部结构图。(Microsoft Visio 中截图)⒉ 调制器模块和解调器模块的VerilogHDL 代码及注释。⒊ 功能仿真和时序仿真结果的波形。(ModelSim 中截图)⒋ (选做)开发板验证后的波形。(示波器上拍照)实验结果BDPSK 调制系统的结构图。BDPSK 调制器模块的VerilogHDL 代码及注释。分频器:module fre_div(clk,cp0);//分频器input clk;output reg cp0;parameter N=32;integer i=0;initialbegin cp0=0;endalways@(posedge clk) begin if(iN/2-1) i=i+1; else begin i=0;cp0=~cp0;end end endmodule随机码序列产生器(m序列):module PN_Seq(clk,reset_n,dataout);input clk;input reset_n;output dataout;reg [ 7 : 1 ] c;always @( posedge clk or negedge reset_n )beginif (!reset_n) c = 7b1001110;elsebeginc[7]=c[6];c[6]=c[5];c[5]=c[4];c[4]=c[3]; c[3]=c[2]; c[2]=c[1];c[1]= c[2]^c[3]^c[4]^c[7];endendassign dataout = c[7];endmodule差分编码器:module dif(clk,reset_n,in,out); input clk; input reset_n; input in; output out; reg [1:0] o;always @(posedge clk or negedge reset_n)begin if(!reset_n) o = 1; else begino = in^o;endendassign out = o;endmodule控制器:module Controller(clk,reset_n,s,address,cp);input clk;input reset_n;input cp;input s; //相对码output [ 4 : 0 ] address;reg [ 4 : 0 ] address_data;reg [ 4 : 0 ] count;reg sign ;always @(posedge cp)begin if(s==0) count= 5b10000; else if(s==1) count=5b00000;sign= 1;endalways @(posedge clk or negedge reset_n) begin if(!reset_n) address_data=5b00000; else begin if(sign==1) begin address_data=count; sign=0; end address_data=address_data+1b1; if(address_data==32) address_data=5b00000; end end assign address = address_data;endmodule正弦波形查找表:module LookUpTable(clk,reset_n,address,dataout);//正弦载波采样表input clk;input reset_n;input [ 4 : 0 ] address;output [ 7 : 0 ] dataout;reg [ 7 : 0 ] LUT [ 0 : 31 ];always @( posedge clk or negedge reset_n )beginif( !reset_n )beginLUT[ 0 ] =128 ; //用C编程计算出的查找表采样值填在这里LUT[ 1 ] =152 ;LUT[ 2 ] =176 ;LUT[ 3 ] =198 ;LUT[ 4 ]

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档