PCM編譯碼器的仿真設(shè)計(jì)_第1頁(yè)
PCM編譯碼器的仿真設(shè)計(jì)_第2頁(yè)
PCM編譯碼器的仿真設(shè)計(jì)_第3頁(yè)
PCM編譯碼器的仿真設(shè)計(jì)_第4頁(yè)
PCM編譯碼器的仿真設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、PCM編譯碼器的仿真設(shè)計(jì)摘 要隨著通信事業(yè)的發(fā)展,特別是電子器件、集成電路、脈沖技術(shù)的發(fā)展,脈沖編碼通信(PCM)得到了廣泛的發(fā)展與應(yīng)用。PCM是一種一組二進(jìn)制數(shù)字代碼來(lái)代替連續(xù)信號(hào)的抽樣值,從而實(shí)現(xiàn)數(shù)字通信的方式。由于這種通信方式抗干擾能力強(qiáng),易于加密,易于集成化小型化,因此它已成為數(shù)字通信網(wǎng)與綜合業(yè)務(wù)數(shù)字網(wǎng)中的主要傳輸方式。本設(shè)計(jì)分別基于MATLAB和FPGA完成了PCM的編譯碼過(guò)程,整個(gè)系統(tǒng)包含有A律13折線編碼、PCM線路編碼如HDB3碼及PCM組幀(復(fù)用)過(guò)程,以及對(duì)應(yīng)的13折線譯碼、線路譯碼及解復(fù)用過(guò)程的各個(gè)模塊。能夠完整的實(shí)現(xiàn)PCM的編譯器的整個(gè)過(guò)程。關(guān)鍵詞:PCM MATLAB

2、 FPGA 線路編譯碼 復(fù)用Design and Simulation of the PCM Incoding and DecodingAbstractWith the development of communication technology, especially the development of electronic components, integrated circuit, pulse technology, pulse code communication (PCM) has widely development and application. PCM is a set

3、 of binary digital code instead of a continuous signal sampling value, so as to realize the digital communication. Because of this communication mode and strong anti-interference ability, easy encryption, easy integration of small, so it has become the main mode of transmission of digital communicat

4、ion network and integrated services digital network.The design of MATLAB and FPGA were completed based on encoding and decoding process of PCM, the whole system includes the A Law 13 line coding, PCM line code such as HDB3 code and PCM framing (multiplexing) process, and the decoding of 13 line, lin

5、e corresponding decoding and demultiplexing process each module. Can realize the whole process of PCM compiler completeKeywords:PCM ;FPGA ;MATLAB ;Line coding ;multiplexing目 錄1 引言11.1 設(shè)計(jì)的背景及意義11.2 PCM編譯碼系統(tǒng)的發(fā)展歷史及研究現(xiàn)狀11.3 PCM通信系統(tǒng)原理21.4 方案選擇41.4.1 MATLAB軟件仿真41.4.2 VHDL硬件編程52 MATLAB軟件設(shè)計(jì)72.1總體結(jié)構(gòu)框圖72.2正弦信

6、號(hào)產(chǎn)生模塊82.3 A律13折線的編碼譯碼82.3.1 編碼模塊及仿真102.3.2 譯碼模塊及仿真112.4復(fù)用模塊122.5 HDB3編譯碼模塊132.5.1 HDB3編碼模塊142.5.2 HDB3譯碼模塊173 VHDL硬件編程設(shè)計(jì)183.1 Quartus II軟件設(shè)計(jì)結(jié)構(gòu)183.2 A率13折線編解碼模塊183.2.1 A率13折線編碼模塊193.2.2 A率13折線譯碼模塊193.3復(fù)用解復(fù)用模塊203.3.1時(shí)分復(fù)用模塊213.3.2時(shí)分解復(fù)用模塊223.4 HDB3編譯碼模塊233.4.1 HDB3編碼模塊233.4.2 HDB3譯碼模塊304 總結(jié)33謝辭34參考文獻(xiàn)35附

7、錄361 引言1.1 設(shè)計(jì)的背景及意義隨著科學(xué)技術(shù)的不斷發(fā)展,數(shù)字通信在日常生活中到處可見(jiàn),在數(shù)字通信中編解碼器的應(yīng)用更是很廣泛。編解碼器經(jīng)常用在視頻會(huì)議和流媒體等應(yīng)用中,通常主要還是用在廣電行業(yè),作前端應(yīng)用。編解碼器是在同一裝置中,由工作于相反傳輸方向的編碼器和解碼器構(gòu)成的組合體。在PCM通信系統(tǒng)中模擬信號(hào)與編碼數(shù)字信號(hào)的相互轉(zhuǎn)換是以重要環(huán)節(jié),它是由編解碼器來(lái)完成。采用不同編碼方式、壓擴(kuò)特性、編碼位數(shù)會(huì)直接影響其傳輸質(zhì)量,決定其量化噪聲。脈沖編碼調(diào)制是把模擬信號(hào)變成數(shù)字信號(hào)的一種調(diào)制方式,其最大的特征是把連續(xù)的輸入信號(hào)變換為時(shí)間域和振幅域上都離散的量,然后再把它變換為二進(jìn)制代碼進(jìn)行傳輸。脈沖

8、編碼調(diào)制的原理是由采樣、量化、編碼三個(gè)步驟構(gòu)成。其功能是完成模-數(shù)轉(zhuǎn)換,實(shí)現(xiàn)連續(xù)消息數(shù)字化1。利用PCM技術(shù),從而完整的將編譯碼器的整個(gè)功能實(shí)現(xiàn)出來(lái)。本設(shè)計(jì)是分別通過(guò)MATLAB和VHDL語(yǔ)言來(lái)是實(shí)現(xiàn)PCM系統(tǒng)的仿真,通過(guò)仿真來(lái)查看PCM整個(gè)編譯碼的過(guò)程,更加清晰全面的了解PCM系統(tǒng)的原理和信號(hào)的傳輸過(guò)程。通過(guò)學(xué)習(xí)PCM系統(tǒng)的原理和信號(hào)傳輸?shù)倪^(guò)程來(lái)掌握模擬通信和數(shù)字通信系統(tǒng)的信息傳輸?shù)幕驹砗头治龇椒?,能夠懂得通信系統(tǒng)的基本原理和構(gòu)成。了解有關(guān)通信系統(tǒng)中的技術(shù)指標(biāo)及改善系統(tǒng)性能的一些基本技術(shù)措施。為我們?nèi)嫦到y(tǒng)的了解信號(hào)傳輸過(guò)程提供理論依據(jù)。1.2 PCM編譯碼系統(tǒng)的發(fā)展歷史及研究現(xiàn)狀PCM

9、技術(shù)是英國(guó)人A.里弗斯提出來(lái)的,后來(lái)的數(shù)字移動(dòng)通信技術(shù)則運(yùn)用的就是PCM技術(shù)。室內(nèi)電話網(wǎng)中PCM技術(shù)的使用使音頻電纜芯線的傳輸容量大大提高了。70年代的中后期,PCM技術(shù)又成功的應(yīng)用于各種中、大容量傳輸系統(tǒng)。隨著電子信息產(chǎn)業(yè)的迅速發(fā)展,通信技術(shù)運(yùn)用的范圍越來(lái)越廣泛,其中,市話中繼傳輸和大容量干線傳輸以及數(shù)字程控交換機(jī)以及用戶話機(jī)中都采用了PCM技術(shù)。80年代初,脈碼調(diào)制已用于市話中繼傳輸和大容量干線傳輸以及數(shù)字程控交換機(jī),并在用戶話機(jī)中采用。如今脈沖調(diào)制可以向用戶提供多種業(yè)務(wù),既可以提供從2M到155M速率的數(shù)字?jǐn)?shù)據(jù)專線業(yè)務(wù),也可以提供話音、圖象傳送、遠(yuǎn)程教學(xué)等其他業(yè)務(wù)。特別適用于對(duì)數(shù)據(jù)傳輸速

