2015-02-10 41 views
0

我試圖在Redhawk 1.10.1中使用我的USRP N210作爲源代碼。我想驗證(通過查看FFT或其他方式)Redhawk從USRP獲取數據。RedHawk上的USRP源代碼

我可以在命令行上運行uhd_usrp_probe,它會成功找到設備。

在Redhawk中,我創建了一個新節點,並在節點上包含了USRP_UHD設備。我創建了一個簡單的波形,並將波形和節點連接到SCA Explorer中的目標SDR。然後,我右鍵單擊Target SDR,然後單擊Launch,它將創建域,並且該域將顯示「已連接」。所以一切似乎都有效,因爲這不會產生任何錯誤。但我不知道如何在波形中實際使用來自USRP的數據。

例如,在GNU Radio中,有一個名爲USRPSource的組件(或類似的東西),您只需將它拖到舞臺上並開始連接到其他組件。但是當我按照上一段中的步驟操作時,我沒有在SDR文件夾中看到任何新組件,這些組件將允許將USRP源組件拖動到Chalkboard上以開始使用它。 Redhawk不以這種方式運作?

但是,我不知道是否USRP設置正確,因爲當我用鼠標右鍵單擊它,然後單擊「分配」,它提供了一個錯誤說以下內容:

The selected device has no tuners. Dynamic tuner creation may not be supported.

是對USRP設置不當?如果是這樣,我如何繪製通過USRP的數據的FFT?

回答

2

聽起來好像您沒有在您啓動的USRP_UHD節點中指定設備IP地址。單擊SCA Explorer視圖中設備管理器下的節點,然後打開屬性選項卡。展開target_device並輸入IP地址(默認爲192.168.10.2)。一旦你這樣做,你應該在節點中看到未分配的調諧器。根據你的子板,它可能是RX數字轉換器和TX。

分配RX Digitizer,輸入你的參數。在此步驟中複製分配ID,將RX Digitizer dataShort_out連接到組件dataShort_in時,它將用作連接ID。右鍵單擊USRP節點中的dataShort_out,然後選擇連接。選擇所需組件上的dataShort_in,然後輸入您之前複製的分配ID作爲連接ID。

您也可以啓動USRP_UHD節點,分配調諧器,並在dataShort_out端口上查看數據,而無需將其連接到任何組件,作爲證明它正在工作的跳板,這就是您要求的。只需右鍵單擊該端口,然後查看FFT。

+0

感謝您的迴應!按照這些步驟,我昨天就開始工作了,我可以繪製FFT圖,它效果很好! 我試圖得到它雖然重新工作,但是當我右鍵單擊目標SDR並點擊「啓動」,而不是說「連接」域經理說,「失敗」,我得到這個錯誤: 「無法連接到域:REDHAWK_DEV org.eclipse.core.runtime.CoreException:執行可調用時出錯。由org.omg.CosNaming.NamingContextPackage.NotFound引起的錯誤:IDL:omg.org/CosNaming/NamingContext/NotFound:1.0「 你以前見過這個嗎?我不斷地遇到這個問題。 – 2015-02-12 15:38:04

+1

檢查omniNames&omniEvents是否正在運行: 'sudo service omniNames status' 'sudo service omniEvents status' 如果它們已停止,則啓動它們... 'sudo $ OSSIEHOME/bin/cleanomni' 另外,如果REDHAWK被鎖定,並且您非正常退出,則可能域和設備管理器仍在運行。搜索正在運行的進程: 'sudo ps -A | grep -i domainmanager' 'sudo ps -A | grep -i devicemanager' 如果正在運行,則終止進程。你可以做一個pkill -9 pid 然後確保omniNames&omniEvents正在運行,重新啓動REDHAWK,重新創建域和設備管理器... – bruno617 2015-02-13 19:42:59

+0

這樣做的竅門!事實證明omniEvents沒有運行。這讓我從很多悲傷中解脫出來,謝謝! (如果我有足夠的聲望,我會鼓勵你) – 2015-02-13 21:28:44