基于FPGA的QPSK软解调+帧同步系统开发,包含testbench,高斯信道,误码统计,可设置SNR

简介: 本项目基于Vivado2019.2实现QPSK调制解调系统仿真,包含QPSK调制、软解调、AWGN信道、误码统计及帧同步等功能模块。通过设置SNR(如7dB和15dB),展示不同信噪比下的波形与性能。核心程序采用Verilog语言编写,涵盖数据生成、调制解调、信道干扰添加及误码率计算等环节。理论部分详细解析QPSK调制原理、软解调概率估计以及帧同步机制,为数字通信学习与实践提供完整参考。

1.算法仿真效果
vivado2019.2仿真结果如下(完整代码运行后无水印):

系统包括QPSK调制模块,QPSK软解调模块,AWGN信道模块,误码统计模块,帧同步模块,数据源模块等。

设置SNR=7db

ec7142835eef2c7fe648ca37a54db696_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.jpg

缩小上面的波形,看完整的一帧波形,如下图所示:

881a16dab74dc2d73e0142187cc3c172_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.jpg

设置SNR=15db

638ad4bbcff19748dd4c4cf695c6c617_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.jpg

仿真操作步骤可参考程序配套的操作视频。

2.算法涉及理论知识概要
2.1QPSK
QPSK是一种数字调制方式,它将两个二进制比特映射到一个符号上,使得每个符号代表四种可能的相位状态。因此,QPSK调制解调系统可以实现更高的传输速率和更高的频谱效率。基于FPGA的QPSK调制解调系统通常由以下几个模块组成:

数据生成模块:生成要传输的二进制数据流。

QPSK调制模块:将二进制数据流转换为符号序列,并将每个符号映射到特定的相位状态。

QPSK解调模块:将接收到的符号序列解调为二进制数据流。

QPSK调制模块

  QPSK调制模块将二进制数据流转换为符号序列,并将每个符号映射到特定的相位状态。QPSK调制使用四个相位状态,分别为0度、90度、180度和270度。在QPSK调制中,每个符号代表两个比特,因此,输入二进制数据流的速率必须是符号速率的两倍。

   QPSK调制模块通常使用带有正弦和余弦输出的正交调制器(I/Q调制器)来实现。在I/Q调制器中,输入信号被分成两路,一路被称为“正交(I)路”,另一路被称为“正交(Q)路”。每个输入符号被映射到一个特定的正交信号,然后通过合成器将两个信号相加,形成QPSK调制信号。

701b56fe76cfaa12d29e1d2e61199d56_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.jpg

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

e31b4d3686944de956d50f233946b5b3_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

    该概率可以通过估计信号点的概率分布函数或使用最大似然估计等方法得到。软解调过程需要进行概率估计,以提高解调的准确性。这涉及到估计信号点的概率分布函数或使用其他概率估计方法,其中噪声的影响需要被适当地考虑。

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

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

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

0d41510db6cf1018e38e64e17c99ef61_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.jpg

3.Verilog核心程序

TQPSK TQPSKU(
.i_clk  (i_clk),
.i_rst  (i_rst),
.i_Ibits(i_Ibits),
.i_Qbits(i_Qbits),

.o_Ifir (o_Ifir),
.o_Qfir (o_Qfir),
.o_cos  (),
.o_sin  (),
.o_modc (),
.o_mods (),
.o_mod  (o_mod_T)
);

//加入信道
awgns awgns_u(
    .i_clk(i_clk), 
    .i_rst(i_rst), 
    .i_SNR(i_SNR), //这个地方可以设置信噪比,数值大小从-10~50,
    .i_din(o_mod_T[24:9] + o_mod_T[25:10]), 
    .o_noise(),
    .o_dout(o_Nmod_T)
    );  


//QPSK解调
RQPSK RQPSKU(
.i_clk  (i_clk),
.i_rst  (i_rst),
.i_med  (o_Nmod_T),
.o_cos  (),
.o_sin  (),
.o_modc (o_rmodc),
.o_mods (o_rmods),
.o_Ifir (o_rIfir),
.o_Qfir (o_rQfir),
.o_Ibits(),
.o_Qbits(),
.o_Ibits_data(o_Ibits_data),
.o_Ibits_head(o_Ibits_head),
.o_Ipeak(o_Ipeak),
.o_Ien_data(o_Ien_data),
.o_Ien_pn(o_Ien_pn),
.o_Iframe_start(o_Iframe_start),
.o_Qbits_data(o_Qbits_data),
.o_Qbits_head(o_Qbits_head),
.o_Qpeak(o_Qpeak),
.o_Qen_data(o_Qen_data),
.o_Qen_pn(o_Qen_pn),
.o_Qframe_start(o_Qframe_start)
);




 //计算误码率   
 //I,Q两路分别计算,最后统计平均值作为误码率
//error calculate
wire [31:0]w_error_num1;
wire [31:0]w_error_num2;
Error_Chech Error_Chech_u1(
    .i_clk(i_clk), 
    .i_rst(i_rst), 
    .i_trans({i_Ibits}), 
    .i_en_data(o_Ien_data),
    .i_rec(o_Ibits_data), 
    .o_error_num(w_error_num1), 
    .o_total_num(),
    .o_rec2     ()
    );

//error calculate
Error_Chech Error_Chech_u2(
    .i_clk(i_clk), 
    .i_rst(i_rst), 
    .i_trans({i_Qbits}), 
    .i_en_data(o_Qen_data),
    .i_rec(o_Qbits_data), 
    .o_error_num(w_error_num2), 
    .o_total_num(o_total_num),
    .o_rec2     ()
    ); 