10、率要求較高,需要更高帶寬的用戶使用。如今的PCM技術(shù)越來(lái)越成熟,并且已經(jīng)應(yīng)用到了各個(gè)方面。其中有PCM做低速數(shù)據(jù)接入設(shè)備,還有利用PCM技術(shù)實(shí)現(xiàn)埋地管道防腐層狀況檢測(cè)系統(tǒng)。在2011年09月30日,在北京時(shí)代全芯科技有限公司在與美國(guó)全芯科技公司(BAMC)及其合作方IBM團(tuán)隊(duì)的共同努力下,第一批基于相變存儲(chǔ)器的產(chǎn)品芯片已經(jīng)設(shè)計(jì)完成,成為中國(guó)第一批高密度相變存儲(chǔ)器芯片。這種芯片就是應(yīng)用有PCM技術(shù)。1.3 PCM通信系統(tǒng)原理脈沖編碼調(diào)制在通信系統(tǒng)中完成將語(yǔ)音信號(hào)數(shù)字化功能。是一種對(duì)模擬信號(hào)數(shù)字化的取樣技術(shù),將模擬信號(hào)變換為數(shù)字信號(hào)的編碼方式,特別是對(duì)于音頻信號(hào)。PCM 對(duì)信號(hào)每秒鐘取樣 8000

11、 次;每次取樣為8個(gè)位,總共64kbps。PCM的實(shí)現(xiàn)主要包括三個(gè)步驟完成:抽樣、量化、編碼。分別完成時(shí)間上離散、幅度上離散、及量化信號(hào)的二進(jìn)制表示。根據(jù)CCITT的建議,為改善小信號(hào)量化性能,采用壓擴(kuò)非均勻量化,有兩種建議方式,分別為A律和律方式,本設(shè)計(jì)采用了A律方式。由于A律壓縮實(shí)現(xiàn)復(fù)雜,常使用13折線法編碼,采用非均勻量化PCM編碼示意圖如圖1-1所示。話音輸入低通濾波瞬時(shí)壓縮抽樣量化編碼信道再生解碼解調(diào)瞬時(shí)擴(kuò)張低通濾波話音輸出圖1-1 PCM原理框圖1.抽樣所謂抽樣,就是對(duì)模擬信號(hào)進(jìn)行周期性掃描,把時(shí)間上連續(xù)的信號(hào)變成時(shí)間上離散的信號(hào)。該模擬信號(hào)經(jīng)過(guò)抽樣后還應(yīng)當(dāng)包含原信號(hào)中所有信息,也

12、就是說(shuō)能無(wú)失真的恢復(fù)原模擬信號(hào)。它的抽樣速率的下限是由抽樣定理確定的。在一個(gè)頻帶限制在內(nèi)的時(shí)間連續(xù)信號(hào),如果以的時(shí)間間隔對(duì)它進(jìn)行抽樣,那么根據(jù)這些抽樣值就能完全恢復(fù)原信號(hào)?;蛘哒f(shuō),如果一個(gè)連續(xù)信號(hào)的頻譜中最高頻率不超過(guò),當(dāng)抽樣頻率時(shí),抽樣后的信號(hào)就包含原連續(xù)的全部信息。抽樣定理在實(shí)際應(yīng)用中應(yīng)注意在抽樣前后模擬信號(hào)進(jìn)行濾波,把高于二分之一抽樣頻率的頻率濾掉。這是抽樣中必不可少的步驟。2.量化從數(shù)學(xué)上來(lái)看,量化就是把一個(gè)連續(xù)幅度值的無(wú)限數(shù)集合映射成一個(gè)離散幅度值的有限數(shù)集合。如圖1-2所示,量化器Q輸出L個(gè)量化值,。常稱為重建電平或量化電平。當(dāng)量化器輸入信號(hào)幅度落在與之間時(shí),量化器輸出電平為。這個(gè)

13、量化過(guò)程可以表達(dá)為: (1)這里稱為分層電平。通常: (2)其中稱為量化間隔。模擬信號(hào)的量化分為均勻量化和非均勻量化。由于均勻量化存在的主要缺點(diǎn)是:無(wú)論抽樣值大小如何,量化噪聲的均方根值都固定不變。因此,當(dāng)信號(hào)較小時(shí),則信號(hào)量化噪聲功率比也就很小,這樣,對(duì)于弱信號(hào)時(shí)的量化信噪比就難以達(dá)到給定的要求。通常,把滿足信噪比要求的輸入信號(hào)取值范圍定義為動(dòng)態(tài)范圍,可見(jiàn),均勻量化時(shí)的信號(hào)動(dòng)態(tài)范圍將受到較大的限制。為了克服這個(gè)缺點(diǎn),實(shí)際中,往往采用非均勻量化。非均勻量化是根據(jù)信號(hào)的不同區(qū)間來(lái)確定量化間隔的。對(duì)于信號(hào)取值小的區(qū)間,其量化間隔也小;反之,量化間隔就大。它與均勻量化相比,有兩個(gè)突出的優(yōu)點(diǎn)。首先,當(dāng)

14、輸入量化器的信號(hào)具有非均勻分布的概率密度(實(shí)際中常常是這樣)時(shí),非均勻量化器的輸出端可以得到較高的平均信號(hào)量化噪聲功率比;其次,非均勻量化時(shí),量化噪聲功率的均方根值基本上與信號(hào)抽樣值成比例。因此量化噪聲對(duì)大、小信號(hào)的影響大致相同,即改善了小信號(hào)時(shí)的量化信噪比。實(shí)際中,非均勻量化的實(shí)際方法通常是將抽樣值通過(guò)壓縮再進(jìn)行均勻量化。通常使用的壓縮器中,大多采用對(duì)數(shù)式壓縮。廣泛采用的兩種對(duì)數(shù)壓縮律是壓縮律和A壓縮律。美國(guó)采用壓縮律,我國(guó)和歐洲各國(guó)均采用A壓縮律,因此,PCM編碼方式采用的也是A壓縮律。模擬信號(hào)的量化過(guò)程如圖1-2所示。 模擬入量化器量化值圖1-2 模擬信號(hào)的量化3.編碼本設(shè)計(jì)共包含兩部分

15、編譯碼,A率13折線編碼譯碼與HDB3編譯碼。當(dāng)然這兩種編譯碼方式迥然不同,前者屬于信源編碼后者屬于信道編碼。A率13折線的編譯碼中所謂編碼就是把量化后的信號(hào)變換成代碼,其相反的過(guò)程稱為譯碼。在現(xiàn)有的編碼方法中若按編碼的速度來(lái)分,大致可以分為兩類:低速編碼和高速編碼。通信中一般都采用第二類。編碼器的種類大體上可以歸納為三類:比較型、折疊級(jí)聯(lián)型和混合型。在逐次比較型中,無(wú)論采用幾位碼,一般均按照極性碼、段落碼、段內(nèi)碼和順序排列。下面結(jié)合13折線的量化加以說(shuō)明。在13折線法中,無(wú)論輸入信號(hào)是正是負(fù),均按8段折線(8個(gè)段落)進(jìn)行編碼。若用8位折疊二進(jìn)制碼來(lái)表示輸入信號(hào)的抽樣量化值,其中用第一位表示量

