ni.com is currently undergoing scheduled maintenance.

Some services may be unavailable at this time. Please contact us for help or try again later.

SDR 應用:使用開放原始碼工具與 USRP 硬體課程概述

此學習途徑適用於熟悉 Software Defined Radio (SDR) 無線概念與數位訊號處理 (DSP),並希望透過 USRP 上的開放原始碼工具進行實作訓練的工程師。本課程包含三種程式設計工具鏈選項:GNU Radio、C++ 與/或 Python。在完成此學習途徑后,學生將能建立一套全新的 SDR 開發系統,並運用 USRP 與開放原始碼工具,開發基礎的 SDR 無線應用。

上課形式

 

此課程不提供虛擬教育訓練

 

此課程不提供課堂教育訓練

 

本課程不提供私人課程

課程目標

課程詳情

課程長度

課程對象

課程

用到的 NI 產品

教育訓練教材

SDR 應用:使用開放原始碼工具與 USRP 硬體課程大綱

課程概述主題

設定並最佳化 SDR 串流應用程式

本課程單元結束時,您應具備同步、建置及安裝 UHD 至系統的技能與信心。

  • 探索 USRP 硬體驅動程式安裝選項
  • 在您的 SDR 系統上設定開放原始碼硬體驅動程式
  • 複製 UHD 儲存庫並從原始碼建立

與 USB 連接的 USRP 進行通訊

本課程單元結束時,您應了解如何使用 UHD 識別 USB USRP 並與之進行通訊。

  • 探索識別 USRP 的多種方法
  • 設定您的 USB USRP
  • 與您的 USB USRP 進行通訊

在 SDR 系統上設定 GNU Radio

本課程單元結束時,您應具備同步、建置及安裝最新 GNU Radio 框架於系統中的技能與信心。

  • GNU Radio 簡介
  • 資源取得途徑
  • 複製 GNU Radio 儲存庫並從原始碼建立

驗證 GNU Radio 安裝作業

本課程單元結束時,您應基本了解 GNU Radio 安裝,並能在系統上執行簡單的 FM 無線電範例。

  • 瀏覽 GNU Radio 資料夾
  • 執行簡易的 FM 無線電接收器範例

從指令列使用 GNU Radio

本課程單元結束時,您應已熟悉在 Linux 指令列中使用 UHD。

  • 安裝 GNU Radio
  • 探索範例程式
  • 從指令列示範撥號音與 UHD FFT 程式

GNU Radio 架構主要元素簡介

本課程單元結束時,您應基本了解 GNU Radio,並能識別環境中的各項組件。

  • 了解 GNU Radio 的內部原理
  • 識別 GNU Radio 環境中的組件

GNU Radio 環境 — 術語與重要功能方塊

本課程單元結束時,您將了解 GNU Radio 如何透過流程圖傳遞資料,以及如何為您的應用程式設定選項方塊。

  • 探索 GNU Radio 中的選項方塊
  • 了解「samp_rate」與硬體本身取樣率的差異

節流區塊與資料類型

本課程單元結束時,您應能了解 GNU Radio 如何透過流程圖傳遞資料,以及在有無硬體的情況下,如何及何時使用節流區塊。

  • 使用 GNU Radio 節流區塊
  • 了解 GNU Radio 中的資料流及資料類型表示方式
  • 編寫您的第一個流程圖

非調變傳輸器

本課程單元結束時,您應具備建立以 USRP 作爲傳輸器的基本流程圖的技能。

  • 尋找並連接區塊
  • 使用 UHD Sink 與 USRP 建立基本的非調變傳輸器

產生 Python 程式碼

本課程單元結束時,您應具備從 GNU Radio 產成 Python 程式碼的技能。

  • 從 GNU Radio 產生 Python 程式碼
  • 探索已產生的 Python 程式碼

非調變迴送

本課程單元結束時,您應具備使用 USRP 執行無線迴送測試的技能。

  • GNU Radio 中的 UHD 源極與汲極
  • 使用 USRP 進行無線迴送測試

視覺呈現與 UI

本課程單元結束時,您應能夠建立一個流程圖,可透過使用者控制功能,控制迴送中的 USRP。

  • 使用 GNU Radio 中預裝的 QT 區塊,探索各種訊號視覺呈現與控制元件
  • 示範訊號視覺呈現工具 (時間、頻率、IQ、瀑布圖)

調變傳輸

