欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2635|回復: 0
打印 上一主題 下一主題
收起左側

CDMA通信系統中的接入信道部分進行仿真與分析資料

[復制鏈接]
跳轉到指定樓層
樓主
ID:290170 發表于 2018-9-17 10:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
摘  要

CDMA技術是當前無線電通信,尤其是移動通信的主要技術,不論是在中國已經建立的IS-95規范的中國聯通CDMA網、各大移動通信運營商正準備實驗及建立第三代(3G)系統還是大設備研發商已經在開發的三代以后(也稱為4G)更寬帶寬的移動通信系統,CDMA都是主要的選擇。CDMA概念可以簡單地解釋為基于擴頻通信的調制和多址接入方案。其反向鏈路有接入信道和反向業務信道組成。接入信道用于短信令消息交換、能提供呼叫來源、尋呼響應、指令和注冊。
本設計選取CDMA通信系統中的接入信道部分進行仿真與分析。首先,通過學習相應的理論知識,熟悉接入信道實現的過程,對每一步的原理有了較深的理解,同時,也對MATALB軟件進行熟悉和了解,對MATLAB軟件中的SIMULINK部分及其內部的CDMA模塊用法和參數設置進行熟悉,然后運用MATLAB軟件對接入信道部分進行設計,并逐步地對各個模塊進行分析、仿真與驗證。目的是通過畢業設計工作熟悉現代無線通信系統的基本構成與基本工作原理,重點掌握卷積編碼、塊交織和碼擴展等相關編碼技術,并能將這些技術應用實際系統設計,提高自己對CDMA通信系統知識的認識。

PN sequence

目錄
中文摘要 關鍵字 .1
英文摘要 關鍵字 .2
目 錄  ....3
前 言  ....4
1  設計總體框架 ..5
2  設計各個部分原理知識介紹 ..6
2.1 卷積編碼......7
2.2 交織技術介紹...9
2.3 沃爾什函數說明...11
2.3.1 沃爾什函數特性說明....11
2.3.2 沃爾什函數的產生方法介紹..13
2.4 長碼的實現.15
2.6 PSK和OQPSK調制18
2.7 短碼的實現..20
3  MTALAB軟件中的SIMULINK的簡介.20
4  設計仿真、分析與驗證....22
4.1 設計總體模塊構造....22
4.2 對各個模塊進行分析與驗證 .23
4.2.1 源中部分(subsystem1)設置、說明與分析...24
4.2.2 對卷積編碼器和重復模塊的設置、說明與分析 27
4.2.3 對子系統Subsystem2(塊交織器)模塊的設置、說明與分析 30
4.2.4 沃爾什調制器輸出與長碼輸出及其異或驗證...40
4.2.5 I路和Q路的輸出驗證與分析46
5.經驗總結..49
謝  辭..50
參考文獻..51

引言
   眾所周知,自從20世紀70年代出現蜂窩網通信以來,世界各地移動通信行業得到了迅猛的發展,而蜂窩網的技術本身也得到了長足的進步。就多址接入方式而言,20世紀80年代出現了時分多址(TDMA)數字蜂窩網,以GSM為代表的數字蜂窩移動通信系統在國內外已獲得了廣泛應用。20世紀90年代又出現了碼分多址(CDMA)蜂窩網移動通信系統。由于它通信容量大、質量好,因此立即引起了人們廣泛的關注,其優勢已被人們所共認,其發展前景十分良好。不少專家預言,21世紀將是CDMA通信廣泛應用的時代。
CDMA蜂窩網移動通信是在頻分多址(FDMA)模擬蜂窩網和時分多址(TDMA)數字蜂窩網基礎上發展起來的,既有共同點,也有很多獨特的地方:從技術角度來看.CDMA蜂窩網技術是最先進的,同時又是最復雜的。可以說,在一定范圍內,它反映了現代通信的技術水平。
本次課題選擇的是反向鏈路的接入信道部分進行軟件的仿真,所運用的軟件是MATLAB。運用MATALAB軟件中的模塊進行接入信道的構建,并對信道的原理進行分析和驗證。本論文是按照從理論到仿真分析與驗證的步驟順序來的,最后進行全面的總結。

  • 對畢業設計總體實現框架進行初要說明
         
圖1.1設計總體框圖

接入信道數據以每20毫秒88比特的速率產生,因為                                  卷積編碼器在每幀后復位,所以每幀的數據都加上8比特的尾。故數據進入編碼器的速率是(88+8)/0.02=4800bit/s,如圖所示。這些數據進行碼率1/3,約束長度為9的卷積編碼。編碼器中出來的數據率是3×4.8=14.4ksps。
為了使接入信道和反向業務信道有相同的塊交織方案,接入信道的符號進行了重復,使進入交織器的為2×14.4=3×9.6=28.8ksps,和反向業務信道達最高數據率9600bit/s的數據進入交織器時的速率一樣。交織方案是讀入一幀的數據(28.8×20=576符號),按列寫入18列×32行的矩陣,然后以某種順序按行讀出,以使數據符號在時間上分開。
    交織后的符號送到一個(64,6)的沃爾什編碼器。沃爾什編碼是用每組6個編碼符號(c0、……c5)來選擇2^6=64階沃爾什序列Hi中的一個。選擇時要按下列準則來計算序號i:
            
這里的i是64×64哈達碼矩陣的行號,而{cj}是經過編碼的二進制(0,1)符號.因此符號速率的增長比率為64/6,從28800sps增加到307200cps,單位是”沃爾什編碼”每秒.這個步驟可以看作是一個(n=64,k=6)的糾錯編碼.它也可以解釋為一種用二進制信道符號進行64進制正交調制的形式.
接入信道符號進一步用一個特定的相位偏置是靠移位積存器的輸出與一個隨用戶不同而不同的42比特模板序列進行內積來產生的.對于接入信道,模板是用偽隨機產生的接入信道和相應的尋呼信道編號以及基站辯識參數構成的.
在脈沖成型與發送之前,長PN碼擴譜后的基帶數據流分別與I路Q路正交短PN碼相乘,Q路相乘后延時了半個碼片,形成OQPSK調制和正交分集。注意:這個操作中,符號沒有被擴譜,因為短PN碼的速率也是102288Mcps.還要注意到,圖4021表明所有小區中的所有移動臺都采用零偏置的短PN碼,不同用戶的信號只用它們唯一的長PN碼相位加以區別.下表總結了接入信道的調制參數。
                接入信道調制參數
       參數              數值                單位
    數據速率              4800               bit/s
    PN碼片速率          1.2288              Mcps
    代碼速率             1/3                 Bit/碼符號
    碼符號重復            2                  符號/碼符號
    發端占空比            100                %
碼符號速率           28800               sps
調制                 6                   碼符號/模符號
調制速率             4800                sps
沃爾什碼片速率       307.2                kcps   
        模符號間隔           208.33               μs
        PN碼片/碼符號       42.67
        PN碼片/模符號       256
PN碼片/沃爾什碼片    4   