16、化值的極性,其余七位(第二位至第八位)則表示抽樣量化值的絕對(duì)大小。具體的做法是:用第二至第四位表示段落碼,它的8種可能狀態(tài)來(lái)分別代表8個(gè)段落的起點(diǎn)電平。其它四位表示段內(nèi)碼,它的16種可能狀態(tài)來(lái)分別代表每一段落的16個(gè)均勻劃分的量化級(jí)。HDB3編碼這種碼型在數(shù)字通信中用得很多,HDB3碼是AMI碼的改進(jìn)型,稱為三階高密度雙極性碼。它保持AMI碼極性反轉(zhuǎn)的優(yōu)點(diǎn)而克服連“0”串過(guò)長(zhǎng)的缺點(diǎn),使連“0”的個(gè)數(shù)不超過(guò)3。從消息代碼到HDB3碼的編碼規(guī)則是:(1)將消息代碼變換成AMI碼。(2)檢查AMI碼中的0情況,當(dāng)無(wú)4個(gè)或4個(gè)以上的連0串時(shí),則保持AMI碼的形式不變。(3)當(dāng)代碼序列中出現(xiàn)4個(gè)或4個(gè)以

17、上的連“0”碼時(shí),則將連“0”段按4個(gè)“0”分節(jié),即“0000”為一節(jié),并使第4個(gè)“0”碼變?yōu)椤?”碼,用V脈沖表示,且V脈沖的極性與前一個(gè)“1”脈沖的極性相同,稱V為破壞碼,“000V”為破壞節(jié)。(4)當(dāng)所得序列中2個(gè)相鄰破壞碼V之間“1”脈沖的個(gè)數(shù)為偶數(shù),則還需將第二個(gè)破壞節(jié)中的第一個(gè)“0”碼變?yōu)椤?”碼,用B脈沖表示。這時(shí)破壞節(jié)就變?yōu)椤癇00V”形式。B脈沖的極性與其前一個(gè)“1”脈沖的極性相反,而與其后的V脈沖極性相同9。1.4 方案選擇如今,PCM編譯碼器與話路濾波器已經(jīng)可以成熟的結(jié)合在同一個(gè)芯片當(dāng)中,然而在實(shí)際應(yīng)用中,如果單純的依靠PCM編譯碼芯片來(lái)完成整個(gè)系統(tǒng)功能,無(wú)論是電路設(shè)計(jì)還

18、是功能實(shí)現(xiàn),都是一個(gè)極其復(fù)雜困難的過(guò)程,但是借助軟件設(shè)計(jì)仿真,可以準(zhǔn)確清晰的實(shí)現(xiàn)PCM系統(tǒng)的仿真結(jié)果,從而更加簡(jiǎn)單了解其各部分功能特性。1.4.1 MATLAB軟件仿真本設(shè)計(jì)選擇利用MATLAB 的Simulink 平臺(tái),來(lái)完成對(duì)整個(gè)PCM編譯碼系統(tǒng)的實(shí)現(xiàn)。Simulink是MATLAB中的一種可視化仿真工具, 是一種基于MATLAB的框圖設(shè)計(jì)環(huán)境,是實(shí)現(xiàn)動(dòng)態(tài)系統(tǒng)建模、仿真和分析的一個(gè)軟件包,被廣泛應(yīng)用于線性系統(tǒng)、非線性系統(tǒng)、數(shù)字控制及數(shù)字信號(hào)處理的建模和仿真中。Simulink可以用連續(xù)采樣時(shí)間、離散采樣時(shí)間或兩種混合的采樣時(shí)間進(jìn)行建模,它也支持多速率系統(tǒng),也就是系統(tǒng)中的不同部分具有不同的采

19、樣速率。為了創(chuàng)建動(dòng)態(tài)系統(tǒng)模型,Simulink提供了一個(gè)建立模型方塊圖的圖形用戶接口 (GUI) ,這個(gè)創(chuàng)建過(guò)程只需單擊和拖動(dòng)鼠標(biāo)操作就能完成,它提供了一種更快捷、直接明了的方式,而且用戶可以立即看到系統(tǒng)的仿真結(jié)果。Simulink是用于動(dòng)態(tài)系統(tǒng)和嵌入式系統(tǒng)的多領(lǐng)域仿真和基于模型的設(shè)計(jì)工具。對(duì)各種時(shí)變系統(tǒng),包括通訊、控制、信號(hào)處理、視頻處理和圖像處理系統(tǒng),Simulink提供了交互式圖形化環(huán)境和可定制模塊庫(kù)來(lái)對(duì)其進(jìn)行設(shè)計(jì)、仿真、執(zhí)行和測(cè)試。.構(gòu)架在Simulink基礎(chǔ)之上的其他產(chǎn)品擴(kuò)展了Simulink多領(lǐng)域建模功能,也提供了用于設(shè)計(jì)、執(zhí)行、驗(yàn)證和確認(rèn)任務(wù)的相應(yīng)工具。Simulink與MATL

20、AB緊密集成,可以直接訪問(wèn)MATLAB大量的工具來(lái)進(jìn)行算法研發(fā)、仿真的分析和可視化、批處理腳本的創(chuàng)建、建模環(huán)境的定制以及信號(hào)參數(shù)和測(cè)試數(shù)據(jù)的定義。Simulink是MATLAB提供的用于對(duì)動(dòng)態(tài)系統(tǒng)進(jìn)行建模、仿真和分析的工具包。Simulink提供了專門用于顯示輸出信號(hào)的模塊,可以在仿真過(guò)程中隨時(shí)觀察仿真結(jié)果。同時(shí),通過(guò)Simulink的存儲(chǔ)模塊,仿真數(shù)據(jù)可以方便地以各種形式保存到工作區(qū)或文件中,供用戶在仿真結(jié)束后對(duì)數(shù)據(jù)進(jìn)行分析和處理。所以在利用MATLAB實(shí)現(xiàn)PCM編譯碼系統(tǒng)時(shí)選擇Simulink平臺(tái)7。1.4.2 VHDL硬件編程VHDL是一標(biāo)準(zhǔn)化的硬件描述語(yǔ)言。采用VHDL設(shè)計(jì)的電路通???/p>

21、以在單個(gè)可編程芯片上實(shí)現(xiàn),并且設(shè)計(jì)過(guò)程與傳統(tǒng)方式相比極為方便快捷。使用VHDL進(jìn)行電子系統(tǒng)設(shè)計(jì),可以使用自頂向下的模塊化設(shè)計(jì)方法,設(shè)計(jì)成果標(biāo)準(zhǔn)化,可移植性好6。(1)與其他的硬件描述語(yǔ)言相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語(yǔ)言。強(qiáng)大的行為描述能力是避開(kāi)具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。(2)VHDL豐富的仿真語(yǔ)句和庫(kù)函數(shù),使得在任何大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。(3)VHDL語(yǔ)句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。符合市場(chǎng)需求的大規(guī)模系

