吳俊杰



在之前對于二進制編碼和解碼的討論中,我們對通過傳輸并且模擬數字電報的編碼和解碼過程已經有了初步的了解,但是這種編碼和解碼的過程都是發生在同一臺計算機上的。這意味著從嚴格意義上講,信息并沒有通過通信設備和線纜傳遞到其他物理地址。經典的信息論將信息的傳播過程視為信源、信道和信宿三個部件之間的聯系,因此我們之前的工作雖然在計算機本機上也經歷了編碼和解碼的過程,但從信息傳播的全過程來看,只能算是信源的準備工作。當準備工作完成之后,我們將發送的數字如先轉變為二進制編碼信息,然后再轉化為高低不同的電壓,頻率有別的脈沖或者強弱的光線,這都是可以通過線纜傳播的信息,只有在將這些物理信號準備好,發射出去,信源的工作才算真正完成。本節我們就嘗試著用Scratch測控板來完成信源信息的發射。
在Labplus Scratch測控板軟件中,選擇編輯菜單當中的“顯示輸出模塊”,之后在動作菜單中就能夠看到輸出設備的控制選項(如圖1)。
程序可以控制對輸出設備供電的各種參數,從上到下依次是:控制設備供電一段時間之后關閉,打開和關閉輸出設備的供電,設定輸出設備供電的電壓強度,設置輸出設備供電的正負極。如果輸出設備是一個馬達,我們就可以通過以上代碼控制馬達是否轉動、轉動的快慢、轉動的時間以及轉動的方向。如果輸出設備是一只燈泡,則可以控制燈泡是否亮、亮度的強弱、亮的時間。由于發光二極管是單向導通的,那么如果使用輸出控制,就應該只有一個電流方向讓其發光,因此通過這些控制指令可以控制發光二極管是否發光、發光的強弱、發光的時間,但是由于單向導通的特性,關閉發光二極管的方法除了停止電壓輸出之外,還可以將輸出模式相反即通過電流反向的方法關閉這個發光二極管。
連接設備之后,點擊,我們發現測控板上的發光二極管的顏色由藍轉綠,代表插在USB線旁邊的耳機線的鱷魚夾上面已經有電壓輸出。此時如果放一個馬達在鱷魚夾上,只要該馬達能夠承受5V的電壓,就能夠轉動起來(如圖2)。
經典的信息控制理論認為信息的通信過程如圖3所示,而本案例主要解決發送變換器所做的工作,即從信源經過信源編碼轉化為二進制之后,通過發送變換器進行信道編碼,轉化為信道可以傳播的信息形式。
信源編碼
如果要發送的是一段英文,我們可以將發送數字的4位二進制編碼形式升級一位,轉化為五位二進制編碼。最方便的形式是按照26個英文字母的順序使其和五位二進制的31個有效狀態的前26個狀態對應起來,此外為了通訊方便,還可將英文常見的標點符號進行編碼,如下表所示。
接下來,我們需要將信源編碼完成,而后將上面的編碼表用程序代碼輸出(如圖4)。
在Scratch語言中,當代碼的長度很長時,拖動起來會很慢,因此可以使用廣播指令將一個長度為31的“如果判斷”拆分為四個部分,每個部分單獨處理。這個代碼很長,但是結構很簡單,我們輸入一個字母,這個字母就會轉化為一個五位的字符串(如圖5)。
接下來,如果我們輸入一組字符串,則需將這一組字符串轉化為二進制字符(如圖6)。
圖7所示的是我們將“hello world”這個經典的字符串轉化為二進制的編碼。至此,我們就完成了信源編碼的過程。
信道編碼
如果我們需要兩種有差別的輸出來體現出二進制中0和1的區別,如用短的聲音和長的聲音,用小的聲音和大的聲音,用不同的顏色,用發光二極管的亮的時間或者亮暗。表述這種差別,如果使用聲音作為傳輸方式,則需要選定能夠傳輸聲音的信道,如空氣。如果使用光作為傳輸方式,則需選用傳輸光的信道,如光導纖維。
如果我們用最簡單的方式來傳輸這組二進制信息,可以使用兩種不同的聲音來表達這段二進制字符串,可以制成一種類似打擊樂的信道編碼(如圖8)。
你此時甚至可以伴隨著有規律的鼓聲起舞,但這只是開始,如果我們使用發光二極管的亮滅來表示這種信息(如圖9)。為了標準化這個過程,可以使用廣播指令控制各種輸出方式同時輸出。
這樣我們會驚喜地看到燈伴隨著音樂在同步的傳輸出信源編碼的結果,這就完成了信道編碼的過程。此時你可能會迫不及待地想把自己的英文名字轉化成光影和節奏。
至此,我們通過一個簡單的案例描述了信源編碼和信道編碼的過程,英文文本信息轉換為聲音和發光二極管的亮暗,通過信道傳輸,在傳輸的過程中有可能會碰到噪聲干擾,影響到信宿的接收,但是我們看到信息在節奏和光影中流轉已然是一個美麗的開始了。endprint