MATLAB基础与实例进阶14

上传人:壹****1 文档编号:588976584 上传时间:2024-09-09 格式:PPT 页数:40 大小:433KB
返回 下载 相关 举报
MATLAB基础与实例进阶14_第1页
第1页 / 共40页
MATLAB基础与实例进阶14_第2页
第2页 / 共40页
MATLAB基础与实例进阶14_第3页
第3页 / 共40页
MATLAB基础与实例进阶14_第4页
第4页 / 共40页
MATLAB基础与实例进阶14_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《MATLAB基础与实例进阶14》由会员分享,可在线阅读,更多相关《MATLAB基础与实例进阶14(40页珍藏版)》请在金锄头文库上搜索。

1、第第14章章 MATLAB通信系通信系统仿真仿真【学习目标】l了解数字通信系统基本概念l掌握数字调制/解调及其仿真l掌握信道编码/译码及其仿真2021/7/11第第14章章 MATLAB通信系通信系统仿真仿真数字通信系数字通信系统基本概念基本概念14.1数字数字调制制/解解调及其仿真及其仿真14.2信道信道编码/译码及其仿真及其仿真14.3典型数字通信仿真典型数字通信仿真实例例14.42021/7/1214.1数字通信系数字通信系统基本概念基本概念2021/7/1314.2数字数字调制制/解解调及其仿真及其仿真14.2.1 脉冲幅度调制(脉冲幅度调制(PAM)信号)信号14.2.2 相位调制(

2、相位调制(PSK)信号)信号14.2.3 频率调制信号频率调制信号14.2.4 连续相位调制信号连续相位调制信号2021/7/141.1.脉冲幅度调制(脉冲幅度调制(PAMPAM)信号)信号2021/7/151.1.脉冲幅度调制(脉冲幅度调制(PAMPAM)信号)信号参数名称参数值M-ary number(M维数)4Initial seed(初始化种子)37Sample time(采样时间)0.01Random Integer Generator(随机整数发生器)的主要参数M-PAM调制和解调器的主要参数参数名称参数值M-ary number(M维数)4Minimum distance (最小

3、距离)2Constellation ordering(星座顺序)Binary2021/7/161.1.脉冲幅度调制(脉冲幅度调制(PAMPAM)信号)信号AWGN Channel(高斯白噪声信道)的主要参数Discrete-Time Scatter Plot Scope(离散时间星座仪)的主要参数参数名称参数值Initial seed(初始化种子)67Es/No(dB)(信噪比)25Symbol period(符号周期)1参数名称参数值Samples per symbol(每符号采样)1Offset(samples)(偏置)0Points displayed(显示点数)1000New poin

4、ts per display(每次显示的新迹)5002021/7/171.1.脉冲幅度调制(脉冲幅度调制(PAMPAM)信号)信号Error Rate Calculation(误码率计算)的主要参数参数名称参数值Receive delay(接收延迟)0Computation delay(计算延迟)0Computation mode(计算模式)Entire frameOutput data(输出数据)port2021/7/182.2.相位调制(相位调制(PSKPSK)信号)信号2021/7/192.2.相位调制(相位调制(PSKPSK)信号)信号M-PSK Modulator Baseband(

5、M-PSK基带调制器)的主要参数参数名称参数值M-ary number(M维数)8Phase offset(rad)(相位偏差)pi/8Constellation ordering(星座顺序)BinaryInput type(输入类型)Integer2021/7/1103.3.频率调制信号频率调制信号2021/7/1113.3.频率调制信号频率调制信号 Bernoulli Binary Generator(伯努利二进制随机数产生器)的主要参数参数名称参数值Probability of a zero(0出现的概率)0.5Initial seed(初始化种子)61Sample time(采样时间)

6、0.1Frame-based output(基于帧输出)使能Samples per frame(每帧采样数)10M-FSK Modulator Baseband(MFSK基带调制器)的主要参数参数名称参数值M-ary number(M维数)4Input type(输入类型)BitSymbol set ordering(符号顺序)BinaryFrequency separation(Hz)(频率间隔)10Phase continuity(相位连续性)DiscontinuousSamples per symbol(每符号采样数)162021/7/1124.4.连续相位调制信号连续相位调制信号202

7、1/7/1134.4.连续相位调制信号连续相位调制信号GMSK Modulator Baseband(GMSK基带调制器)的主要参数参数名称参数值Input type(输入类型)BitBT product(BT乘积)0.3Pulse length(symbol intervals)(符号间隔)3Symbol prehistory(符号前史)1Phase offset(rad)(相位偏置)0Samples per symbol(每符号采样数)162021/7/11414.3信道信道编码/译码及其仿真及其仿真14.3.1 线性分组码线性分组码14.3.2 循环码循环码14.3.3 卷积码卷积码20

