私は長時間の質問のために事前にお詫び申し上げます。私はすべてがダウンしていることを確認したい。私は、GNU Radioの助けを借りて(そしてUSRP b200を使って)一貫して信号を受信するような、シンプルなPythonスクリプトを設定しました。この信号が一定の出力レベルに達すると、スレッショルド変数によって、検出された後、その信号を収集して後で表示したいと考えています。だから私はシグナルが検出されるのを待っているpythonスクリプトを持っています。それがそうであれば、別のpythonスクリプトを使って収集を開始します。 問題は、USRPは私が同時に受信し、収集することができないということです。 USRPは同時に受領して回収できますか?GNUラジオ/ Python - USRP同時に受信と収集
機能プローブとラベル(信号が検出されている場合は、ユーザーを表示する)と私のGNUラジオセットアップ
UHD: USRP Source ---> Low Pass Filter ---> Complex to Mag^2 ---> Threshold ---> Probe Signal
GNUが作成/私の更新Pythonのコード
Class autoCollect(gr.top_block, Qt.QWidget):
def __init__(self):
.
. #some setup stuff
.
def _probe_variable_probe():
while True:
val = self.probe_signal.level()
try:
self.set_probe_variable(val)
except AttributeError:
pass
if val == 1.0 # If there is a signal detected...
p = subprocess.Popen("python USRP_collect.py", shell=True)
p.wait()
_probe_variable_thread = threading.Thread(target=_probe_variable_probe)
_probe_variable_thread.daemon = True
_probe_variable_thread.start()
.
. #some more setup stuff
.
if __name__ == '__main__':
tb = autoCollect()
tb.start()
tb.show()
USRP_Co llect
Class usrp_read(...):
def __init__(...)
.
.
.
if name == '__main__':
tb = usrp_read(...)
tb.run()
問題: 私はUSRP_collectは私autoCollectスクリプトで実行するために呼び出すしようとすると、それを実行を開始するが、それは、それは次にエラー
Traceback (most recent call last):
File "USRP_collect.py", line 29, in __init__
を与える
tb = usrp_read()
ために取得するときランタイムエラー
empty device address
代わりにビューファイルを実行しようとしました私はクラスを呼び出そうとすると、収集ファイル(ビューは単独で動作する信号のfftを表示します)を表示し、同じエラーを表示します。
基本的には、別のUSRP(作業中)を使用して送信している信号を受信しようとしています。次に、私は、信号のパワーレベルが信号が存在するかどうかを判断するのに十分高いかどうかを知りたいと思います。スレッショルドとプローブを入れて、常に更新し、信号があるかどうかを私に知らせることによって、私はすべてそれを行いました。信号が存在するかどうかを収集しながら、それをどのように保つことができますか? – BBEng