基于LabVIEW的通信仿真(圖)
Communication Simulation Based on LabVIEW
摘 要:采用LabVIEW軟件對(duì)應(yīng)用于無(wú)線信道中的4PSK的數(shù)字通信方式和主要通信過(guò)程的實(shí)際情況進(jìn)行計(jì)算機(jī)模擬仿真。主要通信過(guò)程為抽樣、量化、編碼、調(diào)制解調(diào)、糾錯(cuò)編碼等,并給出了幾種調(diào)制解調(diào)的主要特性,為建立實(shí)際通信系統(tǒng)提供了基本的依據(jù)。
關(guān)鍵詞:移相鍵控(PSK);信噪比
引言
美國(guó)NI公司推出的LabVIEW語(yǔ)言是一種優(yōu)秀的面向?qū)ο蟮膱D形化編程語(yǔ)言,使用圖標(biāo)代替文本代碼創(chuàng)建應(yīng)用程序,擁有大量與其他應(yīng)用程序通信的VI庫(kù)。LabVIEW作為目前國(guó)際上應(yīng)用最廣的數(shù)據(jù)采集和控制開(kāi)發(fā)環(huán)境之一,在測(cè)試與測(cè)量、數(shù)據(jù)采集、儀器控制、數(shù)字信號(hào)分析、通信仿真等領(lǐng)域獲得了廣泛的應(yīng)用。本文主要研究基于LabVIEW的通信仿真。
LabVIEW程序結(jié)構(gòu)
LabVIEW程序主要包括兩部分:前面板(即人機(jī)界面)和方框圖程序。前面板用于模擬真實(shí)儀器的面板操作,可設(shè)置輸入數(shù)值、觀察輸出值以及實(shí)現(xiàn)圖表、文本等顯示。框圖程序應(yīng)用圖形編程語(yǔ)言編寫(xiě),相當(dāng)于傳統(tǒng)程序的源代碼。其用于傳送前面板輸入的命令參數(shù)到儀器以執(zhí)行相應(yīng)的操作。LabVIEW的強(qiáng)大功能在于層次化結(jié)構(gòu),用戶可以把創(chuàng)建的VI程序當(dāng)作子程序調(diào)用,以創(chuàng)建更復(fù)雜的程序,而且,調(diào)用階數(shù)可以是任意的。labVIEW編程方法與傳統(tǒng)的程序設(shè)計(jì)方法不同,它擁有流程圖程序設(shè)計(jì)語(yǔ)言的特點(diǎn),擺脫了傳統(tǒng)程序語(yǔ)言線性結(jié)構(gòu)的束縛。labVIEW的執(zhí)行順序依方塊圖間數(shù)據(jù)的流向決定,而不像一般通用的編程語(yǔ)言逐行執(zhí)行。在編寫(xiě)方塊圖程序時(shí),只需從功能模塊中選用不同的函數(shù)圖標(biāo),然后再以線條相互連接,即可實(shí)現(xiàn)數(shù)據(jù)的傳輸。
仿真過(guò)程
信號(hào)源產(chǎn)生的是模擬信號(hào),必須首先對(duì)它進(jìn)行數(shù)字處理。在仿真過(guò)程中,用100Hz的正弦信號(hào)作為信號(hào)源。按照一般語(yǔ)音通信的要求,這里采用8kHz速率對(duì)100Hz的正弦號(hào)進(jìn)行抽樣,得到的是間隔為125μs的離散抽樣值。信號(hào)的幅度為歸一化幅度,最小幅度為-1,最大幅度為1,再進(jìn)行32級(jí)(4bit)PCM量化編碼。再將每一個(gè)樣值轉(zhuǎn)化成4bit的二進(jìn)制的PCM代碼流,其速率為32kbps。對(duì)PCM編碼的數(shù)據(jù)流進(jìn)行漢明編碼,得到的是56kbps的糾錯(cuò)編碼后的數(shù)據(jù)流。隨后進(jìn)行調(diào)制,在發(fā)送端對(duì)碼流進(jìn)行4PSK數(shù)字編碼調(diào)制,采用的載波是400kHz的正弦波,然后送上信道進(jìn)行傳輸。信道是最常見(jiàn)的高斯加性白噪聲信道,信號(hào)傳輸過(guò)程中受到高斯噪聲的干擾。在接收端對(duì)接受到的碼流進(jìn)行數(shù)字解調(diào)、漢明碼解碼,最后PCM信號(hào)恢復(fù)所發(fā)送的信號(hào)。
這里所使用的仿真環(huán)境為L(zhǎng)abVIEW軟件。下文中主要針對(duì)4PSK的仿真進(jìn)行敘述。
● 抽樣、量化和編碼
在發(fā)送端,源(Source)子VI產(chǎn)生一個(gè)100Hz的正弦信號(hào)作為信號(hào)源,通過(guò)量化(Quantify)子VI對(duì)它進(jìn)行抽樣和量化。對(duì)信號(hào)源進(jìn)行8kHz的抽樣,抽樣產(chǎn)生的離散抽樣值歸一化為絕對(duì)值小于等于1的數(shù)據(jù)流。量化器把-1~1的范圍等分為32個(gè)小區(qū)間,每一個(gè)區(qū)間用0~31之間的一個(gè)整數(shù)表示,每個(gè)樣值通過(guò)它被量化成32個(gè)值中的某一個(gè)值,再轉(zhuǎn)化成元素為0、1的矢量,即C端輸出的源信息流。這時(shí)輸出的是長(zhǎng)度為4的矢量,進(jìn)入到編碼(Coding)子VI。在信號(hào)傳輸?shù)倪^(guò)程中,為了提高信號(hào)的傳輸效率,降低誤碼率,采用了糾錯(cuò)編碼技術(shù)。這里采用的是(4,7)漢明糾錯(cuò)編碼技術(shù)。對(duì)8kSPS的矢量信號(hào)中,每個(gè)矢量加入3bit的控制位,但所占的時(shí)間長(zhǎng)度仍為原來(lái)4位矢量的時(shí)間長(zhǎng)度。接著,將7位的矢量信號(hào)進(jìn)行串行化,產(chǎn)生56kbps的0、1數(shù)據(jù)流輸出到A端,如圖1所示。
● 調(diào)制、解調(diào)和信道傳輸
從A端輸出的二進(jìn)制數(shù)據(jù)流在調(diào)制(Modulation)子VI中進(jìn)行4PSK數(shù)字調(diào)制。4PSK是受0~3這4個(gè)數(shù)據(jù)調(diào)制的,這四個(gè)值是用連續(xù)兩個(gè)二進(jìn)制位表示的。這里進(jìn)行的調(diào)制是基帶調(diào)制,調(diào)制子VI輸出的調(diào)制過(guò)后的基帶信號(hào)。采用多個(gè)控件實(shí)現(xiàn)對(duì)調(diào)制的一些基本參數(shù)的設(shè)定,如字符速率、每個(gè)字符的采樣數(shù)、波形形成濾波器的類(lèi)型及參數(shù)。輸出的基帶信號(hào)通過(guò)上變頻(upconverter)VI實(shí)現(xiàn)上變頻,把基帶信號(hào)搬移到400kHz的頻率段。對(duì)應(yīng)實(shí)際中的信號(hào),就可以直接發(fā)射到信道上了。仿真過(guò)程中,采用的是一個(gè)簡(jiǎn)單的加性高斯白噪聲信道模型。通過(guò)對(duì)信噪比(Eb/NO)控件的設(shè)置,實(shí)現(xiàn)對(duì)信道信噪比參數(shù)的選擇。接受端收到一個(gè)被信道噪聲損傷的信號(hào),通過(guò)相逆過(guò)程實(shí)現(xiàn)解調(diào)功能。經(jīng)過(guò)下變頻(downconverter)VI程序下變頻的基帶信號(hào)進(jìn)入到解調(diào)(Demodulation)子VI。在解調(diào)中進(jìn)行相位檢測(cè),將4個(gè)不同的相位檢測(cè)出來(lái),映射成0~3的4個(gè)不同的量值,然后轉(zhuǎn)換為2bit的二進(jìn)制比特流從B端輸出。所述實(shí)現(xiàn)了調(diào)制解調(diào)和高斯白噪聲信道的傳輸,如圖2所示。
● 解碼和信號(hào)恢復(fù)
B端輸出的二進(jìn)制比特流進(jìn)入到解碼(Decode)子VI,其完成數(shù)據(jù)流的漢明碼譯碼的功能。解碼VI將比特流組成七維的矢量數(shù)組,經(jīng)漢明距離的判斷,再把七維矢量糾錯(cuò)轉(zhuǎn)化為四維矢量,即D端輸出的接受信息流,完成糾錯(cuò)譯碼的功能。四維的矢量數(shù)組由To Dw





