通信原理MATLAB仿真实验指导书V1.1
- 格式:pdf
- 大小:12.77 MB
- 文档页数:83
通信系统仿真〔MATLAB〕-----实验指导书邮电大学光电工程学院2015年3月目录实验一MATLAB语言概述1-MATLAB安装、根本入门... ... . (2)实验二MATLAB语言概述2-MATLAB的工作环境............ . . (3)实验三MATLAB语法根底1—变量和数组 (4)实验四MATLAB语法根底2—矩阵和关系、逻辑运算 (6)实验五MATLAB语法根底3- MATLAB绘图 (9)实验六MATLAB语法根底4--MATLAB程序设计 (16)实验七MATLAB在电子信息课程中的应用 (19)实验八MATLAB与数学建模 (37)实验九(补充) MATLAB图形用户界面〔GUI〕的设计..... ..... .. (49)提示:Matlab是练出来的,而不是看出来的!实验一MATLAB初步〔安装、根本入门〕一、实验目的1、熟悉MATLAB开发环境;2、在Demos的引导下初识MATLAB。
二、实验根本知识1、初识MATLAB环境2、掌握MATLAB的Demos的应用三、实验容学习使用MATLAB的Demos,在Demos的引导下完成:1、MATLAB的数值计算;2、MATLAB的符号计算;3、MATLAB的二维、三维及四维绘图、特殊图形的绘制,图形的标准、修饰;4、Simulink的使用初步:利用完成正弦图形的仿真。
四、答复以下问题1、与其他计算机语言相比拟,MATLAB语言突出的特点是什么?2、安装MATLAB时,在选择组件窗口中哪些局部必须勾选,没有勾选的局部以后如何补安装?3、什么是工具箱?典型的工具箱有哪些?4、MATLAB系统由那些局部组成?实验二MATLAB的工作环境一、实验目的1、熟悉MATLAB工作环境二、实验根本知识1、熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器文件和搜索路径浏览器。
2、掌握MATLAB常用命令:clc,clear,help,lookfor,who等命令三、实验容1、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye〔其它不会用的指令,依照此方法类推〕2、学习使用clc、clear,观察mand window、mand history和workspace等窗口的变化结果。
matlab实验指导书《通信工程专业科学计算与仿真》实验指导书董自健编淮海工学院电子工程系2013-12目录实验一:Matlab入门与基本应用 (1)实验二:Matlab基本运算 (3)实验三:M文件编程............................................................................................ 错误!未定义书签。
实验四:MASK系统性能仿真. (4)实验五:simulink仿真 (6)实验六:matlab仿真应用 (7)实验一:Matlab入门与基本应用一、实验目的(1)了解MATLAB家族产品构成,MATLAB的发展及特点,(2)熟悉MATLAB 7.0版本的界面、环境,基本操作等;二、实验内容及原理启动计算机;双击桌面上MATLAB快捷图标;在Command windows窗口下输入一些常用命令(参考教材);进行数据、矩阵测试,熟悉MATLAB的数据存储、赋值、运算特点;三、实验要求熟悉MATLAB 7.0版本的界面、环境,基本数据操作等。
实验二 Matlab 基本运算一、实验目的:1、掌握建立矩阵的方法;2、学习基本运算方法,即掌握MATLAB 各种表达式的书写规则以及常用函数的使用。
二、实验内容:1、创建两数组x1=[5 4 3;-1 0 8;2 5 7],x2=[8 5 2;-3 1 2;6 8 0]完成数组x1 x2的加减乘除,变量名分别为x3 x4 x5 x6;完成矩阵x1 x2的加减乘除计算,变量名为x7 x8 x9 x10,求矩阵x1 x2的行列式值及逆阵,变量名为detx1 detx2 invx1 invx2。
2、创建四行三列的零矩阵、1矩阵、单位阵,变量名为b1、b2 、b3 。
3、求方程3x .4-2x 3+6x 2+x -5=0的根。
4、解线性方程组:x 1-2x 2-3x 3+4x 4=86x 1+2x 2-x 3=6 7x 1+6x 2-2x 4=311x 2+7x 3-5x 4=145、利用MATLAB 绘制下列分段曲线:其中A 为常数。
《Matlab与通信仿真》实验指导书(下)通信基础教研室上课时间:学年第学期系部:班级:姓名:班内序号:指导教师:实验课程成绩:目录实验一MATLAB基础实验 (1)实验一成绩实验二绘图和确知信号分析实验 (8)实验二成绩实验三随机信号与数字基带实验 (22)实验三成绩实验四模拟调制实验 (32)实验四成绩实验五模拟信号数字传输实验(一) (41)实验五成绩实验六模拟信号数字传输实验(二) (51)实验六成绩实验七数字频带传输系统实验 (47)实验七成绩实验八通信系统仿真综合实验 (57)实验八成绩实验一MATLAB基础实验一、实验目的●了解MATLAB 程序设计语言的基本特点,熟悉MATLAB软件运行环境●掌握创建、保存、打开m文件及函数的方法●掌握变量等有关概念,具备初步的将一般数学问题转化为对应的计算机模型并进行处理的能力二、实验内容及步骤1.在Command Window里面计算①(358)510++÷⨯;②sin(3)π③123456789A⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,789456123B⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,计算:,,\,/C A BD A B A C C B=⨯=+;④3 1.247.5 6.6 3.15.4 3.46.1D⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,求1',,D D D-;⑤12345678i iZi i++⎡⎤=⎢⎥++⎣⎦,输入复数矩阵;2.建立.m文件,用for循环语句生成10×10的矩阵A:12102311101119⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦LLM M M ML,将A矩阵进行水平和垂直翻转得到矩阵B和C。
将A矩阵的前5行,5列变成0并赋值给D。
3.建立.m文件,随机产生一个50×50的矩阵,元素值为从0到255,要求用0和255对该矩阵进行标记,元素值大于128的标记为255,元素值小于128的标记为0。
4.产生一个均值为2.4方差为0.2大小为3×4的随机矩阵。
实验一 模拟通信的MATLAB 仿真姓名:左立刚 学号:031040522简要说明:实验报告注意包括AM ,DSB ,SSB ,VSB ,FM 五种调制与解调方式的实验原理,程序流程图,程序运行波形图,simulink 仿真模型及波形,心得体会,最后在附录中给出了m 语言的源程序代码。
一.实验原理1.幅度调制(AM )幅度调制(AM )是指用调制信号去控制高频载波的幅度,使其随调制信号呈线性变化的过程。
AM 信号的数学模型如图3-1所示。
图2-1 AM 信号的数学模型为了分析问题的方便,令δ=0,1.1 AM 信号的时域和频域表达式()t S AM=[A 0+m ()t ]cos t cω (2-1)()t S AM =A 0π[()()ωωωωδC C ++-]+()()[]ωωωωc c M M ++-21(2-2)AM 信号的带宽2=BAMfH(2-3)式中,fH为调制信号的最高频率。
2.1.3 AM 信号的功率P AM 与调制效率ηAMP AM=()2222t m A +=PP mc + (2-4)式中,P C=2A为不携带信息的载波功率;()22t m P m=为携带信息的边带功率。
()()t t m A m PP AMCAM222+==η(2-5) AM 调制的优点是可用包络检波法解调,不需要本地同步载波信号,设备简单。
AM 调制的最大缺点是调制效率低。
2.2、双边带调制(DSB )如果将在AM 信号中载波抑制,只需在图3-1中将直流 A 0去掉,即可输出抑制载波双边带信号。
2.2.1 DSB 信号的时域和频域表达式()()t t m t cDSB S ωcos= (2-6)()()()[]ωωωωωC C DSBM M S ++-=21 (2-7) DSB 信号的带宽fB BHAM DSB2== (2-8)DSB 信号的功率及调制效率由于不再包含载波成分,因此,DSB 信号的功率就等于边带功率,是调制信号功率的一半,即()()t t m PS P CDSB DSB 2221=== (2-9) 显然,DSB 信号的调制效率为100%。
通信原理Matlab仿真实验报告学号:姓名:实验一1、利用Matlab实现矩形信号串信号分解与合成⑴ Matlab程序代码:①矩形信号串信号分解与合成函数rectexpd():function rectexpd(T1,T0,m)%矩形信号串信号分解与合成%T1:矩信号区间为(-T1/2,T1/2)%T0:矩形矩信信号串周期%m:傅里叶级数展开项次数t1=-T1/2:0.01:T1/2;t2=T1/2:0.01:(T0-T1/2); t=[(t1-T0)';(t2-T0)';t1';t2';(t1+T0)'];n1=length(t1);n2=length(t2); %根据周期矩形信号函数周期,计算点数f=[ones(n1,1);zeros(n2,1);ones(n1,1);zeros(n2 ,1);ones(n1,1)]; %构造周期矩形信号串y=zeros(m+1,length(t));y(m+1,:)=f';figure(1);plot(t,y(m+1,:)); %绘制周期矩形信号串axis([-(T0+T1/2)-0.5,(T0+T1/2)+0.5,0,1.2]); set(gca,'XTick',[-T0,-T1/2,T1/2,T0]);set(gca,'XTickLabel',{'-T0','-T1/2','T1/2','T0'}) ;title('矩形信号串');grid on; a=T1/T0;pause; %绘制离散幅度谱freq=[-20:1:20];mag=abs(a*sinc(a*freq)); stem(freq,mag);x=a*ones(size(t));for k=1:m %循环显示谐波叠加图形pause;x=x+2*a*sinc(a*k)*cos(2*pi*t*k/T0);y(k,:)=x;plot(t,y(m+1,:));hold on;plot(t,y(k,:));hold off;grid on;axis([-(T0+T1/2)-0.5,[T0+T1/2]+0.5,-0.5,1.5]) ;title(strcat(num2str(k),'次谐波叠加')); xlabel('t');endpause;plot(t,y(1:m+1,:));grid on;axis([-T0/2,T0/2,-0.5,1.5]);title('各次谐波叠加');xlabel('t');②在命令窗口调用rectexpd()函数:T1=5;T0=10;m=5;rectexpd(T1,T0,m)⑵Matlab仿真结果:1次谐波叠加t3次谐波叠加tt2次谐波叠加t4次谐波叠加tt2、利用Matlab实现连续信号卷积运算⑴ Matlab程序代码:①连续信号卷积运算的通用函数sconv():function [f,k]=sconv(f1,f2,k1,k2,p) f=conv(f1,f2);f=f*p;k0=k1(1)+k2(1);k3=length(f1)+length(f2)-2;k=k0:p:k3*p; subplot(2,2,1); plot(k1,f1); title('f1(t)'); xlabel('t'); ylabel('f1(t)');subplot(2,2,2);plot(k2,f2);title('f2(t)'); xlabel('t'); ylabel('f2(t)'); subplot(2,2,3); plot(k,f); title('f(t)=f1(t)*f2(t)'); xlabel('t'); ylabel('f(t)');h=get(gca,'position'); h(3)=2.5*h(3);set(gca,'position',h);②在命令窗口调用sconv ()函数: p=0.01; k1=0:p:2; f1=exp(-k1); k2=0:p:3;f2=ones(1,length(k2)); [f,k]=sconv(f1,f2,k1,k2,p)⑵Matlab 仿真结果:0.511.5200.51f1(t)tf 1(t )01230.511.52f2(t)tf 2(t )00.51 1.522.533.544.550.51f(t)=f1(t)*f2(t)tf (t )实验二1、用Matlab模拟图形A律解码⑴Matlab程序代码:①建立函数ADecode()function y=ADecode(code,n) codesize=size(code);cr_len=codesize(1);cl_len=codesize(2);ca=zeros(1,cl_len-1);for i=1:cr_lenca=code(i,2:n);s=0;for j=1:n-1s=s+ca(j)*2^(n-1-j);enda=code(i,1);y(i)=s*((-1)^(a+1)); endy=y/(2^(n-1));A=87.6;A1=1+log(A); for j=1:length(y)if(y(j)>=0)if(y(i)<=1/A1)y(j)=y(j)*A1/A;elsey(j)=exp(y(j)*A1-1/A);endelsetemp=-y(j);if(temp<=1/A1)y(j)=-temp*A1/A;elsey(j)=-exp(temp*A1-1)/A;endendend②建立函数APCM()function code=APCM(x,n)xmax=max(abs(x));x=x/xmax;xlen=length(x);y=zeros(1,xlen);A=87.6;A1=1+log(A);for i=1:xlenif x(i)>=0if x(i)<=1/Ay(i)=(A*x(i))/A1;elsey(i)=(1+log(A*x(i)))/A1;endelsex1=-x(i);if x1<=1/Ay(i)=-(A*x1)/A1;elsey(i)=-(1+log(A*x1))/A1;endendendy1=y*(2^(n-1)-1);y1=round(y1);code=zeros(length(y1),n); c2=zeros(1,n-1);for i=1:length(y1)if(y1(i)>0)c1=1;elsec1=0;y1(i)=-y1(i);endfor j=1:n-1r=rem(y1(i),2);y1(i)=(y1(i)-r)/2;c2(j)=r;endc2=fliplr(c2);code(i,:)=[c1 c2];end③在新函数中调用前两个函数 t=0:0.01:1; x=sin(2*pi*t); code=APCM(x,7); y=ADecode(code,7); subplot(2,1,1) plot(t,x);title('原函数的图形'); subplot(2,1,2) plot(t,y);title('解码后函数的图形');⑵Matlab 仿真结果:00.10.20.30.40.50.60.70.80.91-1-0.500.51原函数的图形00.10.20.30.40.50.60.70.80.91-1-0.50.5解码后函数的图形2、用Matlab 模拟DSB 调制及解调过程 ⑴Matlab 程序代码: close all; clear all;dt=0.001;%采样时间间隔 fm=1; %信源最高频率 fc=10; %载波中心频率 N=4096;T=N*dt; t=0:dt:T-dt;mt=sqrt(2)*cos(2*pi*fm*t);%信源s_dsb=mt.*cos(2*pi*fc*t); %DSB-SC 双边带抑制载波调幅B=2*fm;figure(1); subplot(311) plot(t,s_dsb,'b-');hold on; %画出DSB 信号波形plot(t,mt,'r--');%画出m(t)信号波形 title('DSB 调制信号'); xlabel('t'); grid on;%DSB demodulation rt=s_dsb.*cos(2*pi*fc*t); rt=rt-mean(rt); [f,rf]=T2F(t,rt); [t,rt]=lpf(f,rf,B); subplot(312) plot(t,rt,'k-'); hold on;plot(t,mt/2,'r--');title('相干解调后的信号波形与输入信号的比较'); xlabel('t'); grid on; subplot(313)[f,sf]=T2F(t,s_dsb); %求调制信号的频谱psf=(abs(sf).^2)/T; %求调制信号的功率谱密度 plot(f,psf);axis([-2*fc 2*fc 0 max(psf)]); title('DSB 信号功率谱'); xlabel('f'); grid on;⑵Matlab 仿真结果:00.51 1.52 2.53 3.54 4.5-22DSB 调制信号t0.511.522.533.544.5-101相干解调后的信号波形与输入信号的比较t-20-15-10-5051015200.5DSB 信号功率谱f实验三1、用Matlab模拟双极性归零码⑴ Matlab程序代码:function y=drz(x)t0=300;x=[1 0 0 1 1 0 0 0 0 1 0 1];t=0:1/t0:length(x);for i=1:length(x);if(x(i)==1)for j=1:t0/2y(t0/2*(2*i-2)+j)=1;y(t0/2*(2*i-1)+j)=0;endelsefor j=1:t0/2y(t0/2*(2*i-2)+j)=-1;y(t0/2*(2*i-1)+j)=0;endendendy=[y,x(i)];M=max(y);m=min(y); subplot(211)plot(t,y);grid on;axis([0,i,m-0.1,M+0.1]);title('1 0 0 1 1 0 0 0 0 1 0 1 ');⑵Matlab仿真结果:2、用Matlab产生2FSK信号⑴ Matlab程序代码:①建立函数fskdigital()function fskdigital(s,f1,f2) t=0:2*pi/99:2*pi;m1=[];c1=[];b1=[];for n=1:length(s)if s(n)==0;m=ones(1,100);c=sin(f2*t);b=zeros(1,100) else s(n)==1;m=ones(1,100);c=sin(f1*t);b=ones(1,100)endm1=[m1 m]; c1=[c1 c]; b1=[b1 b]; endfsk=c1.*m1;subplot(211);plot(b1,'r')title('原始信号');axis([0 100*length(s) -0.1 1.1]);grid on;subplot(212);plot(fsk)title('2FSK信号');grid on;②在命令窗口调用函数fskdigital() >> s=[1 0 1 1 0 0 1 0]; f1=200; f2=100;fskdigital(s,f1,f2)⑵Matlab 仿真结果:10020030040050060070080000.20.40.60.81原始信号100200300400500600700800-1-0.500.512FSK 信号3、用Matlab 的simulink 模块模拟三角波的分解与还原 ⑴模块图⑵仿真结果:①三角波原图②用矩形波近似的冲击函数③分解后的三角波④经低通还原的三角波。
基于Matlab(Simulink)《通信原理》实验仿真(模拟部分)基于Matlab(Simulink)《通信原理》实验仿真(模拟部分)摘要模拟通信在通信系统中的使用非常广泛,而MATLAB(Simulink)是用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,它可以解决包括信号和图像处理、通讯等众多应用领域中的问题。
利用MATLAB集成环境下的M文件和Simulink工具箱可以完成通讯系统设计与仿真,本文主要是利用MATLAB集成环境下的M文件,编写程序来实现AM、FM、VSB调制与解调过程,并分别绘制出其信号波形。
再通过Simulink工具箱对模拟通信系统进行建模仿真。
Simulation of communication in a communication system is very extensive, and the use of MATLAB (Simulink) is used to algorithm development, data visualization, data analysis and numerical calculation of the senior technical calculation language and interactive environment, it can solve the including signal and image processing, communicationetc many applications in question. MATLAB integration environment Mfiles and Simulink tool box can complete communication system design and simulation, this paper is mainly use of MATLAB integration environment, programming of the M files to achieve AM, FM, VSB modulation and demodulation process, and separately plot its signal waveform. Again through Simulink communication system toolbox of simulation modeling simulation .关键词模拟信号;AM;FM;VSB;调制解调;MATLAB(Simulink)目录:第一章绪论第二章理论与方法2.1 matlab简介2.2 Simulink简介2.3 通信原理概述第三章设计方案3.1用 MATLAB的M文件进行模拟调制3.1.1 基于MATLAB的AM信号调制与解调3.1.2 基于MATLAB的FM信号调制与解调3.1.3 基于MATLAB的VSB信号调制与解调3.2用Simulink对模拟通信系统进行建模仿真3.2.1频分复用和超外差接收机的仿真模型3.2.2调频立体声接收机模型第四章小结参考文献致谢附录1:程序清单第一章绪论调制在通信系统中的作用至关重要。
数据通信原理实验的MATLAB仿真讲义MATLAB原意为“矩阵实验室—MA-TrixLABoratory”,它是目前控制界国际上最流行的软件,它除了传统的交互式编程之外,还提供了丰富可靠的矩阵运算、图形绘制、数据和图象处理、Windows编程等便利工具。
MATLAB还配备了大量工具箱,特别是还提供了仿真工具软件SIMULINK。
SIMULINK这一名字比较直观地表明了此软件的两个显著的功能:SIMU(仿真)与LINK(连接),亦即可以利用鼠标在模型窗口上“画”出所需的系统模型,然后利用SIMULINK提供的功能对控制系统进行仿真和线性化分析。
MATLAB在80年代一出现,首先是在控制界得到研究人员的瞩目。
随着MA T-LAB软件的不断完善,特别是仿真工具SIMULINK的出现,使MA TLAB的应用范围越来越广。
MATLAB的仿真环境(simulink)提供的系统模型库包括以下几个子模型库:Sources(输入源)、Sinks(输出源)、Discrete(离散时间系统)、Linear(线性环节)、Non-linear(非线性环节)、Connections(连接及接口)、Extras(其它环节)。
打开子模型库,你会发现每个模型库都包含许多个子模块,比如Sources模型库里含有阶跃函数、正弦函数、白噪声函数、MATLAB空间变量、信号发生器等子模块。
另外在Extras子模型库下还有一个BlockLibrary,集中了子模型库中最常用及其它常用的子模块,使用起来特别方便。
通信系统一般都可以建立数学模型,在数学模型中,主要包括乘法器、加法器、信号发生器、滤波器等,而这些在上述的simulink 系统模型库中一般都可找到,对于没有的模块(如伪随机信号发生器),可自己根据掌握的技术生成所需的子模块,随时调用。
这样就可根据数学模型,建立通信系统的仿真模型。
应用MA TLAB下的SIMULINK仿真工具可以很方便地进行通信系统仿真,利用SIMULINK仿真工具下的现有子模块进行仿真。