本課程單元結束時,您應具備尋找並使用範例程式碼來建立調變傳輸的技能。

  • 於前一課程單元的流程圖中加入 QAM 解碼器/接收器
  • 建立調變迴送通訊系統

調變迴送

本課程單元結束時,您應具備使用 USRP 與 GNU Radio 在迴送中建立簡易單向通訊系統的技能。

  • 建立單音調傳輸器
  • 傳輸基本調變訊號 (QPSK 與 QAM)

 

尋找與使用 IP

本課程單元結束時,您就能找到 GNU Radio 的 Out-Of-Tree 模組。

  • 尋找實用的 GNU Radio Out-Of-Tree 模組
  • 從 GIT HUB 同步 Gr-RDS 至本地機器

建立 FM 傳輸器

本課程單元結束時,您應具備尋找 OOT 模組並載入範例的技能。

  • 建立並安裝 GNU Radio Out-Of-Tree 模組
  • 從原始碼建立 gr-rds 模組並安裝於您的 SDR 系統

建立 FM 接收器

本課程單元結束時,您就能使用 gr-rds 模組,無論是否有硬體。

  • 使用 gr-rds Out-Of-Tree 模組建立 FM 接收器

建立自訂區塊

本課程單元結束時,您就能使用 Python 建立 OOT 模組。

  • 建立您自己的 GNU Radio Out-Of-Tree 模組

使用 C++ 進行 USRP 程式設計

本課程單元結束時,您將具備尋找適用於 USRP 的 C++ 範例程式技能。

  • 探索 UHD C++ API
  • 執行適用於 USRP 的 C++ 範例程式

使用 C++ 建立您的第一個 USRP 程式

本課程單元結束時,您將具備為 USRP 建立簡易 C++ 程式的技能。

  • 建立並建置 UHD 程式

使用 Python 進行 USRP 程式設計

本課程單元結束時,您應具備尋找適用於 USRP 的 Python 範例程式的技能。

  • UHD/GNU Radio Python API 概述
  • 從 GNU Radio 產生 Python 程式碼
  • 執行範例 Python 程式

建立您的第一個 USRP Python 程式

本課程單元結束時,您將具備修改 USRP 簡易 Python 程式的技能。

  • 起始點
  • 方法比較

了解並設定 USRP 參數

本課程單元結束時,您將具備計算 USRP 系統頻寬的技能,並能為 USRP 選擇合適的串流介面、增益與天線設定。您將能透過指令列查詢 USRP 的內建裝置資訊。

  • 了解 USRP 的取樣率與頻寬設定
  • 在 USRP 上設定取樣率與頻寬
  • 了解 USRP 的資料傳輸速率
  • 設定 USRP 的資料傳輸速率
  • 了解 USRP 的增益設定
  • 在 USRP 上設定增益設定
  • 了解 USRP 的天線設定
  • 在 USRP 上設定天線設定
  • 透過內建儲存空間存取裝置資訊

設定並最佳化 SDR 串流應用程式

本課程單元結束時,您將具備確定高效能串流應用需求的技能。

  • 設定主機系統
  • 探索效能調整

您應考慮效能調整的時機與原因

本課程單元結束時,您將更深入了解效能調整。

  • 尋找瓶頸
  • 判斷瓶頸所在位置

效能調整類型,以及相關說明文件與技巧

本課程單元結束時,您將具備尋找系統效能調整方法資源的技能。本課程單元結束時,您將具備尋找系統效能調整方法資源的技能。

  • 探索作業系統 (OS) 效能調整
  • 實體介面監控與微調
  • 使用資料平面開發套件 (DPDK)
  • 尋找資源

為您的 SDR 串流應用程式進行除錯

本課程單元結束時,您將具備對 SDR 串流應用中簡單問題除錯的技能,並且清楚如何尋求協助。本課程單元結束時,您將具備尋找系統效能調整方法資源的技能。

  • 流量控制錯誤
  • 安裝 Wireshark 協議解析器
  • 使用 Wireshark 檢視 USRP 流量

恢復無法使用的 USRP

本課程單元結束時,您應具備恢復無法使用的 USRP 的技能。本課程單元結束時,您將具備尋找系統效能調整方法資源的技能。

  • 識別您的 USRP 是否無法使用
  • 恢復無法使用的 USRP
  • 尋找資源

 

升級為會員資格

如果您打算在 1 年內參加 3 次或以上的 NI 講師授課課程,則教育訓練會員資格可提供高成本效益、不限次數參加所有 NI 公開課程與公開虛擬課程的機會以及不限次數的認證禮券。