22、統(tǒng)高效,高速的完成必須有多人甚至多個(gè)開(kāi)發(fā)組共同并行工作才能實(shí)現(xiàn)。(4)對(duì)于用VHDL完成的一個(gè)確定的設(shè)計(jì),可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,并自動(dòng)的把VHDL描述設(shè)計(jì)轉(zhuǎn)變成門級(jí)網(wǎng)表。(5)VHDL對(duì)設(shè)計(jì)的描述具有相對(duì)獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)4。作為一種電子設(shè)計(jì)自動(dòng)化(EDA)的工具,Quartus II可編輯邏輯器件的集成開(kāi)發(fā)軟件支持可編輯邏輯器件開(kāi)發(fā)的全過(guò)程。這個(gè)過(guò)程包括一下步驟:創(chuàng)建工程,工程用來(lái)組織整個(gè)可編輯邏輯器件的開(kāi)發(fā)的過(guò)程;設(shè)計(jì)輸入,用硬件描述語(yǔ)言通過(guò)文本編輯的方法完成電路設(shè)計(jì);設(shè)計(jì)編譯,把設(shè)計(jì)輸入轉(zhuǎn)換為支持可編

23、程邏輯器件編程的文件格式;設(shè)計(jì)仿真,該步驟用來(lái)檢查設(shè)計(jì)是否滿足邏輯要求;器件編程,使用可編程邏輯具有所要求的邏輯功能。Quartus 它在一個(gè)單一、標(biāo)準(zhǔn)的設(shè)計(jì)環(huán)境里提供一整套綜合、優(yōu)化及驗(yàn)證工具,其功能十分強(qiáng)大。Quartus 提供了方便的設(shè)計(jì)輸入方式、快速的編譯和直接易懂的器件編程。能夠支持邏輯門數(shù)在百萬(wàn)門以上的邏輯器件的開(kāi)發(fā),并且為第三方工具提供了無(wú)縫接口9。故基于VHDL語(yǔ)言編程開(kāi)發(fā)PCM編譯碼系統(tǒng)選用Quartus II軟件。2 MATLAB軟件設(shè)計(jì)2.1總體結(jié)構(gòu)框圖PCM系統(tǒng)的主要原理就是通過(guò)對(duì)模擬信號(hào)進(jìn)行抽樣量化編碼轉(zhuǎn)換為數(shù)字信號(hào)然后經(jīng)過(guò)信道傳輸后再經(jīng)過(guò)整個(gè)編碼之前的逆過(guò)程譯碼最后

24、輸出。其總體的結(jié)構(gòu)框圖如圖2-1所示。低通濾波瞬時(shí)壓縮再 生解 碼瞬時(shí)擴(kuò)張?jiān)捯糨敵龅屯V波解 調(diào)編 碼量 化抽 樣信道話音輸入圖2-1 原理框圖首先對(duì)模擬信號(hào)進(jìn)行抽樣量化后,運(yùn)用A律13折線方法將量化后的信號(hào)編碼成更利于傳輸?shù)?位二進(jìn)制碼,通過(guò)并串轉(zhuǎn)換將多路編碼后的二進(jìn)制碼合成一路傳輸信號(hào),再經(jīng)復(fù)用和信道編碼是信號(hào)更利于傳輸。在接受端,在經(jīng)信道編碼后的信號(hào)進(jìn)行信道解碼,再經(jīng)解復(fù)用和串并轉(zhuǎn)換后還原出多路8位二進(jìn)制碼信號(hào),經(jīng)A律解碼還原出原信號(hào)。本設(shè)計(jì)采用simulink搭建模塊實(shí)現(xiàn)A律13折線編碼、PCM線路編碼如HDB3碼及PCM組幀(復(fù)用)過(guò)程,以及對(duì)應(yīng)的13折線譯碼、線路譯碼及解復(fù)用過(guò)程。

25、其總體在simulink平臺(tái)搭建的模型如圖2-2所示。圖2-2 總體模型搭建2.2正弦信號(hào)產(chǎn)生模塊建立一個(gè)很小的系統(tǒng),用示波器觀察正弦信號(hào)的平方的波形,如圖2-3所示系統(tǒng)中所需的模塊:正弦波模塊,示波器模塊。圖2-3 信號(hào)發(fā)生器系統(tǒng)內(nèi)示波器的波形顯示如圖2-4所示。 圖 2-4 單正弦波與平方波對(duì)比這是給出模擬信號(hào)用來(lái)進(jìn)行下一步的抽樣量化。和輸出時(shí)做對(duì)比。2.3 A律13折線的編碼譯碼所謂編碼就是把量化后的信號(hào)變換成代碼,其相反的過(guò)程稱為譯碼。本設(shè)計(jì)的信源編碼采用A律13折線方式。A率壓縮原理:理想對(duì)數(shù)壓縮:需對(duì)的小信號(hào)段進(jìn)行修正A律修正思想:(1) .過(guò)原點(diǎn)做的切線,切點(diǎn)b;(2) .切線o

26、b段+曲線bcA律壓縮曲線。A壓縮律是指符合下式的對(duì)數(shù)壓縮規(guī)律:式中,x為壓縮器歸一化輸入電壓;y為壓縮器歸一化輸出電壓;A為常數(shù),決定壓縮程度。A壓縮律中的常數(shù)A不同,則壓縮曲線的形狀也不同,它將特別影響小電壓時(shí)的信號(hào)量噪比的大小,在實(shí)用中,選擇A等于87.6。A律壓縮表示式是一條連續(xù)的平滑曲線,用電子線路很難準(zhǔn)確的實(shí)現(xiàn)。現(xiàn)在由于數(shù)字電路技術(shù)的發(fā)展,這種特性很容易用數(shù)字電路來(lái)近似實(shí)現(xiàn),13折線特性就是近似于A壓縮律的特性,其曲線見(jiàn)圖2. 圖2-5 13折線壓縮特性曲線 圖中橫坐標(biāo)x在01區(qū)間中分為不均勻的8段。1間的線段稱為第8段;間的線段稱為第7段;間的線段稱為第6段;依此類推,直到0間的

27、線段稱為第1段。圖中縱坐標(biāo)y則均勻的劃分為8段。將這8段相應(yīng)的坐標(biāo)點(diǎn)(x,y)相連,就得到了一條折線。 在13折線法中,無(wú)論輸入信號(hào)是正是負(fù),均按8段折線(8個(gè)段落)進(jìn)行編碼。若用8位折疊二進(jìn)制碼來(lái)表示輸入信號(hào)的抽樣量化值,其中用第一位表示量化值的極性,其余七位(第二位至第八位)則表示抽樣量化值的絕對(duì)大小。具體的做法是:用第二至第四位表示段落碼,它的8種可能狀態(tài)來(lái)分別代表8個(gè)段落的起點(diǎn)電平。其它四位表示段內(nèi)碼,它的16種可能狀態(tài)來(lái)分別代表每一段落的16個(gè)均勻劃分的量化級(jí)。這樣處理的結(jié)果,8個(gè)段落被劃分成128個(gè)量化級(jí)。表2-1 碼組結(jié)構(gòu)圖極性碼段落碼段內(nèi)碼M1M2M3M4M5M6M7M8其中,

28、第1位碼M1的數(shù)值“1”或“0”分別代表信號(hào)的正、負(fù)極性,稱為極性碼。M2M3M4稱為段落碼,標(biāo)示抽樣數(shù)據(jù)所在的段落位置;M5M6M7M8為段內(nèi)碼表示信號(hào)絕對(duì)值在段內(nèi)16個(gè)量化級(jí)上的哪一個(gè)量化級(jí)4。2.3.1 編碼模塊及仿真本設(shè)計(jì)進(jìn)行MATLAB編碼仿真編碼設(shè)計(jì)如圖2-6所示。圖2-6 13折線近似的PCM編碼器模型其中以constant作為數(shù)字信號(hào)源,產(chǎn)生一個(gè)恒定的數(shù)字脈沖信號(hào);Gain1作為一個(gè)線性變換器將輸入的絕對(duì)值不大于2048的數(shù)據(jù)變換為-1,1的區(qū)間之內(nèi),保證輸入的信號(hào)滿足A律壓縮器的要求;saturation限幅器使得絕對(duì)值大于2048的數(shù)值經(jīng)過(guò)限幅器后輸出依然為一;Abs取絕對(duì)

