如何实现AM解调
程序员文章站
2022-07-02 21:06:07
...
VIVADO如何实现AM解调
AM解调原理
- FM信号是一个包络信号,在模拟电路中我们比较喜欢用二极管检波电路进行检波。如果在数字电路中,我们联想到的就是我们取信号的最高点。但是载波频率比较高,如何找到上升沿,测量出电压,然后用DA输出电压,比较麻烦。我们就回想通信原理。想想如何产生FM信号
- 首先,来让我们认识一下什么是AM信号
- 调制完的信号
- 需要调制的信号
- AM调制怎么实现可以看上一节博客。我们实现的方式是载波与信号相乘,会有两个频率分量。我们解调的方式就围绕这个来。
- 我们采取的方式就是将调制完的信号与载波相乘,这样我们就可以得到我们原始的信号了。接下来我们就实看下我们的matlab仿真,验证下我们的思路
matlab实现解调(验证)
- 代码
// An highlighted block
f1=1000;
f2=100000;
f3=f2;
f0=f2*2;
t=1/f0:1/f0:1;
carry=2^8+2^8*cos(2*pi*t*f1);
signal=2^16*cos(2*pi*t*f2);
signal2=cos(2*pi*t*f3);
am_signal=carry.*signal;
figure(1);
plot(t,am_signal);
xlim([0,1/f1*3]);
test=am_signal.*signal2
figure(2)
plot(t,test);
xlim([0,3/f1]);
%set(gca,'position',[0,1/f1*10,0,1]);
- 运行结果图
- 解调出信号
- 这里可以看到,我们得到了我们的原始信号。但是这只是理论上面的。实际上上了FPGA我们还得过一个低通滤波器,滤除掉高频成分。
vivado实现解调
- 在上面matlab仿真我们可以知道,相干解调可以实现我们的AM解调。
- 所以我们还需要需要原来的载波信号。将载波信号与调制完的信号进行相乘,然后在过一个FIR滤波器的IP核就可以实现功能。FIR滤波器具体怎么设置我也写了。经过滤波器后的信号就是我们的原始信号
上面是解调信号与原始信号。我们可以看到,基本无失真。解调完成。
具体代码可以下载文件。
上一篇: AM调制的FPGA实现
下一篇: python批量重命名文件的后缀名