0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

直接扩频通信系统的仿真设计

FPGA技术江湖 来源:FPGA技术江湖 作者:FPGA技术江湖 2022-11-08 09:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

导读

本篇适用于有一定通信基础的大侠,本篇使用的理论不仅仅是扩频通信。为了便于学习,本章将会以实战的方式,对整个工程的仿真。并对一些关键的仿真结果进行说明。各位大侠可依据自己的需要进行阅读,参考学习。

第三篇内容摘要:本篇会介绍系统的仿真设计。

仿真

一、模块的建立及其仿真环境的生成

1.1、在计算机上,找一个没有中文字符的目录,新建以下几个文件,如图 6:

cd0e30f2-5efe-11ed-8abf-dac502259ad0.png

图6 上图为可以建立的文件,sim_wave.do 是仿真波形保存文件.tt.do。 其代码如下:

#建立 library 名为”work”
vlib work
vmap work work
#编译当前目录(./)中的 top.v、mcu.v …. 
vlog -work work -L mtiAvm -L mtiOvm -L mtiUPF ./top.v
vlog -work work -L mtiAvm -L mtiOvm -L mtiUPF ./mcu.v
vlog -work work -L mtiAvm -L mtiOvm -L mtiUPF ./slaver.v
vlog -work work -L mtiAvm -L mtiOvm -L mtiUPF ./coder.v
vlog -work work -L mtiAvm -L mtiOvm -L mtiUPF ./add_noise.v
vlog -work work -L mtiAvm -L mtiOvm -L mtiUPF ./decoder.v
vlog -work work -L mtiAvm -L mtiOvm -L mtiUPF ./correct.v
vlog -work work -L mtiAvm -L mtiOvm -L mtiUPF ./Correct_Decoder.v
#仿真 work 中的 top 模型
vsim -novopt work.top

以上是输入方式进行仿真,也可以直接使用图形化的方式进行仿真。但没有开始仿真,因为我们以下还要添加一条语句。但没有响应的文件。 tt.bat 的代码如下:

echo

pause

vsim -do 。 t.do

pause

tt.bat 文件为批处理文件,仅为打开 modelsim、运行 tt.do 文件使用。也可以不使用该文件(以下不会详细介绍)。

1.2、将对应的代码写到相应的文件中(sim_wave.do、tt.bat 文件可以不管)。

1.3、用 modelsim 的打开方式打开 top.v 文件(或者你先打开 modelsim,然后把目录修改成以上所述的目录也可)。运行的界面如图 7(modelsim6.5d):

cd24b49e-5efe-11ed-8abf-dac502259ad0.png

图7 图中的乱码均为modelsim不兼容我所使用的notepad软件编写的中文字符,大侠均可不以理睬。

1.4、在 Transcript 中输入”do tt.do”,运行当前目录下的 tt.do 文件。 运行过程中,最后跳出如图 8 的窗口。如果有错误,会在 Transcript 中用红色字体说明(当然,这里都是英文)。

cd3993f0-5efe-11ed-8abf-dac502259ad0.png

图8 在框图 1 中为整个仿真平台上的模型,可以点击模型+展开。框图 2 显示当前模型所含的项目。

1.5、添加波形,如图 9、10、11,对模块 coder 添加波形,并对波形进行分组。

cd4c2358-5efe-11ed-8abf-dac502259ad0.png

图9

cd6fd5c8-5efe-11ed-8abf-dac502259ad0.png

图10

cd86eec0-5efe-11ed-8abf-dac502259ad0.png

图11 对所有仿真模型添加波形,并且分组,如图 12。

cdb237ec-5efe-11ed-8abf-dac502259ad0.png

图12

cdd40cc8-5efe-11ed-8abf-dac502259ad0.png

图13

1.6、仿真开始 在 Transcript 中输入”run -all” 等待结果。以上将生成仿真环境的全过程。下面会将对各个模块进行说明。

二、模块仿真

2.1、模块 mcu仿真

mcu 扮演一个信源产生模块,其波形如图 14。

cdf3390e-5efe-11ed-8abf-dac502259ad0.png

图14

在 send_ena 使能的情况下,当 insourse_ena 为高时,数据从 indatabyte 第 7 位端口输出到 coder 模块,图中发送十六进制 24 的过程,仅在 insourse_ena 为高时发送。该模块还产生两个时钟,两个时钟分别是 31 倍的频率。clk1 和 clk31。

2.2、模块coder仿真

模块 coder 将对 mcu 传送的数据进行编码、扩频。仿真波形如图 15。

ce08a9b0-5efe-11ed-8abf-dac502259ad0.png

图15 图中的 in_data_buf 为发送码,当接收到 send_ena 后,先发送头和数据帧,然后才发送数据如图中从 133600us 开始发送数据”0010”(十六进制 2)后发送监督码的”101”,在 177000us 开始发送数据”0100”(十六进制 4)后发送监督码”110”。所有数据经过信道编码后,out_data 发送出去。

2.3、模块noise仿真

添加干扰,经 coder 发送的 2bit 数据扩展到 3bit 数据,并与噪声进行加性。

