談談戰鬥機通訊系統的設計,兼與“得到”商榷

談談戰鬥機通訊系統的設計,兼與“得到”商榷

前幾天,在池建強老師的公眾號文章裡看到這樣一段,我以為值得好好探討下。

今天早晨聽李翔內參,有個故事很有意思,是個戰鬥機通信的例子戰鬥機隊在交戰時,彼此之間的數據鏈傳輸(可以理解為無線網絡傳輸)的帶寬是非常有限的,因此,飛機的數據鏈在使用時,其傳輸速率常常被限制在某個速度以下,比如100K/秒,而飛行員在互相語音溝通和進行戰場態勢信息傳輸時,既要讓傳輸的內容表達清楚,又要符合 100k 的限制,這就催生了很多專有的空戰通信術語(有點類似於1970年代時普遍使用的電報),飛行員需要用非常精煉、沒有絲毫冗餘的語言來表達要傳輸的信息。這麼做反而降低了他們在溝通時的語言負擔,提高了溝通效率。你看,世界沒有給我們成功的鑰匙,不過給了各種限制條件,如何利用這樣的條件,做出屬於你的鑰匙,應該就是我們的宿命。

池老師想說明“創新不應當受條件限制”,這我當然是贊同的。但是拿得到的例子來論證,似乎有點不太對頭——因為“數據傳輸速率有限“,所以“戰鬥機飛行員說話需要特別精煉,乃至發展出一整套空戰通信術語“,這個邏輯我沒法同意。

為了驗證池老師的表達是否與原文一致,我專門去聽了“得到”的音頻,確實如此,在《如何在“限制”中發揮創造力》專門舉了這個例子。然而,無論是基於我已有的知識,還是從軟件系統的常理來分析,這種邏輯都是有問題的。為驗證我的懷疑,我專門查了下資料,做了點功課,下面是我的分析。

戰鬥機飛行員說話必須要精煉,這個要求非常重要。因為戰場上情況瞬息萬變,容不得緩緩道來。

通常來講,飛行員的通訊必須保持三個特點。第一是簡練,太長的常用語必須有固定縮略,比如RTB,表示Return To Base;第二是準確,為了準確在三維空間裡描述方位,飛行員會採用錶盤描述平面訪問,再加高低,比如“12'O clock high(12點上方)”表示正前方上方,“3'O clock low(3點下方)”表示右側下方,如果敵人在6點出現就得高度緊張,這意味著被咬尾了;第三是避免出錯,比如用alpha表示A,beta表示B,hotel表示h等等(中文裡用“拐”表示7,用“洞”表示0也是這個道理)。這幾點,基本是所有國家都通用的。

問題在於,這套話語形成已經很久了,大概從二戰時候就基本定型,一直延續至今。最早時候,飛行員之間的通訊還是模擬方式。我從來沒聽說過,因為切換到數字通訊方式,導致飛行員要改用一套全新的溝通話語。

從邏輯上判斷,這也不可能。語音通訊數字化的進程已經很久了,但一直沒有全部完成,因為兼容性很重要。同樣不容忽視的一點是,模擬通訊的語音通話方式一直保留著,作為數字通訊的備份。如果在空戰中,飛行員說話之前還要先看看當前是用模擬還是數字通訊,這基本不現實。

當然,從另一方面來講,現代軍用飛機確實越來越多使用數據鏈來進行通訊。

隨著空戰和飛機的日益複雜化,語音已經不堪重負了。比如“前方20公里有五架敵機,長機鎖定衝在第二架和第三架,僚機鎖定最後面那架”,這種複雜信息用語音播報起來就非常麻煩,要在多個單位之間共享還不出錯就更難。如果使用數據鏈來通訊,一段文字或者幾張圖片就可以表達清楚,效率截然不同。

在美國和北約體系內,它叫TDL(Tactical Data Link,戰術數據鏈),按照嚴格定義,是“使用無線電或線纜進行數據通訊的標準“。在美國和北約的所有C3(3個C分別代表命令、控制、通訊)系統中,都使用標準的TDL來進行通訊。

作為軍用通訊標準的TDL,安全性和效率當然是需要尤其保證的。而且軍用通訊環境複雜,不可能像民用通訊有那麼好的保障,各節點往往都處於高速運動當中,所以其帶寬有限,速度偏低,這也沒有錯。

