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
+關注
關注
1630文章
21759瀏覽量
604344 -
濾波器
+關注
關注
161文章
7846瀏覽量
178410 -
寄存器
+關注
關注
31文章
5357瀏覽量
120685 -
STM32
+關注
關注
2270文章
10910瀏覽量
356605
發布評論請先 登錄
相關推薦
評論