主要内容

使用AD9361/AD9364的QPSK接收机

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

指的是指导主机-无线电硬件设置有关配置主机以使用Xilinx®Zynq-Based Radio支持包的详细信息,请参阅文档。金宝app

介绍

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

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

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

AD936x接收机或FMCOMMS5接收机块接收被无线传输削弱的信号,并输出在Simulink中处理的复杂基带信号。金宝app这个例子提供了一个实用的数字接收机的设计样本,可以应付无线信道的损害。接收方包括:

  • 基于fft的粗频补偿

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

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

  • 位填充/跳过

  • 帧同步

  • 相位模糊校正

本示例使用comm.SDRRxAD936x块。

设置

执行本示例前,请确保已完成以下操作:

1.配置主机以使用Xilinx®Zynq-Based Radio的支持包。金宝app看到指导主机-无线电硬件设置寻求帮助。

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

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

运行这个例子

在运行模型之前先启动发射机。当您运行模型时,接收到的消息将被解码并在Diagnostic Viewer中打印出来。要打开诊断查看器,请选择调试- >诊断>诊断观众从菜单栏。如果接收的信号被正确解码,您应该在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

  • 粗频率补偿-估计接收信号的近似频率偏移并校正

  • 细频率补偿—补偿剩余的频率偏移和相位偏移

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

  • 数据解码—对帧边界进行对齐,解决由精细频率补偿子系统引起的相位模糊问题,解调信号,解码文本信息

自动增益控制

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

上升余弦接收滤波器

上升余弦接收滤波器down采样输入信号的因子为2,滚动因子为0.5。它为传输波形提供匹配滤波。

粗频率补偿

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

细频率补偿

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

一个最大似然相位误差检测器的第7.2.2章所述。1,产生相位误差。一个可调比例积分循环过滤的附录C.2所述1过滤错误信号,然后将其输入DDS.的环路带宽(由抽样率标准化)和环阻尼因子可调的循环过滤.默认归一化环路带宽设置为0.06,默认阻尼系数设置为2.5(超过阻尼),因此锁相环在引入最小相位噪声的同时快速锁定到目标相位。

时间恢复

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

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

定时恢复循环通常每帧产生100个QPSK符号,每两个输入样本一个输出符号。它还输出一个运行在输入采样率的定时频闪灯。在一般情况下,频闪器的值只是一串交替的1和0。然而,这只发生在Tx和Rx之间的相对延迟包含一个符号周期的小数部分,而延迟的整数部分(符号)保持不变的情况下。如果相对延迟的整数部分发生变化,则频闪值可以有两个连续的零或两个连续的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结果进行平均。更大的频谱平均值数目提高了粗频率估计的鲁棒性,但也增加了计算量。而且,只有当偏移量满足以下不等式时,四次运算才能正确估计偏移量:

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

$4* R_{sym}/2$,或

$ R_{sym}/4$ . $ R_{sym}/4$ . $ R_{sym}/4$

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

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

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

选择实现

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

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

故障诊断的例子

如果您未能成功接收任何“Hello world”消息,请尝试以下故障排除步骤:

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

  • 解码接收信号的能力取决于接收信号的强度。如果接收系统不能正确解码信息,你可以通过改变增益来改变应用到接收信号的增益获得参数。

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

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

帮助文件示例列表

这个例子使用了以下的帮助文件:

参考文献

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