主要内容

QPSK接收机使用模拟设备AD9361/AD9364

本示例展示了如何使用Xilinx®Zynq-Based无线电支持包和通信工具箱™软件在Simulink®中实现QPSK金宝app接收机。金宝app该接收机解决了无线通信中的实际问题,如载波频率和相位偏移、定时偏移和帧同步。这个模型接收信号的发送QPSK变送器使用模拟设备AD9361/AD9364模型。接收器解调接收到的符号,并输出一个简单的消息到MATLAB®命令行。

请参阅引导主机无线电硬件设置文档,详细介绍如何配置主机以使用Xilinx®zynq无线电支持包。金宝app

简介

本例使用SDR硬件通过空中接收QPSK信号。它有两个主要目标:

  • 使用基于Xilinx®zynq的无线电支持包在Simulink中实现基于qpsk的接收机原金宝app型。金宝app

  • 说明使用关键的通信工具箱™系统对象进行QPSK系统设计。

AD936x接收器或FMCOMMS5接收器块接收空中传输受损的信号,并输出在Simulink中处理的复杂基带信号。金宝app本例提供了一种实用数字接收机的示例设计,该接收机可以处理无线信道损伤。接收方包括:

  • 基于fft的粗频率补偿

  • 基于锁相环的精细频率补偿

  • 定时恢复与固定速率重采样

  • 位填充/跳过

  • 帧同步

  • 相位模糊校正

本例使用comm.SDRRxAD936x块。

设置

执行样例前,请确保已执行以下步骤。

1.将您的主机配置为使用基于Xilinx®zynq的无线电支持包。金宝app看到引导主机无线电硬件设置寻求帮助。

2.确保有合适的信号可供接收。本例设计用于与以下任何可能的信号源一起工作:

3.确保模型为您的硬件使用了正确的块。默认情况下,该模型使用AD936x Receiver块。如果您使用的是FMCOMMS5射频卡,请将AD936x接收器模块替换为FMCOMMS5接收器模块。

运行示例

在运行模型之前启动发射器。当您运行模型时,接收到的消息将被解码并打印在Diagnostic Viewer中。要打开诊断查看器,请选择调试- >诊断>诊断观众从菜单栏。如果接收到的信号被正确解码,您应该在诊断查看器中看到类似于下面所示的'Hello world 0##'消息。

Hello world 031 Hello world 032 Hello world 033 Hello world 034 Hello world 035 Hello world 036 Hello world 037 Hello world 038 Hello world 039 Hello world 040

方法配置各种接收器算法参数模型参数块。

接收机设计:系统架构

模型的顶层结构如下图所示。

的详细结构QPSK接收机子系统如下图所示。

这些组件将在以下部分中进一步描述:

  • 自动增益控制-应用可变增益,以尽量保持信号振幅为1 / Upsampling因素

  • 凸起余弦接收滤波器-使用0.5的滚降因子,并将输入信号降采样为2

  • 粗频率补偿-估计接收信号的大致频率偏移并进行校正

  • 精细频率补偿—补偿剩余频率偏置和相位偏置

  • 时间恢复-根据恢复的定时频闪对输入信号重新采样,以便在最佳采样时刻做出符号决策

  • 数据解码-对齐帧边界,解决细频补偿子系统造成的相位模糊,解调信号,解码文本消息

自动增益控制AGC

相位误差检波器增益K_p美元相位和定时误差探测器的大小与接收到的信号幅度和平均符号能量成正比。为了保证最佳的环路设计,载波恢复环路和定时恢复环路的输入信号幅度必须是稳定的。AGC将输出功率设置为1 / Upsampling因素(0.25),使相位和定时误差检测器的等效增益随时间保持不变。AGC放在凸起余弦接收滤波器这样可以在过采样因子为4的情况下测量信号幅值,从而提高了估计的精度。的自动增益控制子系统在每个10个QPSK符号块之后更新其补偿增益,以平滑信号幅度的变化。可参阅[第7.2.2章及8.4.1章]1],以了解如何设计鉴相器增益K_p美元

凸起余弦接收滤波器

凸起余弦接收滤波器将输入信号降采样为2倍,滚脱系数为0.5。它为传输的波形提供匹配滤波。

粗频率补偿

