资源预览内容
第1页 / 共45页
第2页 / 共45页
第3页 / 共45页
第4页 / 共45页
第5页 / 共45页
第6页 / 共45页
第7页 / 共45页
第8页 / 共45页
第9页 / 共45页
第10页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2020/10/28,1,MATLAB及其在通信系统课程设计中的应用,2020/10/28,2,三、MATLAB程序设计基础-流程控制,顺序结构、选择结构、循环结构 顺序结构 选择结构 if语句 和 switch case语句 1if语句 (1) 单分支if语句: if 条件 语句组 end,2020/10/28,3,三、MATLAB程序设计基础-if语句,(2) 双分支if语句: if 条件 语句组1 else 语句组2 end,2020/10/28,4,三、MATLAB程序设计基础-if语句,(3)多分支 if 条件1 语句1 elseif 条件2 语句2 elseif 条件3 语句3 else 语句n end,2020/10/28,5,三、MATLAB程序设计基础-switch语句,switch语句 switch 表达式 case 表达式1 语句组1 case 表达式2 语句组2 otherwise 语句组n end switch语句根据表达式的取值不同,分别执行不同的语句,其语句格式为:,2020/10/28,6,三、MATLAB程序设计基础-switch语句,示例: modutype=16qam; % switch modutype case bpsk; ys=bpskmod(xs); case qpsk ys=qpskmod(xs); case 16qam ys=qam16mod(xs); otherwise error(Modulation type not definded!); end,2020/10/28,7,三、MATLAB程序设计基础-循环结构,循环结构 for 语句 while 语句 1for语句 for语句的格式为: for 循环变量=表达式1:表达式2:表达式3 语句 end 例:阶乘运算,计算10! n=10; ypower=1; for k=1:n ypower=ypower*k; end 结果:3628800,2020/10/28,8,三、MATLAB程序设计基础-while语句,2while语句 while语句的一般格式为: while (条件) 语句 end 例:求Fabonacci数列中第一个大于1000的元素。 a(1)=1; a(2)=1; i=2; while a(i)1000 a(i+1)=a(i-1)+a(i); i=i+1; end I,a(i), 结果:i=21,a(21)=10946,2020/10/28,9,三、MATLAB程序设计基础-绘图,绘制二维曲线 plot函数的基本调用格式为: plot(x,y) plot(y) x和y为长度相同的向量,分别存储x坐标和y坐标数据。 例:绘制多条曲线 plot(x,y1,x,y2,x,y3),2020/10/28,10,三、MATLAB程序设计基础-设置曲线样式,字母 颜色 标点 线型 y 黄色 * 星形 m 粉红 o 圈 c 亮蓝 x r 红色 + 字 g 绿色 - 实线 b 蓝色 : 点线 w 白色 - 虚线 k 黑色 -. 点划线 格式:plot(x1,y1,选项1,x2,y2,选项2) plot(x,y1,k-,x,y2,r-o);,2020/10/28,11,三、MATLAB程序设计基础-图形标注,图形标注 有关图形标注函数的调用格式为: title(图形名称) title(demodulated output) ; xlabel(x轴说明) xlabel(SNR(dB); ylabel(y轴说明) ylabel(error rate); legend(图例1,图例2,) legend(QPSK,16QAM);,2020/10/28,12,三、MATLAB程序设计基础-图形标注,2020/10/28,13,三、MATLAB程序设计基础-网格线、边框、对数坐标,grid命令:给坐标加网格线用grid命令来控制。 grid on/off:控制是画还是不画网格线; grid: 在两种状态之间进行切换。 box命令:给坐标加边框用box命令来控制。 box on/off:控制是加还是不加边框线, box:在两种状态之间进行切换。 hold命令:图形保持: hold on/off:控制保持原有图形或刷新原有图形, hold:在两种状态之间进行切换 Y轴使用对数坐标: semilogy(snr,ber); 其它semilogx,loglog,2020/10/28,14,三、MATLAB程序设计基础-图形窗口的分割,图形窗口的分割 subplot(m,n,p) 图形窗口分成m行n列个绘图区,即每行n个,共m行,绘图区按行优先编号,且选定第p个区为当前活动区。 每个绘图区可有不同的坐标系。 例: figure; subplot(2,3,1); plot(1:10,1:10); subplot(2,3,5); plot(1:10,1:10.2);,2020/10/28,15,三、MATLAB程序设计基础-图形窗口的分割,2020/10/28,16,三、MATLAB程序设计基础-高阶绘图功能,高阶绘图功能(略) 三维曲线绘图plot3 网线图 mesh 曲面图surf 透视 、镂空、裁切 直方图、饼图 切片图,2020/10/28,17,三、MATLAB程序设计基础-文本编辑器editor,菜单 file edit text debug,2020/10/28,18,三、MATLAB程序设计基础-file菜单,2020/10/28,19,三、MATLAB程序设计基础-Edit菜单,2020/10/28,20,三、MATLAB程序设计基础-Text菜单,2020/10/28,21,三、MATLAB程序设计基础-调试,程序的调试 Editor 中的Debug菜单项 在程序中设置和清除断点; 设置停止条件。 用于临时停止M文件的执行,并给用户一个检查局部变量的机会。,2020/10/28,22,三、MATLAB程序设计基础-Debug菜单,2020/10/28,23,四、综合示例-AMI编码,AMI编码 AMI(Alternate Mark Inversion)码即传号交替反转码。它将信码中的“0”仍编码为“0”,而信码中的“1”码编码为“+1”或“-1”极性交替的归零码。 消息代码 1 0 0 0 1 1 1 0 1 AMI码: +1 0 0 0 -1 +1 -1 0 +1,2020/10/28,24,四、综合示例-AMI码波形,2020/10/28,25,四、综合示例-设计流程,产生信息比特 0、1信息比特变换为0 、+1/-1 符号 NRZ波形:每个码元符号采样20点。 绘图 程序:amiencode.m,2020/10/28,26,四、综合示例-AMI编码程序,% AMI encode example % generate raw information bit xbit=1,0,0,0,1,1,1,0,1; nb=length(xbit); % initialize the output xami=zeros(1,nb); ks=20; signal=zeros(1,ks*nb); polar0=-1; % initial reference polar % encode cycle for k=1:nb if xbit(k)=1 xami(k)=-polar0; % alternating the polar polar0=xami(k); % memorize the polar % turn to RZ waveform signal(k-1)*ks+1:(k-1)*ks+ks/2)=xami(k); end end,2020/10/28,27,% show the waveform figure; plot(1:nb*ks,signal); grid on; title(ami code waveform); xlabel(samples); axis(1,nb*ks,-2,2);,四、综合示例-AMI编码程序,2020/10/28,28,四、综合示例-信噪比计算,信噪比计算:根据给定的信噪比,为信号添加噪声。绘制原始信号波形和加噪声后的波形。,2020/10/28,29,四、综合示例-设计流程,产生信号 计算信号功率、噪声功率 产生噪声、噪声污染后的信号 绘制波形 程序:snrest.m,2020/10/28,30,四、综合示例-程序编写,% snr calcalation % signal generation fs=100e3; % sampling frequency nt=5000; % number of samples t=0:1/fs:(nt-1)*1/fs; % time vector fc=50; signal=zeros(1,nt); for k=1:5 phi0=rand*2*pi; % initial phase signal=signal+cos(2*pi*fc*k*t+phi0); end % signal power ps=sum(signal.2)/nt;,2020/10/28,31,四、综合示例-程序编写,snrdb=10; snr=10(snrdb/10); pn=ps/snr; % noise power noise=randn(1,nt)*sqrt(pn); % noise signoise=signal+noise; % show the signal waveform figure; subplot(2,1,1);plot(t,signal); grid; title(pure signal); subplot(2,1,2); plot(t,signoise); grid; title(with noise);,2020/10/28,32,四、综合示例-BPSK仿真系统,BPSK仿真系统,2020/10/28,33,四、综合示例-BPSK仿真系统,2020/10/28,34,四、综合示例-设计流程,产生信息比特 调制 产生噪声序列 解调 错误统计 绘制性能曲线,2020/10/28,35,四、综合示例-程序编写,% bpsk system monte-carol simulation clear all; maxtime=2000; nbit=1000; snrdball=0:2:14; biterrcount=zeros(1,length(snrdball); for time=1:maxtime % raw info bit txbit=randn(1,nbit)0; % raw bit of 0 1 % modulation txsym=txbit*(-2)+1; % bpsk modulation,turn to 1/-1 for nk=1:length(snrdball) % snr cycle % add noise snrdb=snrdball(nk); snr=10(snrdb/10); % real value powernoise=1/snr; sigma=sqrt(powernoise); noise=randn(1,nbit)*sigma; % noise rxsig=txsym
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号