【硬件片内测试】基于FPGA的BPSK扩频通信链路测试,包含帧同步,定时点,扩频伪码同步,信道,误码统计

目录

1.引言

2.算法测试效果

3.算法涉及理论知识概要

[3.1 扩频](#3.1 扩频)

[3.2 插入导频](#3.2 插入导频)

[3.3 BPSK调制](#3.3 BPSK调制)

[3.4 BPSK解调](#3.4 BPSK解调)

[3.5 帧同步](#3.5 帧同步)

[3.6 基于相关峰的定时点提取](#3.6 基于相关峰的定时点提取)

[3.7 采样判决](#3.7 采样判决)

[3.8 解扩](#3.8 解扩)

4.Verilog核心接口

5.开发板使用说明和如何移植不同的开发板

6.参考文献

7.完整算法代码文件获得


1.引言

基于FPGA的BPSK通信链路实现,系统包括BPSK调制模块,BPSK相干解调模块,AWGN信道模块,误码统计模块,数据源模块,基于相关峰提取的帧同步和定时点提取模块,扩频解扩等。

2.算法测试效果

本系统是

https://blog.csdn.net/hlayumi1234567/article/details/157187814?spm=1001.2014.3001.5502

硬件测试版本。

在系统在仿真版本基础上增加了ila在线数据采集模块,vio在线SNR设置模块,数据源模块。硬件ila测试结果如下:(完整代码运行后无水印):

vivado2022.2测试

设置SNR=15db

设置SNR=2db

设置SNR=-5db

3.算法涉及理论知识概要

整体系统结构如下所示:

3.1 扩频

用伪随机码(伪码)c(k)(周期为N,c(k)∈{+1,−1} )扩展信号带宽,实现抗干扰。扩频后信号

3.2 插入导频

插入已知导频序列p(t) ,用于接收端帧同步。导频序列为PN序列,插在数据帧的前面。

3.3 BPSK调制

BPSK信号与2ASK信号的时域表达式在形式上是完全相同的,所不同的只是两者基带信号s(t)的构成,一个由双极性NRZ码组成,另一个由单极性NRZ码组成。因此,求BPSK信号的功率谱密度时,也可采用与求2ASK信号功率谱密度相同的方法。

(1)当双极性基带信号以相等的概率(p=1/2)出现时,BPSK信号的功率谱仅由连续谱组成。BPSK信号的功率谱由连续谱和离散谱两部分组成。其中,连续谱取决于数字基带信号s(t)经线性调制后的双边带谱,而离散谱则由载波分量确定。

(2)BPSK的连续谱部分与2ASK信号的连续谱基本相同(仅差一个常数因子)。因此,BPSK信号的带宽、频带利用率也与2ASK信号的相同。

3.4 BPSK解调

​二进制相移键控(BPSK)信号进行相干解调的系统,其包括:用于从所述BPSK信号中恢复出频率为2F的载波信号(C)的装置;用于将频率为2F的所述信号注入到注入锁定振荡器(ILO)中的装置,该注入锁定振荡器的固有谐振频率为f[r],该f[r]大致等于f,该注入锁定振荡器提供用于恢复具有(θ[e]-k)/2相移的原始载波的差分输出(o[p]、o[n])信号,其中θ=arcsin[(f[r]-r)/αA[i]f],其中α和k是取决于所述注入锁定振荡器(ILO)中的主要非线性的类型的参数,而A[i]是所恢复的频率为2f的载波信号的幅值,以及用于将所述差分输出(o[p]、o[n])信号与所述输入BPSK信号的副本进行组合,以产生解调信号(DEMOD)的装置。

3.5 帧同步

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

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

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

3.6 基于相关峰的定时点提取

在接收信号中,通过寻找与本地已知序列(如训练序列或导频序列)的相关峰来确定定时点。具体来说,将接收信号与本地序列进行相关运算,当两者的相位和时间对齐时,相关值会出现峰值,这个峰值点对应的位置就是最佳的定时点,用于确定信号的采样时刻,以保证后续信号处理的准确性。

3.7 采样判决

在确定了定时点后,对接收信号进行采样,将采样值与预设的判决门限进行比较,根据比较结果确定接收信号的电平值,从而恢复出原始的二进制比特流。

3.8 解扩

用与发射端同步的伪码压缩带宽,恢复原始数据。伪码同步后,解扩输出:

在本课题中,伪码同步采用的是伪码峰值判决的方法,当出现峰值时,说明此时伪码同步。

4.Verilog核心接口

5.开发板使用说明和如何移植不同的开发板

注意:硬件片内测试是指发射接收均在一个板子内完成。

在本课题中,使用的开发板是:

如果你的开发板和我的不一样,可以参考代码包中的程序移植方法进行移植:

6.参考文献

1\]程晓畅,苏绍景,王跃科,等.伪随机码超声扩频测距系统设计与算法\[J\].测试技术学报, 2007, 21(1):5.DOI:10.3969/j.issn.1671-7449.2007.01.016. \[2\]杜勇.数字调制解调技术的MATLAB与FPGA实现\[M\].电子工业出版社,2014.0sj5_006m ## 7.完整算法代码文件获得 **完整程序见博客首页左侧或者打开本文底部GZH名片** **(V关注后回复码:X118)** **(或者回复:BPSK扩频硬件)** **V**

相关推荐
runningshark3 小时前
【FPGA】使用高云FPGA与stm32进行FMC通信协议
fpga开发
最遥远的瞬间1 天前
四、Xilinux在线调试方法和XADC的使用
fpga开发
tobias.b1 天前
408真题解析-2010-12-计组-程序执行时间
单片机·嵌入式硬件·fpga开发·计算机考研·408真题解析
洋洋Young2 天前
【Xilinx FPGA】7 Series 收发器架构与时钟设计
fpga开发·xilinx
unicrom_深圳市由你创科技2 天前
XDMA 技术及在 Windows 平台的应用实践
fpga开发
s09071362 天前
【Agent】Claude code辅助verilog编程
fpga开发
3有青年2 天前
altera fpga agilex 5 连接到HVIO BANK上的参考时钟,是否可以作为HSIO BANK内部IOPLL的输入时钟
fpga开发
FPGA_ADDA2 天前
基于ZU47DR 的高性能射频卡
fpga开发
ooo-p2 天前
FPGA学习篇——Verilog学习之“流水灯”
学习·fpga开发