但是,飛行員為了適應有限的數據傳輸速度,所以發展出一套專門的精煉語言,這就說不過去了。

單從技術上分析,“飛行員為適應有限的傳輸速度發展出一套專門的精煉話語”也不太可能。我們不妨來設想一下,如果傳輸速度有限,而飛行員不節制自己的語言,會導致什麼?

大概有兩種後果:一種是數據量太大,導致說話有延遲(類似下載慢了),對軍用通訊來說,這基本不可接受,因為時間就是戰機;一種是數據量太大,所以降低採樣頻率(降低語音質量),在速度不變的情況下保證實時,但這要求語音採用可變碼率編碼(VBR),這同樣不太可能,業界廣泛使用的都是固定碼率編碼(CBR)方案——想想有多少音頻文件的大小是和時長成線性比例的就知道了。考慮到TDL誕生在好幾十年前,採用可變碼率的可能微乎其微。

當然,即便帶寬不是問題,如果飛行員廢話太多,不能迅速溝通清楚,仍然會貽誤戰機,造成大問題。但是,這和數據鏈的傳輸速度沒有關係。

那麼,數據鏈和語音到底是怎麼個關係呢?懷著這種好奇,我專門搜索了一番。目前美軍大量使用的Link 16數據鏈,美國主力軍火製造商諾斯羅普·格魯門公司網站上有詳細的文檔,我做了一點摘錄。

Link 16是在Link 11 / Link 11 B 和 Link 4A / Link 4C的基礎上發展而來的,基於TDMA技術的數據鏈。在Link 16誕生之前,語音通訊和數據鏈通訊是分開的,語音通訊是模擬傳輸的(當然也經過了加密)。Link 16 提供了許多新特性,其中就包含語音的通訊。

大部分的Link 16 終端都提供了兩個安全語音通道,一個是16 kbps的未編碼語音通道,一個是2.4 kbps的可編碼(也可以不編碼)語音通道。兩個通道都按照PTT(Push To Talk)協議通訊,可以簡單理解為“想說話時,按下按鈕就可以講,不必先撥號”,這延續了對講機通訊的規則,也符合戰場上使用的場景。

要補充的是,兩個語音通道的帶寬是各自獨立的,也不是混合在總的“數據通訊帶寬”裡的。這不難理解,雖然戰鬥機之間的數據傳輸速度很重要,但相比起來,圖像、文字稍微慢一點還可以忍受,語音慢一點可能就會要命了。


談談戰鬥機通訊系統的設計,兼與“得到”商榷

Link 16裡的語音通訊流程。來源:Northrop Grumman公開文檔。

每個Link 16終端的核心內存裡,保留有兩份發送緩存和兩份接收緩存,由SICP(Subscriber Interface Computer Program, 訂閱者接口計算機程序)維護。在飛行員說話時,語音首先編碼為數字內容,然後進入語音緩存,大小為450 bit。如果當前收到PTT指令,則把語音緩存數據送入發送緩存。若發送緩存已滿,且當前PTT仍然有效,SICP會控制將語音緩存繼續送入另一份發送緩存——換句話說,兩份緩存交替使用。同時,SICP會將語音數據組成數據傳輸塊,交給NICP(Network Interface Computer Program, 網絡接口計算機程序)發送出去。接收語音是也是如此,SICP控制兩份緩存交替工作。

說句題外話,雖然軍用系統的開發很嚴格很神秘,但基本的設計原則是相通的。一方面,IT人基本都能看到和理解這個設計;另一方面,諾斯羅普·格魯門公司的文檔裡也說明,通訊模型是建立在OSI七層模型之上的。

回到最初的話題,現在我們可以下結論了,“因為傳輸速度有限,所以飛行員要用精煉話語”的邏輯並不存在。因為語音傳輸的速度是固定的,要麼是16 kbps,要麼是2.4 kpbs,語音傳輸的速度就是語音編碼率的上限,所以多說話並不會佔據額外的帶寬。因此無論飛行員說多少話,數據傳輸量只與時間有關——換句話說,飛行員說話精煉是為了節約時間,在模擬通訊時代就是如此,數據通訊時代仍然如此,與帶寬無關。