8、21/7/1151线性分组码线性分组码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可以实现线性分组码、循环码、汉明码的编码。2021/7/1161线性分组码线性分组码函数参数的含义如下:

9、 msg:信息序列,可以是二进制行或列向量,也可以是二进制矩阵,也可以是十进制行或列向量; n,k:分别为码长和信息分组长度; fmt:表示编码进制数,默认为二进制(binary); genmat:表示线性分组码的生成矩阵; genpoly:表示循环码的生成多项式,可以由函数cyclpoly(n,k)实现; prim_poly:表示采用汉明编码时的本原多项式,可以由函数gfprimdf(n-k)实现。2021/7/1171线性分组码线性分组码【例10-1】encode函数使用示例:采用三种不同的格式(二进制向量、二进制矩阵以及十进制向量)生成(7,4)汉明码。clc;clear all;clo

10、se all;m = 3; n = 2m-1; %码长 = 7k = 2m-1-m; %信息分组长 =4% 生成50个信息分组,每个分组k比特msg1 = randint(50*k,1,0,1); % 列向量msg2 = vec2mat(msg1,k); % 转换为k维列向量的矩阵msg3 = bi2de(msg2); % 转换为十进制整数的行向量2021/7/1181线性分组码线性分组码% 生成50个码字,每个码字n比特code1 = encode(msg1,n,k,hamming/binary);code2 = encode(msg2,n,k,hamming/binary);code3 =

11、 encode(msg3,n,k,hamming/decimal);% 判断三种方法生成的码字是否相同if ( vec2mat(code1,n)=code2 & de2bi(code3,n)=code2 ) disp(All three formats produced the same content.)end2021/7/1192循环码循环码l l循环码循环码l lBCH码码l l里德里德-所罗门(所罗门(RS)码)码2021/7/1202循环码循环码【例encode和 decode函数使用示例:对(15,4)循环码进行编译码。clc;clear all;close all;n = 15;

