主要内容

高密度脂蛋白正交相移编码发射机和接收机

这个例子展示了如何实现一个正交相移编码发射机和接收机仿真软件®HDL代码生成和优化的硬件实现。万博1manbetx

这个示例中所示的模型基于正交调节数据相移键控(QPSK)。这个例子的目的是模拟一个高密度脂蛋白QPSK通信系统,可以实时系统的传输和恢复信息。接收机实现符号定时同步和载波频率和相位同步,在单载波通信系统是必不可少的。

系统规范

本节解释的规范在本例中使用的发射机和接收机。帧格式是基于包的。每个包都有一个序言长度26位。每个位的13位巴克序列来生成一个序言序列重复两次,这样相同的一点是在调制相位和QPSK调制器的交期。序言序列是紧随其后的是2240位的有效载荷数据。发射机运行使用根提出了余弦(RRC)脉冲整形滤波器碾轧因子为0.5,导致带宽的1.5倍每个符号的符号率和四个样本(符号率的四倍的采样率)。RRC脉冲响应时间跨度超过四个相邻符号。比特率是符号率的两倍。有效的平均比特率是比特率乘以帧效率。帧效率(2240 / (2240 + 26))= 0.9885。

默认符号率设置为1.92 Mbaud,这会导致带宽的1.5倍1.92 e6,等于2.88 MHz,采样率的4 * 1.92 e6,等于7.68议员,2 * 1.92的比特率e6,等于3.84 Mbps。这个系统支持的有效平均比特率0.9885倍3.84 e6,等于万博1manbetx3.7959 Mbps。这些规范改变符号率的变化。

模型架构

本节解释正交相移编码发射机和接收机的高级体系结构框图。正交相移编码发射机样本输入比特率的符号率的两倍。数据生成器&分成包收集数据,生成序言部分,形成了包。高密度脂蛋白数据加扰器打乱每个数据包的数据位增加一些过渡,避免长时间运行相同的序列。QPSK调制器调节包位生成QPSK符号。RRC发送滤波器upsamples和脉冲形状QPSK符号生成Tx波形的采样率符号率的四倍。QPSK接收机样本输入的速度传播。数字AGC控制执行所需的接收的波形振幅水平。RRC接收滤波器对AGC执行匹配滤波输出。频率和时间同步器执行同步操作,为每个数据包生成QPSK符号。 The QPSK Demodulator demodulates the QPSK symbols to generate packet bits. The HDL Data Descrambler descrambles the packet data bits that stream out of the receiver.

文件结构

一个仿真万博1manbetx软件模型和三个MATLAB®文件构建这个例子。

  • commhdlQPSKTxRx.slx——高层仿真软件模型万博1manbetx

  • commhdlQPSKTxRxParameters.m——为正交相移编码生成参数Tx和QPSK Rx所需的初始化

  • commhdlQPSKTxRxModelInit.m——初始化模型commhdlQPSKTxRx.slx

  • generateHelloworldMsgBits.m——生成“Hello worldxxx”的信息碎片。xxx从000年到100年是指值

系统接口

这个图显示了顶层模型的正交相移编码发射机和接收机系统。

发射机的输入

  • dataIn输入数据,指定为一个布尔标量。

  • validIn——控制信号验证dataIn,指定为一个布尔标量。

发射机输出

  • dataOut——输出波形传播,作为16位返回复杂数据的采样率四倍符号率。

  • validOut——控制信号验证dataOut,作为一个布尔返回标量。

  • txDiagBus——与诊断输出状态信号,作为一个总线信号返回。

  • dataReady——信号为输入信号,表明准备作为一个布尔返回标量。

器使dataReady信号表明它已准备好接受输入比特。器构造一个包后,接受所有数据包的数据位对应。如果所有的数据位对应包没有收到,发射机生成虚拟包。假包,巴克序列不用于序言和内部随机生成数据位。只要输入比特率小于或等于有效比特率dataReady输入信号仍然很高,没有得到任何压力dataReady

接收机的输入

  • dataIn——输入数据,指定为一个16位的复杂数据采样率与发射机的输出。

  • validIn——控制信号验证dataIn,指定为一个布尔标量。

接收机输出

  • dataOut——解码输出数据位,作为一个布尔返回标量。

  • ctrlOut——总线信号开始、结束和有效信号,作为一个总线信号返回。

  • rxDiagBus——与诊断输出状态信号,作为一个总线信号返回。

发射机的结构

这图显示了顶级的QPSK Tx子系统模型。

有些包化

有些包化子系统由一个数据包控制器MATLAB函数,比特存储和多路复用器子系统。序言序列存储在一个查找表(附近地区)在序言部分存储子系统。数据位流的比特存储子系统和存储在一个内部RAM数据比特存储子系统。包控制器MATLAB函数读取序言序列紧随其后的数据位为每个数据包存储在RAM中。多路复用器子系统简化了序言部分和数据位。

