2. 调试整体思路
当我们使用FPGA或者STM32模块配合FMSDR模块使用的时候,需要从零开始调试这个电路,逐步完成:硬件好坏判断、8027和MSI001寄存器控制、波形采集、FM解调、滤波器设计和声音回放,这需要我们有一个清晰的调试思路:使用已知来调试未知。
很多同学一上来就调试MSI001收电台,几乎都收到的都是杂音,看到毫无规律的IQ信号无从下手,因为这里可能出错的地方很多:SPI时序错误,寄存器配置错误,ADC配置错误,解调算法错误,滤波算法错误,抽取算法错误,DAC程序错误等等,任意一步出问题都会导致最终结果不对。
更难受的是,即使是正常解调的电台,无论是IQ波形,解调后波形,还是滤波后波形,都是杂乱无章的(如下图),这对指导我们逐步调试没有任何帮助,因为错误的操作导致的波形有可能也是类似的杂乱无章的信号:
因此,我们需要一个已知正确的波形来指导我们逐步完成调试和解调过程,例如解调一个单音调制的FM信号,就可以在每一步都有已知正确的波形作为参考。
下面,我们使用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的衰减倍数
调整滤波器参数,听一下是否对声质有改善
审核编辑:刘清
-
FPGA
+关注
关注
1624文章
21608浏览量
601075 -
滤波器
+关注
关注
160文章
7694浏览量
177392 -
寄存器
+关注
关注
31文章
5284浏览量
119772 -
STM32
+关注
关注
2264文章
10852浏览量
354178
发布评论请先 登录
相关推荐
评论