m基于FPGA的BPSK调制解调通信系统verilog实现,包含testbench,包含载波同步

这篇具有很好参考价值的文章主要介绍了m基于FPGA的BPSK调制解调通信系统verilog实现,包含testbench,包含载波同步。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.算法仿真效果

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

3.verilog核心程序

4.完整算法代码文件


1.算法仿真效果

vivado2019.2仿真结果如下:

verilog 鉴相器,FPGA通信和信号处理,fpga开发,BPSK,调制解调,verilog,载波同步

verilog 鉴相器,FPGA通信和信号处理,fpga开发,BPSK,调制解调,verilog,载波同步

       对比没载波同步和有载波同步的仿真效果,我们可以看到,当不存在载波同步时,数据的包络会有一个缓慢的类正弦变换,这是由于存在频偏导致的。而当加入载波同步之后,数据的包络会存在少量起伏,但数据反转的情况已经没有了, 说明频偏得到了补偿。 

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

       BPSK(Binary Phase Shift Keying)调制是一种基本的数字调制方式,它将数字信号转换为一系列的相位变化,其中0和1分别对应于相位为0和π的两个状态。BPSK调制的解调过程可以通过相干解调实现,其主要包括载波恢复和相位解调两个部分。
       载波恢复的主要作用是通过接收信号中的载波信息来恢复出发送信号中的载波频率和相位,从而实现信号的相干解调。常见的载波恢复方法包括PLL(Phase-Locked Loop)和Costas环等。相位解调的主要作用是将接收信号的相位信息转化为数字信号,从而实现数字信号的解调。常见的相位解调方法包括差分相位解调和非差分相位解调等。

       Costas环载波同步
       Costas环是一种常用的载波同步方法,其基本思想是通过将接收信号与本地载波偏移量进行比较来实现载波同步。Costas环主要包括两个环节:相位估计和相位调整。
相位估计
      相位估计的主要作用是通过接收信号和本地载波之间的比较来估计出接收信号中的载波相位偏移量。常见的相位估计方法包括乘积检测法和延迟环路法等。
相位调整
       相位调整的主要作用是通过改变本地载波的相位来消除接收信号中的载波相位偏移量,从而实现载波同步。常见的相位调整方法包括PI控制和二阶控制等。
        FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,其主要特点是具有高度的可编程性和灵活性。在数字信号处理领域,FPGA常用于实现数字信号处理算法和信号处理系统。
        BPSK调制解调系统以及Costas环载波同步的FPGA实现主要包括以下几个模块:
1.信号源模块
       信号源模块主要负责产生BPSK调制的数字信号,实现方式可以是使用FPGA内部的数字信号发生器或者外部的数字信号源输入。
2.BPSK调制模块
      BPSK调制模块主要负责将数字信号转换为相位变化,并将其与载波相乘生成BPSK调制信号。实现方式可以是使用FPGA内部的数字乘法器和相位偏移器等基本逻辑单元。
3.载波同步模块
       载波同步模块主要负责实现Costas环的载波同步功能,包括相位估计和相位调整两个环节。实现方式可以是使用FPGA内部的乘积检测器、延迟环路、PI控制器等基本逻辑单元。
4.BPSK解调模块
      BPSK解调模块主要负责将接收信号进行相干解调,并将其转换为数字信号。实现方式可以是使用FPGA内部的相干解调器和数字滤波器等基本逻辑单元。
       以上是BPSK调制解调系统以及Costas环载波同步的FPGA实现的基本模块,实际实现中还需要考虑实际应用场景的特点和要求,进行相应的优化和调整。

3.verilog核心程序

