主要内容

WWV数字接收机-同步和检测

本例显示了数字接收机的实现,该数字接收机与无线电台WWV广播的时间编码信息同步并将其解码以显示时间信息。本例使用Simulink®、DSP Sys金宝apptem Toolbox™和Stateflow®产品与MATLAB®函数块实现了一个简单的非相干下载188bet金宝搏数字接收机。

WWV是什么?

WWV是位于科罗拉多州柯林斯堡的美国国家标准与技术研究所运营的美国政府广播电台的呼号。WWV传输频率参考标准和时间编码信息。传输的时间代码参考铯时钟,计时精度为10微秒,频率精度为1000亿分之一。时间代码使用100-Hz音频信号传输,使用IRIG-B时间代码格式进行脉宽调制。

你可以在这里找到更多关于WWV的信息WWV电台

同步简介

同步是通信应用程序中的一个常见问题。这个例子向您展示了在Simulink中实现这个问题的解决方案的一种方法。金宝app考虑下面的简单模型:

Buffer Samples块维护一个内部循环缓冲区,用于有效地缓冲输入样本。它使用一种模式,只有当它在En_Out输入端口接收到布尔值“true”时,才计算有效的输出帧。帧同步逻辑子系统输出一个布尔'true'当一个适当的帧,如接收端所期望的,已经被缓冲。同样的布尔信号也作为接收器子系统的触发器,接收器子系统负责处理有效的帧。由于这种安排,缓冲区样本块和接收器子系统的输出部分只在需要时运行。在本例中,这种安排在两个地方使用,一次用于符号同步和解调,然后再次用于帧同步和解码。

案例探究

示例模型由以下部分组成,将在下面的章节中描述:

  • 发射机—生成并传输BCD时间码

  • 随机信道延迟-对传输的信号增加随机延迟

  • 模型—引用dspwwv_receiver模型模型(金宝app模型).该模型包括:

  1. 接收机-解调接收到的时间码,与接收信号同步锁定,检测BCD符号

  2. 译码器—解码BCD符号

  • 显示-显示相应的时间和日期信息

请注意,dspwwv不支持代码生成,但金宝app是dspwwv_receiver所做的事。

发射机

该子系统在100hz的音调上生成一个二进制编码的十进制(BCD)时间码。Simulink模型使用的采样速率(Ts)为8000个样本/秒。金宝appWWV广播的时间码以每秒1位的速度连续提供UTC(协调世界时)信息。发送完整的时间代码需要60位,也就是1分钟。每个时间代码中的不同位传递了以下信息:

  • 24小时时间(UTC)

  • UT1时间校正

  • 一年

  • 一年中的哪一天

  • 夏时制指标

  • 闰秒校正

有关时间代码的更多信息,请参阅NIST网站上的“WWV时间代码位”和“WWV时间代码格式”部分。属性是选择“当前”还是“用户指定”显示时间参数在发射机子系统掩码上,子系统生成相应的60个BCD时间码符号。每个符号都用100赫兹的脉宽调制(PWM)表示,并从发射器子系统输出。每秒传输下列可能的符号之一:

  1. MISS -在每一帧的开始没有发送脉冲,以指示新帧的开始

  2. ZERO - 170ms脉冲表示0位

  3. ONE - 470毫秒脉冲表示1位

  4. 标记- 770-ms脉冲每10秒发送一次同步

传输的符号在Simulink模型中映射为以下整数值:金宝app

  • 0 -未命中

  • 1 - 0

  • 2 - 1

  • 3 -标记

此传输的音调与WWV子载波上传输的音调相同。

随机信道延迟

该子系统在传输信号中添加随机延迟。接收部分同步到传输的符号并解码适当的时间代码,即使在存在未知延迟的情况下。

模型-dspwwv_receiver引用模型

双击Model块以打开dspwwv_receiver模型。该模型具有适当解调、同步和检测传输信号的所有组件。它由以下三个子系统组成:

R1 -接收器

双击接收器子系统,查看其组件子系统:

1)下转换和下采样接受作为输入的脉宽调制信号。子系统通过包络检测解调接收信号,然后进行低通滤波和下采样80。因此,解调信号中每个传输的符号都有100个样本(dm).这个子系统的输出是一个可变长度的平方脉冲序列。

2)AGC(自动增益控制)估计的振幅dm信号,稍后用于阈值dm信号。

3)Demod的符号定时恢复和缓冲用于实现符号同步和缓冲解调的符号。它包含以下子系统:

3.1)前缘探测器接收解调后的信号dm并将其量化为布尔信号。的检测的值,则输出信号为“true”dm信号大于AGC值,否则为“假”。子系统还输出布尔信号边缘的上升边dm信号。

3.2)符号同步实现符号同步并创建与WWV信号同步的时钟信号。注意,帧同步是稍后在Decoder部分完成的。同步利用了Stateflow时序逻辑特性。这个状态流程图由三个部分组成:

  1. SymbolSync -此图表进一步分为同步状态图和锁定状态图

  2. 时钟同步

  3. 集成

