主要内容

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

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

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

简介

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

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

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

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

  • 基于fft的粗频率补偿

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

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

  • 位填充/跳过

  • 帧同步

  • 相位模糊校正

此示例使用comm.SDRRxAD936x块。

设置

在运行示例之前,请确保已执行以下步骤:

1.配置您的主机以使用Xilinx®Zynq-Based Radio的支持包。金宝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

  • 粗频率补偿—估计接收信号的近似频率偏移量,并进行校正

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

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

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

自动增益控制

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

凸起余弦接收滤波器

凸起余弦接收滤波器对输入信号下采样2倍,滚离因子为0.5。它为传输波形提供匹配滤波。

粗频率补偿

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

精细频率补偿

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

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

时间恢复

时间恢复子系统实现锁相环,在[1],以纠正接收信号中的计时错误。的输入时间恢复子系统过采样2。平均而言时间恢复子系统为每两个输入样本生成一个输出样本。的以区域控制子系统实现减量模块-1计数器,描述在[1,以生成控制信号修改后的缓冲的插值内插滤波器.这个控制信号也使定时误差检测器(TED),以便在正确的计时瞬间计算计时误差。的以区域控制子系统更新的时间差内插滤波器,在最佳采样瞬时生成插值。的内插滤波器是法罗抛物线滤波器\α= 0.5美元的第8.4.2章所述[1].该过滤器使用\α美元,使所有滤波器系数仅变为1,-1/2和3/2,这大大简化了插值器的结构。在插值的基础上,通过过零产生定时误差定时误差检测器的第8.4.1章所述[1,由可调比例+积分过滤循环过滤的附录C.2所述[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].有关这些锁相环参数设计的更多细节,可参阅附录C [1].

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

选择实现

本例描述了在Simulink中使用Zynq和Analo金宝appg Devices AD9361/AD9364无线电平台实现QPSK接收机。

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

故障处理

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

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

  • 解码接收信号的能力取决于接收信号的强度。如果接收系统没有正确地解码消息,则可以通过更改应用于接收信号的增益获得参数在SDR接收器块中。

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

如果仍然收不到消息,请参见常见问题及解决办法

Helper文件示例列表

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

参考文献

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