数据存储子系统由一个RAM可以存储两个包。这个内存提供了操作的灵活性发射机和一个离散的有效输入。包控制器MATLAB函数从内存中读取数据只有在RAM中至少包含一个包的数据位。读和写的逻辑设计,内存不溢出。当RAM不包含至少一个包的数据位,发射机生成一个虚拟包。中不使用假包这序言的巴克序列检测没有发现它。

高密度脂蛋白数据加扰器

HDL数据加扰器子系统基于数据位在每个数据包通过使用生成的控制信号发生器子系统。

QPSK调制器

QPSK调制器子系统使用QPSK调制器基带块调节序言和数据位生成QPSK符号。它使用一个灰色映射这个表中描述。

0.70711比特映射____ _________________ 00 01 -0.70711 + 0.70711 + 0.70711我11我10 0.70711 - -0.70711 -0.70711 - -0.70711

RRC传输过滤器

RRC发送滤波器子系统upsamples输入的四个因素之一和使用离散冷杉滤波器(DSP HDL工具箱)块,RRC脉冲形状发射机脉冲响应波形。QPSK接收机接收滤波器的形式一个匹配滤波器传输过滤器。

接收机结构

这图显示了顶级的QPSK Rx子系统模型。

自动增益控制

作为输入信号幅度影响符号和载波同步器锁相环(PLL)的性能,自动增益控制子系统被放置在他们前面。平方级的输出进行比较与AGC引用生成一个振幅误差。这个错误与环路增益的乘积和通过一个积分器来计算所需的增益。导致增益与AGC的乘积输入生成AGC输出。有关更多信息,请参见章节9.5的1]。

RRC接收滤波器

RRC接收滤波器是一个离散冷杉滤波器(DSP HDL工具箱)块匹配滤波器系数的滤波器用于发射机脉冲整形。RRC匹配滤波生成一个RC脉冲形状波形,具有零ISI特点最多眼眼图的波形。同时,匹配滤波过程中最大化信号噪声功率比(信噪比)的滤波器的输出。

频率和时间同步器

频率和时间同步器子系统执行符号同步,粗频率补偿,载波同步和序言检测数据包的同步。它还估计,解决相位模糊及时矫正的载波同步。

是一个PLL-based实现符号同步器子系统。它生成样本在最佳时间即时(最大的眼睛打开即时)[8.5章中所描述的1]。子系统为每四输入样本生成一个输出示例。插值滤波器子系统实现了分段抛物插值器与硬件资源有效的法罗8.4.2章中所描述的结构,和法罗系数表8.4.1(自由参数列表\α美元(系数为0.5)的1]。这个过滤器介绍分数延迟输入波形。加德纳TED子系统实现了Gardner定时误差检测器。8.4.1章中描述的定时误差检测器(1]。循环过滤器定时误差和时间误差传递给插值控制MATLAB功能块。这个块实现了鱼雷递减计数器来计算分数延迟基于循环过滤计时误差8.4.3[章中所描述的1在最佳抽样时刻生成interpolants。率处理子系统选择所需interpolant闪光灯所示。此样本对应的最大眼睛打开前眼图符号同步。

粗频率补偿器子系统提高了输入序列的4中提高能力子系统。这消除了QPSK相映射的依赖在输入序列,但降低了估计范围的4倍。这个序列流到粗频率估计子系统。估计得到的粗频率估计子系统是除以4删除4由于提高功率因素,得到规范化粗频率估计。这估计驱动器以区域(DSP HDL工具箱)块生成复指数相结合,与输入序列的乘积为正确的频率偏移量。

粗频率估计子系统不同检测输入序列和提取复杂频率偏移估计的输入。这估计是平均连续2 ^ 15估计在积分器子系统得到最后的复杂的估计。的复杂Magnitude-Angle(DSP HDL工具箱)阻止提取频率提取频率的复杂估计子系统。

频率估计估计归一化频率范围(对符号率)的-0.125到0.125对应一个频率偏移的-240千赫到240千赫范围1.92 Mbaud的符号率。剩余频率偏移的估计精度是如此粗频率偏移校正后的归一化频率范围的-0.0016到0.0016对应一个频率偏移范围3千赫至3千赫的符号率1.92 Mbaud载波同步器锁相环收敛。

载波同步器子系统是二型锁相环正弦相位误差检测器,以45度的操作点。7.2.2章中描述的相位误差检测器和附录C中描述的设计方程(1]。详细分析二型锁相环的零操作点正弦相位探测器第四章中描述的2]。相位检测器的信号函数的实部和虚部转换所有的角度在4象限为第一象限角(0到90度),它创建了一个90180270度的模糊性第二(90 - 180度)、第三(-180到-90度)和第四象限角(-90 - 0度),分别。计算相位误差作为偏差从操作点探测器(45度)的阶段。循环中的比例加积分器过滤器过滤子系统过滤器相位误差。循环过滤集规范化环路带宽(规范化的采样率)和循环阻尼因子。默认的规范化环路带宽设置为0.005,和默认的阻尼因子设置为0.7071。过滤错误给出作为相位增量来源直接数字合成的子系统,它使用以区域(DSP HDL工具箱)块复指数相代。复指数阶段用于正确的输入的频率和相位。详细分析直接数字合成9.2.2章中描述的1]。

