首页 > 其他分享 >基于FPGA的直接序列扩频通信verilog设计,包括汉明编译码,扩频解扩,同步模块以及testbench

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

时间:2023-03-25 18:36:58浏览次数:43  
标签:10 FPGA 扩频 扩频通信 rst 模块 汉明 序列

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位的校验码,这样编码方式为汉明码.
  1. 扩频模块 扩频模块若采用直接序列扩频。直接序列扩频,简称直扩扩频(DSSS)。在发送端传送的数据信息需要经过信道编码后,与本原多项式产生的伪噪声序列进行模2加(异或)完成扩频,在接收端用相同的扩伪随机序列对其解扩,解扩后的数据进行译码,达到恢复原始数据信息的目的.

3.同步模块

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

2.仿真效果预览 Quartus II 12.1 (64-Bit),

ModelSim-Altera 6.6d Starter Edition

仿真结果如下:

2.png1.png

3.Verilog核心程序

...............................................
	ham_encoder ham_encoder_u1(//汉明编码
		.clk_10(clk_10), 
		.rst_n(rst_n),
		.hdata(hdata), 
		.h_empty(h_empty),
		.h_rdreq(h_rdreq),
		.mdata(mdata),
		.m_empty(m_empty),
		.m_rdreq(m_rdreq)
	);
	
	m_encoder m_encoder_u2(//m序列扩频
		.clk_10(clk_10), 
		.rst_n(rst_n), 
		.mdata(mdata), 
		.m_empty(m_empty),
		.m_rdreq(m_rdreq),
		.q_data(q_data)
	); 
	
	quantizer quantizer_u3(//量化
		.clk_10(clk_10), 
		.rst_n(rst_n),
		.qdata(q_data), 
		.line_out(line_out)
	);
	
   DSSSreceiver DSSSreceiver_u4(//接收器
		.clk_10(clk_10), 
		.rst_n(rst_n2), 
		.line_in(line_in),
		.rdata(rdata),
		.r_rdreq(r_rdreq),
		.r_empty(r_empty)
	);
endmodule 

标签:10,FPGA,扩频,扩频通信,rst,模块,汉明,序列
From: https://blog.51cto.com/matworld/6149563

相关文章

  • FPGA实验—— 流水灯
    FPGA实验流水灯时钟频率与时钟周期计算\[f=\frac{1}{T}\]f是频率T是周期时钟周期的计算1s=1000ms=1000000us=1000000000ns对于100kHz=100000Hzf=1000000000/1......
  • RK3399+PCIe+FPGA 在高速AD无线通信中的应用
    一、需求要实现高速AD/DA的数据采集,并发送到高性能arm核进行数据处理;方案RK3399+pcie+FPGA+AD/DA。二、器件介绍一、RK3399RK3399是一款低功耗、高性能处理器,用于计算、......
  • 一种RK3399+MIPI+FPGA的高速工业相机的设计方案(二)
    图像采集模块电路设计  3.4图像处理模块电路设计Spartan6芯片采用45nm制造工艺,内部一共有43661的LogicCells资源,同时含有丰富的DSP48A1Slice......
  • 一种RK3399+MIPI+FPGA的高速工业相机的设计方案(一)
    目前,嵌入式相机逐渐代替了传统相机进入大众的视野,应用在公安刑侦、生物医学和文物保护等诸多领域。但是随着人们对......
  • 基于matlab的扩频通信误码率仿真
    1.算法描述       扩展频谱通信,简称扩频通信,是一种信息传输方式,其信号所占有的频带宽度远大于所传信息必需的最小带宽;频带的扩展是通过一个独立的码序列(一般是伪随......
  • 基于ARM+FPGA的移动机器人控制器设计
    XM-AMR-5728系列控制器是为移动机器人(AMR、智能叉车等)设计的通用控制器,为移动机器人提供地图构建、定位导航、模型编辑等核心功能。本产品将移动机器人的核心组件集成于一......
  • 基于ZYNQ7020 ARM+FPGA的运动控制器设计方案
    ZYNQ7020系列运动控制器,支持6轴脉冲+16/32轴总线控制,本地36输入,24输出,RS232/485和TCP通讯。ZYNQ7020系列:1.本地脉冲轴数:6轴带编码器反馈,编码器输入最高频率:4MHz2.最大脉......
  • m通信系统中基于相关峰检测的信号定时同步算法的FPGA实现
    1.算法描述       定时同步方法主要分为基于数据辅助和非数据辅助两类。前者是在发送有效数据前发送一段具有某种特征的训练或导频符号,接收端根据符号特征建立同步......
  • 嵌入式和FPGA怎么选?
    两者区别在哪里?1.嵌入式系统:在电子信息工程领域,嵌入式系统的应用十分广泛,是一个比较热门的研究方向。可选择从事嵌入式软硬件的开发工作。嵌入式软件开发主要与嵌入式操作系......
  • 基于FPGA的幅频均衡带通滤波器的设计
    1.算法描述       数字通信系统中,由于多径传输、信道衰落等影响,在接收端会产生严重的码间干扰,增大误码率。为了克服码间干扰,提高通信系统的性能,在接收端需采用均衡......