ASK调制解调。
数学原理:
首先ASK调制解调原理很简单:用我们的发的数据去控制载波,我们这里是用的2ask,
y = data *sin(w*t +pha) 或者 y = data*cos(w*t+pha)(一个乘法器)
所以当我们的data是1时,我们发出的数据就是载波,当我们的data为0时,我们发出的数据就是0.
所以ask的调制解调是非常简单的,重点是在其解调。
解调方式:
因为一般ask的调制方式有相干解调与非相干解调,我们这里就是用非相干解调(不再需要载波)。
实现硬件:zedboard + AD9361,
我们的数据通过9361的天线发射出去,然后再利用天线接收,我们在接收端利用ADC采集数据,
然后先通过一个滤波器,然后再送入一个取样判决其,还原其发送的数据.
项目的整体的流程:
项目中的block_design:
相关模块:
关于时钟: 采样时钟40M,载波频率1.25M,所以一个载波周期会采样40/1.25 = 32个点,我们数据速率是100Kbps,每一个数据周期有400个采样点.
信号发射器:我们通过我发送的数据,来决定我发出的数据数据是0还是正弦波,如果我发送的数据是1,则发出的了正弦波,如果是0,则发送的数据全为0,。正余弦的产生是用的查找表的方式。我这里是通过一个HLS写了一个信号发生器,关于其内容可以参考我的这篇博客
信号接收器:信号接收器,我们收到的数据是ADC采样的的12位数据,首先我们要先经过整流,然后滤波,只剩下信号的包络,然再送到我们的取样判决模块。
滤波器:这里可以做一个低通滤波器,滤除高频信号,只剩下一个包络。然后再做一个均值滤波器,使信号更加平滑。有需要可以参考这个
HLS FIR低通滤波器的实现_快乐的派大仙的博客-CSDN博客_hls设计fir滤波器
取样判决器:我们经过滤波的数据送入取样判决,恢复我们的信号。可以参考这个博客
基于ask 的调制解调 抽样判决与同步设计_快乐的派大仙的博客-CSDN博客
最后项目的一些结果图:
发出去的正弦波
接收到的正弦波,当数据为1时的正弦波
最后判决输出的数据