29、值;以A-Law Compressor作壓縮器,進(jìn)行A律壓縮。Relay模塊的門限值為0,其輸出即可作為PCM編碼輸出的最高位極性碼;Gain用做增益模塊將樣值放大到0-127,這樣輸出7位碼; Quantizer對(duì)放大的數(shù)據(jù)進(jìn)行間隔為1的量化,并進(jìn)行進(jìn)行四舍五入取整;Inter to Bit Converter將量化后的整數(shù)編碼為7位二進(jìn)制序列,作為PCM編碼的低7位;Display輸出編碼后的八位序列。圖2-7為A率13折線編碼后輸出的波形。圖2-7 13折線編碼輸出2.3.2 譯碼模塊及仿真本設(shè)計(jì)A率13折線譯碼模塊的模型如圖2-7所示。圖2-8 13折線的PCM解碼器模型PCM解碼器中

30、首先分離并行數(shù)據(jù)中的最高位(極性碼)和7位數(shù)據(jù),然后將7位數(shù)據(jù)轉(zhuǎn)換位整數(shù)值,再進(jìn)行歸一化,擴(kuò)張后與雙極性的極性碼相乘得出解碼值。可以將該模型中In1 Out1右端和Display左端的部分封裝為一個(gè)PCM解碼子系統(tǒng)備用。然后通過(guò)低通濾波器,最后在示波器Scope上得出輸出波形,示波器上還顯示了原信號(hào),以便與輸出信號(hào)進(jìn)行比較。圖2-9為A率13折線譯碼后輸出波形。圖2-9 13折線譯碼輸出2.4復(fù)用模塊在實(shí)際的通信系統(tǒng)中,為了提高通信系統(tǒng)的利用率,往往用多路通信的方式來(lái)傳輸信號(hào)。所謂多路通信,就是指把多個(gè)不同信源所發(fā)出的信號(hào)組合成一個(gè)群信號(hào),并經(jīng)由同一信道進(jìn)行傳輸,在收端再將它分離并將它們相應(yīng)接

31、收。根據(jù)信號(hào)分割技術(shù)的不同,多路復(fù)用可以分為頻分多路復(fù)用、時(shí)分多路復(fù)用、波分多路復(fù)用和碼分多路復(fù)用。時(shí)分多路復(fù)用又進(jìn)一步劃分為同步時(shí)分復(fù)用(時(shí)分復(fù)用)和異步時(shí)分復(fù)用(統(tǒng)計(jì)時(shí)分復(fù)用)。然而時(shí)分復(fù)用通信系統(tǒng)有兩個(gè)突出的優(yōu)點(diǎn),一是多路信號(hào)的匯合與分路都是數(shù)字電路,簡(jiǎn)單、可靠;二是時(shí)分復(fù)用通信系統(tǒng)對(duì)非線性失真的要求比較低。所以本設(shè)計(jì)采用的是同步時(shí)分復(fù)用。時(shí)分復(fù)用是建立在抽樣定理基礎(chǔ)上的,因?yàn)槌闃佣ɡ硎惯B續(xù)的基帶信號(hào)有可能被在時(shí)間上離散出現(xiàn)的抽樣脈沖所代替。這樣,當(dāng)抽樣脈沖占據(jù)較短時(shí)間時(shí),在抽樣脈沖之間就留出了時(shí)間空隙。利用這些空隙便可以傳輸其他信號(hào)的抽樣值,因此,就可能用一條信道同時(shí)傳送若干個(gè)基帶信號(hào)

32、,并且每一個(gè)抽樣值占用的時(shí)間越短,能夠傳輸?shù)穆窋?shù)也就越多。其原理示意圖如圖2-10所示。圖2-10 時(shí)分復(fù)用示意圖其在simulink搭建模塊如圖2-11所示。圖2-11 時(shí)分復(fù)用系統(tǒng)模塊根據(jù)同步時(shí)分多路復(fù)用系統(tǒng)原理,搭建模塊,如圖2-10在左側(cè)輸入端輸入包括方波、正弦波及鋸齒波的四路信號(hào),經(jīng)過(guò)Subsystem在脈沖控制下實(shí)現(xiàn)對(duì)左側(cè)輸入信號(hào)按時(shí)間依次進(jìn)行抽取。合并器Merge的功能是將在不同時(shí)隙抽取的信號(hào)合并成一路向量信號(hào)并由示波器輸出該復(fù)用波形。Subsystem1結(jié)構(gòu)同Subsystem,實(shí)現(xiàn)時(shí)分復(fù)用系統(tǒng)原理框圖中高速開(kāi)關(guān)的作用,即在接收端將經(jīng)合并器Merge以后的復(fù)用信號(hào)以按時(shí)間抽取的

33、方式分離成原始的四路信號(hào)。2.5 HDB3編譯碼模塊數(shù)字基帶信號(hào)的傳輸是數(shù)字通信系統(tǒng)的重要組成部分之一。在數(shù)字通信中,有些場(chǎng)合可不經(jīng)過(guò)載波調(diào)制和解調(diào)過(guò)程,而對(duì)基帶信號(hào)進(jìn)行直接傳輸。為使基帶信號(hào)能適合在基帶信道中傳輸,通常要經(jīng)過(guò)基帶信號(hào)變化,這種變化過(guò)程事實(shí)上就是編碼過(guò)程。于是,出現(xiàn)了各種各樣常用碼型。不同碼型有不同的特點(diǎn)和不同的用途。作為傳輸用的基帶信號(hào)歸納起來(lái)有如下要求:1 希望將原始信息符號(hào)編制成適合與傳輸用的碼型;2 對(duì)所選碼型的電波形,希望它適宜在信道中傳輸??蛇M(jìn)行基帶傳輸?shù)拇a型較多。本設(shè)計(jì)中,選用HDB3編譯碼來(lái)實(shí)現(xiàn)信道中的仿真。HDB3這種碼型在數(shù)字通信中用得很多,HDB3碼是AM

34、I碼的改進(jìn)型,稱為三階高密度雙極性碼。它保持AMI碼極性反轉(zhuǎn)的優(yōu)點(diǎn)而克服連“0”串過(guò)長(zhǎng)的缺點(diǎn),使連“0”的個(gè)數(shù)不超過(guò)3。HDB3碼的特點(diǎn)如下: 基帶信號(hào)無(wú)直流成分,且只有很小的低頻成分; 連0串符號(hào)最多只有3個(gè),利于定時(shí)信息的提??; 不受信源統(tǒng)計(jì)特性的影響。其編碼原則:(1) 將消息代碼變換成AMI碼;(2) 檢查AMI碼中的連0情況,當(dāng)無(wú)4個(gè)以上的連0傳時(shí),則保持AMI的形式不變;若出現(xiàn)4個(gè)或4個(gè)以上連0時(shí),則將1后的第4個(gè)0變?yōu)榕c前一非0符號(hào)(+1或-1)同極性的符號(hào),用V表示(+1記為+V,-1記為-V(3) 檢查相鄰V符號(hào)間的非0符號(hào)的個(gè)數(shù)是否為偶數(shù),若為偶數(shù),則再將當(dāng)前的V符號(hào)的前一

35、非0符號(hào)后的第1個(gè)0變?yōu)?B或-B符號(hào),且B的極性與前一非0符號(hào)的極性相反,并使后面的非0符號(hào)從V符號(hào)開(kāi)始再交替變化。舉例如下:代碼 1 0 1 0 1 1 0 0 0 0 0 1 1 0 0 0 0 1 HDB3碼 +1 0 -1 0 +1 -1 0 0 0 -1 0 +1 -1 +1 0 0 +1 -1V、B -V +B +V2.5.1 HDB3編碼模塊HDB3編碼模塊如圖2-12所示。圖2-12 HDB3編碼模塊其主要功能是對(duì)A率13折線編碼后送來(lái)的碼組進(jìn)行編碼,以便在信道中準(zhǔn)確的傳輸。通過(guò)四個(gè)小模塊:連0判斷,B碼產(chǎn)生器,V碼產(chǎn)生器,AMI碼編碼模塊。根據(jù)編碼規(guī)則對(duì)碼組進(jìn)行HDB3編碼