仿真波形如图 16。

ce2e6ca4-5efe-11ed-8abf-dac502259ad0.png

图16 图中是对 1bit 数据进行扩频后,其中 un_noised_data 为输入数据(无噪声)、经过与 noise 数据相加,得到数据 noised_data。 这模块就是充当信道中的加性干扰源。

2.4、模块decoder仿真

解扩是本系统的设计重点。它包含同步头的同步和数据的接收等。

本设计采用一个循环伪随机作为解扩码。采用一个 31bit 的寄存器,初始化为级数为 5 的 m 序列,首尾循环。那么,在寄存器每一位上采数,都可以得到一个伪随机序列。分别得出 31 个 m 序列。而且靠近的寄存器位,采集的 m 序列只有一位的移位。因此,可以采用该方法,在发送端发送的数据,不管为何时发送,在 31bit个寄存器中的 1 个寄存器中与之对应。更通俗的说法,不管发送设备何时开始发送。都可以在 31bit 的寄存器中找到一个寄存器采到的 m 序列与之对应。

由于在 31 比特的寄存器同时采数是比较耗费 FPGA 内部资源,所以本设计采用寄存器的每 10 个 bit 位进行一一处理。如果前 10 个没能找到对应的 m 序列,则累加到后 10 个,以此类推,在 3 次的累加中,总能完全扫描完 31bit 位的寄存器。此时可以找到对应的比特位。

由于发送设备的数据头为 10 个”1”和 1 个”0”,而在 10 个”1”中的 1 是延伸的,没法直接得到相邻”1”的交界,而在得到合适的 m 序列位后,必须进行同步,同步的方法为采集最后一个”0”作为同步。

在接收完成数据头后,进行数据帧同步。数据帧是 4bit 数据”0000”和 3bit 监督位”000”。

接收完成数据帧之后才是数据的开始。由于数据比较大,累加基数这里是 100,阀值为 30,那么,当接收到 130,说明接收到一个”1”。

仿真结果如下:

ce4d49d0-5efe-11ed-8abf-dac502259ad0.png

图17

图17 为接收的整体工作状态,sum1~sum10 分别采集 10 个寄存器比特位,当有1 个接收超过 130,说明寄存器该为上的 m 序列可以接收到 1 个”1”,sum 是对数据帧和数据的解扩统计。

ce7db368-5efe-11ed-8abf-dac502259ad0.png

图18

图18 是一个完整数据解扩的过程,clk31 是采集时钟,数据为 in_data_buf,从输入到输出,延迟一段时间后传送到解扩模块。psumi 为解扩的值,通过累加得到sum(in_data[2]判断。为 1,则加;为 0,则减)。如果 sum 超过 130,说明发送数据为”1”,否则为”0”。(以上为数据”1”的例子)

通过解扩的数据,送到 correct 模块进行纠错。

2.5、模块correct仿真

模块 correct 为纠错模块。它将解扩后的数据进行分析,即对汉明码的反运算。该模块的仿真过程省略。

2.6、模块Slaver仿真

Slaver 是接收模块端,它将解扩、纠错后的数据进行存储。仿真过程省略。

2.7、模块Top仿真

Top 模块应该放第一块讲解,因为它是一个仿真平台,它的子模块包括 mcu 和slaver。它将两个模块的发送接收进行统计、并且进行计算、输出,并对模块参数设置。以下设置发送数据比特位为 500 的输出结果(图 19、图 20):

ce8e8224-5efe-11ed-8abf-dac502259ad0.png

图19

ceb50872-5efe-11ed-8abf-dac502259ad0.png

图20 以上是整个设计的仿真过程。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 仿真
    +关注

    关注

    53

    文章

    4404

    浏览量

    137644
  • 通信系统
    +关注

    关注

    6

    文章

    1247

    浏览量

    54956

原文标题:基于FPGA的直接扩频通信系统设计(附代码)

