当前位置:   article > 正文

基于FPGA的直接序列扩频通信verilog设计,包括汉明编译码,扩频解扩,同步模块以及testbench_fpga设计通信技术中加密扩频技术

fpga设计通信技术中加密扩频技术

目录

1.算法描述

2.仿真效果预览

3.Verilog核心程序

4.完整Verilog


1.算法描述

        与很多的通信技术类似,扩频技术最初也应用于保密通信和制导系统等军事技术。除了在军事通信中的应用,扩频技术在无线通信领域也有发展。目前扩频通信技术已经在测距、卫星通信、GPS导航定位、移动通信、电子对抗、跟踪、遥控和蓝牙技术等方面广泛应用。扩频通信技术具有很多独特的优点:具有抗干扰能力强和截获率低等独特优点,而且具备码分多址(CDMA,Code Divided Multiple Access)或称为扩频多址(SSMA,SpreadSpectrumMultiple Access)的能力,因此广泛应用于商业、银行、宾馆、能源和交通业等行业。因为应用广泛受到世界各国的特别关注,尤其是在近年来随着超大规模的集成电路和微处理技术快速发展,使得扩频技术在各个行业得到更多的发展。随着数字技术的飞速发展,数字扩频技术不仅完成模拟扩频的所有功能,而且在性能和精度方面都有很大的优势,所以数字扩频技术将在未来被更广泛的应用。

        在扩频通信技术中,发送端将原始信号的频带进行扩展,得到扩频信号,然后在接收端通过对信号进行解扩处理,恢复原始信号。根据通信系统产生的扩频方式,可以将扩频通信分为5类:直接序列扩展频谱(Direct Sequence Spread Spectrum Communication Systems)、频率跳变扩频通信系统(Frequecy Hopping Spread Spectrum Communication Systems,FH-SS)、跳时扩频通信系统(Time Hopping Spectrum Communication Systems,TH-SS)、线性脉冲调频系统(chirp)和混合扩频通信系统,扩频技术在未来无线通信技术中,仍是重要部分,很多方面需要继续去探索,因此扩频技术的研究不能停滞不前。
       利用本原多项式产生伪随机序列用作扩频,通过同步模块对扩频后的信号进行捕获,通过直接序列解扩模块进行解扩。本文给出了编解码、扩频解扩、同步的整体方案,使用Quartus实现功能,并结合Matlab和ModelSim对模块进行调试和测试,实现扩频通信模块的搭建仿真,验证其设计的正确性。模块有:汉明编码模块、直接序列扩频模块、量化器模块、同步模块、直接序列解扩模块和汉明译码模块。

1.汉明编码模块

        编码模块采用汉明码编码方式。汉明码是一种线性分组码。汉明码是指将数据信息码分成为长度为m的数据段,在每一段数据后面添加n位的校验码,这样编码方式为汉明码.

2. 扩频模块
       扩频模块若采用直接序列扩频。直接序列扩频,简称直扩扩频(DSSS)。在发送端传送的数据信息需要经过信道编码后,与本原多项式产生的伪噪声序列进行模2加(异或)完成扩频,在接收端用相同的扩伪随机序列对其解扩,解扩后的数据进行译码,达到恢复原始数据信息的目的.

3.同步模块

       同步模块若采用最小二乘法。最小二乘法是一种数学优化技术。它通过最小化误差的平方来和数据进行匹配。它可以简便地求得接收信号,并使得这些接收信号与伪随机序列之间误差的平方和为最小。

2.仿真效果预览

Quartus II 12.1 (64-Bit),

ModelSim-Altera 6.6d Starter Edition

仿真结果如下:

 

3.Verilog核心程序

  1. module tops(clk_10, rst_n, rst_n2,tdata, t_wrreq, t_full, rdata, r_rdreq,line_out, line_in,
  2. ...............................................
  3. ham_encoder ham_encoder_u1(//汉明编码
  4. .clk_10(clk_10),
  5. .rst_n(rst_n),
  6. .hdata(hdata),
  7. .h_empty(h_empty),
  8. .h_rdreq(h_rdreq),
  9. .mdata(mdata),
  10. .m_empty(m_empty),
  11. .m_rdreq(m_rdreq)
  12. );
  13. m_encoder m_encoder_u2(//m序列扩频
  14. .clk_10(clk_10),
  15. .rst_n(rst_n),
  16. .mdata(mdata),
  17. .m_empty(m_empty),
  18. .m_rdreq(m_rdreq),
  19. .q_data(q_data)
  20. );
  21. quantizer quantizer_u3(//量化
  22. .clk_10(clk_10),
  23. .rst_n(rst_n),
  24. .qdata(q_data),
  25. .line_out(line_out)
  26. );
  27. DSSSreceiver DSSSreceiver_u4(//接收器
  28. .clk_10(clk_10),
  29. .rst_n(rst_n2),
  30. .line_in(line_in),
  31. .rdata(rdata),
  32. .r_rdreq(r_rdreq),
  33. .r_empty(r_empty)
  34. );
  35. endmodule
  36. A194

4.完整Verilog

V

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/724178
推荐阅读
相关标签
  

闽ICP备14008679号