粗频率补偿子系统对输入信号进行频率偏移的粗略估计。下面的图表显示了查找频率偏移子系统粗频率补偿子系统。该子系统使用具有指定相位指数的基带QPSK信号n美元,频率偏移$ \δf $和相位偏移φδ\ \ $美元表示为$e^{(j(n\pi/2+\ ft+\Delta \))}$$ n = 0, 1, 2, 3美元.首先,子系统将输入信号提高到4的幂来获得$e^{(j(4\ ft+4\Delta \phi))}$,这不是QPSK调制的函数。然后它对调制无关信号执行FFT,以估计四倍频偏的音调。在将估算值除以4之后阶段/频率偏移库块校正频率偏移。即使粗频率补偿后,通常也会有剩余的频率偏移,这将导致星座旋转缓慢。的精细频率补偿子系统补偿了这个剩余频率。

精细频率补偿

精细频率补偿子系统实现了锁相环(PLL),在[1],跟踪输入信号中的剩余频率偏置和相位偏置,如下图所示。锁相环使用a直接数字合成器产生补偿相位,以抵消剩余频率和相位的偏移。相位偏移估计从DDS积分的相位误差是输出的吗循环过滤

极大似然相位误差检测器(PED),载于[1],产生相位错误。一个可调的比例加积分循环过滤,载于[1]对错误信号进行过滤,然后将其送入DDS.的环路带宽(由抽样率归一化)和回路阻尼系数是可调的循环过滤.默认归一化环路带宽设置为0.06,默认阻尼因子设置为2.5(过阻尼),以便锁相环快速锁定到预期相位,同时引入最小的相位噪声。

时间恢复

时间恢复子系统实现锁相环,描述在[的第8章]1],以修正接收信号中的计时错误。的输入时间恢复子系统过采样2。平均而言时间恢复子系统为每两个输入样本生成一个输出样本。的以区域控制子系统实现了一个减模1计数器,描述在[1],以产生控制信号修改后的缓冲的插值内插滤波器.此控制信号还启用定时误差检测器(TED),使其在正确的计时时刻计算计时误差。的以区域控制子系统更新的时间差内插滤波器,在最佳采样时刻生成插值。的内插滤波器是一个法罗抛物线滤波器\α= 0.5美元如[的第8.4.2章所述1].过滤器使用\α美元使所有的滤波器系数变成只有1,-1/2和3/2,这大大简化了插值器的结构。在插值的基础上,通过零点交叉产生定时误差定时误差检测器,载于[1],由可调比例加积分滤波循环过滤,载于[1],并送入以区域控制用于时间差更新。的环路带宽(由抽样率归一化)和回路阻尼系数是可调的循环过滤.默认归一化环路带宽设置为0.01,默认阻尼因子设置为单位(临界阻尼),以便锁相环快速锁定到正确的时间,同时引入很少的相位噪声。

当计时错误(延迟)达到符号边界时,输出中将有一个额外的或缺失的插补。TED实现了位填充/跳过来处理额外的/缺失的插补。你可参阅[1],以了解钻头填充/跳过的细节。

定时恢复循环通常每帧生成100个QPSK符号,每两个输入样本对应一个输出符号。它还输出一个以输入采样率运行的定时频闪器。在正常情况下,频闪值只是一个交替的1和0序列。然而,只有当Tx和Rx之间的相对延迟包含一个符号周期的小数部分,并且延迟的整数部分(以符号为单位)保持不变时,才会发生这种情况。如果相对延迟的整数部分发生变化,则频闪值可以有两个连续的0或两个连续的1。在这种情况下,定时恢复循环每帧生成99或101个QPSK输出符号。但是,下游处理必须使用100个符号的帧大小,这是由修改后的缓冲子系统。

修改后的缓冲子系统使用频闪仪用正确采样的QPSK符号填充延迟线。当每个QPSK符号被添加到延迟线时,计数器会增加延迟线中的符号数量。在每个采样瞬间,延迟线输出一个大小为100的帧到数据解码子系统。然而,数据解码子系统只在它的使能信号变大时才根据它接收到的数据运行。当计数器值达到100且频闪值很高时,即每次恰好有100个有效QPSK符号出现在修改后的缓冲

数据解码

数据解码子系统负责帧同步、相位模糊消解、解调和文本解码。子系统使用qpsk调制的巴克码,由位代子系统,与接收到的QPSK符号相关联,实现帧同步。的计算延迟子系统将输入的数据与QPSK调制的巴克码进行关联,并利用峰值振幅的指数求时延。

