——缘起——
某个项目需要用到FPGA内部实现噪声调频信号,且调频带宽可配置。
——2020年9月5日
文章目录
提示:以下是本篇文章正文内容,下面案例可供参考
一、理论准备
FM原理似乎很简单,白噪声生成也很简单,但真动起手来还是从理论开始。
1. Matlab帮助comm.FMModulator
- Simulink通信系统工具箱的FM Modulator Baseband模块
- matlab通信系统工具箱的comm.FMModulator
数字FM算法描述很清楚,如下截个图。
我的仿真验证就使用Simulink的FM Modulator Baseband模块来进行。
2. 文献:郑慧芳,邓云凯.随机噪声调频信号带宽分析[J].科学技术与工程,2009,9(15):4351-4357.
CNKI上随便搜了一篇论文,还挺好,理论和仿真图都有。
——基本描述
——带宽分析
整理了一下作者的结论,做了一个表。目标是通过简单设置调制指数即可控制输出FM带宽,所以用了窄带白噪声,方差设置为1。
——论文的仿真频谱
固定噪声方差和调制指数,改变噪声BB带宽,输出FM频谱的图形状,基本符合其理论。
二、仿真&设计:Simulink
1. 噪声源:窄带白噪声
Band-Limited White Noise模块,x Ksps,上采样128倍到960Ksps上做调制。
上采样分三个阶段的FIR插值实现:8倍 * 8倍 * 3倍,设计如下:
2. FM:128*x Ksps
照着公式来:噪声用调制指数放大后做积分,乘以2*pi作为相位,相位转化为COS+SIN,即基带的FM调制信号。
3. 上采样128倍到工作时钟 16.384*x MHz的速率上
上采样设计与噪声上采样方案类似。
4. 仿真模型
直接上个图:
5. 仿真结果
128*x ksps上的频谱:多挡带宽比较
自搭建FM调制与“FM Modulator Baseband”模块输出一致:说明理解正确。
上采样到16.384*x MHz上的频谱:比较自建分阶段FIR上采样与“FIR Interpolator”输出,符合预期。
三、实现&验证:System Generator
方案通过了,照着用Sysgen搭建出来即可:
在时钟频率上仿真sysgen不太可行(too slow),去掉最后一级的128倍上采样,在128*x Ksps的速率上比较sysgen和simulink的仿真输出:25kHz带宽噪声调频,符合预期。
四、总结
解决问题的大致步骤:
- 分析技术需求,确认掌握所需理论;
- 贴合需求,设计方案,仿真验证;
- 实现方案,检验结果。