序言探测器子系统执行连续的相关性与巴克的输入序列。巴克的相关性作为卷积实现逆转的系数序列离散冷杉滤波器(DSP HDL工具箱)块,和相关的大小输出使用复杂Magnitude-Angle(DSP HDL工具箱)块内的相关器子系统。相关性的大小与阈值相比较。开始寻找最大峰值搜索子系统相关峰值超过阈值每一帧持续时间和记录时间偏移量。时间调整子系统同步数据包根据定时偏移生成时间syncPulse信号,这表明一个数据包同步样本随后的子系统。

相位模糊估计和校正子系统工作基于独特的词阶段消除歧义的方法7.7.1章中描述的1]。该方法使用序言序列作为参考序列。参考序列是共轭和乘以序言序列输入,和残余相位提取相位模糊估计。这个估计是用来纠正模棱两可的星座相反的方向旋转歧义。

包的包控制器子系统生成控制信号边界。

QPSK解调器

QPSK解调器子系统使用QPSK解调器基带块解调数据包同步符号和产生碎片。

高密度脂蛋白数据解码器

高密度脂蛋白数据解码器子系统descrambles解调部分生成用户碎片。这个子系统是一样使用的扰频器发射机。

运行模型

运行commhdlQPSKTxRx。基金模型来模拟。你可以设置自定义数据的输入数据子系统面具和设置通道上配置通道子系统的面具。的QPSKTxRxVerification.m脚本描述一个过程来验证commhdlQPSKTxRx.slx模型。这个验证脚本生成一个脚本内的参考波形,比较参考波形与发射机输出,和比较了传播与用户接收机解码比特位。

验证和结果

运行sim commhdlQPSKTxRx运行模型。

> > sim commhdlQPSKTxRx;

仿真运行验证脚本完成QPSK Tx:最大绝对符号错误:真实:1.4496 e-05想象:1.4496 e-05最大绝对RRC输出错误:真实:7.8708 e-05想象:7.8708 e-05 QPSK的处方:初始帧相比:29错过= 0的数据包数量在30个错误检测到的数据包数量= 0的30位错误的数量= 0 67200

HDL代码生成

管道寄存器(青色所示)添加整个模型以确保发射机和接收机子系统没有很长的关键路径。

检查并生成HDL代码中引用这个例子中,您必须HDL编码器™产品。

生成的HDL代码发射机和接收机子系统,更新模型,使用以下命令:

makehdl (commhdlQPSKTxRx / QPSK Tx)和makehdl (commhdlQPSKTxRx / QPSK Rx)

生成测试台上,使用以下命令:

makehdltb (commhdlQPSKTxRx / QPSK Tx)和makehdltb (commhdlQPSKTxRx / QPSK Rx)

试验台一代时间取决于仿真时间。

生成的HDL代码是合成Xilinx®Zynq®-7000 ZC706评估板。这个职位地点和路线资源利用率这个表所示。操作的最大频率276 MHz的发射机和接收机198 MHz。

资源Tx使用Rx使用售予说片寄存器321 10496片附近地区160 7483 RAMB36 0 10 RAMB18 1 1 DSP48 18 118

进一步的探索

您可以修改信道条件通过调优这个表中列出的变量在通道子系统的面具commhdlQPSKTxRx.slx模型和运行模型。

变量名称描述______________________ _______________________________________________________________________________________ dataBits数据位中指定的发射机Rsym符号率符号每秒fractionalTimingOffset规范化时机相抵消中指定范围> = 0和< 1 timingFrequencyOffset PPM EbN0dB能源/信息中指定的时间频率偏移为单面的噪声功率谱密度中指定数据库中指定首席财务官载波频率偏移赫兹CPO载波相位偏移中指定的度

引用

1。迈克尔大米,数字通信——一个离散时间的方法普伦蒂斯霍尔,2008年4月。

2。弗洛伊德M.Gardner,锁相技术,第三版,约翰威利& Sons, Inc ., 2005年

另请参阅