FPGA数字信号处理基础----ASK解调的判决门限与抽样

前言

  ASK是最简单的一种数字调制方式,对ASK信号的解调一般是通过包络检波的方式来完成的,在得到信号的包络之后,需要将ASK的信息从包络中恢复出来,有两件事情比较重要,分别是判决门限来决定信号的具体取值,抽样来决定具体在什么时刻对信号进行取值。
  在信号的解调过程中,信号的判决门限和抽样稍微有点复杂。因此需要记录一下。

1. 判决门限的获取

  对于判决门限的获取,当信号的速率较高的时候,可以使用求均值的方式,来对获取信号的判决门限,但是当信号速率比较慢的时候,再采用求均值的方式,将会消耗较多的资源。比如信号速率为 100Kbps ,系统时钟为 40MHz ,若此时采用通过求取均值的方式,来确定信号的判决门限,可以预料到,需要求完整的一个符号周期内的所有数据的值之后,再计算出均值。将这个均值作为下个码元的判决门限。
  此外,当出现较多的0或者1的 码元 时候,采用均值的方式来进行符号的判决,也容易出错。因此需要将判决门限进行缓存,当两次相邻的判决门限值出现较大变化的时候,因该使判决门限保持上一次的判决门限值。

1.1 采用记录最大值的方式获取判决门限

  由于2ASK的比较简单,每个符号代表了不是0就是1。当符号为0的时候,通过包络检波解调出来的包络数据很小。当符号为1的时候,通过包络检波得到的数据就明显比0大。因此可以通过记录多个符号周期内的最大值,通过这个最大值来记录判决门限。
  具体的实现过程如下:
  使用一个计数器,来技术5个符号周期的时间,判决门限会每5个符号周期进行一次变化。使用一个gate_flag 来指示相邻的2个 5个符号周期,在gate_flag为低的时候,进行gate_a的判决门限的获取此时 gate_b 保持不变,当gate_flag为高的时候,进行gate_b的判决门限的符号获取,此时gate_b保持不变。
  在gate_flag发生跳变的地方,需要比较gate_agate_b的值,如果本次得到的新的判决门限远远小于,或则远远大于前一个 5符号周期 的判决门限的时候,将会保持上一个 5符号周期 的判决门限。
  之所以这么做的原因就是,放置连续的0或者连续的1出现,从而导致判决门限出错,导致接下来的 5符号周期 的判决出错。
在这里插入图片描述
  简单来说就是当 gate_flag 为低的时候,gate_a需要去寻找最大值,gate_b保持不变。当gate_flag为高的时候,gate_b需要去寻找最大值,gate_a保持不变。
在这里插入图片描述
  下面是一个理想的判决过程,因为使用modelsim仿真的时候,并没有模拟真实的信道,因此在信号中没有噪声的出现。在实际中,不可避免地会出现噪声,因此通过寻找最大值地方式,能够确定接下来地 5符号周期的判决门限。从仿真接过来看,最终得到的ask_symbol这个信号也被正确地解调出来。
在这里插入图片描述

2 抽样脉冲的获取

  抽取脉冲的获取,其实主要可以分为两步,第一步就是确定采样的位置。第二步就是根据已确定的采样位置,在对应的数据位置,将数据取出。
  由于经过判决之后的数据,其高低电平的宽度,不再是标准的符号周期的倍速。可能比符号周期长,也可能比符号周期短,因此确定一个合适的采样位置就十分重要。一般来说,在一个码元周期的最中间采样得到的结果应该是最准确的。有了这个思路,就可以来确定最佳采样点。

2.1 获取最佳采样点

  获取这个最佳采样点可以分为下图中所示的几种情况。

  • 连续的多个高低电平时
  • 高低电平的宽度小于码元周期的一半
  • 高低电平高于码元周期的一半

这时候,可以使能一个计数器,来计数当前的高低电平的持续时间。

  • 若有多个码元周期的高低电平时,计数器计数到码元周期的时候,记录最佳抽样点为 码元周期的值/2
  • 当计数器计数小于码元周期一半,且现在出现了跳变沿的时候: 因为出现了跳变沿,则代表码元一定发生变化。因此前面计数小于码元周期的一半。因此此时计数器计数的值,可以看作是上一个码元信号的延展。因此上一个码元的最佳采样时刻,因该是当(前计数器的值 + 码元周期的值)/2
  • 当计数器计数大于码元周期的一半,且出现了跳变沿:因为出现了跳变沿,码元一定发生了变化,又因为计数器的值大于码元周期的一半,这时候可以将这个计数器的值,看作是上一个码元被压缩。因此上一个码元的最佳采样时刻,就是当 前计数器计数值/2

在这里插入图片描述
在这里插入图片描述

2.2 在最佳抽样点对数据进行抽样

  计算出最佳抽样点时,使用到了输入的符号。要想对符号进行最佳抽样,需要将符号进行缓存。如上图中所示,可以将数据使用一个FIFO读出,当确定了最佳抽样点之后,将FIFO中的数据读出,这时候,需要使能一个读出的计数器,该计数器的作用和上面的获取最佳抽样点的计数器实现的功能是相似的。
  当读出计数器的值,等于最佳采样点的时候,就能够得到最佳采样点的值。
  如下图所示:通过使用最佳抽样的方式,能够正确地将barker码进行抽样,从而复原出巴克码。
巴克码为7bit,7’b111_0010,所以可以看到,抽样点对应时刻得到值就是巴克码的值。
在这里插入图片描述


参考:
V3尤老师

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页