基于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
```

相关文章
|
5月前
|
算法 数据安全/隐私保护
基于16QAM的载波同步和定时同步性能仿真,采用四倍采样,包括Costas环和gardner环
本内容主要介绍了基于MATLAB的算法仿真及其涉及的理论知识。通过Matlab2022a仿真,展示了载波同步与位同步在通信系统中的实现效果,并提供无水印的完整代码运行结果。理论部分详细阐述了载波同步、位同步的概念,以及Costas环和Gardner定时误差算法的应用原理。核心程序包括鉴相器、环路滤波器处理及NCO相位生成等关键步骤,最终通过星座图对比验证了16QAM信号同步前后的性能改善。
190 30
|
9月前
|
移动开发 算法 数据安全/隐私保护
基于FPGA的QPSK调制+软解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的QPSK调制解调系统,通过Vivado 2019.2进行仿真,展示了在不同信噪比(SNR=1dB, 5dB, 10dB)下的仿真效果。与普通QPSK系统相比,该系统的软解调技术显著降低了误码率。文章还详细阐述了QPSK调制的基本原理、信号采样、判决、解调及软解调的实现过程,并提供了Verilog核心程序代码。
329 26
|
算法 异构计算
m基于FPGA的gardner环定时同步实现,含testbench测试程序
m基于FPGA的gardner环定时同步实现,含testbench测试程序
472 0
|
3月前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的QPSK+帧同步系统verilog开发,包含testbench,高斯信道,误码统计,可设置SNR
本项目基于Vivado2019.2实现QPSK调制解调系统仿真,包括QPSK调制/解调、AWGN信道、误码统计和帧同步等模块。设置SNR为20dB和7dB时,分别展示了波形效果与误码率计算。理论部分详细解析了QPSK调制解调原理及帧同步机制,核心程序用Verilog实现,涵盖数据生成、调制、信道传输、解调及误码统计等功能,附带操作视频辅助理解。
68 2
|
4月前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的2FSK+帧同步系统verilog开发,包含testbench,高斯信道,误码统计,可设置SNR
本项目基于Vivado2019.2实现FSK调制解调系统仿真,包含FSK调制/解调模块、AWGN信道模块、误码统计模块及帧同步模块等。通过设置SNR(如10dB、20dB)验证系统性能,并展示FSK调制解调过程。理论部分介绍频移键控(FSK)原理,包括相位连续与不连续特性、功率谱密度特点及其解调方法。Verilog核心程序实现调制、加噪、解调和误码计算功能,为数字通信系统设计提供参考。
137 35
|
3月前
|
Linux 虚拟化 iOS开发
Windows Server 2016 OVF (2025 年 6 月更新) - VMware 虚拟机模板
Windows Server 2016 OVF (2025 年 6 月更新) - VMware 虚拟机模板
77 9
Windows Server 2016 OVF (2025 年 6 月更新) - VMware 虚拟机模板
|
3月前
|
存储 测试技术 开发工具
基于版本控制+WORM的OSS数据保护:防勒索攻击与法规遵从实践
本课程深入解析数据保护三大核心矛盾,提出基于OSS的版本控制与合规保留策略(WORM)一体化解决方案。内容涵盖不可变备份实现、历史版本恢复、合规审计验证及高级防护优化,结合Terraform、SDK示例和性能测试,提供从架构设计到落地的完整路径,助力构建安全、高效、合规的数据保护体系。
|
3月前
|
存储 缓存 分布式计算
OSS大数据分析集成:MaxCompute直读OSS外部表优化查询性能(减少数据迁移的ETL成本)
MaxCompute直读OSS外部表优化方案,解决传统ETL架构中数据同步延迟高、传输成本大、维护复杂等问题。通过存储格式优化(ORC/Parquet)、分区剪枝、谓词下推与元数据缓存等技术,显著提升查询性能并降低成本。结合冷热数据分层与并发控制策略,实现高效数据分析。
|
3月前
|
人工智能 运维 负载均衡
应用交付厂商F5发布全新应用交付与安全平台,全面释放AI潜能
应用交付厂商F5发布全新应用交付与安全平台,全面释放AI潜能
55 3
|
3月前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的BPSK+帧同步系统verilog开发,包含testbench,高斯信道,误码统计,可设置SNR
本项目基于Vivado2019.2实现了一个完整的BPSK通信系统仿真,包括调制、解调、AWGN信道、误码统计及帧同步等功能模块。通过设置SNR(如15dB和7dB),展示了不同信噪比下的系统性能,并提供局部放大效果分析。理论部分详细介绍了BPSK信号的功率谱特性及其与2ASK的区别,同时阐述了帧同步的工作原理。Verilog核心程序实现了调制端、解调端以及误码计算等功能,为数字通信系统的理解和实践提供了全面参考。
69 3

热门文章

最新文章