载波相位锁相环精细频率补偿子系统可能锁定在未调制载波上,其相移为0、90、180或270度,这可能导致相位模糊。有关相位模糊及其解决方法的详情,请参阅[1].的相位偏移估计器子系统决定这个相移。的相位模糊校正与解调子系统根据估计的相位偏移量旋转输入信号,并解调校正后的数据。有效载荷位被解编,前105个有效载荷位被提取并存储在一个工作空间变量中。当模拟运行时,所有存储的位都转换为字符并在MATLAB命令窗口中打印出来。

值得尝试的事情

该示例允许您试验多种系统功能,以检查它们对误码率性能的影响。方法更改接收器算法行为模型参数块。

  • 您可以调整FFT的大小而且谱平均数粗频率补偿子系统来观察估计精度和对高噪声水平的容差的影响。估计的分辨率是两个相邻FFT点之间的频率间隔。的值时,需要在速度和准确性之间进行权衡FFT的大小.为了得到更准确的频率估计,通常需要更大的FFT的大小.然而,一个更大的FFT的大小也会导致更高的计算负担。如果分辨率的粗频率补偿子系统低,则精细频率补偿子系统必须有更宽的频率跟踪范围。

  • 由于输入噪声和零填充的存在,FFT输出在估计结果中可能存在一些异常值。为了减轻这些坏估计的影响,您可以调整谱平均数来平均FFT结果跨多帧。更大的谱平均数提高了粗频率估计的鲁棒性,但也增加了计算量。同样,只有当偏移量满足以下不等式时,四次幂运算才能正确估计偏移量:

$4*\Delta f_{\max} \le f_s/2$,或

$4*\Delta f_{\max} \le 2*R_{sym}/2$,或

$\Delta f_{\max} \le R_{sym}/4$

  • 的FFT-based粗频率补偿分系统是针对有静态频偏的场景设计的。在实践中,频率偏移可能随时间而变化。该模型仍然可以跟踪随时间变化的频率漂移粗频率补偿子系统。然而,粗频率估计采用离散值,由分系统的频率分辨率分开。您可能会观察到频率估计之间的跳跃。您还可以使用滤波器实现粗频率补偿,以获得更平滑的估计输出。

  • 您可以调整锁相环的设计参数,如环路带宽而且阻尼因子在这两个精细频率补偿而且时间恢复子系统,看看他们的影响拉入范围,收敛时间和估计精度。有一个大的环路带宽而且阻尼因子,锁相环可以获得更大的频偏范围。然而,大量的环路带宽允许更多的噪声,这导致较大的均方误差在相位估计。“欠阻尼系统(阻尼因子小于1)有一个快速的沉降时间,但表现出超调和振荡;过阻尼系统(阻尼因子大于1)有一个缓慢的沉降时间,但没有振荡。”[1].有关这些锁相环参数的详细设计,请参阅[1].

  • 时间恢复子系统依赖于不随时间旋转的稳定星座。这需要精确的频偏补偿。在该模型中,如果实际频偏超过了当前粗补偿分系统所能跟踪的最大频偏,可以通过增大过采样因子来增大其跟踪范围。另一种调整跟踪范围的方法是实现一个旋转不变的定时误差检测器(例如,[的第8.4.1章描述的Gardner定时误差检测器)。1),然后修正旋转。

选择实现

本例描述了基于Zynq和Analog Devices 金宝appAD9361/AD9364无线电平台的QPSK接收机的Simulink实现。

您还可以探索一个非硬件QPSK发射机和接收机示例,该示例使用AWGN信道模拟一般无线通信系统,并使用Simulink中的QPSK发射机和接收机金宝app

故障处理

如果您无法成功接收任何'Hello world'消息,请尝试以下故障排除步骤:

  • 如果示例运行速度比实时慢,您可以尝试使用突发模态

  • 解码接收信号的能力取决于接收信号的强度。如果消息未被接收系统正确解码,则可以通过更改属性来改变应用于接收信号的增益获得参数。

  • 发射和接收无线电之间较大的相对频率偏移会阻止接收器正确解码消息。如果发生这种情况,可以通过将一个已知频率的音调从发射机发送到接收机来确定偏移量,然后测量发射频率和接收频率之间的偏移量。这个值可以用来补偿接收块的中心频率。看到使用AD9361/AD9364模拟设备进行频偏校准的例子。

如果仍然没有收到任何消息,请参见常见问题及修复

Helper文件示例列表

本例使用了以下helper文件:

参考文献

1.Michael Rice,“数字通信——离散时间方法”,Prentice Hall, 2008年4月。