特定移動臺的接入信道傳送只能在指定的接入信道時隙中進行,接入信道時隙事實20毫秒幀長的睜倍數.接入信道時隙的每一次傳送開始都有一隨機短延時,以分散不同的移動臺的起始傳送時間,這些移動臺可能在同一時隙內在不同的信道中傳送.接入信道有96個數據零作報頭,以幫助基站捕獲信號.移動臺第一次使用接入信道時,只能發送按某種程序形成的試探”消息”,直到決定了該移動臺的適當功率水平為止.

  • 對各個模塊所對應的原理進行詳細的說明   

CDMA(碼分多址)是一種利用惟一碼序列進行擴頻多址接人數字通信的技術。CDMA信道包括基站和移動臺之間的前向CDMA信道和反向CDMA信道。前者是從基站到移動臺的信道,后者是從移動臺到基站的信道。
反向CDMA信道被移動臺用來和基站通信,同時在發送之前通過直接序列擴頻共享相同的CDMA頻率分配。反向CDMA信道是從移動臺到基站的反向鏈路。在反向CDMA信道發送的數據被封裝成20ms幀。反向CDMA信道包括接人信道和反向業務信道。接人信道用于短信令消息交換,提供呼叫發起、尋呼響應、指令和注冊。反向業務信道用于從單個移動臺向單個或多個基站傳輸用戶數據和信令業務。
前向CDMA信道包含導信倍道、同步信道、尋呼信道和前向業務信道。這些信道每路都經過適當的Wash函數正文擴展,然后以1.2288Mc/s固定速率由正交相位導頻PN序列擴展。
反向CDMA信道由接人信道和反向業務信道組成。反向信道上發送的所有數據都經過卷積編碼、塊交織、64階正交調制和長碼直接序列擴展再發送。
下文介紹CDMA信道操作的幾個最基本的組成部分。

2.1 卷積編碼
現代數字通信系統常常設計成以非常高的速率傳輸。卷積碼已應用于很多個同系統,例如,不僅在CDMA移動通信系統種應用卷積編碼/譯碼,而且在空間和衛星也應用。為了防止系統出錯,經常會使用卷積碼。信息數據序列劃分成許多長度為k的小塊,每段小塊被編碼長度為n的碼字符號。卷積碼(n,k,m)由k個輸入、具有m階存儲的n個輸出線性時序電路實現。通常,n和k是較小的整數,且k<n,但m相當大。特別地,當k=1時,信息序列不再分成小塊,以便可以連續處理,因此,卷積碼的發展產生了很多有線和無線通信信道數字傳輸的實際應用。
卷積碼(n,k,m)指定的碼率為:R=k/n,編碼器級數為m=K—1,其中K是碼的約束長度。編碼器存儲階數等于數據序列時延。m級n維生成序列集通常可以按如下方式描述:

其中j=1,2,…,k表示輸入端數,j=1,2,…,n表示模2加法器數(輸出端)。方程(2.1)也可以以多項式形式表達為:
                  

其中D是時延操作符,每一項D的冪對應于該項的單位時延數。
每個生成序列直接由從編碼器級到各自模2加法器的連接序列確定,1表示連接,0表示斷開。每個生成序列包含m+1位二進制數。如果每次信息序列輸入編碼器1比特,那么編碼器輸出序列可以通過合并離散卷積得到,即:
     

其中

基站對前向CDMA信道如同步、尋呼和業務信道上發送的數據進行卷積編碼。前向CDMA信道使用碼率R=1/2、約束長度為9的(2,1,8)卷積碼。
該卷積碼的生成序列為:

由于碼率為1/2,所以每次編碼器輸入一位數據,編碼器輸出就產生兩位編碼符號。
初始化后第一個輸出符號是由生成序列編碼的符號,第二個輸出符號是由生成序列編碼的符號,如圖2.1所示,卷積編碼包含連續時延數據序列選定抽頭的模2加。

                圖2.1.1  24位輸入的(2,1,8)卷積編碼器

例如,以1.2kb/s速率傳輸的前向業務信道幀結構包含24比特(20ms)。這24比持由16位信息比特和8位編碼器尾比特組成,如圖2.2所示。最后8位編碼尾比特全部設成0。如果信息序列表示成d=(1010100100000101),相應的多項式為 。由于16位信息比特后面有8位編碼器比特,則前向業務信道幀表示為M=(101010010000010100000000)或者寫成多項式形式:

圖2.1.2  發送速率為1200b/s的前向業務信道幀
圖2.1顯示了用于該信道的(2,1,8)卷積碼。由于m=8,n=2,因此該編碼器包含一個具有2個模2加法器的8級移位寄存器和用于編碼器連續輸出的轉向器。對圖2.1的卷積編碼器,兩個生成序列分別為:

利用方程(2.4),對于i=1和j=1,2,有:

利用生成序列編碼器每個模2加法器的輸出分別為:
        
        
輸出符號()連接成單個序列,即發送到塊交織器的編碼符號序列:
  =
對于前向和反向的CDMA信道,每當信息速率小于9600b/s時,每個卷積編碼的符號重復k次后再發送到塊交織器。k的大小隨著信息速率的不同而不同。

2.2 交織技術介紹
直接擴頻CDMA支持同時在數量很大的用戶群體而不光是單個用戶之間的數字通信服務。這將反映在如何利用額外的維數和冗余來提高性能。使用了兩種處理技術:用于提高額外冗余的交織技術和用于前向糾錯的編碼技術。
交織是排列符號序列的過程。這種為獲得時間分集的重排過程稱為交織,可以以兩種方法考慮:塊交織和卷積交織。
交織常重復或編碼相結合,是一種防止突發錯誤的時間分集形式.符號在進入突發信道傳送之前被改變順序或進行交織.如果傳送時發生突法錯誤,恢復原來順序就可以在時間上分散錯誤.如果交織器設計良好,那么錯誤將會隨機地分布,用編碼技術幾容易糾正.
    最常見的交織技術的兩種中,最常見的類型是塊交織.這種方式常在數據分塊分幀的情況下使用,入IS-95系統.另一方面,卷積交織對連續少數據流來說是比較實用的類型.塊交織很容易實現,爾卷積交織有很好的性能.連續操作使得卷積交織的初始開銷變得不重要.IS-95用了以類似塊交織技術為基礎的交織形式,將在下面進一步討論.
    有幾個描敘交織器性能的參數.重要的參數之一是最小間隔S,指突發連續錯誤分布的最小距離.一般來說這個參數依賴于突發長度,突發長度增加則S變小.極端情況下,突變長度與序列長度一樣,則最小間隔是,因為不論如何排列,錯誤之間總是相互挨著的.交織時,讀取一部分符號同時需要存儲另一些符號,因此就帶來了延時.一般來說,這種延時也出現在解交織時.延時D表示交織和解交織時帶來的額外讀/寫操作量.而剛提到,處理過程需要一些存儲單元,用M來表示.為了達到較好的交織器性能,最小間隔越大越好,延時和存儲容量越小越好.所以性能通常可用最小間隔與延時的比S/D以及最小間隔和存儲容量的比S/M來描述.