看到這裡大概會有人問:常見的mp3,如果是32 kbps都覺得音質很差了,16 kbps的音質不影響交流嗎?與此關聯的,Quora上也有一個問題:為什麼飛行員說話的聲音聽起來都差不多?

這個問題的答案也很簡單。道理和mp3一樣:如果傳輸速度有限(無論模擬還是數字),要減少數據量,解決辦法不是飛行員少講話,而是語音採樣上要做取捨,去掉頻率過高和過低的部分,只留下中間的部分,同時降低採樣率(每秒鐘採樣多少次),所以許多“音色“細節就這樣被過濾掉了,剩下的是”千篇一律“的聲音。只不過mp3比較討巧,去掉了大部分人耳“聽不見”的頻段,而飛行員的通訊就更暴力一些(但是不影響溝通)。另外,飛行員也有自己認同的一套“行話”,外人聽起來覺得千篇一律,這也是重要原因。

如果我是戰鬥機通訊系統的設計人員,我多半也會這樣選擇:在有限的通訊速度下,要創新的不應該是飛行員的說話方式,而是語音編碼和傳輸系統。如果我們開發出來的系統很難用,又告訴用戶說“條件就這樣,我也懶得多想,你也沒別的選擇,就按我的來吧”,那真是所有臉面都被丟光了。我以前的領導說過“操作起來太複雜的系統,多半是程序員偷懶的結果”,雖然他不是做技術的,但這句話我印象特別深刻。

為了驗證我的觀點,我找到了英國媒體公佈的,2003年英美軍隊在伊拉克誤傷自己人時候的飛行員通話錄音。大家可以聽聽,飛行員是否有“為適應傳輸速度而專門精煉”的感覺?

Alright, POPOV 35 has smoke. Let me know how those friends are right now, please.

I'm getting an initial brief that there was one killed and one wounded, over.

POPOV 35, Copy, RTB(Return to Base)

如果上面的分析都沒錯,我想你應當認同我一直以來的觀點。如今不少“知識付費”,走的都是“講一個小故事,讓你明白一個道理”的路子,這個路子很討巧,也很容易記住,但是,隱患也不少。

單獨來看,小故事和大道理都沒法說有錯。但我們也需要知道,所謂”知識體系“,說的是不同的知識點之間應當存在有機的、符合邏輯的聯繫;所謂”獨立思考“,指的是在不借助權威的情況下,能依據已有的知識、邏輯、理性,來判斷某些信息的對錯。

如果小故事和大道理之間本來沒有聯繫,非要找些劇本一樣好看的邏輯串聯起來,這種敘述就和知識體系、獨立思考完全無關。這樣的“知識付費”節目,用來長長見識開開眼界、長長談資是不錯的,但如果過分熱衷,以為這就是知識,這就是學習,長此以往,受害的還是自己。

那麼,軍用飛機真的有需要適應有限傳輸速度,節省帶寬的需求嗎?有的!無人機在這方面的需求非常迫切,後方基地操作無人機時就要受到傳輸速度的限制,所以如果遇上覆雜情況,後方無法很迅速地瞭解現場態勢,下達複雜的指令。正因為如此,如何讓無人機更智能,不用後方下達指令就可以自主應付複雜場景,這是一大挑戰。

最後說個好玩的,美軍文檔也坦承自己的數據鏈遇到了大坑:雖然Link 16已經成了通用標準,但它用的是無線電頻率作為簽名,容易被敵方偵測到。為了解決這個問題,空軍的F-22戰鬥機使用IFDL(InFlight Data Link)降低被偵測的概率,而陸戰隊的F-35戰機裝備的是MADL(Multifunctional Advanced Data Link),通過高速切換窄波定向天線來達到同樣的目的。然而悲劇的是,雖然IFDL和MADL都很先進,數據傳輸和處理速度遠遠超過Link 16,但Link 16、IFDL、MADL三者並不兼容。結果美軍不得不在F-15戰鬥機下面加掛TALON吊艙,作為通訊網關……

以前看過報道,海灣戰爭時期,因為不同軍種的通訊無法兼容,有一次美軍聯合指揮司令部為了緊急通知海軍協助打擊目標,不得不出動直升機把軟盤送去航空母艦。這之後,美軍花了大力氣整合通訊系統和指揮體系,但是想想數據鏈的大坑,我們只能說,路漫漫其修遠兮,美軍還得上下求索。


分享到:


相關文章: