基于FPGA的BPSK+costas环实现,包含testbench,分析不同信噪比对costas环性能影响

简介: 本作品基于FPGA实现了BPSK调制解调通信系统与Costas环载波同步,使用Verilog语言完成设计并提供Testbench验证。相比之前版本,优化了环路滤波器以使Costas环收敛曲线接近理论值,并新增AWGN信道模块,支持调整SNR分析噪声对锁定性能的影响。通过Vivado2019.2仿真验证,结果准确无误。核心程序包含信号调制、加性高斯白噪声生成及解调部分,适用于学习载波同步与BPSK通信原理。Costas环结构包括本地振荡器、相位解调器、环路滤波器等组件,用于估计和追踪接收信号的相位偏移,实现精确解调。

1.算法仿真效果
本作品是之前作品的改进和扩展:

1.m基于FPGA的BPSK调制解调通信系统verilog实现,包含testbench,包含载波同步_csdn基于fpga的bpsk-CSDN博客

2.m基于FPGA的costas环载波同步verilog实现,包含testbench,可以修改频偏大小_基于fpga的载波同步技术-CSDN博客

在上述两个作品的基础上做了如下的改进:

第一、优化了环路滤波器,使得costas环收敛曲线接近理论曲线;

第二、增加了awgn信道模块,可以修改SNR,分析不同噪声对costas环的锁定性能影响;

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

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

局部放大:

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

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

2.算法涉及理论知识概要
Costas环是一种用于载波同步的常见方法,特别是在调制解调中,它被广泛用于解调相位调制信号,如二进制调相(BPSK)或四进制调相(QPSK)信号。它的目的是估计和追踪接收信号的相位偏移,以便正确解调数据。

   其基本结构如下图所示:

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

Costas环结构:

   如上图所示Costas环包括两个主要部分:一个偏移90度的本地振荡器(Local Oscillator,LO)和一个相移解调器。这两个部分协同工作来估计信号的相位偏移。

Costas环包括以下主要组件:

本地振荡器(Local Oscillator,LO): LO产生一个本地参考信号,其频率与接收信号的载波频率相同。这个本地参考信号通常包括正弦和余弦两路信号,相位相差90度。这两路信号将与接收信号相位进行比较。

相位解调器(Phase Detector): 相位解调器用于测量接收信号和本地振荡器之间的相位差。它的输出是一个带有相位信息的信号。

环路滤波器(Loop Filter): 环路滤波器对相位差信息进行滤波和处理,以生成一个控制电压。这个电压将用于调整本地振荡器的频率和相位,以最小化相位差。

本地振荡器控制单元: 这个单元接收来自环路滤波器的控制电压,并相应地调整本地振荡器的频率和相位。

输出: Costas环的输出是本地振荡器的相位信息,该信息已经被调整,以与接收信号的相位保持同步。这个输出可以用于解调接收信号。

Costas环原理:

   Costas环的原理是利用接收信号和LO之间的相位差异来估计信号的相位偏移。当信号的相位偏移接近0或180度时,乘积信号的幅值最大,而当相位偏移接近90或270度时,乘积信号的幅值最小。因此,通过测量乘积信号的幅值,可以估计相位偏移。

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

3.Verilog核心程序
````timescale 1ns / 1ps
//
// Company:
// Engineer:
//
// Create Date: 2025/01/19 01:40:07
// Design Name:
// Module Name: tops_costas
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:

module tops_costas(
input i_clk,
input i_rst,
input signed[7:0]i_SNR,
input signed[1:0]i_msg,
output signed[7:0]o_msg_filter,
output signed[15:0]o_msg_mod,
output signed[15:0]o_msg_modn,
output signed[15:0]o_low_filter,
output signed[31:0]o_delta_fre
);

T_mod T_mod_u(
.i_clk (i_clk),
.i_rst (i_rst),
.i_msg (i_msg),
.o_msg_filter (o_msg_filter),
.o_msg_mod (o_msg_mod)
);

awgns awgns_u(
.i_clk(i_clk),
.i_rst(i_rst),
.i_SNR(i_SNR), //这个地方可以设置信噪比,数值大小从-10~50,
.i_din(o_msg_mod),
.o_noise(),
.o_dout(o_msg_modn)
);

