使用STM32调试FMSDR模块及解调FM电台(2)

2023-09-13  

2. 调试整体思路

当我们使用FPGA或者STM32模块配合FMSDR模块使用的时候,需要从零开始调试这个电路,逐步完成:硬件好坏判断、8027和MSI001寄存器控制、波形采集、FM解调、滤波器设计和声音回放,这需要我们有一个清晰的调试思路:使用已知来调试未知。

很多同学一上来就调试MSI001收电台,几乎都收到的都是杂音,看到毫无规律的IQ信号无从下手,因为这里可能出错的地方很多:SPI时序错误,寄存器配置错误,ADC配置错误,解调算法错误,滤波算法错误,抽取算法错误,DAC程序错误等等,任意一步出问题都会导致最终结果不对。

更难受的是,即使是正常解调的电台,无论是IQ波形,解调后波形,还是滤波后波形,都是杂乱无章的(如下图),这对指导我们逐步调试没有任何帮助,因为错误的操作导致的波形有可能也是类似的杂乱无章的信号:

pYYBAGNHxFCAbfQkAAEuFJEY3fc723.pngpoYBAGNHxFaAOORPAAI0jWueZBw186.png

因此,我们需要一个已知正确的波形来指导我们逐步完成调试和解调过程,例如解调一个单音调制的FM信号,就可以在每一步都有已知正确的波形作为参考。

poYBAGNHxHSAWwDmAAFHcIbVfvg965.pngpYYBAGNHxHyAeFNPAAIIKst8A8g342.png

下面,我们使用STM32和口袋仪器m302对FMSDR进行调试示例,给出调试思路。使用肉眼就能够判断正确与否的正弦信号进行调制和解调,步步为营。

使用8027发出单音FM信号(创建已知待解调信号)

验证I2C接口:确保操作8027的I2C时序正确,硬件正常工作

设置寄存器,使8027将DAC_L输入的1KHz正弦波调制到98.5MHz上

使用频谱仪或者商用收音机确定98.5MHz上存在1KHz的FM调制信号

使用MSI001解调8027发出的已知单音信号(和已知正确波形逐步对比)

验证SPI接口:确保操作MSI001的SPI时序正确,硬件正常工作

验证ADC采集:设置MSI001寄存器,查看单音输入时采集的IQ信号,对比本文中IQ采样的波形,看是否正常,可以调整MSI001的衰减倍数使IQ输出不饱和

验证FM解调算法:对单音输入的IQ信号进行解调,对比本文中解调后的波形,看解调算法是否正确

验证DAC播放程序:将滤波后的信号进行抽取以匹配DAC的刷新率,同时从DAC输出观察是否是一个连续的正弦信号,观察噪声情况

验证数字滤波器:将抽取后的信号经过数字滤波器,对带有噪声的正弦信号进行低通滤波,并从DAC发出,看是否得到一个毛刺较少的连续的正弦信号

更换频点使用MSI001解调电台(利用第2步得到的正确控制方法和算法解调电台)

更换MSI001频点为已知电台的频点

收听广播声音是否正常

观察采集的IQ信号,调整MSI001的衰减倍数

调整滤波器参数,听一下是否对声质有改善


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。