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

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

3天内不再提示

如何用MATLAB快速实现软件接收机?

MATLAB 来源:MATLAB 作者:MATLAB 2021-05-23 10:07 次阅读

在新基建 | MATLAB 助力 5G 小基站研发(上篇)中,我们介绍了 MATLAB 在 3GPP 5G 标准学习和校验、无线信号发射和 EVM 测量、波束成形设计等方面助力 5G 小基站研发。在下篇中,我们将继续探讨 MATLAB 其他的硬核功能:

用 MATLAB 快速实现软件接收机

自动代码生成实现快速原型开发

软件质量与安全检查

5G 小基站广阔的发展前景成功地吸引了芯片厂商的关注,纷纷推出各种小基站硬件平台,例如 Intel FlexRAN 平台,NXP Layerscape 集成小基站,高通 vRAN 平台芯片组,Marvell OCTEON 系列处理器,Xilinx Zynq UltraScale+ RFSoC 等。这些硬件平台多种多样,跨越了 ASICFPGAARM、X86 等各种技术。如何将算法部署到不同的芯片硬件平台,以实现多样化的、有竞争力的产品?你可以使用 MATLAB 基于模型设计的工作流程,在高层级模型上进行设计变更、优化、测试、验证,然后自动生成跨平台的 C/C++ 或 HDL 代码和测试平台,从而加速 5G 算法部署到多样化硬件的过程。利用基于模型的设计,能够在模型层面试验不同的架构和算法,反复调整参数,预测硬件性能,并快速在 SDR、FPGA 或 SoC 硬件上自动建立原型。

(一) 用 MATLAB 快速实现软件收发信机1.1 黄金参考模型5G 工具箱提供了很多黄金参考模型,帮助你快速实现5G软件收发信机模型。案例和函数的代码是白盒的,很容易在此基础上进行修改、调试、发现和解决问题、改进性能。例子 NR PUSCH Throughput 展示了如何测量 5G 物理上行共享信道(PUSCH)吞吐量。该示例可选择配置采用 3GPP 定义的集群延迟线(CDL)或抽头延迟线(TDL)信道,也可以选择配置执行理想的或实际的同步和信道估计。为实现理想的同步和信道估计,可从信道模型中重构信道脉冲响应,用于同步接收和信道估计。选择实际同步和信道估计时,则利用 DM-RS 信号同步和解调。为了减少总仿真时间,可以使用 Parallel Computing Toolbox 并行扫描不同的 SNR 条件下的吞吐量。