36、實(shí)現(xiàn)其編碼功能。 如圖2-13所示為四個(gè)連“0”的判斷。圖2-13四個(gè)連“0”的判斷 此判斷器包括單位采樣延遲器、或門電路、及信號(hào)復(fù)用Switch。當(dāng)四個(gè)連“0”出現(xiàn)時(shí),經(jīng)過(guò)或門電路,產(chǎn)生“0”信號(hào)。 啟動(dòng)觸發(fā) Switch,使其切換到“1”的信號(hào),并且將結(jié)果反饋到接下來(lái)的信號(hào)中,以避免對(duì)某一些 “0” 信號(hào)的重復(fù)計(jì)數(shù)并進(jìn)行下次四連 “0” 的判斷; 反之, 如果沒(méi)有沒(méi)有出現(xiàn)四連 “0” ,在經(jīng)過(guò)或門電路時(shí),產(chǎn)生的是“1”信號(hào)彈,不能觸發(fā) Switch,使其輸出是“0”信號(hào)。如圖2-14所示為“B”碼產(chǎn)生器。圖2-14 “B”碼產(chǎn)生器 “”碼產(chǎn)生器要對(duì)每個(gè)特殊序列后的 “”碼個(gè)數(shù)進(jìn)行判別,用判

37、別結(jié)果控制“”碼的產(chǎn)和與否。四個(gè)連“”檢測(cè)器模塊的輸出既作為脈沖觸發(fā)信號(hào),又作為一路被復(fù)用的信號(hào)。并且在此過(guò)程中應(yīng)用一位計(jì)數(shù)器 Counter 來(lái)計(jì)數(shù),檢測(cè)“1”信號(hào)的個(gè)數(shù)(這里主要是檢測(cè)“1”信號(hào)是偶數(shù)個(gè)還是奇數(shù)個(gè),以決定是否加“B”碼)。對(duì)于In1 來(lái)說(shuō),由于前邊四連“0”判斷,這里要 3 個(gè)周期的延遲以達(dá)到與 In2 的信號(hào)同步。在后面經(jīng)過(guò) Sum 使得與延遲信號(hào)合路,最終生成 “V” 碼。之后是 AMI 編碼,并且運(yùn)用Triggered Subsystem來(lái)實(shí)現(xiàn)歸零變不歸零。如圖2-15所示為3“V”碼產(chǎn)生器。 圖2-15 3“V”碼產(chǎn)生器 由于代替四連“0”組的特殊序列中都含有“V”

38、脈沖,即每檢測(cè)到一個(gè)四連“0”組,都要產(chǎn)生一個(gè)“V”脈沖,因此, 四個(gè)連“0”與一個(gè)定時(shí)脈沖相乘即為一個(gè)“V”碼產(chǎn)生器。 后面模塊同樣也是 AMI 編碼模塊。 由于為保持與后面信號(hào)同步的原因, 這里的 “V”碼也延遲 3 個(gè)周期。如圖2-16所示為AMI碼編碼模塊。 圖2-16 AMI碼編碼模塊 當(dāng) AMI 碼編碼器輸入“0”碼時(shí),輸出“0”電平,當(dāng)輸入“1”碼時(shí),交替地輸出正負(fù)脈沖。單極性輸入信號(hào)為“1”時(shí)使用 Counter 模塊計(jì)數(shù),使它們分別產(chǎn)生所需脈沖的正脈沖和負(fù)脈沖。對(duì)于某個(gè)輸入“1”碼到底輸出是正脈沖- 1,還是負(fù)脈沖則由 Counter 及 Relay 所決定。2.5.2 HD

39、B3譯碼模塊HDB3碼的譯碼是編碼的逆過(guò)程,其譯碼相對(duì)于編碼較簡(jiǎn)單。從其編碼原理可知,每一個(gè)破壞符號(hào)V總是與前一非0符號(hào)同極性,因此,從收到的HDB3碼序列中,容易識(shí)別V符號(hào),同時(shí)也肯定V符號(hào)及其前面的3個(gè)符號(hào)必是連0符號(hào),于是可恢復(fù)成4個(gè)連0碼,然后再將所有的-1變成+1后變得到原消息代碼。如圖2-17所示為HDB3譯碼模塊。圖2-17 HDB3譯碼模塊其波形仿真如圖2-18所示。圖2-18 HDB3仿真波形其中:波形 1 為源碼波形 2 為編碼波形波形 3 為譯碼波形,延遲三個(gè)周期3 VHDL硬件編程設(shè)計(jì)3.1 Quartus II軟件設(shè)計(jì)結(jié)構(gòu)Quartus II集成開(kāi)發(fā)軟件允許用戶在開(kāi)發(fā)

40、過(guò)程中使用Quartus II圖形用戶界面、EDA工具界面和命令行界面。用戶可以在整個(gè)開(kāi)發(fā)過(guò)程中使用這些界面的任意一個(gè),也可以在開(kāi)發(fā)工程中的不同步驟使用不同的界面5應(yīng)用quartus進(jìn)行軟件仿真開(kāi)發(fā)的主要步驟為:編寫(xiě)源程序并保存建立工程并添加源文件設(shè)置工程編譯/匯編、連接,產(chǎn)生目標(biāo)文件程序調(diào)試。脈沖編碼調(diào)制,是對(duì)信號(hào)進(jìn)行抽樣和量化時(shí),將所得的量化值序列進(jìn)行編碼,變換為數(shù)字信號(hào)的調(diào)制過(guò)程。它主要經(jīng)過(guò)3個(gè)過(guò)程:抽樣、量化和編碼。抽樣過(guò)程將連續(xù)時(shí)間模擬信號(hào)變?yōu)殡x散時(shí)間、連續(xù)幅度的抽樣信號(hào),量化過(guò)程將抽樣信號(hào)變?yōu)殡x散時(shí)間、離散幅度的數(shù)字信號(hào),編碼過(guò)程將量化后的信號(hào)編碼成為一個(gè)二進(jìn)制碼組輸出2。根據(jù)設(shè)計(jì)