一個(I,J)的塊交織器可以看成是一個J行I列的存儲矩陣.數據按列寫入,按行讀出.如圖(2.1)所示。符號從矩陣的左上角開始寫入,從右下角開始讀出.連續的數據處理要求有兩個矩陣;一個用于數據寫入,另一個用于數據的讀出/解交織過程也要求有兩個矩陣,用于反轉交織過程.

圖 2.2.1
塊交織器特性很容易通過觀察矩陣得到.假使突發錯誤的長度為B.兩個錯誤之間的最小間隔可以由下式給出:               
                        

交織延時在發端是IJ,在接收端是IJ,因此總延時是
                               D=2IJ
   為了連續的操作,需要兩個矩陣,存儲的要求就是
                               M=2IJ
    交織器的最小間隔可以通過改變讀出的行順序來改變,延時和存儲要求在這個操作種不變.B≤I情況下,最大的最小間隔由上面所說的讀出方法得到.然而,這種方法使得B>I時S=1.其他的方法可以減小B≤I時的最小間隔而增加B>I時的最小間隔.IS-95就用了這樣的技術.除非仔細觀察考慮讀出的方法,否則一般最小間隔 都是減少的.
IS-95系統交織一幀之內的數據,除了同步信道之外,其他信道都是20毫秒,同步信道的一幀周期上26.66毫秒.因此,所有的IS-95的交織器在塊數據上操作.嚴格地說,并沒有用塊交織,但是交織的類型設計要依賴于信道和原始數據率.例如,反向鏈路通過矩陣之中以非傳統的方法讀出各行數據以改變最小間隔特性.

2.3  沃爾什函數說明
沃爾什函數是正交的、歸一化的和完備的。“正交”是指兩個不同的函數相乘,并在給定區間上積分,其結果為0。“歸一化”的意思是如果兩個函數相同,那么它們乘積的積分為1。最后,“完備”大致可理解為:在給定的區間內,可使用這個正交函數集中函數的線性組合來逼近任意給定的函數,在正交函數的個數趨于無限的條件下,均方誤差在“均值意義上”趨近于0。
2.3.1 沃爾什函數特性說明
我們將N階的沃爾豕函數定義為N段函數的集合,記為{Wj(t);t∈(0,T),j=0,1,…,N-1},定義如下:
  • 除了在一些跳變點上取值0外,Wj(t)僅在集合{+1,-1}中取值。
  • 對于所有的j,有Wj(0)=1.
  • 在區間(0,T)內,Wj(t)精確地有j次符號變化(穿越零點)。
4.

5.關于區域的中點,每一個函數Wj(t)不是奇函數就是偶函數。
一個沃爾什函數集由N個函數構成,并按照穿越零點(符號改變)的次數來定義它們的階數。用函數集表示如下:      
        
第一個函數W0(t)在整個(0,1)區間上沒有過零點,而W1(t)在整個定義區域上有一個過零點。考慮圖3.1所示的定義在(0,T),將沃爾什函數的幅值

圖2.3.1
轉化為二值邏輯{0,1}表示,即+l “0”,-1 “1”, 并將圖5.1中的所有8階沃爾什函數的整個下標集j=0,1,…,7用二進制表示出來,于是我們可以寫出8個沃爾什序列,如圖3.2所示。
    當考慮一個 階的沃爾什函數集(序列)時,可以注意到序列關于K軸上的點K=T/2,,…,具有對稱性,其中T是沃爾什函數的周期。沃爾什函數關于這些點要么奇對稱,要么偶對稱。這些點位j=K,K—1,…,1,亦即。考慮任意一個N=16階的沃爾什函數,如:
W13=O  1  0  1  1  0  1  0  1  0  1  O  0  1  0  1

                     圖 2.3.2  
序列關于處奇對稱:
                  

關于T/8處奇對稱:

關于T/4處偶對稱:

關于T/2處奇對稱:

將沃爾什函數的下標j用k位二進制數表示出來,即j=(j1,j2,..jk)。如果jk=0,則函數關于軸處偶對稱,k=1,2,…,k;如果jk=l,那么函數關于這個軸處奇對稱。在沃爾什序列中,與沃爾什函數中的定義相同,第一個值總是0,即研Wj(0)=1,而Wj0=0。
對沃爾什序列w13,可以分析如下:在W13中,(j1,j2,j3,j4)=(1,l,0,1),因此可以判斷:
j1/2=1,表示序列關于T/16處奇對稱
j2=1,表示序列關于T/8處奇對稱
j3=O,表示序列關于T/4處偶對稱
j4=1,表示序列關于T/2處奇對稱
于是,以0打頭按照對稱的要求,可以寫出如下序列:
    W13=0  1  0  1  1  0  1  0  1  0  1  0  O  1  0  1
這個序列與前面一開始給出的一樣。
     同樣,根據觀察,可以得出沃爾什函數關于對稱軸(中點)的位置的特性如下:
    ·沃爾什函數關于(0,T)的中點,也即在T/2處的對稱軸ax上奇對稱或偶對稱。
    ·沃爾什函數關于子區間(O,T/2)和(T/2,T)的中點T/4,3T/4處具有同樣的對稱性將這些中點對稱軸定義為ak-1。
·同樣的處理過程重復k次,直到子區間的中點為T/N,3T/N,…,(N—1)/N,這里。這些中點對稱軸稱為a1,這些軸具有同樣的對稱性。

2.3.2 沃爾什函數的產生方法介紹
沃爾什函數的產生方法有多種,可以使用萊德馬契函數,也可以使用哈達瑪短陣,還可以利用沃爾什函數自身的對稱特性。下面僅以用哈達瑪矩陣產生方式來介紹。
哈達碼矩陣是一個方陣,方陣的每一個元素為+1或-1,列與列之間是正交的。如果一個矩陣的第列的元素都是1,那么我們說這個矩陣是規范。可以使用0代替+1,而使用1代替-1,即使用邏輯值{0,1}來表示哈達碼矩陣,那么2×2的2階哈達碼矩陣可以表示為:
     

如果HN是一個N×N的哈達碼矩陣,于是有:
               
這里IN 是一個N×N的單位。如果規定N≥1為哈達碼矩陣的階數,那么N可取值為1,2,或4t(t為整數).設分別為 a階和b階的哈達碼矩陣,那么×=的階數為ab,運算規則如下:如果矩陣中一個元素為+1(或邏輯值
0),那么用來代入,如果該元素為-1(或為邏輯值1),則用-Hb(或Hb的補)代入。如果N為2的冪,并規定H1=[+1]=[0],于是可以由下式求得:
               
這里規定取負(為其補值)。的哈達碼矩陣可以由N=2階的哈達碼矩陣的規范形式連乘得到。
如果,則所有的哈達瑪矩陣的行序列和列序列都是沃爾什序列。然而,用沃爾什函數表示和哈達瑪函數表示之間存在一些差別,即哈達瑪函數的行序號和列序號都與符號改變(過零點)的次數沒有關系,而沃爾什函數卻具有這種關系。顯然,由哈達瑪函數生成的沃爾什函數不是按照符號改變的次數排序的,因而需要一種方法對這兩種排序進行相互轉換。