12、 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,0 1;.7 .3), 2); % 加噪声newmsg = decode(noisycode,n,k,cyclic); %译码number,ratio = biterr(newmsg,msg); % 计算误码率disp(The bit error rate is ,num2

13、str(ratio)2021/7/1212循环码循环码lBCH码bchenc函数的语法形式如下:code = bchenc(msg,n,k)code = bchenc(.,paritypos)这两个函数可以用于生成 BCH码,其中msg的数据结构必须为Galois array。与bchenc相对应的函数是bchdec,函数的语法形式如下:decoded = bchdec(code,n,k)decoded,cnumerr,ccode = bchdec(.)cnumerr:表示与code相对应的纠正的错误个数;ccode:表示经过错误纠正后的码字;decoded:表示返回的译码结果。2021/7/

14、1222循环码循环码【例10-4】BCH码编译码仿真示例。clc;clear all;close all;m = 4; n = 2m-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比特错误2021/7/1232循环码循环码newmsg,

15、err,ccode = bchdec(noisycode,n,k); % 译码if ccode=code disp(All errors were corrected.)endif newmsg=msg disp(The message was recovered perfectly.)end2021/7/1242循环码循环码【例10-5】RS码编译码仿真示例。m = 3; % 每符号比特数n = 2m-1; k = 3; % 码字长度和信息长度t = (n-k)/2; % rs码的纠错能力nw = 4; % 码字个数msgw = gf(randint(nw,k,2m),m); % 生成随机信

16、息符号c = rsenc(msgw,n,k); % 编码noise = (1+randint(nw,n,2m-1).*randerr(nw,n,t); cnoisy = c + noise; % 加噪声dc,nerrs,corrcode = rsdec(cnoisy,n,k); % 译码isequal(dc,msgw) & isequal(corrcode,c) % 检测是否译码正确 2021/7/1253卷积码卷积码poly2trellis函数是将卷积码的多项式描述转换为网格描述。函数的语法形式如下:trellis = poly2trellis(ConstraintLength,CodeGe

17、nerator)trellis = poly2trellis(ConstraintLength,CodeGenerator,FeedbackConnection)具体参数的函数如下:ConstraintLength:表示k个输入比特的约束长度;CodeGenerator:表示卷积码的生成矩阵,使用八进制数表示,生成矩阵表示n个输出对应于k个输入的连接;FeedbackConnection:表示反馈编码器的连接,使用八进制数表示;2021/7/1263卷积码卷积码trellis:函数的返回值是一个网格结构体,网格结构体包含的字段及含义如表所示网格结构体字段维数含义numInputSymbols标

18、量输入到编码器的符号个数: numOutputsymbols标量编码器输出的符号个数: numStates标量编码器状态数nextStatesnumStates 矩阵当前状态在当前输入下的下一状态outputsnumStates 矩阵当前状态在当前输入下的输出2021/7/1273卷积码卷积码convenc函数的语法形式如下:code = convenc(msg,trellis)code = convenc(msg,trellis,puncpat)code = convenc(msg,trellis,.,init_state)code,final_state = convenc(.)其中各参数

19、含义如下:msg:待编码的信息序列,为二进制向量。编码器的每个输入符号包含log2(trellis.numInputSymbols)个比特;puncpat:表示打孔(puncture)图样,通过打孔可以构造删除卷积码,从而获得更高的码率;init_state:表示编码器的初始状态;final_state:表示编码结束后编码器的最终状态。2021/7/1283卷积码卷积码卷积码的译码采用维特比译码,vitdec函数的语法形式如下:decoded = vitdec(code,trellis,tblen,opmode,dectype)decoded = vitdec(code,trellis,tbl

20、en,opmode,soft,nsdec)decoded =vitdec(code,trellis,tblen,opmode,dectype,puncpat)vitdec函数使用维特比算法进行译码,具体各参数含义如下:trellis:指定了该卷积码的网格图结构;tblen:表示回溯长度,对于 卷积码,tblen约为编码约束长度的5倍;opmode:表示译码器的操作模式。2021/7/1293卷积码卷积码卷积码的译码采用维特比译码,vitdec函数的语法形式如下:decoded = vitdec(code,trellis,tblen,opmode,dectype)decoded = vitdec

21、(code,trellis,tblen,opmode,soft,nsdec)decoded =vitdec(code,trellis,tblen,opmode,dectype,puncpat)vitdec函数使用维特比算法进行译码,具体各参数含义如下:trellis:指定了该卷积码的网格图结构;tblen:表示回溯长度,对于 卷积码,tblen约为编码约束长度的5倍;opmode:表示译码器的操作模式。2021/7/1303卷积码卷积码vitdec函数有三种操作模式:cont:假定编码器开始于全0状态,译码器从最优路径回溯,延迟tblen个符号后得到译码输出;term:假定编码器开始和结束状态

22、都为全0状态,译码器从全0状态开始回溯译码,该模式没有延时;trunc:假定编码器开始于全0状态,译码器从最优路径回溯,该模式没有延时。dectype:表示维特比译码的判决模式:unquant:未量化输入,码字包含实值输入;hard:采用硬判决算法;soft:采用软判决算法;nsdec:软判决译码算法中的量化比特数。2021/7/1313卷积码卷积码【例10-7】卷积码的编译码仿真示例。clc;clear all;close all;% 编码数据比特trel = poly2trellis(3,6 7); % 定义网格msg = randi(0 1,1000,1); % 随机数据code = c

23、onvenc(msg,trel); % 卷积编码tblen = 5; % 回溯长度% 映射 0 比特为1.0 , 1 比特为 -1.0,同时加高斯白噪声ucode = real(awgn(1-2*code, 3, measured);hcode = ucode0; % 硬判决译码,转换为二进制decoded1 = vitdec(hcode,trel,tblen,cont,hard); 2021/7/1323卷积码卷积码% 软判决译码,使用量化输入,采用3比特量化 x,qcode = quantiz(ucode,-.75 -.5 -.25 0 .25 .5 .75,7:-1:0);decoded

24、2 = 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),msg(1:end-tblen);n3,r3 = biterr(decoded3(tblen+1:end),msg(1:end-tblen);d

25、isp(The bit error rates are: ,num2str(r1 r2 r3)2021/7/13314.4典型数字通信仿真典型数字通信仿真实例例14.4.1 2FSK信号在高斯白噪声信信号在高斯白噪声信道的传输性能道的传输性能14.4.2 TDMA信号收发系统仿真信号收发系统仿真2021/7/1341 2FSK信号在高斯白噪声信道的传输性能信号在高斯白噪声信道的传输性能2021/7/1351 2FSK信号在高斯白噪声信道的传输性能信号在高斯白噪声信道的传输性能脚本程序如下:clc;clear all;close all;EsN0=0:20; % 信噪比,单位为dBErr=zer

26、os(1,length(EsN0); %输出的误比特率FrequencySep = 24000; % 2FSK信号频率间隔BitRate = 10000; % 信号源比特率SimulationTime = 10; % 仿真时间SamplePerSym = 2; % 每符号抽样点数for i=1:length(EsN0) SNR = EsN0(i); sim(fskerr); % 运行仿真程序,变量保存在BitErrorRate中 Err(i)=mean(BitErrorRate); % 求出平均误比特率end2021/7/1361 2FSK信号在高斯白噪声信道的传输性能信号在高斯白噪声信道的传输性能semilogy(EsN0,Err)grid onxlabel(SNR)ylabel(Bit Error Rate)2021/7/1372 TDMA信号收发系统仿真信号收发系统仿真2021/7/1382021/7/139 结束语结束语若有不当之处,请指正,谢谢!若有不当之处,请指正,谢谢!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号