1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/Z5yZm5xq
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
16QAM软解调是一种常用的数字调制解调技术,用于将接收到的16QAM调制的信号转换为原始数据。该技术结合了16种相位和振幅的调制方式,通过软判决算法对接收信号进行解调,16QAM软解调的系统原理是将接收到的16QAM调制信号转换为软判决结果,从而恢复原始数据。软解调是一种非硬判决的解调方法,它利用接收信号的采样值和相位信息来判断信号所处的调制状态,并对其进行解调。在16QAM软解调中,接收信号经过采样后,通过比较采样值和16个调制点的距离,选择最近的调制点作为解调结果。
4.部分源码
`timescale 1ns / 1ps
//
// Company:
// Engineer:
//
// Create Date: 2024/12/09 20:40:47
// Design Name:
// Module Name: tops_hdw
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//
module tops_hdw(
input i_clk,
input i_rst,
output reg [3:0] led
);
//设置SNR
wire signed[7:0]o_SNR;
vio_0 your_instance_name (
.clk(i_clk), // input wire clk
.probe_out0(o_SNR) // output wire [7 : 0] probe_out0
);
wire [3:0] parallel_data;
wire [15:0]sin;
wire [15:0]cos;
wire signed[15:0] I_com;
wire signed[15:0] Q_com;
wire signed[15:0]I_Ncom;
wire signed[15:0]Q_Ncom;
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 [3:0] o_sdout;
wire signed[31:0]o_error_num;
wire signed[31:0]o_total_num;
wire[3:0]o_rec2 ;
TOPS_16QAM TOPS_16QAM_u(
.clk(i_clk),
.rst(i_rst),
.start(1'b1),
.i_SNR(o_SNR),
.parallel_data(parallel_data),
.sin(sin),
.cos(cos),
.I_com(I_com),
.Q_com(Q_com),
.I_Ncom(I_Ncom),
.Q_Ncom(Q_Ncom),
.I_comcos2(I_comcos2),
.Q_comsin2(Q_comsin2),
.o_Ifir(o_Ifir),
.o_Qfir(o_Qfir),
.o_sdout(o_sdout),
.o_error_num(o_error_num),
.o_total_num(o_total_num),
.o_rec2(o_rec2)
);
//ila篇内测试分析模块
ila_0 ila_u (
.clk(i_clk), // input wire clk
.probe0({
o_SNR,//8
I_com[15:6], Q_com[15:6],I_Ncom[15:6],Q_Ncom[15:6],//40
I_comcos2[23:8],Q_comsin2[23:8],o_Ifir,o_Qfir,//48
parallel_data,o_sdout,o_rec2,
o_error_num,o_total_num//64
})
);
endmodule
0sj_040m
---