2.4 直接序列擴展
反向CDMA信道中,反向業務信道相接人信道將由長碼直接序列擴展,以提供有限的保密性。對反向業務信道,直接序列(DS)擴展操作包含對數據脈沖隨機發生器輸出數據和長碼模2加。數據脈沖隨機發生器產生掩碼符號0和1,隨機地掩蔽由于碼重復產生的冗余數據。掩碼符號由幀數據率和長碼的最后14比特位確定。對于接人信道,DS擴展操作包含64階正交調制器輸出和長碼的模2加。
設d(t)為Walsh碼片調制的數據序列,Tb為數據比特時間間隔。Walsh調制的數據序列被長碼c(t)的擴展則碼片模2加。每個c(t)脈沖稱為碼片,Tc表示碼片時間間隔,Tb=4Tc。擴展PN碼片序列速率固定在1.2288Mc/s。由于6個編碼符號由64個時間正交Walsh函數之一調制,調制符號發送速率固定在28.8/6=4.8ks/s。因此,每個Walsh碼片由4個PN碼片擴展,即。由1.2288Mc/s長碼PN碼片相乘的直接序列d(t)如圖4.1所示。


圖 2.4.1

2.5 QPSK和OQPSK調制
  為了使頻帶效率最大,高頻譜效率的CDMA信道調制技術要求在相位正交的兩個載波同時發送。正交調制在擴頻中極為重要,它對某些類型的干擾不敏感。
為原始數據流,為雙極性脈沖,-1代表二進制l,+l代表二進制0.如圖2.5.1所示。該脈沖數據流分成同相流(偶數比特)和正交相位流(奇數比特),如圖2.5.2和圖2.5.3所示。注意,分別具有d(t)的一半速率。

                      2.5.1原始數據d(t)

      2.5.2同相流dI(t)

2.5.3正交流的dQ(t)
將每個幅度調制到載波的余弦和正弦函數上,可以得到QPSK波形,如圖2.5.4所示。

圖2.5.4 QPSK擴頻調制器



其中,

    同相流以+1(二進制0)或-l(二進制1)對余弦函數進行幅度調制,產生一個BPSK波形。同樣地,正交相位流對余弦函數進行調制,產生另—個與前面余弦函數產生波形正交的BPSK波形。這樣,載波的這兩個正交分量就產生QRK波形。

圖 2.5.5 QPSK的信號空間
持續時間為Ts的原始數據流可以通過串/并轉換器將持續時間2Tb劃分為同相流和正交相位流(參見圖2.5.4)。QP5K調制時,同相和正交相位數據流都以1/2Tb/s速率發送并同步對齊,以便發送時間一致.非偏移QRK調制時。兩種脈沖流發送時間一致,如圖2.5.6所示。由于一致對齊,所以載波相位每2Tb秒變化一次相位,導致了圖2.7所示的四種相位之—。

圖2.5.6 一致對齊的QPSK波形S(t)
    s(t)的方程也用于偏移QPSK(OQPSK)信令。OQR5K和標準的非偏移QPSK在兩個基帶波形對齊方面不同。兩種脈沖流相互交錯,因此個是同時地改變狀態。這兩種調制方案的不同在于脈沖流定時移位了,以至于兩種數據流差Tb對齊,如圖2.5.7和2.5.8所示。載波相位每Tb秒可能的變化限制在 和 。然而在作偏移QPSK下,兩種脈沖流時間一致,載波相位每2Tb秒變化一次,如圖2.5.7和2.5.8所示。對應于QPSK數據流的典型OPSK波形如圖所示。

      2.5.7 分開的數據流

2.5.8 偏移的QPSK波形
2.6 長碼的產生
長碼提供了限的保密性。長碼是的PN序列,用于前向CDMA信道的擾碼和反向CDMA信道的擴領。長碼在前向業務信道和反問業務俏道惟一標識移動臺。長碼的特點是使用長碼掩碼來形成公用長碼或私有長碼。長碼還用在相同CDMA信道上區分多重接人信道。
當在當在接入信道上傳輸時,先進行長碼直接序列擴展,然后發送。擴展操作包括64階正交調制器輸出序列和長碼的模2加,如圖2.6.1所示。

CAN:接入信道編號
PCN:尋呼信道編號
BASE-ID:基站標識
PLLOT-PN:前向CDMA信道PN偏移
1100011:長碼掩碼頭   
                      圖 2.6.1
長碼周期為個碼片,由碼發生器的LFSR抽頭多項式P(x)指定:
對所有42位掩碼和LFSR42級輸出的“與”結果進行“異或”操作可以得到長碼的每個PN碼片,如圖6.2所示。

圖2.6.2 長碼發生器

長碼掩碼包括42位二進制序列,它是長碼的惟一標識。長碼掩碼根據移動臺傳輸的信道類型而不問。圖2.6.2顯示了長碼發生器產生的PN碼片(1.2288kc/s),它由長碼掩碼激活。

2.7 短碼的產生
    直接序列擴展之后,反向業務伯道和接人信道進行正交相位擴展。
    另外,前向CDMA信道正交擴展之后,每個碼道(導頻、同步、尋呼或前向業務信道)進行正交相位擴展。
    擴展序列是長度為 或32768個PN碼片的正交相位序列。該正交相位序列稱為導頻PN序列.分別基于下列抽頭多項式;
對于相同I序列:
   
    對于正交相位Q序列:

3  MTALAB軟件中的SIMULINK的簡介
MATLAB通信工具箱(communication Toolbox)中提供了許多MATLAB函數和SIMULINK仿真模塊,可以用來對通信系統進行仿真和分析。這些函數和模塊涉及通信系統的各個部分,用戶可以根據自己的需要進行選擇,從而構筑自己的通信系統模型。
SIMULINK仿真工具包是MATLAB的工具包之一,是實現動態系統建摸、仿真和分析的一個集成環境。它可以仿真線形或非線形系統、連續時間系統、離散時間系統或兩者混合系統,也可以仿真多速率系統。
SIMULINK提供了一個用于建摸的圖形用戶界面,主要實用于構造比較復雜的動態系統模型。它的主要特點在于使用戶可以通過簡單的鼠標操作和拷貝等命令建立起直觀的系統框圖模型,并進行交互性的動態仿真。所謂交互性,指的是用戶可以在仿真的同時修改系統參數,仿真輸出結果隨著參數的改變而改變。SIMULINK的特性使它同以往的仿真工具有了較大的改進,用戶可以脫離復雜的基于微分方程的計算方法,轉而使用簡單直觀的框圖式構造方法。
SIMULINK有一個重要特征,它是構造于MATLAB的之上的。因此SIMULINK用戶可以直接使用基于MATLAB的工具對模型進行構造、優化和仿真。這里所說的基于MATLAB的工具,指的是MATLAB應用于工具箱和專門用于某些領域的特定M文件的集合。通信工具箱就是MATLAB應用工具箱的一種。由于應用工具箱均由MATLAB的原代碼編寫而成,用戶可以在SIMULINK的工作平臺上方便地調用工具箱中的各種工具,從而實現了各類工具箱之間的無縫連接。
SIMULINK的應用包括建摸和仿真兩部分。所謂建摸,指的是從SIMULINK的七個標準模塊子庫或MATLAB其他工具包模塊庫中選擇所需的模塊,并拷貝到用戶的模型窗口中,經過連線和設置模塊參數等構筑起用戶自己的仿真模型的過程。SIMULINK完全采用“抓取”來構造動態系統,系統的創建過程就是繪制框圖的過程。而通信模塊的創建和仿真,一般是在SIMULINK工作窗口內利用COMMLIB庫中通信模塊構筑用戶設計的通信模型,然后再利用SIMULINK工作窗口中特有的菜單選項進行仿真。
在打開SIMULINK之前,首先要運行MATLAB。打開SIMULINK主工作界面的方式有兩種:
  • 在MATLAB的工作窗口中鍵入“simulink”指令。
  • 在MATLAB窗口的狀態欄中點擊SIMULINK圖標。
