2. 調(diào)試整體思路
當(dāng)我們使用FPGA或者STM32模塊配合FMSDR模塊使用的時候,需要從零開始調(diào)試這個電路,逐步完成:硬件好壞判斷、8027和MSI001寄存器控制、波形采集、FM解調(diào)、濾波器設(shè)計和聲音回放,這需要我們有一個清晰的調(diào)試思路:使用已知來調(diào)試未知。
很多同學(xué)一上來就調(diào)試MSI001收電臺,幾乎都收到的都是雜音,看到毫無規(guī)律的IQ信號無從下手,因為這里可能出錯的地方很多:SPI時序錯誤,寄存器配置錯誤,ADC配置錯誤,解調(diào)算法錯誤,濾波算法錯誤,抽取算法錯誤,DAC程序錯誤等等,任意一步出問題都會導(dǎo)致最終結(jié)果不對。
更難受的是,即使是正常解調(diào)的電臺,無論是IQ波形,解調(diào)后波形,還是濾波后波形,都是雜亂無章的(如下圖),這對指導(dǎo)我們逐步調(diào)試沒有任何幫助,因為錯誤的操作導(dǎo)致的波形有可能也是類似的雜亂無章的信號:
因此,我們需要一個已知正確的波形來指導(dǎo)我們逐步完成調(diào)試和解調(diào)過程,例如解調(diào)一個單音調(diào)制的FM信號,就可以在每一步都有已知正確的波形作為參考。
下面,我們使用STM32和口袋儀器m302對FMSDR進行調(diào)試示例,給出調(diào)試思路。使用肉眼就能夠判斷正確與否的正弦信號進行調(diào)制和解調(diào),步步為營。
使用8027發(fā)出單音FM信號(創(chuàng)建已知待解調(diào)信號)
驗證I2C接口:確保操作8027的I2C時序正確,硬件正常工作
設(shè)置寄存器,使8027將DAC_L輸入的1KHz正弦波調(diào)制到98.5MHz上
使用頻譜儀或者商用收音機確定98.5MHz上存在1KHz的FM調(diào)制信號
使用MSI001解調(diào)8027發(fā)出的已知單音信號(和已知正確波形逐步對比)
驗證SPI接口:確保操作MSI001的SPI時序正確,硬件正常工作
驗證ADC采集:設(shè)置MSI001寄存器,查看單音輸入時采集的IQ信號,對比本文中IQ采樣的波形,看是否正常,可以調(diào)整MSI001的衰減倍數(shù)使IQ輸出不飽和
驗證FM解調(diào)算法:對單音輸入的IQ信號進行解調(diào),對比本文中解調(diào)后的波形,看解調(diào)算法是否正確
驗證DAC播放程序:將濾波后的信號進行抽取以匹配DAC的刷新率,同時從DAC輸出觀察是否是一個連續(xù)的正弦信號,觀察噪聲情況
驗證數(shù)字濾波器:將抽取后的信號經(jīng)過數(shù)字濾波器,對帶有噪聲的正弦信號進行低通濾波,并從DAC發(fā)出,看是否得到一個毛刺較少的連續(xù)的正弦信號
更換頻點使用MSI001解調(diào)電臺(利用第2步得到的正確控制方法和算法解調(diào)電臺)
更換MSI001頻點為已知電臺的頻點
收聽廣播聲音是否正常
觀察采集的IQ信號,調(diào)整MSI001的衰減倍數(shù)
調(diào)整濾波器參數(shù),聽一下是否對聲質(zhì)有改善
審核編輯:劉清
-
FPGA
+關(guān)注
關(guān)注
1626文章
21678瀏覽量
602037 -
濾波器
+關(guān)注
關(guān)注
160文章
7749瀏覽量
177736 -
寄存器
+關(guān)注
關(guān)注
31文章
5325瀏覽量
120052 -
STM32
+關(guān)注
關(guān)注
2266文章
10876瀏覽量
354930
發(fā)布評論請先 登錄
相關(guān)推薦
評論