主要内容

使用AD9361/AD9364的QPSK接收机

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

参考引导主机无线电硬件设置有关配置主计算机的详细信息,请使用基于Xilinx®Zynq的无线电的支持包。万博1manbetx

介绍

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

  • 使用基于Xilinx®Zynq的无线电支持包在Simulink中实现了基于原型的基于QPS万博1manbetxK的接收器。万博1manbetx

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

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

  • 基于fft的粗频补偿

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

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

  • 位填充/跳过

  • 帧同步

  • 相位模糊校正

本示例使用comm.SDRRxAD936x块。

设置

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

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

2.确保合适的信号可用于接收。此示例旨在与以下任何可能的信号源一起使用:

3.确保该型号为您的硬件使用了正确的模块。默认情况下,该型号使用AD936x接收器模块。如果您使用的是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 /上采样因子

  • 上升余弦接收滤波器-使用0.5的滚动因子,向下采样输入信号2

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

  • 精细频率补偿- 补偿剩余频率偏移和相位偏移量

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

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

自动增益控制

相位误差检测器增益K_p美元相位和定时误差检测器的值与接收信号的幅值和平均符号能量成正比。为了确保最佳环路设计,载波恢复和定时恢复环路输入处的信号幅度必须是稳定的。AGC将输出功率设置为1 /上采样因子(0.25),使得相位和定时误差检测器的等效增益随时间保持不变。AGC被放置在上升余弦接收滤波器因此,可以使用四个过采样因子测量信号幅度,从而提高估计的准确性。这个自动增益控制子系统在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美元.首先,子系统将输入信号提升到四的幂,以获得$e^{(j(4\Delta-ft+4\Delta-phi))}$,这不是QPSK调制的函数。然后,它对调制无关信号执行FFT,以估计频率偏移的四倍的音调。将估计分为四个后,相位/频率偏移标准库块校正频率偏移。在粗频补偿后,通常还会有残留的频偏,导致星座转动缓慢。的精细频率补偿子系统对这个剩余频率进行补偿。

精细频率补偿

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

最大可能性相位误差检测器(PED)的第7.2.2章中所述[1],生成相位误差。可调比例积分循环过滤的附录C.2中所述[1过滤错误信号,然后将其输入直接数字合成这个环路带宽(由抽样率标准化)和回路阻尼系数是可调的循环过滤。默认标准化环路带宽设置为0.06,默认阻尼系数设置为2.5(过阻尼),以便PLL在引入最小相位噪声的同时快速锁定到预期相位。

时间恢复

时间恢复子系统实现了PLL,在[1],纠正接收信号中的定时误差。输入的输入时间恢复子系统由两个人过采购。平均而言时间恢复子系统为每两个输入样本生成一个输出样本以区域控制子系统实现递减模数-1计数器,在[1的控制信号修改后的缓冲,它选择内插滤波器. 此控制信号还启用定时误差检测器(TED),使其计算正确的定时瞬间处的定时错误。的以区域控制子系统更新内插滤波器,在最佳采样时刻生成插值。的内插滤波器是一个法罗抛物面滤波器\α= 0.5美元如[的第8.4.2章所述1].过滤器使用$ \ Alpha $,使所有的滤波器系数变成只有1,-1/2和3/2,这大大简化了插值器的结构。在插值的基础上,时间误差由过零产生定时误差检测器的第8.4.1章所述。1],通过可调谐比例加积分过滤循环过滤的附录C.2中所述[1,并被喂进以区域控制用于定时差异更新。的环路带宽(通过采样率标准化)和回路阻尼系数是可调的循环过滤这个default normalized loop bandwidth is set to 0.01 and the default damping factor is set to unity (critical damping) so that the PLL quickly locks to the correct timing while introducing little phase noise.

当定时错误(延迟)达到符号边界时,输出中将有一个额外或丢失的插值。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度,这可能导致相位歧义。有关相位歧义及其分辨率的详细信息,请参阅[中[中的第7.2.2和7.7)1].的相偏移估计子系统确定此相移相位模糊校正与解调子系统根据估计的相位偏移量旋转输入信号并解调校正后的数据。有效负载位被解密,前105个有效负载位被提取并存储在工作空间变量中。所有存储的位被转换成字符并在MATLAB命令窗口中打印出来。

尝试的东西

该示例允许您使用多个系统功能进行实验,以检查它们对误码率性能的影响模型参数块。

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

  • 由于输入噪声和零填充的存在,FFT输出的估计结果可能会有一些异常值。为了减轻这些错误估计的影响,您可以调整频谱平均数对多帧FFT结果进行平均。更大的频谱平均数提高粗略频率估计的稳健性,但这也引发了更大的计算负担。此外,仅当偏移量满足以下不等式时,第四电源操作才能正确估计偏移:

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

$ 4 * \ delta f _ {\ max} \ le 2 * r_ {sym} / 2 $,或

$\Delta f{\max}\le R{sym}/4$

  • 基于FFT的信号处理粗频补偿子系统设计用于具有静态频率偏移的场景。实际上,频率偏移可能随时间而变化。该模型仍然可以跟踪随时间变化的频率漂移粗频补偿子系统。然而,粗略频率估计取决于离散值,由子系统的频率分辨率分开。您可能会观察频率估计之间的跳跃。您还可以使用过滤器实现粗略频率补偿以获得更平滑的估计输出。

  • 您可以调整锁相环的设计参数,如环路带宽阻尼因子同时精细频率补偿时间恢复观察其对拉入范围、收敛时间和估计精度的影响。有一个很大的环路带宽阻尼因子,PLL可以在更大的频率偏移范围内进行采集环路带宽允许更多的噪声,这会导致相位估计中的较大均方误差。欠阻尼系统(阻尼系数小于1)的稳定时间较快,但会出现超调和振荡;过阻尼系统(阻尼系数大于1)的稳定时间较慢,但不会出现振荡[1].有关这些PLL参数的设计更详细信息,您可以参考[1].

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

选择实现

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

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

排除示例故障

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

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

  • 解码接收信号的能力取决于接收信号的强度。如果接收系统未正确解码消息,您可以通过更改获得SDR接收器块中的参数。

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

如果您仍未收到任何消息,请参阅常见问题和修复

示例辅助文件列表

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

工具书类

1.迈克尔米,“数字通信 - 一个离散时间方法”,2008年4月Prentice Hall。