例子 NR Cell Search and MIB and SIB1 Recovery (https://ww2.mathworks.cn/help/5g/ug/nr-cell-search-and-mib-and-sib1-recovery.html) 演示了如何使用 5G Toolbox 提供的函数来同步、解调和解码真实的 gNodeB 信号。该程序可用于模拟用户终端下行接收,对主信息块(MIB)和第一系统信息块(SIB1)进行解码。算法实现框图如下:

cf7172a2-b96c-11eb-bf61-12bb97331649.png

你可以将图中任何模块替换为自己的算法,此时该示例模型将变成完美的单元模块算法的测试平台,而被替换的模块则变身为性能基线模型。1.2 定点化建模工具通信算法优化收敛后,由于其计算密集的特性,一般都需要转化为定点算法,以节省硬件资源开销,最终降低产品成本,提高产品竞争力。MATLAB 的定点化工具箱 Fixed-Point Designer 提供丰富的数据类型和软件工具,可以事先在模型中测试和调试溢出及精度损失等量化效应,之后再在硬件上实现设计。直观的一项功能如下图,在定点工具的引导下探索不同的定点数据类型及其对系统数值行为所产生的量化影响。你能观察到算法中所有变量的动态范围,并确保转换后的算法在浮点表示和定点表示下具有一致的行为。

cf91f130-b96c-11eb-bf61-12bb97331649.png

图中蓝色部分是某变量在给定的一组测试用例条件下的取值范围(包括整数和小数部分),灰色部分是当前该变量的数据类型能支持的取值范围。如有溢出会红色高亮显示,定点工具会自动记录所有的溢出:

上溢出(overflow):运算结果超出了定点数的整数部分所能表示的范围,会引起数据被截取或翻转 wrap

下溢出(underflow):运算结果小数部分超出了定点数的小数部分能表示的范围,会引起精度损失

识别到溢出后可快速识别、跟踪并调试溢出、精度损失以及范围或精度浪费的问题来源,并将定点设计与理想的浮点行为进行对比。Fixed-Point Designer 还集成了优化工具 fxpopt (https://ww2.mathworks.cn/help/fixedpoint/ref/fxpopt.html),可以自动优化寻找满足给定的数值精度要求和目标硬件约束的数据类型。

% Use the addTolerance method to define tolerances for thedifferences between the original

behavior of the system, and the behavior using the optimized fixed-pointdata types.

tol = 10e-2;

addTolerance(opt, [model ‘/output_signal’], 1, ‘AbsTol’, tol);

result = fxpopt(model, sud, opt);

Starting parallel pool (parpool) using the ‘local’ profile 。。.

Connected to the parallel pool (number of workers: 4)。

+ Preprocessing

+ Modeling the optimizationproblem

- Constructing decisionvariables

+ Running the optimizationsolver

Analyzing and transferring files to the workers 。。.done.

- Evaluating new solution:cost 180, does not meet the tolerances.

- Evaluating new solution:cost 198, does not meet the tolerances.

- Evaluating new solution:cost 216, does not meet the tolerances.

- Evaluating new solution:cost 234, does not meet the tolerances.

- Evaluating new solution:cost 252, does not meet the tolerances.

- Evaluating new solution:cost 270, does not meet the tolerances.

- Evaluating new solution:cost 288, does not meet the tolerances.

- Evaluating new solution:cost 306, meets the tolerances.

- Evaluating new solution:cost 324, meets the tolerances.

- Evaluating new solution:cost 342, meets the tolerances.

- Evaluating new solution:cost 360, meets the tolerances.

◆ ◆ ◆ ◆

(二) 自动代码生成实现快速原型开发完成定点设计后,可以从定点优化模型生成面向 X86 或 ARM 的 C/C++,或用于 FPGA 和 ASIC 设计的 HDL 代码。示例 5G NR MIB Recovery Using Xilinx RFSoC Device 展示了如何将 5G 物理层算法自动生成 C/C++ 和 HDL 代码并部署在 Xilinx Zynq UltraScale + RFSoC ZCU111 评估板中。在 SoC 硬件上实现之前,可以在系统级模型上调整软硬件划分以及验证 ARM 处理器中软件算法和 FPGA 中的硬件算法。下图展示了 FR1 频段的 SSB 检测器结构,以及与搜索控制器之间传递的参数和数据。SSB 检测器分为两个功能部分:SSB 检测器下变频 DDC 和 SSB 检测搜索和解调。DDC 接收 61.44 Msps 的样本,纠正频率偏移和下采样。频率偏移值由搜索控制器提供,并被用于粗和细的频率偏移补偿算法。SSB 检测搜索和解调接受 7.68 Msps 的样本,实现两种工作方式:搜索和解调。

cfdbc6fc-b96c-11eb-bf61-12bb97331649.png

cff9cb16-b96c-11eb-bf61-12bb97331649.png

在上述算法模型的基础上,创建 SoC 顶层模型(见下图),并将硬件目标设置为 Xilinx Zynq Ultrascale+ RFSoC ZCU111 评估套件。该模型包括 FPGA 模型 soc_5GNRMIBRecovery_fpga(左)和处理器模型 soc_5GNRMIBRecovery_proc(右),它们被实例化为模型引用,分别指向 2 个 Simulink 模型。FPGA 模型包含三个子系统:发送重复,向量插值(连接到 DAC)和 5G 小区搜索接收(连接 ADC)。ARM 模型包含周期运行的搜索控制器算法,协调检测器和解码器硬件核心,以及内存读写控制与 FPGA 交换数据。顶层模型还包括 FPGA 和 ARM 之间的内存通道和内存控制器模型。

d01b7f86-b96c-11eb-bf61-12bb97331649.png

有了这样的 SoC 系统模型,便可以使用生成的测试流量或真实 I/O 数据来仿真内存与内部和外部连接,以及调度和 OS 效果;也可以快速探索不同的系统架构,估计硬件和软件分区的接口复杂度,并评估软件性能和硬件利用率。系统设计优化之后,最终利用 MATLAB 自动代码生成功能直接部署 HDL 和 C/C++ 代码到 SoC 芯片中。

(三) 软件质量与安全检查当前全球对通信基础设施的网络安全和软件质量的关注达到了前所未有的高度。除了 3GPP 对架构安全、认证和密钥管理、业务安全等标准的研究和制定外,通信设备厂商在开发产品过程中的软件质量和安全防护也是其中关键因素。据统计,高达 90% 的软件安全问题是由编码错误引起的。嵌入式系统使用手写或自动生成的 C 等编程语言代码。

C 语言允许直接访问内存等低级操作,但相关的安全风险也更高。C 语言中的某些代码构造会引入安全漏洞,恶意攻击者可以利用这些漏洞并执行代码注入、缓存溢出和弧注入等操作。如果攻击者控制了系统,后果可能是灾难性的。许多编码规范标准,如 CERT C/C++,针对不安全编码和可能导致可利用漏洞的未定义行为,提供了规则和建议。MATLAB 持续升级代码分析工具 Polyspace:可自动检查软件代码是否符合网络安全编码标准 CERT C/C++、ISO 17961 和 MISRA C:2012 Amendment 1;采用形式化方法证明在所有可能的控制流和数据流下都没有关键运行错误;以及包括编码规范、安全漏洞、代码指标和数百条其他软件缺陷的检查。

d039577c-b96c-11eb-bf61-12bb97331649.png

利用 Polyspace 检查运行在 ARM 等处理器中的 5G 算法和协议栈程序,可以提高5G小基站产品的软件质量和安全等级,保障5G通信系统的安全运行。

原文标题:新基建 | MATLAB 助力 5G 小基站研发(下篇)

文章出处:【微信公众号:MATLAB】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    185

    文章

    2976

    浏览量

    230559
  • soc
    soc
    +关注

    关注

    38

    文章

    4170

    浏览量

    218369
  • 5G
    5G
    +关注

    关注

    1354

    文章

    48464

    浏览量

    564477

原文标题:新基建 | MATLAB 助力 5G 小基站研发(下篇)

文章出处:【微信号:MATLAB,微信公众号:MATLAB】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    射频知识基础:三种接收机的介绍

    关于接收机结构我们从最传统的超外差结构开始介绍。超外差结构能提供非常好的性能,但这种结构需要大量分离元件,像滤波器等。这种结构无法单芯片集成实现,因此出现了零中频,低中频接收机结构。超外差接收
    的头像 发表于 12-31 16:40 137次阅读
    射频知识基础:三种<b class='flag-5'>接收机</b>的介绍

    测试接收机的技术原理和应用场景

    和应用领域的不断拓展,测试接收机也在不断发展和完善。未来,测试接收机将朝着更高精度、更高灵敏度、更高速度的方向发展,以满足复杂信号测试与分析的需求。同时,随着智能化和自动化的不断发展,测试接收机
    发表于 12-03 14:23

    调频接收机采用AGC电路的作用是什么

    调频(FM)接收机中的自动增益控制(AGC)电路是一种重要的电子组件,它的作用是自动调整接收机的增益,以保持输出信号的幅度在一定的范围内,无论输入信号的强弱如何变化。AGC电路对于提高接收机的性能
    的头像 发表于 09-07 10:19 974次阅读

    雷达接收机的作用和组成

    雷达接收机是雷达系统中至关重要的一个组成部分,它负责接收来自雷达天线的回波信号,并进行放大、变换和处理,以提取目标信息,实现目标的跟踪和定位。以下是对雷达接收机的详细阐述,包括其定义、
    的头像 发表于 08-08 14:05 1469次阅读

    认证级EMI接收机与预兼容接收机的区别

    认证级电磁干扰(EMI)接收机和预兼容接收机在电磁兼容性测试中扮演着不同的角色,其设计和功能也存在着显著的区别。下面将详细介绍它们之间的区别。 认证级EMI接收机 认证级EMI接收机
    的头像 发表于 07-22 10:19 671次阅读
    认证级EMI<b class='flag-5'>接收机</b>与预兼容<b class='flag-5'>接收机</b>的区别

    接收机的工作原理和主要构成

    在无线通信系统中,接收机是不可或缺的关键设备,其性能直接影响到通信系统的质量和可靠性。随着科技的不断发展,接收机技术也在不断进步,从最初的模拟接收机发展到现在的数字接收机,其功能越来越
    的头像 发表于 05-14 17:28 3509次阅读

    频谱仪和接收机的区别

    在无线通信、电子测试及频谱分析领域,频谱仪和接收机是两种至关重要的设备。它们各自具有独特的功能和特性,以满足不同的应用需求。本文将深入解析频谱仪和接收机的区别,并探讨它们在实际应用中的差异。
    的头像 发表于 05-14 15:49 1637次阅读

    大坝安全监测GNSS接收机:保障水库安全

    大坝安全一直是社会关注的焦点之一。为了及时监测大坝的变形和位移情况,以预防可能发生的危险事故,GNSS接收机成为了不可或缺的仪器之一。本文将详细介绍GNSS接收机在大坝安全监测中的应用及其重要性。一
    的头像 发表于 04-17 15:29 461次阅读
    大坝安全监测GNSS<b class='flag-5'>接收机</b>:保障水库安全

    超外差接收机工作的原理是什么 超外差接收机的优点

    超外差接收机,作为无线通信领域的重要组成部分,以其独特的原理和显著的优点,在通信领域发挥着不可替代的作用。
    的头像 发表于 04-08 18:09 6324次阅读

    无线接收机接收机灵敏度介绍

    无线接收机的灵敏度定义为能够实现系统要求错误率所需要的最小信噪比的最弱射频信号功率。这里的错误率包括误码率或者误帧率。
    发表于 03-22 09:30 6952次阅读
    无线<b class='flag-5'>接收机</b>的<b class='flag-5'>接收机</b>灵敏度介绍

    接收机的三大故障分析

    接收机在移动通信系统中扮演着关键角色。例如,手机接收机可以接收来自基站的信号,解调和放大信号后,将其转换为可听的语音或数据。类似地,在无线通信系统的基站中,接收机用于
    发表于 02-05 11:07 814次阅读

    什么是北斗接收机?你了解北斗接收机吗?

    今天跟大家聊聊北斗接收机,首先北斗接收机是指用于接受北斗导航信号并解算位置、速度、时间等信息的设备。北斗接收机的使用范围非常广泛,可用于车载、船载、机载等多种交通工具,也可用于测绘、农业、气象、地震
    的头像 发表于 01-16 10:51 1035次阅读
    什么是北斗<b class='flag-5'>接收机</b>?你了解北斗<b class='flag-5'>接收机</b>吗?

    北斗接收机的功能与应用

    、导航和安全,那么这时候北斗接收机便是一个非常实用的装备。它小巧、便携、高灵敏度和支持多种功能等优点,目前广泛受户外爱好者喜爱和使用。 北斗接收机 首先,它可以实现位置定位功能,通过连接卫星信号,可以
    的头像 发表于 01-16 10:28 770次阅读
    北斗<b class='flag-5'>接收机</b>的功能与应用

    emi接收机的工作原理

    EMI接收机可以在广泛的频率范围内操作,包括常见的无线通信频段、广播频段、工业、科学和医疗(ISM)频段等。不同型号的EMI接收机可能有不同的频率范围和分辨率。
    的头像 发表于 01-10 11:18 1937次阅读

    接收机是干什么用的 接收机类型有哪些种类

    接收机的主要作用是接收无线信号,并将其转换为可用的信号形式,使用户能够进行语音通信、数据传输、信息接收、导航定位等各种应用。不同类型的接收机适用于不同的应用领域和无线信号类型。
    发表于 01-10 11:11 5058次阅读