您现在的位置:首页 >> 通信 >> 内容

【硬件测试】基于FPGA的16QAM调制+软解调系统开发与硬件片内测试,包含信道模块,误码统计模块,

时间:2024/12/14 3:24:22 点击:

  核心提示:0sj_040m,包括程序操作录像...

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

---

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168