2015-02-24 40 views
0

我是GNU Radio的新手,我試圖使用它和USRP B210板傳輸一個值。使用FM收音機傳輸.dat文件時接收正確的值

我使用Matlab將值0.121轉換爲wav格式,然後在GNU Radio中使用audio_to_file示例將wav文件轉換爲.dat文件。

當我使用B210和GNU Radio發送.dat文件時,我收到了一個wav文件,但是當我使用matlab函數(audioread())讀取wav時,我得到了不同的值。

P.S.

轉換的.dat文件的採樣率爲44100 Hz,每個採樣16位。 接收器和發射器採樣率爲400K Hz。 我用我的發射機的GNU Radio軟件包中的fm_tx4.py例子。 我使用uhd_nbfm_receiver.grc作爲接收器。

+0

你是什麼意思你想傳輸一個值?你的意思是「一系列不變的價值」,例如。 '[0.121,0.121,0.121,0.121,...]'? – 2015-02-24 09:28:05

回答

0

如果您想知道爲什麼接收到的信號與發送信號的幅度不同,那麼您沒有掌握無線電通信的基本知識:由於發射機和接收機之間沒有數字線路,功率可以去任何地方,到達接收器的數量取決於很多因素,包括增益,天線,距離,匹配...

在RX方面會有很多不同的東西比他們在TX一側:您的接收尚未進行時間同步,因此您可能會看到相位偏移。你沒有提到接收機是否是相同的,時鐘同步的還是時鐘無關的B210,這意味着你有一般情況,沒有兩個物理時鐘可以相同(是的,這是不可能的,但是你可以減少錯誤),所以你通常也會看到一些頻率偏移。

我推薦讀一下基本的無線通信理論,我經常推薦GNU Radio的pictured introduction和GNU Radio的suggested Reading Page。 Michael Ossmann也獲得了他的課程的一些認可,所以你應該definitely have a look at them

此外,您所有的數據 - > Wav->傳輸轉換是完全沒有必要的。 Matlabs fread/fwrite函數可以讀取/存儲GNU Radio的file_sink/file_source可以存儲/讀取的本地機器浮點格式。請參閱FAQ entry