2017-07-07 97 views
0

我需要根據將在我自己的代碼段中計算的數據分別更改源/匯上的接收和發送增益。做這個的最好方式是什麼?沒有任何教程描述如何完成。如何以編程方式更改我的GNUradio流中的屬性?

理想情況下,GNUradio python腳本只會在循環中調用幾個函數,並且它們會返回增益值,系統會動態變化。

+0

什麼源/匯,我們談論的傳入消息端口的示例嵌入式Python塊?= –

+0

USRP N210作爲信號源和接收器 – paddy

+0

因此,它是「UHD:USRP信號源」模塊? –

回答

0

UHD信宿/信源可以通過消息端口上的特定命令語法來控制。詳情請參閱https://gnuradio.org/doc/doxygen/page_uhd.html#uhd_command_syntax

下面是用於增益雙值和輸出端口,其具有被連接到所述USRP吸入/源

from gnuradio import gr 

class tuning_uhd(gr.sync_block): 
    def __init__(self): 
     gr.sync_block.__init__(self, 
      name="Gain Tuning", 
      in_sig=[], 
      out_sig=[] 
      ) 
     # Message ports 
     self.message_port_register_out(gr.pmt.intern("uhd")) 
     self.message_port_register_in(gr.pmt.intern("gain")) 
     self.set_msg_handler(gr.pmt.intern('gain'), self.handle_msg) 

    def handle_msg(self, msg): 
     self.message_port_pub(gr.pmt.intern('uhd'), gr.pmt.to_pmt({'gain': gr.pmt.to_double(msg) }) 
相關問題