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

【硬件测试】基于FPGA的16QAM+帧同步系统开发与硬件片内测试,包含高斯信道,误码统计,可设置S

时间:2025/3/26 5:01:26 点击:

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

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

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

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

点击店铺

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

2.部分仿真图预览


3.算法概述

   在数字通信中,信息通常是以帧为单位进行组织和传输的。帧同步的目的是确定每一帧的起始位置,以便接收端能够正确地解调出每帧中的数据。

   设发送的帧结构为:帧同步码 + 信息码元序列 。帧同步码是具有特定规律的码序列,用于接收端识别帧的起始。

   帧同步的过程就是在接收序列中寻找与帧同步码匹配的位置,一旦找到匹配位置,就确定了帧的起始位置,后续的码元就可以按照帧结构进行正确的划分和处理。

4.部分源码

`timescale 1ns / 1ps

//

// Company: 

// Engineer: 

// 

// Create Date: 2025/03/23 12:49:36

// 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

);

 

 

wire o_msg;

wire[1:0]o_en;

signal signal_u(

.i_clk (i_clk),

.i_rst (~i_rst),

.o_bits(o_msg),

.o_en  (o_en)

);

 

 

//设置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]o_ISET;

wire signed[15:0]o_I16QAM;

wire signed[15:0]o_Q16QAM;

wire signed[15:0]o_I16QAMs;

wire signed[15:0]o_Q16QAMs;

wire signed[31:0]o_mod_T;

wire signed[15:0]o_Nmod_T;

wire signed[31:0]o_modc_R;

wire signed[31:0]o_mods_R;

wire signed[31:0]o_Ifir_R;

wire signed[31:0]o_Qfir_R;

wire  [3:0]o_wbits;

wire       o_bits;

wire [1:0]o_bits_head;

wire [7:0]o_peak;

wire  o_en_data;

wire  o_en_pn;

wire  o_frame_start;

wire signed[31:0]o_error_num;

wire signed[31:0]o_total_num;  

TOPS_16QAM TOPS_16QAM_u(

.i_clk        (i_clk),

.i_rst        (~i_rst),

.i_SNR        (o_SNR),

.i_en         (o_en),

.i_dat        (o_msg),

.o_ISET       (o_ISET),

.o_I16QAM     (o_I16QAM),

.o_Q16QAM     (o_Q16QAM),

.o_I16QAMs     (o_I16QAMs),

.o_Q16QAMs     (o_Q16QAMs),

.o_mod_T      (o_mod_T),

.o_Nmod_T     (o_Nmod_T),

 

.o_modc_R     (o_modc_R),

.o_mods_R     (o_mods_R),

.o_Ifir_R     (o_Ifir_R),

.o_Qfir_R     (o_Qfir_R),

.o_wbits      (o_wbits),

.o_bits       (o_bits),

.o_bits_head  (o_bits_head),

.o_peak       (o_peak),

.o_en_data    (o_en_data),

.o_en_pn      (o_en_pn),

.o_frame_start(o_frame_start),

.o_error_num  (o_error_num),

.o_total_num  (o_total_num)

);

 

//ila篇内测试分析模块140

//ila篇内测试分析模块140

ila_0 ila_u (

.clk(i_clk), // input wire clk

.probe0({ 

        o_msg,o_SNR,o_I16QAMs[9:0],o_Q16QAMs[9:0],//30

        o_Nmod_T,o_Ifir_R[27:14],o_Qfir_R[27:14],o_wbits,//48

        o_error_num[15:0],o_total_num[23:0],//40

        //28

            o_en_pn,

            o_en_data,

            o_peak,

            o_bits_head,

            o_bits

         })

);

endmodule

0sj2_069m

---

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