




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
會計學1MATLAB基礎與實例進階2023/1/18機械工業出版社Page2第14章MATLAB通信系統仿真數字通信系統基本概念14.1數字調制/解調及其仿真14.2信道編碼/譯碼及其仿真14.3典型數字通信仿真實例14.4第1頁/共39頁2023/1/18機械工業出版社Page314.1數字通信系統基本概念第2頁/共39頁2023/1/18機械工業出版社Page414.2數字調制/解調及其仿真14.2.1脈沖幅度調制(PAM)信號14.2.2相位調制(PSK)信號14.2.3頻率調制信號14.2.4連續相位調制信號第3頁/共39頁2023/1/18機械工業出版社Page51.脈沖幅度調制(PAM)信號第4頁/共39頁2023/1/18機械工業出版社Page61.脈沖幅度調制(PAM)信號參數名稱參數值M-arynumber(M維數)4Initialseed(初始化種子)37Sampletime(采樣時間)0.01RandomIntegerGenerator(隨機整數發生器)的主要參數M-PAM調制和解調器的主要參數參數名稱參數值M-arynumber(M維數)4Minimumdistance(最小距離)2Constellationordering(星座順序)Binary第5頁/共39頁2023/1/18機械工業出版社Page71.脈沖幅度調制(PAM)信號AWGNChannel(高斯白噪聲信道)的主要參數Discrete-TimeScatterPlotScope(離散時間星座儀)的主要參數參數名稱參數值Initialseed(初始化種子)67Es/No(dB)(信噪比)25Symbolperiod(符號周期)1參數名稱參數值Samplespersymbol(每符號采樣)1Offset(samples)(偏置)0Pointsdisplayed(顯示點數)1000Newpointsperdisplay(每次顯示的新跡)500第6頁/共39頁2023/1/18機械工業出版社Page81.脈沖幅度調制(PAM)信號ErrorRateCalculation(誤碼率計算)的主要參數參數名稱參數值Receivedelay(接收延遲)0Computationdelay(計算延遲)0Computationmode(計算模式)EntireframeOutputdata(輸出數據)port第7頁/共39頁2023/1/18機械工業出版社Page92.相位調制(PSK)信號第8頁/共39頁2023/1/18機械工業出版社Page102.相位調制(PSK)信號M-PSKModulatorBaseband(M-PSK基帶調制器)的主要參數參數名稱參數值M-arynumber(M維數)8Phaseoffset(rad)(相位偏差)pi/8Constellationordering(星座順序)BinaryInputtype(輸入類型)Integer第9頁/共39頁2023/1/18機械工業出版社Page113.頻率調制信號第10頁/共39頁2023/1/18機械工業出版社Page123.頻率調制信號
BernoulliBinaryGenerator(伯努利二進制隨機數產生器)的主要參數參數名稱參數值Probabilityofazero(0出現的概率)0.5Initialseed(初始化種子)61Sampletime(采樣時間)0.1Frame-basedoutput(基于幀輸出)使能Samplesperframe(每幀采樣數)10M-FSKModulatorBaseband(MFSK基帶調制器)的主要參數參數名稱參數值M-arynumber(M維數)4Inputtype(輸入類型)BitSymbolsetordering(符號順序)BinaryFrequencyseparation(Hz)(頻率間隔)10Phasecontinuity(相位連續性)DiscontinuousSamplespersymbol(每符號采樣數)16第11頁/共39頁2023/1/18機械工業出版社Page134.連續相位調制信號第12頁/共39頁2023/1/18機械工業出版社Page144.連續相位調制信號GMSKModulatorBaseband(GMSK基帶調制器)的主要參數參數名稱參數值Inputtype(輸入類型)BitBTproduct(BT乘積)0.3Pulselength(symbolintervals)(符號間隔)3Symbolprehistory(符號前史)1Phaseoffset(rad)(相位偏置)0Samplespersymbol(每符號采樣數)16第13頁/共39頁2023/1/18機械工業出版社Page1514.3信道編碼/譯碼及其仿真14.3.1線性分組碼14.3.2循環碼14.3.3卷積碼第14頁/共39頁2023/1/18機械工業出版社Page161.線性分組碼MATLAB中使用encode、decode可以實現線性分組碼的編譯碼。encode函數的語法形式如下:code=encode(msg,n,k,'linear/fmt',genmat)code=encode(msg,n,k,'cyclic/fmt',genpoly)code=encode(msg,n,k,'hamming/fmt',prim_poly)code=encode(msg,n,k)[code,added]=encode(...)使用encode可以實現線性分組碼、循環碼、漢明碼的編碼。第15頁/共39頁2023/1/18機械工業出版社Page171.線性分組碼函數參數的含義如下:msg:信息序列,可以是二進制行或列向量,也可以是二進制矩陣,也可以是十進制行或列向量;n,k:分別為碼長和信息分組長度;fmt':表示編碼進制數,默認為二進制(binary);genmat:表示線性分組碼的生成矩陣;genpoly:表示循環碼的生成多項式,可以由函數cyclpoly(n,k)實現;prim_poly:表示采用漢明編碼時的本原多項式,可以由函數gfprimdf(n-k)實現。第16頁/共39頁2023/1/18機械工業出版社Page181.線性分組碼【例10-1】encode函數使用示例:采用三種不同的格式(二進制向量、二進制矩陣以及十進制向量)生成(7,4)漢明碼。clc;clearall;closeall;m=3;n=2^m-1;%碼長=7k=2^m-1-m;%信息分組長=4%生成50個信息分組,每個分組k比特msg1=randint(50*k,1,[0,1]);%列向量msg2=vec2mat(msg1,k);%轉換為k維列向量的矩陣msg3=bi2de(msg2)';%轉換為十進制整數的行向量第17頁/共39頁2023/1/18機械工業出版社Page191.線性分組碼%生成50個碼字,每個碼字n比特code1=encode(msg1,n,k,'hamming/binary');code2=encode(msg2,n,k,'hamming/binary');code3=encode(msg3,n,k,'hamming/decimal');%判斷三種方法生成的碼字是否相同if(vec2mat(code1,n)==code2&de2bi(code3',n)==code2)disp('Allthreeformatsproducedthesamecontent.')end第18頁/共39頁2023/1/18機械工業出版社Page202.循環碼循環碼BCH碼里德-所羅門(RS)碼第19頁/共39頁2023/1/18機械工業出版社Page212.循環碼【例encode和
decode函數使用示例:對(15,4)循環碼進行編譯碼。clc;clearall;closeall;n=15;k=4;genpoly=cyclpoly(n,k,'max');
%構造循環碼多項式msg=randint(100,k,[0,1]);
%100個信息分組code=encode(msg,n,k,'cyclic/binary',genpoly);noisycode=rem(code+randerr(100,n,[01;.7.3]),2);%加噪聲newmsg=decode(noisycode,n,k,'cyclic');%譯碼[number,ratio]=biterr(newmsg,msg);%計算誤碼率disp(['Thebiterrorrateis',num2str(ratio)])第20頁/共39頁2023/1/18機械工業出版社Page222.循環碼BCH碼bchenc函數的語法形式如下:code=bchenc(msg,n,k)code=bchenc(...,paritypos)這兩個函數可以用于生成
BCH碼,其中msg的數據結構必須為Galoisarray。與bchenc相對應的函數是bchdec,函數的語法形式如下:decoded=bchdec(code,n,k)[decoded,cnumerr,ccode]=bchdec(...)cnumerr:表示與code相對應的糾正的錯誤個數;ccode:表示經過錯誤糾正后的碼字;decoded:表示返回的譯碼結果。第21頁/共39頁2023/1/18機械工業出版社Page232.循環碼【例10-4】BCH碼編譯碼仿真示例。clc;clearall;closeall;m=4;n=2^m-1;%碼字長度k=5;%信息符號長度nwords=10;%編碼個數msg=gf(randint(nwords,k));[genpoly,t]=bchgenpoly(n,k);%獲得生成多項式及相應的糾錯能力tt2=t;code=bchenc(msg,n,k);%編碼noisycode=code+randerr(nwords,n,1:t2);%對每個碼字加t2比特錯誤第22頁/共39頁2023/1/18機械工業出版社Page242.循環碼[newmsg,err,ccode]=bchdec(noisycode,n,k);%譯碼ifccode==codedisp('Allerrorswerecorrected.')endifnewmsg==msgdisp('Themessagewasrecoveredperfectly.')end第23頁/共39頁2023/1/18機械工業出版社Page252.循環碼【例10-5】RS碼編譯碼仿真示例。m=3;%每符號比特數n=2^m-1;k=3;
%碼字長度和信息長度t=(n-k)/2;%rs碼的糾錯能力nw=4;%碼字個數msgw=gf(randint(nw,k,2^m),m);%生成隨機信息符號c=rsenc(msgw,n,k);%編碼noise=(1+randint(nw,n,2^m-1)).*randerr(nw,n,t);cnoisy=c+noise;%加噪聲[dc,nerrs,corrcode]=rsdec(cnoisy,n,k);%譯碼isequal(dc,msgw)&isequal(corrcode,c)%檢測是否譯碼正確第24頁/共39頁2023/1/18機械工業出版社Page263.卷積碼poly2trellis函數是將卷積碼的多項式描述轉換為網格描述。函數的語法形式如下:trellis=poly2trellis(ConstraintLength,CodeGenerator)trellis=poly2trellis(ConstraintLength,CodeGenerator,FeedbackConnection)具體參數的函數如下:ConstraintLength:表示k個輸入比特的約束長度;CodeGenerator:表示卷積碼的生成矩陣,使用八進制數表示,生成矩陣表示n個輸出對應于k個輸入的連接;FeedbackConnection:表示反饋編碼器的連接,使用八進制數表示;第25頁/共39頁2023/1/18機械工業出版社Page273.卷積碼trellis:函數的返回值是一個網格結構體,網格結構體包含的字段及含義如表所示網格結構體字段維數含義numInputSymbols標量輸入到編碼器的符號個數:
numOutputsymbols標量編碼器輸出的符號個數:
numStates標量編碼器狀態數nextStatesnumStates矩陣當前狀態在當前輸入下的下一狀態outputsnumStates矩陣當前狀態在當前輸入下的輸出第26頁/共39頁2023/1/18機械工業出版社Page283.卷積碼convenc函數的語法形式如下:code=convenc(msg,trellis)code=convenc(msg,trellis,puncpat)code=convenc(msg,trellis,...,init_state)[code,final_state]=convenc(...)其中各參數含義如下:msg:待編碼的信息序列,為二進制向量。編碼器的每個輸入符號包含log2(trellis.numInputSymbols)個比特;puncpat:表示打孔(puncture)圖樣,通過打孔可以構造刪除卷積碼,從而獲得更高的碼率;init_state:表示編碼器的初始狀態;final_state:表示編碼結束后編碼器的最終狀態。第27頁/共39頁2023/1/18機械工業出版社Page293.卷積碼卷積碼的譯碼采用維特比譯碼,vitdec函數的語法形式如下:decoded=vitdec(code,trellis,tblen,opmode,dectype)decoded=vitdec(code,trellis,tblen,opmode,'soft',nsdec)decoded=vitdec(code,trellis,tblen,opmode,dectype,puncpat)vitdec函數使用維特比算法進行譯碼,具體各參數含義如下:trellis:指定了該卷積碼的網格圖結構;tblen:表示回溯長度,對于
卷積碼,tblen約為編碼約束長度的5倍;opmode:表示譯碼器的操作模式。第28頁/共39頁2023/1/18機械工業出版社Page303.卷積碼卷積碼的譯碼采用維特比譯碼,vitdec函數的語法形式如下:decoded=vitdec(code,trellis,tblen,opmode,dectype)decoded=vitdec(code,trellis,tblen,opmode,'soft',nsdec)decoded=vitdec(code,trellis,tblen,opmode,dectype,puncpat)vitdec函數使用維特比算法進行譯碼,具體各參數含義如下:trellis:指定了該卷積碼的網格圖結構;tblen:表示回溯長度,對于
卷積碼,tblen約為編碼約束長度的5倍;opmode:表示譯碼器的操作模式。第29頁/共39頁2023/1/18機械工業出版社Page313.卷積碼vitdec函數有三種操作模式: 'cont':假定編碼器開始于全0狀態,譯碼器從最優路徑回溯,延遲tblen個符號后得到譯碼輸出; 'term':假定編碼器開始和結束狀態都為全0狀態,譯碼器從全0狀態開始回溯譯碼,該模式沒有延時; 'trunc':假定編碼器開始于全0狀態,譯碼器從最優路徑回溯,該模式沒有延時。dectype:表示維特比譯碼的判決模式:'unquant':未量化輸入,碼字包含實值輸入;'hard':采用硬判決算法;'soft':采用軟判決算法;nsdec:軟判決譯碼算法中的量化比特數。第30頁/共39頁2023/1/18機械工業出版社Page323.卷積碼【例10-7】卷積碼的編譯碼仿真示例。clc;clearall;closeall;%編碼數據比特trel=poly2trellis(3,[67]);%定義網格msg=randi([01],1000,1);%隨機數據code=convenc(msg,trel);%卷積編碼tblen=5;%回溯長度%映射"0"比特為1.0,"1"比特為-1.0,同時加高斯白噪聲ucode=real(awgn(1-2*code,3,'measured'));hcode=ucode<0;%硬判決譯碼,轉換為二進制decoded1=vitdec(hcode,trel,tblen,'cont','hard');第31頁/共39頁2023/1/18機械工業出版社Page333.卷積碼%軟判決譯碼,使用量化輸入,采用3比特量化
[x,qcode]=quantiz(ucode,[-.75-.5-.250.25.5.75],7:-1:0);decoded2=vitdec(qcode',trel,tblen,'cont','soft',3);decoded3=vitdec(ucode,trel,tblen,'cont','unquant');%軟判決譯碼,使用非量化輸入%計算誤比特率,譯碼器輸出延遲tblen個符號[n1,r1]=biterr(double(decoded1(tblen+1:end)),msg(1:end-tblen));[n2,r2]=biterr(decoded2(tblen+1:end),m
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省攀枝花市西區2024-2025學年三年級數學第二學期期末監測試題含解析
- 浙江紹興一中2024-2025學年高三下學期語文試題3月月考試題含解析
- 2025年度企業餐飲管理合同
- 產品品牌授權合同書
- 高項第合同爭議解決的國際視角
- 商業合作合同保密協議書范本
- 幼兒音樂游戲律動創編示例
- 建筑裝飾施工組織與管理2流水施工原理
- TPM設備管理理論
- 三年級英語下冊 Unit 3 What colour is this balloon第3課時教學設計 湘少版
- 立式注塑機操作指導書
- 系統撥測方案
- 輸配電線路防火應急預案
- 基樁高應變動力檢測作業指導書
- 預防性侵害和性騷擾
- 《影視藝術鑒賞》課件
- 資產管理辦法培訓課件
- 公司網絡優化方案
- 一例胸痹病人的護理查房
- 三一掘進機技術維修方案-新疆永寧煤業
- 廣東異地就醫備案授權委托書范本
評論
0/150
提交評論