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

【硬件测试】基于FPGA的256QAM基带通信系统开发与硬件片内测试,包含信道模块,误码统计模块,可

时间:2024/12/5 4:59:52 点击:

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

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/Z5yXlJhu

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览


3.算法概述

   256QAM(Quadrature Amplitude Modulation,正交幅度调制)是一种高级调制方案,能够在给定带宽内传输更多的信息比特。256QAM意味着每个符号可以携带8个比特的信息,因为 log⁡2(256)=8log2(256)=8。

   在调制过程中,输入比特流首先被映射到复数值星座图上的特定点。对于256QAM,每个符号代表8个比特信息。调制器根据输入比特选择对应的星座点,并将这些星座点转换成相应的复数形式。例如,在理想情况下,256QAM星座图包含256个不同的点。

   256QAM的星座图是一个二维平面内的点阵,每个点代表一个独特的调制状态。在理想情况下,星座图中的每个点都对应于一个特定的复数值,该值由相位和幅度共同决定。由于256QAM有256个可能的状态,因此其星座图包含256个点。

4.部分源码

`timescale 1ns / 1ps

//

// Company: 

// Engineer: 

// 

// Create Date: 2024/12/04 15:36:34

// 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  [7:0] parallel_data;

wire signed[15:0]sin;

wire signed[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[15:0]o_Ifir;

wire  signed[15:0]o_Qfir;

wire  [7:0] o_sdout;

wire signed[31:0]o_error_num;

wire signed[31:0]o_total_num;

  

TOPS_256QAM TOPS_256QAM_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),

.flag_reg      (),

.o_error_num   (o_error_num),

.o_total_num   (o_total_num)  

);

 

//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[15:4],o_Qfir[15:4],//48

        parallel_data,o_sdout,

        o_error_num,o_total_num//64

     

         })

);

endmodule

0sj_036m

---

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