assign o_error_num={w_error_num1[31],w_error_num1[31:1]} + {w_error_num2[31],w_error_num2[31:1]} ;

endmodule
相关文章
|
移动开发 算法 数据安全/隐私保护
基于FPGA的QPSK调制+软解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的QPSK调制解调系统,通过Vivado 2019.2进行仿真,展示了在不同信噪比(SNR=1dB, 5dB, 10dB)下的仿真效果。与普通QPSK系统相比,该系统的软解调技术显著降低了误码率。文章还详细阐述了QPSK调制的基本原理、信号采样、判决、解调及软解调的实现过程,并提供了Verilog核心程序代码。
427 26
|
6月前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的QPSK+帧同步系统verilog开发,包含testbench,高斯信道,误码统计,可设置SNR
本项目基于Vivado2019.2实现QPSK调制解调系统仿真,包括QPSK调制/解调、AWGN信道、误码统计和帧同步等模块。设置SNR为20dB和7dB时,分别展示了波形效果与误码率计算。理论部分详细解析了QPSK调制解调原理及帧同步机制,核心程序用Verilog实现,涵盖数据生成、调制、信道传输、解调及误码统计等功能,附带操作视频辅助理解。
118 2
|
6月前
|
人工智能 异构计算
你真的会用GPT-4o 吗 ?
我是小假 期待与你的下一次相遇 ~
|
6月前
|
弹性计算 人工智能 运维
阿里云国际站HuaSaint:高额返点助力企业低成本全球化布
在全球数字化浪潮中,企业亟需低成本实现业务全球化。阿里云国际站依托全球25个地域、80多个可用区的布局,提供超200种云产品,涵盖计算、数据库、AI等服务。通过官方授权代理商HuaSaint,企业可享受15%-30%成本节省、专属折扣及返点优惠,同时获得云架构设计、迁移部署等增值服务。HuaSaint作为“云管家”,提供从需求分析到运维管理的全程支持,助力企业高效完成全球化部署,专注核心业务发展,在竞争中抢占先机。
|
8月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的2ASK+帧同步系统开发与硬件片内测试,包含高斯信道,误码统计,可设置SNR
本文分享了基于FPGA的2ASK+帧同步系统硬件测试版本,包含ILA数据采集、VIO SNR设置及数据源模块。通过调整SNR(如45dB和10dB),实现对调制解调性能的验证。2ASK调制将数字信号转为二进制码,通过载波振幅变化传输;帧同步用于确定帧起始位置,确保数据正确解调。附带操作视频与核心Verilog代码,便于理解和复现。
248 9
|
7月前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的2FSK+帧同步系统verilog开发,包含testbench,高斯信道,误码统计,可设置SNR
本项目基于Vivado2019.2实现FSK调制解调系统仿真,包含FSK调制/解调模块、AWGN信道模块、误码统计模块及帧同步模块等。通过设置SNR(如10dB、20dB)验证系统性能,并展示FSK调制解调过程。理论部分介绍频移键控(FSK)原理,包括相位连续与不连续特性、功率谱密度特点及其解调方法。Verilog核心程序实现调制、加噪、解调和误码计算功能,为数字通信系统设计提供参考。
232 35
|
5月前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的4ASK+帧同步系统verilog开发,包含testbench,高斯信道,误码统计,可设置SNR
本内容展示了基于Vivado 2019.2的4-ASK调制解调系统仿真结果与理论分析。包含不同信噪比(SNR=20dB与10dB)下的仿真图,说明系统在不同噪声环境下的稳定性。理论部分涵盖4-ASK调制解调原理及帧同步机制,展示了通信系统中信号处理流程。附有Verilog实现代码,适用于数字通信系统教学与开发。
70 2
|
6月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的QPSK+帧同步系统开发与硬件片内测试,包含高斯信道,误码统计,可设置SNR
本文基于FPGA实现QPSK+帧同步系统硬件测试,包含ILA在线数据采集、VIO在线SNR设置及数据源模块。通过设置不同SNR(如6dB和15dB),验证系统性能。理论部分介绍QPSK调制解调原理,将二进制数据映射为四相状态,提高传输速率与频谱效率;帧同步用于确定帧起始位置,确保正确解调。Verilog代码实现信号生成、SNR设置、QPSK调制解调及误码统计等功能,附带ILA测试结果分析。
153 32
|
6月前
|
存储 城市大脑 算法
EDA断供危机下的冷思考:中国芯片设计软件的破局之道优雅草卓伊凡
EDA断供危机下的冷思考:中国芯片设计软件的破局之道优雅草卓伊凡
226 6
EDA断供危机下的冷思考:中国芯片设计软件的破局之道优雅草卓伊凡
|
6月前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的BPSK+costas环实现,包含testbench,分析不同信噪比对costas环性能影响
本作品基于FPGA实现了BPSK调制解调通信系统与Costas环载波同步,使用Verilog语言完成设计并提供Testbench验证。相比之前版本,优化了环路滤波器以使Costas环收敛曲线接近理论值,并新增AWGN信道模块,支持调整SNR分析噪声对锁定性能的影响。通过Vivado2019.2仿真验证,结果准确无误。核心程序包含信号调制、加性高斯白噪声生成及解调部分,适用于学习载波同步与BPSK通信原理。Costas环结构包括本地振荡器、相位解调器、环路滤波器等组件,用于估计和追踪接收信号的相位偏移,实现精确解调。
206 4