Share via


接收即時天線遙測

Azure Orbital 地面站會發出天線遙測事件,可用來分析聯繫人期間的地面站作業。 您可以設定連絡人設定檔,將遙測事件傳送至 Azure 事件中樞

在本指南中,您將了解如何:

  • 設定 Azure Orbital 地面站的 Azure 事件中樞
  • 在您的連絡人設定檔中啟用遙測。
  • 驗證遙測數據的內容
  • 了解遙測點

設定事件中樞

  1. 在您的訂用帳戶中,移至 設定中的資源提供者 。 搜尋 Microsoft.Orbital ,並將其註冊為提供者。
  2. 在您的訂用帳戶中建立 Azure 事件中樞 命名空間事件中樞

注意

選擇 [公用存取] 以存取 Eventhubs。 不支援私人存取或服務端點。

  1. 從左側功能表,選取 [存取控制 (IAM)]。 在 [授與此資源的存取權]底下,選取 [ 新增角色指派]。

注意

若要指派 Azure 角色,您必須具有:Microsoft.Authorization/roleAssignments/write許可權,例如使用者存取 管理員 istrator擁有者

  1. 在 [角色] 索引標籤下,搜尋並選取 [Azure 事件中樞 數據傳送者]。 按一下 [下一步] 。
  2. 在 [ 成員] 索引標籤下,指派使用者 、群組或服務主體的存取權
  3. 按兩下 [ + 選取成員]。
  4. 搜尋 Azure Orbital 資源提供者 ,然後按兩下 [ 選取]。
  5. 按兩下 [ 檢閱 + 指派]。 此動作會授與 Azure Orbital Ground Station 將遙測傳送至事件中樞的許可權。
  6. 若要確認新增的角色指派,請返回 [存取控制 (IAM) 頁面,然後選取 [檢視此資源的存取權]。 Azure Orbital 資源提供者應低於 Azure 事件中樞 數據傳送者

啟用連絡人配置檔的事件中樞遙測

設定連絡人設定檔,如下所示:

  1. 使用 [事件中樞命名空間] 下拉式清單選擇命名空間。
  2. 使用命名空間選取之後出現的 [事件中樞實例] 下拉式清單,選擇實例。

您可以藉由更新現有連絡人設定檔的設定

驗證聯繫人的天線遙測數據

使用您先前為事件中樞遙測設定的聯繫人配置檔來排程聯繫人。 聯繫人開始后,您應該會在事件中樞內立即開始看到數據。

您可以透過多種方式驗證傳入遙測數據是否存在和內容。

事件中樞命名空間儀錶板

若要確認事件中樞收到事件,您可以檢查資源群組內事件中樞命名空間概觀頁面上的圖表。 此檢視會顯示命名空間內所有事件中樞實例的數據。 您可以瀏覽至資源群組中特定事件中樞實例的概觀頁面,以查看該實例的圖表。

將天線遙測數據傳遞給記憶體帳戶

您可以啟用事件中樞擷取功能,將遙測數據自動傳遞至您選擇的 Azure Blob 記憶體帳戶。 請遵循指示,將擷取和擷取數據擷取至 Azure 記憶體。 啟用之後,您可以檢查容器並檢視/下載數據。

了解遙測點

目前的遙測架構版本:4.1

地面站會使用 Avro 作為架構來提供遙測。 架構如下。 請注意,一旦收到第一個數據點,Microsoft 天線就會發出遙測。 遙測會使用「最後一個已知值」方法回報,這表示我們一律會傳送我們針對計量的最新值。 由於此行為,您可能會在聯繫人的第一秒看到值 NULL ,直到第一次產生該計量為止。

{
  "namespace": "EventSchema",
  "name": "TelemetryEventSchema",
  "type": "record",
  "fields": [
    {
      "name": "version",
      "type": [ "null", "string" ]
    },
    {
      "name": "contactId",
      "type": [ "null", "string" ]
    },
    {
      "name": "contactPlatformIdentifier",
      "type": [ "null", "string" ]
    },
    {
      "name": "groundStationName",
      "type": [ "null", "string" ]
    },
    {
      "name": "antennaType",
      "type": {
        "name": "antennaTypeEnum",
        "type": "enum",
        "symbols": [
          "Microsoft",
          "KSAT"
        ]
      }
    },
    {
      "name": "antennaId",
      "type": [ "null", "string" ]
    },
    {
      "name": "spacecraftName",
      "type": [ "null", "string" ]
    },
    {
      "name": "gpsTime",
      "type": [ "null", "double" ]
    },
    {
      "name": "utcTime",
      "type": "string"
    },
    {
      "name": "azimuthDecimalDegrees",
      "type": [ "null", "double" ]
    },
    {
      "name": "elevationDecimalDegrees",
      "type": [ "null", "double" ]
    },
    {
      "name": "contactTleLine1",
      "type": [ "null", "string" ]
    },
    {
      "name": "contactTleLine2",
      "type": [ "null", "string" ]
    },
    {
      "name": "links",
      "type": [
        "null",
        {
          "type": "array",
          "items": {
            "name": "antennaLink",
            "type": "record",
            "fields": [
              {
                "name": "name",
                "type": [ "null", "string" ]
              },
              {
                "name": "direction",
                "type": {
                  "name": "directionEnum",
                  "type": "enum",
                  "symbols": [
                    "Uplink",
                    "Downlink"
                  ]
                }
              },
              {
                "name": "polarization",
                "type": {
                  "name": "polarizationEnum",
                  "type": "enum",
                  "symbols": [
                    "RHCP",
                    "LHCP",
                    "linearVertical",
                    "linearHorizontal"
                  ]
                }
              },
              {
                "name": "uplinkEnabled",
                "type": [ "null", "boolean" ]
              },
              {
                "name": "channels",
                "type": [
                  "null",
                  {
                    "type": "array",
                    "items": {
                      "name": "antennaLinkChannel",
                      "type": "record",
                      "fields": [
                        {
                          "name": "name",
                          "type": [ "null", "string" ]
                        },
                        {
                          "name": "modemName",
                          "type": [ "null", "string" ]
                        },
                        {
                          "name": "digitizerName",
                          "type": [ "null", "string" ]
                        },
                        {
                          "name": "endpointName",
                          "type": "string"
                        },
                        {
                          "name": "inputEbN0InDb",
                          "type": [ "null", "double" ]
                        },
                        {
                          "name": "inputEsN0InDb",
                          "type": [ "null", "double" ]
                        },
                        {
                          "name": "inputRfPowerDbm",
                          "type": [ "null", "double" ]
                        },
                        {
                          "name": "outputRfPowerDbm",
                          "type": [ "null", "double" ]
                        },
                        {
                          "name": "packetRate",
                          "type": [ "null", "double" ]
                        },
                        {
                          "name": "gapCount",
                          "type": [ "null", "double" ]
                        },
                        {
                          "name": "modemLockStatus",
                          "type": [
                            "null",
                            {
                              "name": "modemLockStatusEnum",
                              "type": "enum",
                              "symbols": [
                                "Unlocked",
                                "Locked"
                              ]
                            }
                          ]
                        },
                        {
                          "name": "commandsSent",
                          "type": [ "null", "double" ]
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        }
      ]
    }
  ]
}

下表提供每個遙測點的來源裝置/點、可能的值和定義。

遙測點 來源裝置/點 可能的值 [定義]
version 在內部手動設定 遙測的發行版本
contactID 聯繫人資源 聯繫人的標識碼
contactPlatformIdentifier 聯繫人資源
groundStationName 聯繫人資源 地面站的名稱
antennaType 個別的 Microsoft / 合作夥伴遙測產生器會設定此值 MICROSOFT、KSAT、VIASAT 用於聯繫人的天線網路。
antennaId 聯繫人資源 可讀取的天線標識碼名稱
spacecraftName 從聯繫人平臺標識碼剖析 航太器名稱
gpsTime utcTime 的封面 產生客戶遙測訊息的 GPS 時間時間。
utcTime 目前時間 產生客戶遙測訊息的UTC時間。
azimuthDecimalDegrees ACU:AntennaAzimuth 天線的十進位數方位。
elevationDecimalDegrees ACU:AntennaElevation 天線的小數點高度。
contactTleLine1 ACU:Satellite[0]。Model.Value TLE 行 1 的字串 用於聯繫人之 TLE 的第一行。
contactTLeLine2 ACU:Satellite[0]。Model.Value TLE 行 2 的字串 用於聯繫人的 TLE 第二行。
名稱 [連結層級] 連絡人配置檔連結 連結的名稱
direction 連絡人配置檔連結 上行連結、下行連結 聯繫人所使用的連結方向。
極化 連絡人配置檔連結 RHCP、LHCP、DualRhcpLhcp、LinearVertical、LinearHorizontal 用於聯繫人的連結兩極分化。
uplinkEnabled ACU:SBandCurrent 或 UHFTotalCurrent • NULL (無效 CenterFrequencyMhz 或向下連結方向)
• False (S 和 UHF 或 Amp Current < Threshold 以外的波段)
• True (S/UHF 波段、上行連結、Amp 目前 > 閾值)
指出是否已為聯繫人啟用上行連結。
名稱 [通道層級] 連絡人配置檔連結通道 通道的名稱
modemName 數據機 數據機裝置的名稱
digitizerName 數位化 數位板裝置的名稱
endpointName 連絡人配置檔連結通道 聯繫人所使用的端點名稱。
inputEbN0InDb 數據機:measuredEbN0 • NULL (QRadio 或 QRx 以外的數據機模型)
• Double:輸入 EbN0
以 dB 為單位輸入每一位的雜訊功率光譜密度。
inputEsN0InDb 數據機:measuredEsN0 • NULL (QRx 以外的數據機模型)
• Double:輸入 EsN0
每個符號的輸入能量,以 dB 為單位的雜訊功率光譜密度。
inputRfPowerDbm 數位板:inputRfPower • NULL (SNNB 或 SNWB 以外的上行連結或數位板驅動程式)
• 雙精度浮點數:輸入 Rf 電源
輸入 dBm 中的 RF 電源。
outputRfPowerDbm 數位板:outputRfPower • NULL (SNNB 或 SNWB 以外的下行連結或數位板驅動程式)
• 雙精度浮點數:輸出 Rf 電源
dBm 中的 Ouput RF 電源。
outputPacketRate 數位板:rfOutputStream[0].measuredPacketRate • NULL (SNNB 或 SNWB 以外的下行連結或數位板驅動程式)
• 雙精度浮點數:輸出封包速率
上行鏈接的測量封包速率
gapCount 數位板:rfOutputStream[0].gapCount • NULL (SNNB 或 SNWB 以外的下行連結或數位板驅動程式)
• 雙精度浮點數:間距計數
上行鏈接的封包間距計數
modemLockStatus 數據機:carrierLockState • NULL(QRadio 或 QRx 以外的數據機模型;無法剖析鎖定狀態列舉)
• 空字串(如果計量讀取為 Null)
• 字串:鎖定狀態
確認數據機已鎖定。
commandsSent 數據機:commandsSent • NULL (如果沒有上行連結和 QRadio)
• 雙精度浮點數:已傳送命令的 #
確認在聯繫人期間已傳送命令。

事件取用者

您可以撰寫簡單的取用者應用程式,以使用事件取用 從事件中樞接收事件。 請參閱下列檔,以瞭解如何以各種語言傳送和接收事件事件中樞:

變更記錄

2024-04-17 - 已更新的架構,以包含 TLE 的可能 NULL,併為 QRX 新增 EsN0,並新增了關於 Microsoft 天線在聯繫人第一秒期間對字段可能有 NULL 的模糊。 2023-10-03 - 引進 4.0 版。 已更新的架構,以包含使用中的上行連結封包計量和基礎結構名稱(地面站、天線、航太器、數據機、數位板、連結、通道)
2023-06-05 - 已更新的架構,以顯示通道下的計量,而不是連結。

下一步