下面显示了Demod的符号定时恢复和缓冲子系统和符号同步状态图。

3.2.1)SymbolSync执行符号同步。该图以上升边(边缘)的dm信号,间隔大约100个样本。

该图表的内部参数为:

  • N1-两条边之间的实际样本数

  • n1-估计两边之间的样本数量(初始值100)

  • Nwin在N1est样本后寻找另一条边的窗口(默认值为11个样本)

  • Nhalfwin—窗口长度的一半(默认为6)

同步状态——为了开始同步,此图表将寻找上升边,然后为大约100个样本寻找一段静默期(没有边),然后在以该点为中心的窗口中寻找另一条上升边。如果图表成功地做到了这一点,系统就会声称已经同步,并假设其余的符号都是有效符号。否则,图表等待这样的模式再次出现,并一直等待,直到它成功:

  1. “同步”状态图等待一条边,然后至少寻求静默(没有其他边)海底= 'N1est - Nhalfwin + 1的样本。

  2. 如果此图表在此期间没有显示沉默(海底样本),并找到另一条边,它将新的边作为参考边,再次寻求沉默。

  3. 这个图表重复第1步和第2步,直到它成功地为下一个步骤寻求沉默海底样本后的参考边。

  4. 曾经的沉默海底检测到样本,此图表计算有多少样本(后)海底样本发现了另一个优势。对象中找到的下一条边Nwin窗口时,它转换到“锁定”状态,开始接收后续符号。如果下一条边不在其中Nwin窗口样本,它丢弃参考边,并重新开始搜索参考边,如步骤1-3所述。

锁定状态——一旦同步,这个图表在大约每100个样本为中心的窗口中寻找下一个符号,并且只要它找到符号就保持同步。如果图表连续两次(大约200个样本)没有找到任何符号,那么它就不再同步,并尝试如上所述再次建立同步:

  1. 一旦过渡到“锁定”状态,这个图表假设边现在应该周期性地进入(大约每一个n1样本)。

  2. 图表更新N1N1 + Nhalfwin-cnt然后忽略下一个海底N1-Nhalfwin + 1样本,然后搜索窗口中的下一条边Nwin之后的样本。

  3. 它跟踪窗口中的样本数量()之后,它找到了下一条边缘。如果它在窗口内发现一条边,它会再次更新N1如上所述。

  4. 基于新的值,它计算新的海底然后开始寻找上面提到的新边。

  5. 图表允许没有发现一个边缘Nwin窗口一次来解释MISS符号,但如果连续发生两次,它将脱离锁定状态,并通过过渡到同步状态再次开始符号同步。

3.2.2)时钟同步的新的上升边时生成一个时钟信号dm接收到信号。这样,时钟与新边的出现同步,而不是与Simulink时钟周期性地以固定速率运行同步。金宝app

3.2.3)集成生成一个模板步长函数,其宽度为17-sample,用于在找到边时表示ZERO符号,即每当生成时钟时。该信号由AGC子系统使用。

3.3)下游Demod的符号缓冲区当一个符号接收到一个时钟信号时缓冲对应的样本(在3.2.2中计算)。

4)符号Demod和帧缓冲每次接收到非零时钟信号时触发。它使用Vector quantiization块通过比较输入'Symbols'缓冲区与四个可能的符号候选(MISS, ZERO, ONE和MARKER)来执行符号解调。它输出与最佳匹配的符号。延迟线块用于缓冲60个连续的符号,以创建“WWV帧缓冲区”。帧同步逻辑子系统在延迟线块之前查找连续MARKER和MISS符号的出现,因为这个模式表示一个新的WWV帧的开始。延迟线块只有在找到该模式时才输出有效的缓冲区。随后的IRIG-B解码器也在那一刻被触发。

R2 - IRIG-B帧解码器

IRIG-B帧解码器触发子系统由MATLAB函数块组成,该函数块用于将IRIG-B格式符号帧解码为时间代码的单个元素。该子系统仅在接收到有效的WWV帧时触发。

显示

传输的符号显示在“解码符号”范围内,解码的时间代码信息显示在“时间代码”显示和“WWV时间代码”窗口中。“WWV时间代码”窗口上的方框代表当相应信号为真时发光的led。夏时制对应的LED分为两部分,第一部分是“夏时制指示灯1”,第二部分是“夏时制指示灯2”。时钟漂移图表示连续符号上升边之间的样本数量(symbolClk)。这个图在95到105个样本之间变化。

使用dspwwv示例模型

模拟模型。您将看到时钟漂移、相应的BCD时间代码符号和当前时间显示(按此顺序如下所示)。

显示时间参数设置为“Current”时,模型继续显示当前时间,每分钟更新一次。你可以更改显示时间将传输子系统的参数设置为'User-defined',并指定您想要显示的任何时间。