主要内容

实现对射频接收机自动增益控制

这个例子展示了如何使用一个受保护的射频Blockset™电路包络模型作为参考模型在系统实现基带信号处理、通信算法和自适应体系结构在一个射频网络。这个例子来说明这些概念,设计和实现了一个自动增益控制(AGC)算法的射频直接变频接收机(DCR)在一个上下文类似于无线个域网®——应用探索自顶向下设计的射频接收机

此外,引用这个例子演示了如何使用模型,建模层次结构,模块化的发展和变异,保护模型的使用,加速模拟,和整体快速设计迭代。有关这些概念的更多信息,请参阅模型参考基础

ZigBee-Like系统包含射频DCR和受到强烈的干扰

顶级系统包含以下组件:

  • 基带发射机用于生成ZigBee-like波形幽灵似地代表信号符合IEEE内部®802.15.4标准提供服务

  • 宽带干扰用于生成一个WCDMA-like带内,但out-of-channel杀杀杀幽灵似地干扰信号的缺乏标准的代表

  • 一个射频DCR电路包络模型

  • 通过MATLAB实现AGC算法功能块提供可变增益和可变衰减控制信号到射频DCR

  • 峰值检波器所使用的自动增益控制反馈回路调节的快速响应,降低增益和衰减增加当峰值功率超过预定的阈值

  • 平均功率计使用的自动增益控制反馈回路调节反应迟缓,稳步调整增益和衰减使平均功率和信噪比(信噪比)到目标水平

  • 模拟-数字转换器(ADC)用于转换射频接收机的基带模拟信号输出到基带数字信号被下游的通信和数字信号处理

  • 内部基带接收机,接收和处理802.15.4波形提供服务和计算芯片错误率(雪儿)系统级的性能指标。

首先,指定所需的基带和射频参数模拟。请注意,vgaIIP2vgaIIP3的可调参数为RF DCR保护模型。其余的参数与各种基带组件相关联的顶层系统。

%基带参数比特率= 250年e3;防晒系数= 4;%样本每帧个基点= 4;%位/无线个域网的象征sps = 16;%样本每OQPSK象征cps = 32;%芯片/无线个域网的象征chipRate =比特率* cps /个基点;%射频参数过采样= 4;%不带外信号vgaIIP2 = 50;% IIP2射频接收机的VGAvgaIIP3 = 30;% IIP3射频接收机的VGA

使用保护模型包含电路包络块,首先需要确保必要的射频Blockset库和依赖项加载到MATLAB®。注意,你只需要做这一次每MATLAB会话,但你必须这样做之前,你第一次用一个受保护的模型包含电路包络块在MATLAB会话。执行以下命令预加载电路信封工具库和配置射频Blockset环境。

open_systemsimrfV2util1

打开顶层模型。注意模型包含交互控件,您可以使用它来快速地修改它。

模型=“RFDCRWithAGC”;open_system(模型)

参考模型射频DCR保护

打开包含引用的射频DCR模型子系统。尽管SLXP文件特定于平台的模型的PostLoadFcn回调是设置自动选择正确的版本SLXP文件为您的特定的平台。

subsystemDCR =(模型中,“直接变频接收机/电路包络模型”];blockModelReference = [subsystemDCR,“/模式”];如果ismac | | isunix | | ispc open_system ((模型中,“直接变频接收机/电路包络模型”])其他的disp (“保护模式”在这个例子中不支持金宝app+计算机)结束

注意模型块引用一个受保护的模型,所表示的左下侧盾徽章的角落。还注意到保护模式已经预定义的样本率以及固定输入和输出信号的维度。检查保护模型的接口规范,您可以右键单击盾徽章和选择报告显示或看到保护电路包络模型

这种保护模式设计与框架的信号大小256和8 e-6秒在其输入和输出端口。因此,实现基带系统设计不同的帧大小和帧率,您可能需要使用Unbuffer,缓冲区,和速度过渡块正确射频接口和引用的模型系统。而一个完整的治疗这是超出了这个例子的范围,该模型已经包含了这些块,尽管其中有一些是注释掉了。

使用变体AGC和固定模式实现之间切换

顶层模型还利用仿真软件®变体。金宝app一般来说,您可以使用变体子系统和仿真软件功能变体创建灵活高效地管理和比较各种模型与内置的可变性金宝app设计。在这个示例模型中,您可以快速启用或禁用AGC算法按以下步骤。首先,右键单击变体的左下侧徽章角落变体子系统。然后,设置标签模式积极的选择根据需要。