41、要求實(shí)現(xiàn)整體的pcm通信系統(tǒng)如圖3-1所示。圖3-1 PCM通信系統(tǒng)原理圖但是為了在Quartus 軟件上更好的實(shí)現(xiàn)仿真,本設(shè)計(jì)直接從編碼開(kāi)始然后根據(jù)流程圖到最后的譯碼。其中可以分為三個(gè)模塊:1、A率13折線編解碼模塊2、復(fù)用解復(fù)用模塊3、HDB3編譯碼模塊3.2 A率13折線編解碼模塊編碼方式主要有線性編碼、律非線性編碼和A律非線性編碼。為改善小信號(hào)量化性能,采用壓擴(kuò)非均勻量化,有兩種建議方式,分別為A律和律方式,本設(shè)計(jì)采用了A律方式。由于A律壓縮實(shí)現(xiàn)復(fù)雜,常使用13折線法編碼6。3.2.1 A率13折線編碼模塊在VHDL設(shè)計(jì)中,需要對(duì)其結(jié)構(gòu)化設(shè)計(jì),來(lái)方便代碼的編寫(xiě)。因此對(duì)其進(jìn)行了結(jié)構(gòu)劃分,

42、其編碼結(jié)構(gòu)流程圖如圖3-2所示。圖3-2 A率13折線編碼流程圖輸入信號(hào)判斷符號(hào)歸一化和量化段落判斷段內(nèi)判斷輸出開(kāi)始結(jié)束輸入信號(hào)x后,先判斷x的符號(hào),x>0時(shí)C1=1,x<0時(shí)C1=0;判斷完符號(hào)后將信號(hào)進(jìn)行歸一化和量化,再進(jìn)行段落判斷以及段內(nèi)判斷,最后將C1C8輸出。仿真結(jié)果。圖3-3 編碼仿真時(shí)序圖根據(jù)設(shè)計(jì)要求輸入十二位碼組1110010100111,其經(jīng)過(guò)編碼后結(jié)果為11111001,符合原理編碼結(jié)果。3.2.2 A率13折線譯碼模塊其譯碼過(guò)程就是編碼的逆過(guò)程,對(duì)已經(jīng)編碼的信號(hào)進(jìn)行譯碼時(shí),先輸入已經(jīng)編碼的碼組,根據(jù)極性碼的規(guī)則提取符號(hào),判斷符號(hào)位,接著再判斷段落位置和段內(nèi)位置

43、,最后將譯碼后的結(jié)果輸出。其譯碼流程圖如圖3-4所示。 輸入碼組code輸出提取符號(hào) 判斷段落位置 判斷段內(nèi)位置判斷符號(hào)位圖3-4 A率13折線譯碼流程圖仿真結(jié)果如圖3-5所示。 圖3-5 譯碼仿真時(shí)序圖3.3復(fù)用解復(fù)用模塊此模塊主要實(shí)現(xiàn)三路信號(hào)復(fù)用和解復(fù)用過(guò)程過(guò)程,完成串并轉(zhuǎn)換并按照選擇的速率實(shí)現(xiàn)固定的串行輸出。在此模塊中,還要完成位同步和幀同步信號(hào)輸出,以便完成數(shù)據(jù)傳輸和供解復(fù)用模塊使用。3.3.1時(shí)分復(fù)用模塊1. 分頻模塊實(shí)現(xiàn)分頻功能,此模塊主要產(chǎn)生設(shè)計(jì)要求中的8KHZ,32KHZ,256KHZ和1024KHZ的頻率。主要原理為以主時(shí)鐘頻率為基礎(chǔ)頻率,選擇不同分頻系數(shù),實(shí)現(xiàn)不同頻率輸出。

44、2. DDS分頻模塊(位同步)位同步就是使接收端接收的每一位數(shù)據(jù)信息都要和發(fā)送端準(zhǔn)確地保持同步。為了獲取更精確的位時(shí)鐘頻率,在這里采用DDS的思想對(duì)輸入時(shí)鐘進(jìn)行分頻,其基本過(guò)程如圖3-6所示,計(jì)數(shù)器中的值相當(dāng)于當(dāng)前相位,因?yàn)檩敵龅氖沁壿嬰娖?,因此只需要根?jù)當(dāng)前計(jì)數(shù)值判定輸出0或1。計(jì)數(shù)器判決輸出輸入時(shí)鐘CLK_IN頻率控制字CCR分頻時(shí)鐘CLK_OUT圖3-6 DDS分頻示意圖3. 復(fù)用模塊(含幀同步)在復(fù)用端預(yù)先規(guī)定的幀同步碼時(shí)隙,插入一組特殊碼型的幀同步碼組。在解復(fù)用端利用同步碼自相關(guān)性確定幀的同步位置。幀同步信號(hào)實(shí)體產(chǎn)生一個(gè)幀同步信號(hào),以識(shí)別一幀的起始。復(fù)用功能實(shí)體首先將撥碼開(kāi)關(guān)設(shè)置的輸

45、入值讀入輸入寄存器,并按由DDS分頻模塊產(chǎn)生的位同步信號(hào)即24個(gè)時(shí)序按位讀取輸入寄存器內(nèi)容,并按位輸出,實(shí)現(xiàn)并串轉(zhuǎn)換,其中8位為幀同步位(X1110010)的輸入。幀結(jié)構(gòu)參看圖3-7所示。圖3-7 幀結(jié)構(gòu)圖其整體復(fù)用模塊仿真如圖3-8所示。圖3-8 時(shí)分復(fù)用整體仿真時(shí)序圖RST為復(fù)位信號(hào),G_CLK為系統(tǒng)的時(shí)鐘頻率,CCT為輸入信號(hào),NRZ為輸出NRZ信號(hào),BS ,F(xiàn)S分別為位同步和幀同步信號(hào)。3.3.2時(shí)分解復(fù)用模塊時(shí)分解復(fù)用模塊同時(shí)分復(fù)用模塊相對(duì)應(yīng),將經(jīng)過(guò)時(shí)分復(fù)用后的信號(hào)解復(fù)用,恢復(fù)成原來(lái)的輸入信號(hào),即串并轉(zhuǎn)換過(guò)程。在整個(gè)模塊中,又分為巴克碼檢測(cè)和解復(fù)用模塊,其中幀同步信號(hào)的檢測(cè)是關(guān)鍵部分

46、。1. 巴克碼檢測(cè)模塊在本系統(tǒng)中,要完成信號(hào)的提取和識(shí)別,首先要檢測(cè)幀同步碼來(lái)確定信號(hào)是否到達(dá),只有正確識(shí)別幀同步碼,才能提取正確的信息。在系統(tǒng)的復(fù)用端,我們已經(jīng)在被傳輸?shù)臄?shù)據(jù)中插入了一組特定的識(shí)別碼組,即幀同步碼,在解復(fù)用端,我們只需檢測(cè)出幀同步碼,建立起幀同步,就能完成正確的解復(fù)用。本系統(tǒng)采取的是巴克碼檢測(cè),其檢測(cè)原理是:將接受到的串行數(shù)據(jù)流逐個(gè)送入一個(gè)串行移位寄存器(作為幀同步碼識(shí)別檢測(cè)器),移位寄存器級(jí)數(shù)等于幀同步碼組的長(zhǎng)度,這里設(shè)置為7位。在工作時(shí),每完成一次移位,就將移位寄存器內(nèi)的碼組與幀同步碼組對(duì)比,若相等,則此移位寄存器內(nèi)存的碼組即是一個(gè)幀同步碼組,就認(rèn)為這個(gè)位置就是一幀的開(kāi)始