.............................................................
//调制端    
wire[1:0] o_nz=(i_bits == 1'b1)?2'b01:2'b11;
    
wire[31:0]m_fir;
fiter_rrc uut(
.i_clk  (i_clk),
.i_rst  (i_rst),
.i_dat  ({o_nz[1],o_nz[1],o_nz[1],o_nz[1],o_nz[1],o_nz[1],o_nz,8'd0}),
.o_demod(m_fir)
);
assign o_fir=m_fir[27:12];

   
wire[15:0]m_carrier;
dds_compiler_0 uut2(
  .aclk    (i_clk),                            
  .aresetn (~i_rst),                 
  .s_axis_config_tvalid(1'b1),   
  .s_axis_config_tdata(32'd100000000 + 32'd20000),//加入频偏<=20000    
  .m_axis_data_tvalid(),      
  .m_axis_data_tdata(m_carrier),        
  .m_axis_phase_tvalid(),   
  .m_axis_phase_tdata()      
);
assign o_carrier={m_carrier[7:0],8'd0};    
always @(posedge i_clk or posedge i_rst)
begin
     if(i_rst)
     begin
     o_mod <= 32'd0;
     end
else begin
     o_mod <= $signed(o_carrier)*$signed(o_fir);
     end
end    
    
    
/
    
//解调端 ,考虑载波同步

//NCO
wire signed[31:0]o_K;
wire[15:0]m_carrier_local;
dds_compiler_0 uut3(
  .aclk    (i_clk),                            
  .aresetn (~i_rst),                          
  .s_axis_config_tvalid(1'b1),   
  .s_axis_config_tdata(32'd100000000 + i_sel*o_K),    
  .m_axis_data_tvalid(),      
  .m_axis_data_tdata(m_carrier_local),        
  .m_axis_phase_tvalid(),   
  .m_axis_phase_tdata()      
);
wire signed[15:0] o_sin_local={m_carrier_local[15:8],8'd0};   
wire signed[15:0] o_cos_local={m_carrier_local[7:0],8'd0}; 
 
//下变频 
..............................................................

//匹配滤波 
wire signed[31:0] o_demod_sin;
fiter_rrc uut4(
.i_clk  (i_clk),
.i_rst  (i_rst),
.i_dat  (o_sin_dw[31:16]),
.o_demod(o_demod_sin)
);

fiter_rrc uut5(
.i_clk  (i_clk),
.i_rst  (i_rst),
.i_dat  (o_cos_dw[31:16]),
.o_demod(o_demod_cos)
);

//鉴相器
..............................................  
//环路滤波
lpf lpfu(
.i_clk  (i_clk),
.i_rst  (i_rst),
.i_din  (o_mods),
.o_K    (o_K),
.o_Ks   ()
);
endmodule
00_002m

4.完整算法代码文件

V文章来源地址https://www.toymoban.com/news/detail-596435.html

到了这里,关于m基于FPGA的BPSK调制解调通信系统verilog实现,包含testbench,包含载波同步的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于FPGA的FSK调制解调系统verilog开发

    目录 1.算法仿真效果 2.verilog核心程序 3.算法涉及理论知识概要 4.完整verilog VIVADO2019.2仿真结果如下:       频移键控是利用载波的频率变化来传递数字信息。数字频率调制是数据通信中使用较 早的一种通信方式,由于这种调制解调方式容易实现,抗噪声和抗衰减性能较强,

    2024年02月05日
    浏览(42)
  • 数字带通调制系统实验-BPSK的调制与解调

    1、实验原理 BPSK的调制原理 在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化 时,则产生二进制移相键控(2PSK)信号。通常用已调信号载波的0度和180 度分别表示二进制数字基带信号的1和0.二进制移相键控信号的时域表达式为 这种以载波的不同相位直接

    2024年02月02日
    浏览(50)
  • 基于FPGA的2FSK调制解调系统

            FSK作为数字通信中不可或缺的一种调制方式,其具有抗干扰能力强,不受信道参数的影响的优点,为此,设计合适的FSK调制解调系统便具有重要意义。   该系统产生主要分为三个步骤:         产生方式:通过matlab软件编程生成一个.mif文件,存放正弦波一个周期

    2024年02月03日
    浏览(31)
  • 基于System Generator的1024QAM-FM软件无线电联合调制解调系统的FPGA实现

    目录 一、理论基础 1.1环路滤波器 1.2环鉴相器介绍 1.3 Ganrder  二、核心模型

    2024年02月13日
    浏览(28)
  • 基于FPGA的OFDM-BPSK链路verilog实现,开发平台为quartusii

    目录 一、理论基础 二、核心程序 三、测试结果        OFDM(Orthogonal Frequency Division Multiplexing)和BPSK(Binary Phase Shift Keying)都是数字通信中常用的调制和多路复用技术。在一个OFDM-BPSK链路中,BPSK用于调制数据信号,而OFDM用于多路复用和传输。 BPSK调制(Binary Phase Shift Keyi

    2024年02月07日
    浏览(28)
  • 【教程4>第2章>第7节】BPSK解调系统的FPGA开发与matlab对比验证

    欢迎订阅FPGA/MATLAB/Simulink系列教程 《★教程1:matlab入门100例》 《★教程2:fpga入门100例》 《★教程3:simulink入门60例》 《★教程4:FPGA/MATLAB/Simulink联合开发入门与进阶X例》 目录

    2024年04月12日
    浏览(24)
  • 基于FPGA的QPSK调制系统verilog开发

    目录 一、理论基础 二、核心程序 三、测试结果         正交相移键控(Quadrature Phase Shift Keying,QPSK)是一种数字调制方式。它分为绝对相移和相对相移两种。由于绝对相移方式存在相位模糊问题,所以在实际中主要采用相对移相方式DQPSK。QPSK是一种四进制相位调制,具有良

    2024年02月01日
    浏览(28)
  • 基于FPGA的QPSK调制解调-------(1)QPSK调制技术的原理

    QPSK(正交相移键控)是M=4的MPSK一种,也可叫做四进制相移键控。即有四个不同相位的状态,每个码元需要传输2bit的数字信息,可由00、01、11、10组合来对应表示四个不同的相位0、pi/2、pi、3pi/2或pi/4、3pi/4、5pi/4、7pi/4。 由 QPSK调制原理框图如图所示:        首先将输入的数

    2024年02月04日
    浏览(31)
  • 西电B测——基于simulink的2PSK和2DPSK调制解调系统实现

    这是学校的B级测试实验,仅供学习交流使用 误码率曲线绘制需要用到bertool工具: bertool工具教程: 通信专业Simulink---画误码率曲线(使用bertool工具)_Enpiyahh的博客-CSDN博客_simulink误码率曲线 报告和仿真文件下载链接: 链接:https://pan.baidu.com/s/1Fo5ixtqQpegDMYFd15cctA?pwd=FCNN  提取码

    2024年02月02日
    浏览(26)
  • 基于FPGA的2ASK、2FSK、2PSK的调制解调

    本次设计是基于FPGA的调制解调器的设计。涉及到2ASK、2FSK、2PSK的调制解调,利用Verilog HDL进行底层设计,顶层为了直观用的原理图方法。这里没有用modelsim仿真,直接上板子用的signalTap II 观测的波型 该总体框图包括分频器、载波生成模块、m序列生成模块、调制解调模块和选

    2024年02月14日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包