假如有一个固定频率在100KHz左右的调幅信号
能否使用CORTEX-M4F单片机实现信息的解调?
我现在能想到的办法是使用FFT得到100KHz信号的幅值
把幅值连起来得到调制信号
请问FFT这方法存在什么问题?
有没有能解决这个问题的更好方法?
FFT得到的是频谱,幅值可以连续做峰值采样后再做曲线拟合即可获得包络信号。不过,这对ADC要求较高,也太占用处理器资源,不如直接二极管检波,这样对前级信号的幅值要求也大幅降低。后续即使需要放大,放大低频的基带信号比放大高频的调制后信号更简单。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
如果楼主的单片机具有足够高采样率的ADC,是可以通过FFT来得到调制信号的,但不是楼主说的那样做法。
一个AM信号的频谱以载频为中心、两侧具有两个边频。这两个边频与载频的频率差就是调制信号的频率,而边频的幅度正比于调制信号的幅度。所以应该通过FFT得到边频的频率与幅度,就得到了解调。
再说一句,AM信号在调制的时候通常总是保持载波信号幅度不变,这种情况下,对已调波进行FFT变换得到的频谱中,载频信号的幅度是不变的。楼主从波形图上看到已调波的幅度在变化,以为FFT后载频幅度也变化,那是错的——有时候,眼见不一定为实。
一次FFT只能得到一个调制信号和载波信号的幅度值(振幅或RMS幅度,不是瞬时幅度),不能得到调制信号的瞬时幅度随时间变化曲线。
如果调制信号的幅度(振幅或RMS幅度)在一个FFT数据段的时间内基本保持不变,那么通过将FFT数据段在所采集数据的时间轴上滑动来得到调制信号幅度(振幅或RMS幅度)随时间变化曲线是可以的。这就是时频分析时常用的短时傅里叶变换法。但仍然无法得到调制信号的瞬时幅度。
更简单有效的方法是,既然都做了FFT,不如修改算法为希尔伯特变换,直接计算信号的包络线,可得到调制信号的瞬时幅度。
www.multi-tech.cn, 免费下载信号采集,分析,产生软件Multi-Instrument, 支持示波器,频谱分析仪,信号发生器
下面是用希尔伯特变换解调AM的例子:
1、调制波为正弦
2、调制波为三角
3、调制波为锯齿
本帖最后由 TestGuru 于 2017-7-11 09:48 编辑
www.multi-tech.cn, 免费下载信号采集,分析,产生软件Multi-Instrument, 支持示波器,频谱分析仪,信号发生器