47、,輸出一個(gè)幀同步脈沖信號(hào),就進(jìn)入了同步狀態(tài)。這里采用的幀同步碼組為“1110100”的特定序列,屬于巴克碼檢測(cè)的一種。2 解復(fù)用模塊時(shí)分解復(fù)用就是時(shí)分復(fù)用的解調(diào)過(guò)程,本系統(tǒng)采用的是時(shí)分多路解復(fù)用技術(shù),把傳輸?shù)臅r(shí)間分成若干時(shí)隙,在每個(gè)時(shí)隙傳輸一路信號(hào),將串行輸入的數(shù)據(jù)串在時(shí)間上交錯(cuò)排列,從而形成多路輸出,也就是說(shuō),時(shí)分解復(fù)用只要在時(shí)間上正確的將信號(hào)分離,信號(hào)就可正確輸出,因此同步具有重要的作用,利用上面幾個(gè)模塊產(chǎn)生的幀同步信號(hào)和位同步信號(hào)就可較準(zhǔn)確的實(shí)現(xiàn)。其仿真時(shí)序圖如圖3-9所示。圖3-9 時(shí)分解復(fù)用時(shí)序圖RST為復(fù)位信號(hào),BS為位同步信號(hào), NRZ作為為輸入序列,DATA為解復(fù)用輸出。根據(jù)相

48、應(yīng)時(shí)序關(guān)系和系統(tǒng)仿真結(jié)果的顯示,輸出的二進(jìn)制碼為(11001100,11001100),說(shuō)明程序設(shè)計(jì)基本是正確的,因此仿真結(jié)果符合設(shè)計(jì)的要求。通過(guò)仿真結(jié)果分析,程序執(zhí)行過(guò)程中有以下幾個(gè)特點(diǎn):(1)時(shí)鐘脈沖經(jīng)過(guò)DDS分頻后作為位同步能滿足170.5K的要求;(2)解復(fù)用時(shí)要在幀頭(1110010)后才分離數(shù)據(jù),才能保證結(jié)果的正確性;(3)在整個(gè)系統(tǒng)中,位同步和幀同步信號(hào)起到十分關(guān)鍵的作用。3.4 HDB3編譯碼模塊此模塊主要包含有HDB3編碼模塊和譯碼模塊,通過(guò)對(duì)原始信息進(jìn)行HDB3編譯碼根據(jù)仿真結(jié)果來(lái)判斷模塊的實(shí)現(xiàn)。在這里,設(shè)一個(gè)原始信息:110000011000010。根據(jù)編碼規(guī)則,經(jīng)過(guò)編碼

49、器后得到的HDB3編碼應(yīng)為:-1,+1,0,0,0,+1,0,-1,+1,-1,0,0,-1,+1,0。在程序中,我們已經(jīng)規(guī)定:01表示+1,11表示-1,00表示0。所以輸出的HDB3碼應(yīng)為:11,01,00,00,00,01,00,11,01,11,00,00,11,01,00。而Quartus II中,為了方便用戶觀察波形,它可以自動(dòng)把二進(jìn)制轉(zhuǎn)換為十進(jìn)制,比如:00用0表示,01用1表示,10用2表示,11用3表示。所以在仿真結(jié)果中,輸出波形的值應(yīng)為:3,1,0,0,0,1,0,3,1,3,0,0,3,1,0。而其譯碼就是其反編碼過(guò)程,輸出波形與編碼輸入波形相對(duì)應(yīng)5。3.4.1 HDB3

50、編碼模塊源代碼HDB3碼插V補(bǔ)B單/雙極性變換圖 3-10 HDB3編碼結(jié)構(gòu)框圖整個(gè)HDB3編碼模塊包含3個(gè)功能部分:插“V”、補(bǔ)“B”和單/雙極性碼轉(zhuǎn)變成雙極性碼。其中插“V”和補(bǔ)“B”都是按HDB3編碼的規(guī)則編寫(xiě)的,單/雙極性轉(zhuǎn)換是用兩位碼元來(lái)分別表示“1”碼的符號(hào)和數(shù)值,這樣在編碼輸出時(shí)可以很清楚的表示出HDB3碼,也為編碼器的設(shè)計(jì)提供了簡(jiǎn)單方法。插“V”模塊的功能實(shí)際上就是對(duì)消息代碼里的四連“0”串的檢測(cè),根據(jù)HDB3碼的編碼規(guī)則,在實(shí)現(xiàn)插“V”操作時(shí),當(dāng)連續(xù)出現(xiàn)4個(gè)連“0”串時(shí),把第4個(gè)“0”變換成為符號(hào)“V”(“V”可以是邏輯“1”高電平),而在其他情況下,則保持消息代碼的原樣輸出

51、。同時(shí)為了減少后面工作的麻煩,在進(jìn)行插“V”時(shí),設(shè)置codeoutv來(lái)標(biāo)識(shí)是否插入了V碼,其中00標(biāo)識(shí)“0”碼, 01標(biāo)識(shí)“1”碼,11標(biāo)識(shí)V碼。當(dāng)codeoutv=11時(shí),表明插入了V碼。插V過(guò)程的流程圖如圖3-11所示。codein=0?count0=3?Startcount0=0count0=0codeoutv=00codeoutv=11codeoutv=01count0=count0+1count0=0EndYNNYcount0:連0個(gè)數(shù)計(jì)數(shù)器“00”:標(biāo)識(shí)為“0”“01”:標(biāo)識(shí)為“1”“11”:標(biāo)識(shí)為“V”圖3-11 插“V”符號(hào)流程圖插“V”符號(hào)的設(shè)計(jì)思想很簡(jiǎn)單:首先判斷輸入的代碼

52、是什么(用一個(gè)條件語(yǔ)句判斷),如果輸入的是“0”碼,則接著判斷這是第幾個(gè)“0”碼,則把這一位碼元變換成為“V”碼。在其他條件下,讓原代碼照常輸出。補(bǔ)“B”模塊的功能是保證插入“V”符號(hào)后的序列不破壞“極性交替反轉(zhuǎn)”造成的無(wú)直流特性,即當(dāng)相鄰“V”符號(hào)之間有偶數(shù)個(gè)非0符號(hào)的時(shí)候,把后一小段的第1個(gè)“0”變換成一個(gè)非破壞符號(hào)“B”符號(hào)。補(bǔ)B過(guò)程如圖3-12所示。firstv=0codeoutv=01codeoutv=00開(kāi)始codeoutv=11count=count+1count1=count1firstv=0?count1=0firstv=1 count1=0?s1(4)=s1(3)s0(4)

53、=s0(3)S1(4)=1S0(4)=0s1(4)=s1(3)s0(4)=s0(3)count1=0codeoutb=s1(4)&s0(4)圖3-12 補(bǔ)“B”功能流程圖根據(jù)這個(gè)設(shè)計(jì)思想,輸入代碼與插V及補(bǔ)B后的代碼的關(guān)系如下表。表3-1 插V 補(bǔ)B后代碼關(guān)系 代碼插V后補(bǔ)B后代碼插V后補(bǔ)B后101010111100000101010000010101000000001001111000001010100000000000111100000101010000010101圖中補(bǔ)“B”模塊是這個(gè)設(shè)計(jì)遇到的第一個(gè)難點(diǎn),因?yàn)樗婕暗揭粋€(gè)由現(xiàn)在事件的狀態(tài)決定過(guò)去狀態(tài)的的問(wèn)題。其中還有如何確定是“1”,還是“V”的問(wèn)題。處理難點(diǎn)的思路是采用延遲三個(gè)時(shí)鐘周期的方式:首先把碼元(經(jīng)插“V”處理過(guò)的)放入一個(gè)4位的移位寄存器里,在同步時(shí)鐘的作用下,將寄存器x的值移到寄存器y中,這樣,在經(jīng)過(guò)三個(gè)dff元件調(diào)用后,就實(shí)現(xiàn)了碼元延遲3個(gè)周期。而首先將插“V”模塊的中的codeout

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論