文章出处:【微信号:HXSLH1010101010,微信公众号:FPGA技术江湖】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    通用卫星通信模拟仿真系统全面解析

    通用卫星通信模拟仿真系统全面解析
    的头像 发表于 07-28 09:26 470次阅读
    通用卫星<b class='flag-5'>通信</b>模拟<b class='flag-5'>仿真</b><b class='flag-5'>系统</b>全面解析

    云翎智能林场应急通信自组网:从灾前预警到灾后重建的全周期应用

    云翎智能林场应急通信自组网通过"北斗+5G+AI"技术融合,构建了覆盖灾前预警、灾中响应、灾后重建的全周期应急通信体系。该自组网系统依托动态MESH自组网与扩频通信技术,在密林
    的头像 发表于 07-05 14:34 370次阅读
    云翎智能林场应急<b class='flag-5'>通信</b>自组网:从灾前预警到灾后重建的全周期应用

    MAX13253ATB+T 1A、扩频、推挽式变压器驱动器,用于隔离电源

    Ω@4.5V)直接驱动变压器原边,效率高达90% 引脚可选扩频振荡器 (250kHz/600kHz)与 摆率控制 ,降低30% EMI辐射 固定50%占空比设计,彻底消除变压器直流偏磁风险 10引脚
    发表于 06-18 11:56

    《聊一聊ZXDoc》之CAN总线仿真、面板仿真

    ZXDoc支持CAN总线仿真、面板仿真功能,通过虚拟化通信环境,提前验证、优化和保障系统可靠性,降低开发成本与风险,面板仿真还使其画面实物化
    的头像 发表于 05-09 11:30 1055次阅读
    《聊一聊ZXDoc》之CAN总线<b class='flag-5'>仿真</b>、面板<b class='flag-5'>仿真</b>

    电磁环境仿真与验证系统软件

    电磁环境仿真与验证系统软件
    的头像 发表于 04-29 16:59 816次阅读
    电磁环境<b class='flag-5'>仿真</b>与验证<b class='flag-5'>系统</b>软件

    频率扩频设计的关键参数

    在电源管理系统的设计中,频率扩频技术(Frequency SpreadSpectrum, FSS)是优化电磁兼容性(EMI)的关键手段。通过在开关频率中引入可控的抖动,FSS调制电源变换器的开关频率
    的头像 发表于 04-16 13:55 711次阅读

    软件更新 | 以太网通信仿真功能已上线!TSMaster 202503 版本更新速览

    TSMaster202503软件功能又更新啦!这一次,我们带来了工程师们期待已久的以太网通信仿真功能,让您的车载网络测试如虎添翼!除了以太网通讯仿真功能,还新增软件网关、GPS记录数据格式转换等功能
    的头像 发表于 04-12 20:03 1003次阅读
    软件更新 | 以太网<b class='flag-5'>通信</b><b class='flag-5'>仿真</b>功能已上线!TSMaster 202503 版本更新速览

    摩托罗拉GM300扩频率方法

    摩托罗拉GM300 扩频率方法
    发表于 04-08 11:21 7次下载

    干货分享 | TSMaster用户必看:以太网通信仿真用户手册

    在汽车电子开发中,以太网通信仿真已成为ECU测试、诊断和网络分析的关键环节。TSMaster作为一款强大的汽车电子仿真和测试工具,为工程师提供了高效的以太网通信解决方案。本手册将带您深
    的头像 发表于 03-28 20:04 785次阅读
    干货分享 | TSMaster用户必看:以太网<b class='flag-5'>通信</b><b class='flag-5'>仿真</b>用户手册

    探索通信新纪元:展频与扩频技术的无限潜力!

    一、前言:作为EMI解决方案,扩频时钟发生器(SSCG)正在受到业界的关注。SSCG(SpreadSpectrumClockGenerator)不仅具有高度的电磁干扰(EMI)抑制效果,还有助于产品
    的头像 发表于 02-05 16:58 56次阅读
    探索<b class='flag-5'>通信</b>新纪元:展频与<b class='flag-5'>扩频</b>技术的无限潜力!

    安信可大功率LoRaWAN模组Ra-08H-P介绍

    Ra-08H-P 是由安信可科技设计开发的一款大功率LoRaWAN 模组,该模组用于超长距离扩频通信。其芯片 ASR6601 是通用的 LPWAN 无线通信SoC,集成了射频收发器、调制解调器和一个 32 位的 RISC MCU。该 MCU 采用ARM内核,工作频率可达4
    的头像 发表于 01-21 13:25 834次阅读
    安信可大功率LoRaWAN模组Ra-08H-P介绍

    车联网HIL仿真测试解决方案

    经纬恒润结合硬件在环技术、通信信息、云平台、场景仿真、车载单元仿真技术,开发了针对车联网V2N测试&V2X应用场景测试的仿真系统,实
    的头像 发表于 12-24 14:24 978次阅读
    车联网HIL<b class='flag-5'>仿真</b>测试解决方案

    仿真系统的性能优化技巧

    在现代工业和科学研究中,仿真系统扮演着越来越重要的角色。它们不仅能够帮助我们预测复杂系统的行为,还能在没有实际物理原型的情况下进行实验和测试。然而,随着仿真模型的复杂度增加,性能优化成
    的头像 发表于 12-19 14:47 4042次阅读

    传输距离达5.1km的高频段LoRa模组,低功耗可达3μA

    LoRa模组:Ra-03SCH 产品简介 Ra-03SCH 是由安信可科技设计开发的 LoRa 系列模组。Ra-03SCH模组用于超长距离扩频通信,其射频芯片 LLCC68 主要采用 LoRa™远程
    的头像 发表于 12-19 09:39 1112次阅读
    传输距离达5.1km的高频段LoRa模组,低功耗可达3μA

    Ra-09-DTU入门教程,标准LoRaWAN协议对接国外TTN LoRaWAN开源服务器

    Ra-09-DTU 是由安信可科技开发的一款智能无线数据通讯DTU,采用Ra-09 LoRa 模组,利用 LoRa 无线技术可用于超长距离扩频通信
    的头像 发表于 12-14 09:21 1029次阅读
    Ra-09-DTU入门教程,标准LoRaWAN协议对接国外TTN LoRaWAN开源服务器