通
信
工
程
实
验
报
告
班级:通信2012-04班
学号:
姓名:刘涛
实验一:FPGA实验_BDPSK调制解调器设计
一、实验目的
⒈学习BDPSK原理的硬件实现方法。
⒉学习用VerilogHDL硬件
通
信
工
程
实
验
报
告
班级:通信2012-04班
学号:
姓名:刘涛
实验一:FPGA实验_BDPSK调制解调器设计
一、实验目的
⒈学习BDPSK原理的硬件实现方法。
⒉学习用VerilogHDL硬件描述语言建模时序逻辑电路的能力。
实验报告要求
由于在BPSK解调中,相干载波恢复可能出现相位模糊,所以在实际应用中经常采用BDPSK(二进制差分相移键控)方式。BDPSK方式不需要在解调端恢复相干参考信号,非相干接收机容易制造而且成本低,因此在无线通信系统中被广泛使用。在BDPSK系统中,输入的二进制序列先进行差分编码,然后再用BPSK调制器调制。
⒈BDPSK调制系统的结构图。(MicrosoftVisio中截图)
⒉BDPSK调制器模块的VerilogHDL代码及注释。
⒊功能仿真和时序仿真结果的波形。(ModelSim中截图)
⒋(选做)开发板验证后的波形。(示波器上拍照)
实验结果
调制器和解调器的外引脚图和内部结构图
2、调制器模块和解调器模块的VerilogHDL代码及注释
(1)差分编码
modulechafen(reset_n,clk,a,b);
inputreset_n;
inputclk;
inputa;
outputb;
regc;
assignb=a^c;
always@(posedgeclkornegedgereset_n)
if(!reset_n)
c<=0;
else
begin
c<=b;
end
Endmodule
控制器
moduleController(
clk,
reset_n,
data,
address,
clk_DA,
blank_DA_n,
sync_DA_n
);
inputclk;
inputreset_n;
inputdata;
output[4:0]address;
outputclk_DA;//数模转换器控制信号
outputblank_DA_n;//数模转换器控制信号
outputsync_DA_n;//数模转换器控制信号
reg[4:0]address_data;
regc;
always@(posedgeclkornegedgereset_n)
begin
if(!reset_n)
c<=1'bz;
else
c<=data;
end
always@(posedgeclkornegedgereset_n)
begin
if(!reset_n)
address_data<=5'b00000;
elseif(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
assignaddress=address_data;
assignclk_DA=clk;
assignblank_DA_n=1'b1;
assignsync_DA_n=1'b1;
Endmodule
查找表
moduleLookUpTable(
clk,
reset_n,
address,
dataout,
);
inputclk;
inputreset_n;
input[4:0]address;
output[7:0]dataout;
reg[7:0]LUT[0:31];
always@(posedgeclkornegedgereset_n)
begin
if(!reset_n)
begin
//用C编程计算出的查找表采样值填在这里
LUT[0]<=8'h7f;//0°
LUT[1]<=8'h97;
LUT[2]<=8'haf;
LUT[3]<=8
通信工程实验报告 来自淘豆网m.daumloan.com转载请标明出处.