这篇文章是搭建一个CRC循环冗余码的检错性能仿真系统,名字有点长啊,这是我一个通信课程小作业的内容。
第一步:启动Simulink
点一下圈住的那个图标;
等系统加载一会后出现下面这个界面,点击Blank Model,即创建了一个空白的模型。
同时我们也可以发现matlab能做的仿真是特别多的。把这个例子做完了相信那就基本掌握了,
注意这些东西只属于一种技术,都是特别生硬的、老套的,
只有你运用了自己所学的知识,最后搭建出来的东西才是有价值的。
第二步:保存文件(随手保存文件是个好习惯)
出现下面这个界面后先保存这个东西。File-save,保存到一个1自己找得到的地方。
保存后名字就变了,接下来就开始搭建了,把一个一个仿真需要的模块找到并设置合适的参数就行了。
第三步:系统搭建,拉模块并设置参数
找到上面这四个东西然后如下图所示连接起来,Subsystem是子系统的意思,我是画好后直接截的屏,你会看到子系统里面是有东西的。
第四步:子系统的搭建
如下图所示和第三步一样,找到后连线就行了。
第五步:设置参数
有几个模块需要设置一些参数,其他的模块参数默认就行了
第六步:matlab调用模型进行仿真的代码:
为啥会有这个部分那,因为在这个设计里面我要多次调用这个系统,每一次调用相当于进行了一次仿真,
有了一个数据点,横坐标是仿真次数物理含义是信噪比,纵坐标是校验误差。
clear clc EbN0=0:1:10; % ber=berawgn(EbN0,"qam",16); ber=berawgn(EbN0,"qam",16); for i=1:length(EbN0) BER=ber(i); x= sim('modal_CRC'); pmissed(i)=x.MissedFrame(end)/length(x.MissedFrame); end semilogy(EbN0,pmissed,'-ko'); title('图4.3 CRC-16检错性能'); xlabel('Eb/N0');ylabel('漏检概率'); axis([0 8 10.^(-6) 10.^(-3)]); grid on
第七步:仿真结果