第四章 系統測試與效能分析
4.2 系統實測與分析
4.2.1 系統延遲測量分析
在語音傳遞實作過程,語音延遲亦是影響語音品質的重要環節之一,因此本 節重點為測量系統架構中延遲議題與探討,本實驗流程可分成 Sender 節點、Relay 節點及接收節點三大環節,其中每環節中進行著不同的工作,所以延遲時間也並 不相同,如圖 25 所示,
圖 25、系統延遲區塊
首先 Sender 節點可以分成四區塊分別,Analogue to Digital Delay 此為麥克 風接收使用者所發出的聲音訊號,經由音效卡的類比轉成數位音訊字串的過程所 造成的延遲時間,如圖 26 所示每個 Frame 平均延遲時間約 20.1 ms,此延遲時間 將在 4.33 節中最高節點數公式中計算。接著原始語音串流透過 Speex 編碼技術 進行壓縮處理,如圖 27 所示,為 Speex 8Kbps 進行 6000 個 Frame 之結果,單一 Frame 編碼之平均時間為 0.084ms,本論文所使用的 Speex 窄頻 4k-18k 單一 Frame 之平均編碼時間如表 13 所示,Speex 每完成一個 Frame 後會將其寫入 CC2530
Buffer 中等待傳送,其等待時間依照本論文 3.3 節所定義封包格式不同而有所差 異,如 8Kbps 格式則必須等待 5 個 Frame 的處理時間,因此窄頻需要 0.42ms 的 延遲時間。
圖 26、Analogue to Digital 轉換延遲時間
圖 27、Speex 窄頻 8K Encode Delay
0 1000 2000 3000 4000 5000 6000
A/DConvertTime (ms)
0 1000 2000 3000 4000 5000 6000
Speex Encoding Time(ms)
Frame Sequence
表 12、Speex 窄頻 Encode Delay
Bitrete Encode delay(ms)
4 Kbps 0.085
6Kbps 0.082
8Kbps 0.084
11Kbps 0.1
18Kbps 0.16
語音資訊經過 Speex 編碼處理後,透過 UART 介面將資訊傳送至 CC2530
Buffer 等待傳送,本論文利用點對點傳輸與增加一個中繼節點的四種機制分別進 行比較,如圖 28(a)所示,黃色區塊為 Sender 端 UART TX Delay,藍色區塊為
Receiver 端 UART RX Delay,由於傳輸時間與接收時間在無線環境中是重疊的因 此僅需計算一次,在 SRSC、SRMC、MRSC 機制上如圖 28(b)所示,每增加一個 節點將會增加一個 Network Delay 其中包含中繼節點暫存器進行資料搬移的處理 時間(Processing time)以及重疊的收發時間(Transceive time),而圖 28(c)在 MRTC 機制中由於雙天線架構設計,其 Network Delay 包含在天線傳輸過程中增加一個 天線 UART(Radio UART)的時間以及收發時間,因此利用各個機制的 Network
Delay 減去 Transceive time 即為每增加一個中繼節點所增加的時間延遲,故本論 文將利用示波器量測每段時間,在 4.3.3 節中計算出各個機制能夠增加的最大中 繼節點數量。
圖 28、傳輸狀態時序圖(a)點對點傳輸情境(b)SRSC、SRMC、MRTC 之 2 跳傳輸 機制(c)MRTC 之 2 跳傳輸機制
本論文使用四種不同傳輸機制,因此在 Network Delay 上各種方法皆有所不 同,因此利用示波器量接上 Sender 端的 UART TX 和 Receiver 端 UART RX 進行
量測,依照點對點的中的間隔時間以及增加一個 Relay 節點的間隔時間,將兩者 相減即可計算出每個中繼節點所增加的 Network Delay,示波器結果可參考圖 28 進行對照。在 SRSC 機制上如圖 29 所示,點對點的 Transceive time 為 4ms,在增 加一個 Relay 節點的情況下如圖 30 所示,延遲時間增加至 9ms,因此將 9ms 減 去 4ms 即為 Network Delay,故 SRSC 機制上每增加一個中繼節點需增加 5ms 的 Network Delay。在 SRMC 傳輸機制中如圖 31、32 所示,每增加一個中繼節點的 Network Delay 與 SRSC 相同為 5ms,由於使用多通道傳輸能夠有效地縮短封包的 傳送間隔。利用雙天線進行改良硬體設計後的 MRTC 機制如圖 33、34 所示,由 於能夠在單一節點同時進行接收與傳送,因此在封包的傳送間隔上能夠更進一步 的降低,不過也由於雙天線間是利用 UART 介面進行溝通,因此在每增加一個中 繼節點的情況下須增加 10ms 的 Network Delay。最後為了改善 MRTC 所產生的
UART 時間,在 MRSC 機制中 Sender 端即使用雙通道進行傳送,中繼節點的雙 天線分別負擔雙通道的封包。如圖 35 所示,可發現封包傳輸間隔與 MRTC 相同,
但在增加一個中繼節點情況能夠改善 UART 時間,如圖 36 所示,在接收端可發 現 UART 接收封包不連續這是因為分別由兩個天線負責接收不同通道封包,因此 在增加一個 Relay 節點僅需增加 5ms 的 Network Delay。
圖 29、SRSC 機制點對點延遲 圖 30、SRSC 機制兩跳延遲
圖 31、SRMC 機制點對點延遲 圖 32、SRMC 機制兩跳延遲
圖 33、MRTC 機制點對點延遲 圖 34、MRTC 機制兩跳延遲
圖 35、MRSC 機制點對點延遲 圖 36、MRSC 機制兩跳延遲 當封包經過無線傳輸後由 Receive 節點接收時,透過 UART 介面傳送至
BeagleBone Black 之 Cortex-A8,即使用 Speex 進行解碼處理,而每 Frame 解碼處 理延遲窄頻如圖 37 所示,為其單一 Frame 平均解碼時間,不同 Bitrate 量測結果 如表 13 所示。再依照 4.2 節表 11 中不同 Frame 數量進行計算,而經過解碼後封 包即透過音效卡進行 Digital to Analogue 處理,延遲時間如圖 38 為每 Frame 平均 延遲約 20ms,此時間也將在 4.33 節中最高節點數公式(7)中計算。
圖 37、Speex 窄頻 8K Decode Delay
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08
0 1000 2000 3000 4000 5000 6000
Speex Decoding time(ms)
Frame Sequence
表 13、Speex 窄頻 Decode 延遲時間 Bitrete Decode delay(ms)
4 Kbps 0.027
6 Kbps 0.025
8 Kbps 0.025
11 Kbps 0.025
18 Kbps 0.029
圖 38、Digital to Analogue 轉換延遲時間