R_demod R_demodu(
.i_clk (i_clk),
.i_rst (i_rst),
.i_mod (o_msg_modn),
.o_low_filter (o_low_filter),
.o_delta_fre (o_delta_fre)
);

endmodule
```

相关文章
|
机器学习/深度学习 人工智能 算法
基于Python的图像预处理完整指南
基于Python的图像预处理完整指南
|
移动开发 算法 数据安全/隐私保护
基于FPGA的QPSK调制+软解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的QPSK调制解调系统,通过Vivado 2019.2进行仿真,展示了在不同信噪比(SNR=1dB, 5dB, 10dB)下的仿真效果。与普通QPSK系统相比,该系统的软解调技术显著降低了误码率。文章还详细阐述了QPSK调制的基本原理、信号采样、判决、解调及软解调的实现过程,并提供了Verilog核心程序代码。
446 26
|
3月前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的8PSK+帧同步系统verilog开发,包含testbench,高斯信道,误码统计,可设置SNR
本项目基于FPGA实现8PSK调制解调系统,包含仿真验证与Verilog核心代码。通过Vivado 2019.2进行功能仿真,验证在不同信噪比(SNR=10dB/30dB)下的通信性能。系统包括调制、信道传输、解调及帧同步等模块,适用于数字通信应用。
77 0
|
8月前
|
算法 数据安全/隐私保护
基于16QAM的载波同步和定时同步性能仿真,采用四倍采样,包括Costas环和gardner环
本内容主要介绍了基于MATLAB的算法仿真及其涉及的理论知识。通过Matlab2022a仿真,展示了载波同步与位同步在通信系统中的实现效果,并提供无水印的完整代码运行结果。理论部分详细阐述了载波同步、位同步的概念,以及Costas环和Gardner定时误差算法的应用原理。核心程序包括鉴相器、环路滤波器处理及NCO相位生成等关键步骤,最终通过星座图对比验证了16QAM信号同步前后的性能改善。
368 30
|
7月前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的2FSK+帧同步系统verilog开发,包含testbench,高斯信道,误码统计,可设置SNR
本项目基于Vivado2019.2实现FSK调制解调系统仿真,包含FSK调制/解调模块、AWGN信道模块、误码统计模块及帧同步模块等。通过设置SNR(如10dB、20dB)验证系统性能,并展示FSK调制解调过程。理论部分介绍频移键控(FSK)原理,包括相位连续与不连续特性、功率谱密度特点及其解调方法。Verilog核心程序实现调制、加噪、解调和误码计算功能,为数字通信系统设计提供参考。
247 35
|
6月前
|
数据挖掘 BI API
产品二维码标签制作指南:让商品信息一目了然
在信息密集的时代,二维码成为产品展示的新方式。相比易被忽视的纸质资料,二维码能快速带领用户进入全面灵活的产品世界。它不仅突破实体标签限制,还支持随时更新内容、节省成本并提供数据反馈。通过草料二维码,只需三步即可制作专业二维码,提升用户体验与品牌信任感。
|
6月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的2FSK+帧同步系统开发与硬件片内测试,包含高斯信道,误码统计,可设置SNR
本文基于FPGA实现2FSK+帧同步系统,采用Verilog开发,包含Testbench、高斯信道、误码统计及可设置SNR功能。硬件版本新增ILA在线数据采集与VIO在线SNR设置模块,验证调制解调过程。理论部分介绍FSK调制解调原理、功率谱特性及帧同步机制,代码实现FSK信号生成与处理,适合数字通信学习与实践。
231 1
|
9月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的MSK调制解调系统系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文基于FPGA实现MSK调制解调系统,采用Verilog开发,包含同步模块、高斯信道模拟、误码率统计等功能。相比仿真版本,新增ILA数据采集与VIO在线SNR设置模块。通过硬件测试验证,展示不同SNR(如10dB和16dB)下的性能表现。研究聚焦软件无线电领域,优化算法复杂度以适应硬件限制,利用MSK恒定包络、相位连续等特性提升频谱效率。核心代码实现信号生成、调制解调、滤波及误码统计,提供完整的硬件设计与分析方案。
331 19