1.算法仿真效果
本系统进行了Vivado2019.2平台的开发,其中Vivado2019.2仿真结果如下:
将FPGA的仿真结果导入到matlab中,显示星座图,结果如下所示:
2.算法涉及理论知识概要
在现代通信系统中,调制技术是实现高速数据传输和频谱效率优化的重要手段。其中,64QAM调制技术是一种常见的高阶调制技术,可以实现每个符号传输6个比特的信息,从而提高数据传输速率。然而,在实际应用中,调制信号往往会受到各种干扰和失真的影响,导致传输错误率增加。因此,相位估计和补偿技术是调制信号解调和恢复的关键环节之一。介绍一种用于带相位偏差64QAM调制信号相位估计和补偿的VV算法,并详细阐述其实现步骤和数学原理。
3.Verilog核心程序
reg clk;
reg rst;
reg start;
wire [5:0] parallel_data;
wire [15:0]sin;
wire [15:0]cos;
wire signed[19:0] I_com;
wire signed[19:0] Q_com;
wire signed[19:0] I_com2;
wire signed[19:0] Q_com2;
wire signed[15:0]I_comcos;
wire signed[15:0]Q_comsin;
// DUT
tops_64QAM_mod top(
.clk(clk),
.rst(rst),
.start(start),
.parallel_data(parallel_data),
.sin(sin),
.cos(cos),
.I_com(I_com),
.Q_com(Q_com),
.I_com2(I_com2),
.Q_com2(Q_com2),
.I_comcos(I_comcos),
.Q_comsin(Q_comsin)
);
wire signed[23:0]I_comcos2;
wire signed[23:0]Q_comsin2;
wire signed[7:0]o_Ifir;
wire signed[7:0]o_Qfir;
wire signed[15:0]o_Ifir_phase;
wire signed[15:0]o_Qfir_phase;
wire signed[31:0]o_phase;
tops_64QAM_phase_est top2(
.clk(clk),
.rst(rst),
.start(start),
.I_comcos(I_comcos),
.Q_comsin(Q_comsin),
.I_comcos2(I_comcos2),
.Q_comsin2(Q_comsin2),
.o_Ifir(o_Ifir),
.o_Qfir(o_Qfir),
.o_I_phase(o_Ifir_phase),
.o_Q_phase(o_Qfir_phase),
.o_phase(o_phase)
);
initial begin
clk = 0;
rst = 0;
start = 1;
#10;
rst = 1;
end
always #5
clk <= ~clk;
reg writeen;
initial
begin
writeen = 1'b0;
#150000
writeen = 1'b1;
end
标签:64QAM,wire,FPGA,相位,clk,signed,rst,com2,phase
From: https://blog.51cto.com/matworld/6740794