通信工程实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

班级:通信2012-04班学号:******** 姓名:**

实验一:FPGA实验_BDPSK调制解调器设计

一、实验目的

⒈学习BDPSK 原理的硬件实现方法。

⒉学习用VerilogHDL 硬件描述语言建模时序逻辑电路的能力。

二、实验报告要求

由于在 BPSK 解调中,相干载波恢复可能出现相位模糊,所以在实际应用中经常采用 BDPSK(二进制差分相移键控)方式。BDPSK 方式不需要在解调端恢复相干参考信号,非相干接收机容易制造而且成本低,因此在无线通信系统中被广泛使用。在 BDPSK 系统中,输入的二进制序列先进行差分编码,然后再用BPSK 调制器调制。

⒈ BDPSK 调制系统的结构图。(Microsoft Visio 中截图)

⒉ BDPSK 调制器模块的VerilogHDL 代码及注释。

⒊功能仿真和时序仿真结果的波形。(ModelSim 中截图)

⒋(选做)开发板验证后的波形。(示波器上拍照)

三、实验结果

1、调制器和解调器的外引脚图和内部结构图

图1.1 调制器的外部引脚

图1.2 调制器的内部结构图1.3 解调器的外部引脚图1.4 解调器的内部结构

2、调制器模块和解调器模块的VerilogHDL 代码及注释

(1)差分编码

module chafen( reset_n,clk,a,b );

input reset_n;

input clk;

input a;

output b;

reg c;

assign b = a ^ c ;

always @( posedge clk or negedge reset_n )

if(!reset_n)

c <= 0 ;

else

begin

c <= b;

end

Endmodule

(2)控制器

module Controller(

clk,

reset_n,

data,

address,

clk_DA,

blank_DA_n,

sync_DA_n

);

input clk ;

input reset_n ;

input data ;

output [ 4 : 0 ] address ;

output clk_DA ; //数模转换器控制信号

output blank_DA_n ; //数模转换器控制信号

output sync_DA_n ; //数模转换器控制信号

reg [ 4 : 0 ] address_data;

reg c ;

always @( posedge clk or negedge reset_n )

begin

if(!reset_n)

c<=1'bz;

else

c<=data;

end

always @( posedge clk or negedge reset_n )

begin

if(!reset_n)

address_data<=5'b00000;

else if(c==data)

address_data<=address_data+5'b00001;

else

begin

case(data)

1'b0:

address_data<=5'b00000;

1'b1:

address_data<=5'b10000;

default:

address_data<=5'bzzzzz;

endcase

end

end

assign address = address_data;

assign clk_DA = clk;

assign blank_DA_n = 1'b1;

assign sync_DA_n = 1'b1;

Endmodule

(3)查找表

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 )

begin

if( !reset_n )

begin

//用C编程计算出的查找表采样值填在这里

LUT[ 0 ] <= 8'h7f;//0°

LUT[ 1 ] <= 8'h97;

LUT[ 2 ] <= 8'haf;

LUT[ 3 ] <= 8'hc5;

LUT[ 4 ] <= 8'hd9;

LUT[ 5 ] <= 8'he8;

LUT[ 6 ] <= 8'hf4;

LUT[ 7 ] <= 8'hfc;

LUT[ 8 ] <= 8'hfe;

LUT[ 9 ] <= 8'hfc;

LUT[ 10 ] <= 8'hf5;

LUT[ 11 ] <= 8'hea;

LUT[ 12 ] <= 8'hda;

LUT[ 13 ] <= 8'hc7;

LUT[ 14 ] <= 8'hb2;

LUT[ 15 ] <= 8'h9a;

LUT[ 16 ] <= 8'h81;//180°

LUT[ 17 ] <= 8'h69;

LUT[ 18 ] <= 8'h51;

LUT[ 19 ] <= 8'h3b;

LUT[ 20 ] <= 8'h27;

LUT[ 21 ] <= 8'h17;

LUT[ 22 ] <= 8'hb ;

LUT[ 23 ] <= 8'h3 ;

LUT[ 24 ] <= 8'h0 ;

LUT[ 25 ] <= 8'h1 ;

LUT[ 26 ] <= 8'h8 ;

LUT[ 27 ] <= 8'h13;

LUT[ 28 ] <= 8'h22;

LUT[ 29 ] <= 8'h35;

相关文档
最新文档