subsystemAGC =[模型,' /可变增益和可变衰减的];open_system (subsystemAGC)

AGC动态调整增益和衰减及最大化的信噪比。它放大射频网络的输出功率保持在ADC的动态范围,而且变弱的力量RF射频前端的网络以防止饱和和过载。相比之下,没有自动增益控制增益和衰减是固定的,需要手动重新调谐最大化信噪比。在这个例子中,AGC维护变量获得40 dB -10分贝之间。它还维护之间的可变衰减0 dB - 60 dB。可以通过设置使AGC subystem活跃的不同变体。

set_param (subsystemAGC“LabelModeActiveChoice”,“与AGC”)activeVariant = get_param (subsystemAGC,“CompiledActiveChoiceBlock”);open_system (activeVariant)

AGC被禁用时,固定值设置为变量获得40 dB,和固定值为变量设置衰减是0分贝。可以通过设置禁用AGC subystem活跃的不同变体。

set_param (subsystemAGC“LabelModeActiveChoice”,“没有AGC”)activeVariant = get_param (subsystemAGC,“CompiledActiveChoiceBlock”);open_system (activeVariant)

存储块路径优化信号和干扰水平和范围

使用的块存储路径调整发射机的功率和干扰。每一个块dB获得适用于它的输入,由其指定dB参数。在0分贝增益,标称功率的发射机和干预是-100 dBm。你可以交互地调整中的dB收益模型编辑器,也可以以编程方式设置。金宝app

blockGainTransmitter =[模型,' / dB获得发射机'];blockGainInterferer =[模型,“/ dB的增益影响”];

存储块路径范围的模型,这样您就可以打开并检查范围后在这个例子。

blockScope =[模型,/范围的];blockRxSpectrum =[模型,“/ Rx谱”];

模拟模型与AGC灵敏度级别输入和疲软的影响

按照设计的DCR设计射频直接变频接收机,操作所需的最小信号功率接收器是大约-100 dBm。在顶层系统中,基带发射机起价-100 dBm, DCR敏感性水平。影响也设置为-100 dBm,因而疲软的影响。因此,雪儿本质上是由噪声地板上。考虑到低输入功率水平,AGC最大化变量获得40 dB和最大限度地减少可变衰减到0分贝。

set_param (subsystemAGC“LabelModeActiveChoice”,“与AGC”)set_param (blockGainTransmitter“数据库”,' 0 ')set_param (blockGainInterferer“数据库”,' 0 ')

模拟模型和检查性能指标,ADC后的接收信号的频谱和可变增益和衰减的演变由AGC调节。为了方便,模型自动重置雪儿指标2 ms和验算后从2 - 4 ms。这提供了足够的时间AGC-controlled变量获得稳定,所以最后报道雪儿不受启动动力学模型的影响。雪儿是接近8%。

如果ismac | | isunix | | ispc (~) = sim(模型、StopTime =“4 e - 3”);open_system (blockRxSpectrum) open_system (blockScope)其他的disp (“这个例子的仿真模型不支持”金宝app+计算机)结束

没有AGC,可变增益呆在40 dB和可变衰减保持在0分贝。这个匹配的各自的水平变量增益和衰减解决AGC的存在,所以你可以期待类似的系统性能与AGC。尽管这个例子并没有明确表现出来,您可以重新运行这个模拟AGC的残疾也确认。

增加输入功率高于噪声地板和模拟模型与自动增益控制

输入功率增加10 dB,远高于噪声地板上。与此同时,保持干扰功率不变-100 dBm。因此,雪儿是接近于零。AGC仍然最大化变量获得40 dB和最大限度地减少可变衰减到0分贝。整个输入功率仍远不及DCR的饱和水平。雪儿是0.02%左右。

set_param (subsystemAGC“LabelModeActiveChoice”,“与AGC”)set_param (blockGainTransmitter“数据库”,“十”)set_param (blockGainInterferer“数据库”,' 0 ')如果ismac | | isunix | | ispc (~) = sim(模型、StopTime =“4 e - 3”);open_system (blockRxSpectrum) open_system (blockScope)其他的disp (“这个例子的仿真模型不支持”金宝app+计算机)结束

模拟与AGC模型存在强烈的影响

增加50 dB的干扰功率,从而创造坚实的带内阻塞,能够驾驶及饱和。作为回应,AGC减少了变量获得26 dB,低于最大40 dB。雪儿恶化至19%,但降解是减轻由于AGC。

set_param (subsystemAGC“LabelModeActiveChoice”,“与AGC”)set_param (blockGainTransmitter“数据库”,“十”)set_param (blockGainInterferer“数据库”,“50”)如果ismac | | isunix | | ispc (~) = sim(模型、StopTime =“4 e - 3”);open_system (blockRxSpectrum) open_system (blockScope)其他的disp (“这个例子的仿真模型不支持”金宝app+计算机)结束

禁用自动增益控制和比较系统的性能

禁用自动增益控制和重新运行仿真。AGC的缺席,强烈影响驱动及饱和,随着系统没有一个机制来适应和避免这种情况。可变增益保持在40 dB和可变衰减仍在0分贝。因此,雪儿患有严重退化和徘徊在48%附近。

set_param (subsystemAGC“LabelModeActiveChoice”,“没有AGC”)set_param (blockGainTransmitter“数据库”,“十”)set_param (blockGainInterferer“数据库”,“50”)如果ismac | | isunix | | ispc (~) = sim(模型、StopTime =“4 e - 3”);open_system (blockRxSpectrum) open_system (blockScope)其他的disp (“这个例子的仿真模型不支持”金宝app+计算机)结束