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

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

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

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

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

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

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

点击店铺

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

2.部分仿真图预览


3.算法概述

  QPSK是一种常用的调制方式,通过将两个比特映射到一个复平面上的相位点,实现了高效的信号传输。软解调是一种基于接收信号的概率估计进行解调的方法,能够提供更好的性能。本文将逐步介绍QPSK软解调的实现过程,包括信号采样、相位估计、判决和解调等方面。软解调是一种通过概率估计实现解调的方法,能够在信道噪声存在的情况下提供更好的性能。QPSK是一种常用的调制方式,通过将两个比特映射到相位点,实现了高效的信号传输。本文旨在详细介绍QPSK软解调的实现过程,包括信号采样、相位估计、判决和解调等步骤。

  软解调是QPSK软解调的关键步骤,它利用判决符号和相位估计的结果进行概率估计,以提高解调的准确性。假设判决符号为d_hat,软解调过程的结果为软解调符号d。

4.部分源码

`timescale 1ns / 1ps

//

// Company: 

// Engineer: 

// 

// Create Date: 2024/12/12 22:31:53

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

wire o_msgQ;

//产生模拟测试数据

signal signal_u(

.i_clk (i_clk),

.i_rst (~i_rst),

.o_bits1(o_msgI),

.o_bits2(o_msgQ)

);

 

//设置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 signed[15:0]o_Ifir_T;

wire signed[15:0]o_Qfir_T;

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

wire signed[31:0]o_total_num; 

wire signed[1:0]o_Ibits;

wire signed[1:0]o_Qbits;

 

QPSK_tops QPSK_tops_u(

.i_clk       (i_clk),

.i_rst       (~i_rst),

.i_Ibits     (o_msgI),

.i_Qbits     (o_msgQ),

.i_SNR       (o_SNR),

.o_Ifir      (o_Ifir_T),

.o_Qfir      (o_Qfir_T),

.o_mod_T     (o_mod_T),

.o_Nmod_T    (o_Nmod_T),

.o_modc      (o_modc_R),

.o_mods      (o_mods_R),

.o_rIfir     (o_Ifir_R),

.o_rQfir     (o_Qfir_R),

.o_error_num (o_error_num),

.o_total_num (o_total_num),

.o_Ibits     (o_Ibits),

.o_Qbits     (o_Qbits)

);

 

 

    

//ila篇内测试分析模块

ila_0 ila_u (

.clk(i_clk), // input wire clk

.probe0({ 

        o_msgI,o_msgQ,o_SNR,//10

        o_Ifir_T[15:6],o_Qfir_T[15:6],o_mod_T[15:6],o_Nmod_T[15:6],//40

        o_modc_R[27:12],o_mods_R[27:12],o_Ifir_R[27:12],o_Qfir_R[27:12],//64

        o_error_num,o_total_num,//64

            o_Ibits,o_Qbits//4

         })

);

endmodule

0sj_041m

---

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