需要注意的是,SIMULINK對模塊或模型文件的操作一般都有兩種方式:
  • 菜單操作方式——在被操作模型的SIMULINK窗口下進行。
  • 命令操作方式——在MTALAB的工作窗口中通過一些固定調用格式的指令對模塊或模型文件進行調用、仿真等操作。
按照上述的方式打開的SIMULINK工作窗口就是SIMULINK的標準模塊庫的窗口,同時被打開的還有一個新的模型文件窗口(標記為untitled).
SIMULINK窗口見下:

SIMULINK模型具有層級結構,非常有利于建造和管理一個大型系統。為便于實現分層設計,在SIMULINK模塊庫的費線形子庫(Nonlinear)中含有一種專用模塊——子系統(Subsystem)模塊,同時,SIMULINK還為子系統提供了封裝(MASK)功能。
  • 子系統模塊(Subsystem Block
當一個動態模型包含許多環節時,往往把系統功能分塊,每一塊建立一個子系統。在設計中使用子系統,可以降低模型的復雜度,減少窗口的數目,并易于對模型進行擴充和修改。設計一個SIMULINK框圖,可以采用“自頂向下”的設計方式,下構造處總體模型,再分別建立各個子系統;也可以采用“自頂向下”的設計方式,先完成每個部分底層設計,封裝為子系統后,再用其搭建一個總體框圖。
下面簡要給出采用“自頂向下”模式設計子系統的主要步驟:
(1)在MATLAB工作窗口中鍵入sinmulink指令,打開SIMULINK標準模塊庫。從它的[File]菜單中選取[New]命令,創建新的方框圖窗口。
(2)用鼠標雙擊SIMULINK模塊庫中Connections圖表,打開下一級子模塊庫,將其中的子系統模塊(Subsystem)用鼠標拖至用戶新建的文件窗口中。
(3)雙擊子系統模塊,打開一個空白的子系統窗口,按照功能要求添加模塊,并用輸入端口代表送入子系統的信號,輸出端口代表輸出信號。
  • 封裝功能
具有封裝功能是SIMULINK模塊一個非常有用的特點。通過封裝可以為子系統建立用戶自定義的對話筐和圖標;可以在當前圖形窗口中隱藏子系統的設計內容,用簡單的圖標來代替子系統。另一方面,由于子系統中每個模塊都有一個對話筐,進行仿真的時候,必須打開每個對話筐分別定義參數值,應用起來比較麻煩。而封裝功能可以將子系統中的多個對話筐合并為一個單獨的對話筐——封裝對話筐,封裝對話筐中的參數在仿真時被直接送入子系統的各個模塊中,從而簡化了用戶定義仿真參數過程。同時,通過在封裝對話筐中自定義的模塊參數域、模塊描述信息和模塊幫助信息等,可以使仿真模型有一個更友好的用戶界面。

4  設計仿真、分析與驗證

根據前面所述的原理與總體框圖,在此,我們對接入信道進行完全的仿真、分析與驗證如下:
  4.1 設計總體模塊構造

圖 4.1.1仿真總體構圖

4.1.2subsystem1內部結構

圖4.1.3subsystem2內部結構
4.2 對各個模塊進行分析與驗證
   4.2.1源中部分(subsystem1)設置、說明與分析:
在源這部分里面,我們用貝努力二進制產生器產生所需的二進制代碼,所產生的碼序列是服從貝努力概率分布的。為了滿足設計的需要,我們同時將貝努力產生器的輸出值設為[80×1]且基于幀格式的輸出方式,也即:基于幀格式輸出的80行和1列的矩陣。再利用CRC產生8位循環冗余檢驗(CRC)碼,在數據尾部加入CRC碼的作用有兩點:第一,可以在接收時確定幀(包)是否發生了錯誤,第二,可以輔助確定接收的幀的數據速率,最終對數據速率的確定則是卷積譯碼器。另外,利用 Zero Pad(零填充模塊)模塊,在數據幀末端加入8個比特的0,其作用在于,在每幀卷積編碼結束后,對卷積編碼其中的移位積存器復位。由于MATLAB中的卷積編碼器具有自動復位功能,因此這個零填充模塊并不是必須的。但在此,我們仍然將此模塊設置為插入8個尾比特零,可以使數據的速率達到我們最終的要求。模塊的參數設置見下面的各圖形。
模塊設置如下:

                 4.2.1.1 Bernoulli模塊設置
Bernoulli模塊參數設置說明:
(1)Probability of a zero :0.5表示的是以概率0.5取值為1,以0.5的概率取值為-1;
(2)Sample time:20/1000表示的是20毫秒,設置為20ms的原因在于,4800bit/s的速率的幀長為20ms ;80是指每幀中含有80個比特數據,對于4800bit/s的速率而言,應該每幀的比特數為96個,之所以在這里設置為80,是因為在后面的CRC產生器和Zero Pad分別產生了8個冗余循環碼和8個尾比特0碼。因此,在這里每個比特的抽樣時間為20/1000/80s.
(3)將輸出數據設置為基于幀結構的方式,也即:選擇Frame-based outputs的選項,原因在于,CRC碼產生模塊的輸入必須基于幀數據結構的。
(4)每幀的數據為80比特,所以,將每幀的抽樣次數設置為80,也即:Samples per frame設置為80。

               4.2.1.2 CRC模塊設置
CRC模塊參數設置說明:
對于反向信道的Half Rate(半速率,也即為4800bit/s)而言,Generatal CRC Generator的生成多項式為:
      
所以對應的Generator polynomial的設置就應為:[1 1 0 1 1 0 0 1 1]

圖4.2.1.3 Zero Pad模塊的的設置

Zero Pad模塊參數設置說明:
  •        在這里將Pad signal at設置為End是因為,我們期望在數據末尾插入8個0尾比特。
  • 由于我們在CRC的輸出為[88×1]的比特數據,也即一列的數據,所以,為了在同一的數據后面添加80數據,我們在這里就將Pad along設置為:Columns.
  • 在該模塊的輸出端,我們要求幀數據的比特數為96,也即為了在幀數據后面加入80,因而將Specified number of output rows設置為96

    綜合上面所述,我們將上三個模塊構建為一個“源(source)”子系統,簡單的封裝后的圖形為:

圖4.2.1.4源子系統模塊

對該源內各個模塊間的數據變化情況驗證如下圖中的波形所示:
             4.2.1.5 源內部各模塊的輸出波形
其中,依上至下的波形分別是Bernoulli模塊、CRC模塊、Zero Pad模塊的輸出波形。
從圖中,我們可以清晰的看見,第二各波形相對于第一個波形而言,增加的比特數分別為:0 0 0 1 1 0 1 0,也即剛好8個比特數,與理論中的在幀數據后面插入8個CRC冗余循環碼完全的;在第三個波形中,我們同樣可以看出,它相對于第二個波形而言,在末尾剛好加入了8個0比特,即:0 0 0 0 0 0 0 0。

4.2.2  對卷積編碼器和重復模塊的設置、說明與分析:
仿真連接方法見下面圖形:

  圖4.2.2.1仿真連接圖1
其中,使用Buffer 的原因在于:由于Subsystem1模塊、卷積編碼器模塊、重復模塊輸出的數據都是基于幀的數據,而Scope示波不能觀察基于幀的數據,所以,我們需要將基于幀的數據轉換為適合示波器的數據來觀測。通過轉換,我們可以將Subsystem1模塊、卷積編碼器模塊、重復模塊的原來每次每幀同時輸出分別為[96×1]、[288×1]、[576×1]的數據都改變為輸出均為每次1個的數據。這樣,我們就可以用示波器來觀察,并驗證我們的設置。
卷積編碼器參數設置說明:

圖4.2.2.2卷積編碼器模塊參數設置
Trellis structure的設置說明:該項指的示卷積編碼器的生成多項式。其中,9是指卷積編碼器的約束長度,也即在卷積編碼器中使用了8個移位寄存器;[557 663 711]是指卷積編碼器的生成多項式,該多項式可以說明:這個卷積編碼器有一個輸入端,有三個輸出端,也即,在卷積編碼器利有三個模2判決電路。三個模2判決器與9個(其中第一個往往被省略,所以往往只說8個)移位寄存器的關系分別位:101101111,110110011,111001001,“1”表示與移位相應的寄存器相關,“0”表示不相關。

4.2.2.3重復模塊參數的設置

重復模塊的參數設置說明:
(1) Repeatition count是指重復次數,為了使后面塊交織器的輸入端輸入的數據每幀大小是576個符號,而重復模塊前的數據已經是每幀288個符號,所以,我們在這個地方將重復設置為2次。
(2) 為了使重復模塊輸出的數據達到要求,我們在這個模塊將Frame-based mode設置為Maitain input frame rate.

對兩個模塊驗證如圖4.2.2.4所示:

圖4.2.2.4卷積編碼器和重復模塊輸出數據
源模塊輸出的數據序列為:    111 000 000 101 111 010 11
卷積編碼器輸出的數據序列為:111 100 001 000 001 001 01
重復模塊輸出數據序列為:    111 111 110 000 000 011 00

現在對圖4.2.2.4的數據進行理論計算分析。
由卷積編碼器的生成多項式可以得出下列式子:
    對應于557,也即:101101111的多項式為:

對應于663,也即:110110011的多項式為:
    對應于711,也即:111001001的生成多項式為:
         

我們設輸入的數據多項式為:
,(i和n均為非負整數)
由源模塊的輸出,我們取前三個數據來驗證,也即:111,它對應的u(x)為:
              

卷積編碼器輸出的多項式v(x)為:




由v(x)的表達式可以得出卷積編碼器的理論輸出碼序列為:
          111 100 001 000 001 001 011 111 101 001 111
由于display只能顯示前20位比特,對照觀察,我們可以得出,前20位數據理論輸出與仿真完全吻合。

4.2.3對子系統Subsystem2(塊交織器)模塊的設置、說明與分析:
子系統Subsystem2的構成如下圖:


                圖4.2.3.1 塊交織器的子系統

                  圖4.2.3.2子系統Subsystem2參數設置框圖
參數設置說明:
(1)在該子系統內,我們運用的是一個[32×18]的矩陣,所以將設置框圖中的行和列分別設置為32、18。
(2)由于子系統內部的Bit to IntegerConverter模塊和Integer to BitConverter模塊分別將每行的18個比特符號轉換為一個整數、將一個整數轉換為18比特,因而,將Number of bits per integer設置為18。
    (3)Elments是指子系統內部的通用塊交織器符號的輸出順序,也即:[1 3 2 4 5 7 6 8 9 11 10 12 13 15 14 16 17 19 18 20 21 23 22 24 25 27 26 28 29 31 30 32]',其中的數字均指行號。

子系統的內部結構為:
         

圖4.2.3.3塊交織器的子系統

                  圖4.2.3.4 Matrix模塊的設置

                 圖4.2.3.5 Bit to Integer Converter模塊設置

圖4.2.3.6 General Block Interleaver模塊設置

                 圖4.2.3.7 Integer to Bit Converter模塊設置

子系統內部各個模塊的說明、分析與驗證:
(1)對于矩陣交織器,其作用是把輸入的信號按照某種順序寫入一個矩陣中,待完成整個矩陣的填充后,按照另外一種順序從矩陣中讀出數據。它的數據操作順序是:先把輸入信號按行寫入矩陣,然后按照列從在、矩陣中讀出來。
(2)對于Bit to Integer Converter模塊和Integer to Bit Converter模塊,其作用不言而喻,分別是將每行的比特數據轉化為一個十進制的整數、將一個十進制的整數轉化為一行比特序列。
(3)對于General Block Interleaver模塊,其作用是:把輸入信號按照自己的設定順序進行置換,產生交織信號的過程。通用塊交織保證每個輸入的數據能夠在輸出信號中,且每個輸出信號只能出現一次,也即說明,通用塊交織器可以將幀數據序列中的重復的比特符號給除去。
下面是各個模塊的仿真輸出數據理論與仿真的驗證。讀數據的方式是采用To workspace模塊來讀出并顯示數據的。仿真連接圖見下:

圖                                                                                                                                                                                                                                   
                  4.2.3.8仿真連接圖   

圖4.2.3.9 To Workspace模塊設置
(此圖僅是顯示Repeat模塊數據輸出的設置,其他模塊輸出
的To Workspace模塊設置僅僅是Variable name改變而已)

Repeat模塊的輸出數據如下:
111111001111001100
001100110000000011
110000000000111100
001111000000001111
001111001111110011
111111000011001100
111100111100000011
111100111111001111
111111110011110000
110011001100111100
111111001100111100
000011001100111100
000011000000111111
111100000000110011
001100111111110000
110011110000111100
111111001100110000
000000110011000011
111111001100110000
111111111100110000
000011111111110011
001100111111111100
000011110000110000
001100001111110011
000000001100001100
000000110011111100
111100000011000011
110000000011110011
000011001100001100
000000001100111111
000000110000001111
111100111111000000
            圖4.2.3.10 Repeat模塊數據輸出
數據說明:本來重復模塊的輸出數據是[576×1]的基于幀結構的數據形式,但是,為了與后面的交織器的輸出數據相比較,我們將[576×1]的數據轉化為[32×18]的數據形式,576個數據比特是按照行的順序寫入矩陣的。從這個矩陣數據中我們可以看出,由于重復2次的原因,相臨的數據比特數都至少是2的倍數,也即說明每個比特符號至少重復了一次,從而也再次驗證了重復模塊設置與仿真的正確性。
Matrix交織器輸出的也是[576×1]的基于幀的數據形式,為了明顯地更容易的比較與驗證,我們將該數據轉化為[18×32]的矩陣形式,它的數據形式應該是上面Repeat模塊輸出數據[32×18]的轉置形式,也即數據應該完全成轉置形式對應。因為,它是重復模塊輸出后576個數據按照行的順序寫入,再按照列的順序讀出的。這里我們將[18×32]表示成下面它的轉置矩陣形式,也即:的形式,因此讀出的順序按行。
Matrix交織器輸出數據 (576位)
10100111111001011011000000110001
10100111111001011011000000110001
11011111101001101011010100100001
11011111101001101011010100100001
10011100111110011011101000001000
10011100111110011011101000001000
01000011100000110101111001000011
01000011100000110101111001000011
10001011011100101011110110001101
10001011011100101011110110001101
10001101100000100100110101110001
10001101100000100100110101110001
00101000111111111011111101010100
00101000111111111011111101010100
10110101011110010000010011001110
10110101011110010000010011001110
01011011000011000100100100110110
01011011000011000100100100110110
圖4.2.3.11 Matrix交織器輸出數據
對照上敘兩組數據,我們根據理論分析知,如果將repeat模塊的輸出數據連成576個比特符號,同時也將Matrix模塊的輸出數據,按列的形式讀出(也即上敘數據按照行順序讀出),并連成576個比特符號,那么,我們得到的數據應該均是576個比特符號,而且,他們的排列順序也應該完全一致。基于此分析,我們再對上面的兩組數據進行比較,我們可以得出,上敘兩組數據完全符合,而且兩矩陣數據完全成轉置形式對應。因此,我們的驗證也成功。
Bit to Integer Converter模塊的作用是將Matrix交織器輸出的576個比特符號寫入[32×18]的矩陣,并將矩陣的每一行轉化為一個十進制的數據輸出。
下面將Matrix交織器的輸出數據按照行的順序寫入[32×18]的矩陣中去,表示如下:
101001111110010110      
110000001100011010
011111100101101100
000011000111011111
101001101011010100
100001110111111010
011010110101001000
011001110011111001
101110100000100010
011100111110011011
101000001000010000
111000001101011110
010000110100001110
000011010111100100
001110001011011100
101011110110001101
100010110111001010
111101100011011000
110110000010010011
010111000110001101
100000100100110101
110001001010001111
111110111111010101
000010100011111111
101111110101010010
110101011110010000
010011001110101101
010111100100000100
110011100101101100
001100010010010011
011001011011000011
000100100100110110
          圖4.2.3.12
對于第一行數據101001111110010110,我們將其轉換為十進制的數據,計算方法如下:
=171926
其中表示第一行轉化為10進制的數據符號。
同樣可以計算出……的十進制數據分別為:197402、129388……。下面是Bit to Integer Converter模塊仿真輸出的十進制數據。對比我們可以發現,數據是完全吻合的。
Bit to Integer Converter模塊仿真輸出       General Block Interleaver模塊仿真輸出

圖4.2.3.13                               圖4.2.3.14           

通用塊交織器的輸出數據見圖4.2.3.14。它是Bit to Integer Converter模塊仿真輸出按照[1 3 2 4 5 7 6 8 9 11 10 12 13 15 14 16 17 19 18 20 21 23 22 24 25 27 26 28 29 31 30 32]'的行順序輸出,對比于圖4.2.3.13Bit to IntegerConverter模塊的數據,我們可以驗證我們的仿真過程正確。
Integer to Bit Converter模塊的數據輸出(576個比特符號)
101001111110010110
011111100101101100
110000001100011010
000011000111011111
101001101011010100
011010110101001000
100001110111111010
011001110011111001
101110100000100010
101000001000010000
011100111110011011
111000001101011110
010000110100001110
001110001011011100
000011010111100100
101011110110001101
100010110111001010
110110000010010011
111101100011011000
010111000110001101
100000100100110101
111110111111010101
110001001010001111
000010100011111111
101111110101010010
010011001110101101
110101011110010000
010111100100000100
110011100101101100
011001011011000011
001100010010010011
000100100100110110
                      圖4.2.3.15
Integer to Bit Converter模塊輸出數據每一行的二進制比特數據即是將General Block Interleaver模塊每個十進制數變換為二進制數而已。其計算方法從略。

利用scope模塊來觀察的各個模塊的輸出波形見下圖:
波形的輸出順序為,從上至下:Repeat模塊輸出數據、Matrix交織器輸出數據、Bit to Integer Converter模塊輸出數據、General BlockInterleaver模塊輸出數據、Integer to Bit Converter模塊輸出數據

圖4.2.3.16
4.2.4 沃爾什調制器輸出與長碼輸出及其異或驗證
   模塊參數設置及參數設置說明如下:

    圖4.2.4.1 Walsh正交編碼調制器設置
Walsh order:是指沃爾什調制器的輸入,用每6個比特的二進制數據來選取Walsh正交符號集中的某一行符號,且任何一行的數據符號的個數均為64個。其簡單計算公式為,具體原理見沃爾什函數部分。
Input vector length:是指輸入的數據長度。從塊交織器輸出的數據長度為576個二進制比特,所以這里的設置為32×18=576。

4.2.4.2雙極性向單極性轉換模塊設置   
M-ary number:是指數據序列的進制數,由于,在本仿真的過程中,我們所用的數據均為二進制數據序列,故將此設置為2。
Polarity:由于Walsh調制器輸出的數據是雙極性的二進制序列,而長碼產生的碼序列是單極性的,為了兩者匹配,我們就用極性變換來使達到目的。在極性變換中,“1”=>“-1”,”0”=>”1”,所以,將這里的參數設置為Negative.

                         圖4.2.4.3 Buffer模塊設置
Output buffer size(per channel):為了使異或模塊前Walsh調制器的輸出碼序列大小和長碼產生器輸出碼序列大小相同,我們同時將兩出的模塊輸出碼序列大小設置為4。
                 
                     圖4.2.4.4長碼產生器設置
Output frame size:同4.2.3.3設置說明。
Sample time:為了保持幀在整個仿真中的大小不變和滿足設計的需要,我們這里也繼承前面的模塊設置,將抽樣時間設置為20/1000/80。

圖4.2.4.5異或模塊參數設置
仿真數據驗證:
    參考前面的塊交織器輸出的前6位比特數據,可以知道,前6位比特數據為:101001。運用公式計算可得i=37,也即,Walsh調制器輸出的碼序列為Walsh正交符號集中的第37行數據碼序列。查表知該行碼序列為:0101 1010 0101 1010 0101 1010 0101 1010 1010 0101 1010 0101 1010 0101 1010 0101。對照仿真輸出數據,見圖4.2.3.6和圖 4.2.3.7所示。圖4.2.3.6所示的是Walsh調制器輸出的雙極性碼,圖 4.2.3.7所示的是雙極性碼變換后的單極性碼。由兩圖可以知道,我們的仿真與理論完全吻合。當然,這里只是驗證了,塊交織器輸出的前6位碼序列,其他碼序列的驗證方法同這里一樣,這里不再重復。

Walsh調制器輸出數據           Bipolar toUnipolarConverter的輸出數據

圖4.2.4.6                                 圖 4.2.4.7

長碼異或處驗證:
                           圖4.2.4.8

Buffer模塊的輸出(雙極性)      Bipolar toUnipolarConverter的輸出數據                 

圖4.2.4.9                                  圖4.2.4.10
長碼產生器輸出                          異或輸出

圖4.2.4.11                             圖4.2.4.12
由于,buffer 模塊輸出的數據是雙極性的,經過映射后,我們得到單極性的數據,映射方法是:“1”=>“-1”,“0”=>“1”,由于buffer模塊輸出的數據為全“1”,所以,經過極性變換后的數據應該為全“0”。對圖4.2.3.9和圖4.2.3.10的讀值可以知道,數據符合理論。Bipolar toUnipolarConverter的輸出數據和長碼產生器輸出經過異或輸出,即得異或模塊輸出數據,分析知道,數據正確。
通過對上面的每個模塊的輸出數據進行對比分析可以知道,我們的設置與仿真是正確的。

4.2.5 I路和Q路的輸出驗證與分析
仿真連接圖:

                       圖4.2.5.1仿真連接
其中,Subsystem模塊是由前面所有的模塊構成的。
模塊的設置:

圖4.2.5.2 I路短碼產生模塊設置          圖4.2.5.3 Q路短碼產生模塊設置
I路短碼產生模塊設置說明:根據2.7部分的I路短碼生成多項式,我們可以得到I路的 Generator polynomial的值為:1 0 1 0 0 0 1 1 1 0 1 0 0 0 0 1。為了保持幀的大小和每幀的抽樣數相同,我們將Sample time 和Samples per frame 的值設置與前面的一樣,即:分別為20/1000/80s 和4。
Q路短碼產生模塊設置模塊說明:同樣根據2.7部分的Q路生成多項式,我們可以得到Q路的Generator polynomial的值為1 0 1 1 1 0 0 0 1 1 1 1 0 0 1。其他設置說明同I路模塊。

     圖4.2.5.4 1/2延時模塊的設置
設置說明:該模塊的目的是將Q路的信號延時1/2個碼片,形成OQPSK調制和正交分集。1/2碼片大小計算方式為:由于Q路的數據速率為1.2288Mcps,所以整個碼片的時長為,1/2碼片長為,也409.6ns。
仿真數據驗證:
Subsystem的輸出數據       I路短碼產生器輸出            I路異或輸出

圖4.2.5.5 Subsystem讀值   圖4.2.5.6 iPN讀值       圖4.2.5.7 iXOR讀值
Q路短碼產生器輸出       Q路異或輸出           延時模塊輸出

圖4.2.5.8 qPN讀值     圖4.2.5.9 qXOR讀值   圖4.2.5.10 delay讀值
    I路Double輸出                             Q路Double輸出

圖4.2.5.11 iDouble讀值             圖4.2.5.12 qDouble讀值

I路輸出                                      Q路輸出

   圖4.2.5.13 iOUT                       圖4.2.5.14 qOUT讀值

分析說明:  
由于,我們設置的數據均是每4個二進制數據輸出,所以,這里觀察到的數據均是4個二進制形式的。
   I路異或輸出的值是Subsystem的輸出數據和I路短碼產生器輸出的異或,對圖4.2.4.5 Subsystem讀值、圖4.2.4.6 iPN讀值和圖4.2.4.7 iXOR讀值的數據分析,我們可以發現,數據符合。同理可以驗證Q路異或輸出數據是正確的。Q路延時模塊輸出的數據是Q路異或輸出數據經過延時半個短碼片而得到的,所以,數據變換為半個碼片后的數據。使用Double模塊的目的是為了使Unipolar to Bipolar Converter模塊的輸入數據按照該模塊的要求達到匹配,即:數據類型為“unit8”,而Double模塊的作用正是使輸入信號轉換為符合要求的數據類型。最后,為了使輸出數據映射為雙極性類型的數據,我們將這里的數據,經過極性變換而得到。

5  經驗總結
在這個學期里,通過對CDMA通信系統相關知識和MATLAB中的SIMULINK部分的學習,使我在通信知識方面和MATLAB的軟件應用方面有了很大的提高,對處理事情的方法也有所提高。
由于本次的設計是選擇CDMA通信的反向接入信道作為課題的,該信道涉及到新的知識點很多,都需要自己去學習。剛開始的時候感覺是無從下手,原因在于:自己對基本理論和MATLAB軟件的不熟悉,所思考的處理方式方向根本就不對,導致白白地浪費了很長的一段時間,什么結果也沒有出來。不過在老師和同學的幫助下,我還是及時地確定了正確的學習方向。所以,我認為,在做自己不是很了解的方向的課題時,最好還是,先花一定的時間來確定處理事件的方法和方向還是必要的。
這次課題是用軟件來對接入信道進行仿真,方法在該軟件里有三種,我選擇的是是用里面的模塊庫中的模塊來構建、分析和仿真的。軟件的仿真,尤其是使用里面的模塊來構建,我們首先應該對該模塊很熟悉,這樣才能很好的對模塊予以運用,但對我們剛剛接觸該知識的人來說,這一點我們是缺乏的。因此,我們就需要充分利用軟件本身的幫助優勢來解決問題。同時,我們在遇到問題時,我們應該從該問題的入口處切入,“順藤摸瓜”的形式來使問題的來源更清晰,從而更容易解決問題。例如:在這次仿真中,一開始,我們就不懂得運用Buffer模塊,也不懂得從問題處切入,導致在長碼和Walsh碼異或時,出現數據寬度不匹配的問題,使用了很多的模塊也解決不了,最后,在偶爾的機會時才用這個模塊解決了問題。在后面,I路和Q路的數據輸出前極性轉換處也出現了問題,不過,我們利用前面的經驗,很快就解決了問題。
因此,這次的畢業設計課題不僅使我學到了更多的知識,也使我學會更好地處理遇到的問題。

完整的Word格式文檔51黑下載地址:
CDMA通信系統中的接入信道部分進行仿真與分析資料.doc (724.5 KB, 下載次數: 4)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表