通信原理MATLAB仿真实验指导书V1.1
通信原理matlab实验
在无码间串扰和噪声的理想情况下,波形无失真,每个码元将重叠在一起,最终在示波器上看到的是迹线又细又清晰的“眼睛”,“眼”开启得最大。当有码间串扰时,波形失真,码元不完全重合,眼图的迹线就会不清晰,引起“眼”部分闭合。若再加上噪声的影响,则使眼图的线条变得模糊,“眼”开启得小了,因此,“眼”张开的大小表示了失真的程度,反映了码间串扰的强弱。由此可知,眼图能直观地表明码间串扰和噪声的影响,可评价一个基带传输系统性能的优劣。另外也可以用此图形对接收滤波器的特性加以调整,以减小码间串扰和改善系统的传输性能。
从以上分析可知,眼图可以定性反映码间串扰的大小和噪声的大小,眼图还可以用来指示接受滤波器的调整,以减少码间串扰,改善系统性能。
使用了随机数,产生的基带信号也是随机的,经过加白噪声,产生的眼图也是不一样的。选取的采样频率也影响着最后的博兴和眼图。一开始的时候,提示加噪声的部分有问题,通过调试,发现工作空间设置的不准确,相加会出现错误,将工作空间加大,语法没错了,但是眼图出不来。后来经过仔细观察,发现做卷积的时候把一个元素弄错了,经过修改,最终成功运行。
2015年6月25日
基于MATLAB的第一类部分响应系统的
基带信号及其眼图实现
摘要
所谓眼图,是指通过用示波器观察接收端的基带信号波形,从而估计和调整系统性能的一种方法。这种方法具体做法是:用一个示波器跨接在抽样判决器的输入端,然后调整示波器水平扫描周期,使其与接受码元的周期同步。此时可以从示波器显示的图形上,观察码间干扰和信道噪声等因素影响的情况,从而估计系统性能的优劣程度。因为在传输二进制信号波形时,示波器显示的图像很像人的眼睛,故名“眼图”。
通信原理实验Matlab程序(软件仿真)
num=0; % 计数器清零 yz(k)=1*yz(k-4); % 让0000的最后一个0改变为与前一个非零符号 相同极性的符号 V(k)=yz(k); % V 脉冲位置记录 if yz(k)==sign % 如果当前V符号与前一个V符号的极性相同 yz(k)=-1*yz(k); % 则让当前V符号极性反转,以满足V符号间相 互极性反转要求 yz(k-3)=yz(k); % 添加B符号,与V符号同极性 B(k-3)=yz(k); % B脉冲位置记录 V(k)=yz(k); % V 脉冲位置记录 yz(k+1:length(yw))=-1*yz(k+1:length(yw)); % 并让后面的非零符号从V符号开始再交替变化 end sign=yz(k); % 记录前一个V符号的极性 end else num=0; % 当前输入为“1”则连“0”计数器清零 end end % 编码完成 %re=[xn',yw',yz',V',B']; % 结果输出: xn AMI HDB3 V&B 符号 yn=yz;% 输出yn初始化 num=0;% 计数器初始化 for k=1:length(yz) if yz(k)==1 num=num+1; % "1" 计数器 if num/2 == fix(num/2) % 奇数个1时输出-1,进行极性交替 yn = [yn gt1]; else yn = [yn -1*gt1]; end else yn = [yn gt2]; end end yh=yn; fft_se1 = fftshift(fft(yh)); % 求序列的频谱 PE1 = 10 * log10(abs(fft_se1) .^ 2 / (N * Ts)); % 公式法求概率 谱密度 PEL1 = (-length(fft_se1) / 2 : length(fft_se1) / 2 - 1) / 10; % 求区间长度 subplot(2,1,1);stairs([0:length(yn)-1],yn);axis([0 length(yn) -2 2]);
通信原理MATLAB仿真实验指导书林志谋第11版2015年11月修订
操作符 == ~= > < >= <=
表 4 MATLAB 逻辑运算符
功能说明 等于 不等于 大于 小于
大于等于 小于等于
逻辑运算符 & | ~ Xor
逻辑运算 And Or Not
表 5 MATLAB 特殊运算
说明 逻辑与 逻辑或 逻辑非 逻辑异或
符号
功能说明示例
: ; , () []
1:1:4;1:2:11 分隔行 分隔列
构成向量、矩阵
{}
构成单元数组
5.MATLAB的一维、二维数组的寻访
符号
. .. … % !
=
功能说明 示例
注释 调用操作 系统命令 用于赋值
-5-
通信原理 Matlab 仿真实验指导书
表6 子数组访问与赋值常用的相关指令格式
指令格式 A(r,c) A(r,:) A(:,c) A(:) A(i) A(r,c)=Sa A(:)=D(:)
信息技术系通信教研室 林志谋 2014 年 1 月 25 日
-1-
通信原理 Matlab 仿真实验指导书
目录
实验 1:MATLAB 基础知识 ........................... 3 实验 2:MATLAB SIMULINK 的建模仿真 ............... 13 实验 3:通信的信道与噪声仿真..................... 21 实验 4:AM 调制与解调仿真 ........................ 26 实验 5:DSB 调制与解调仿真 ....................... 33 实验 6:SSB 调制与解调仿真 ....................... 38 实验 7:抽样定理及 PCM 编码与解码仿真 ............. 43 实验 8:通信基带系统测量工具眼图仿真 ............. 51 实验 9:2ASK 调制与解调仿真 ...................... 57 实验 10:2FSK 调制与解调仿真 ..................... 62 实验 11:2PSK 调制与解调仿真 ..................... 67 实验 12:载波同步的平方环法仿真.................. 72 实验 13:循环码的编码和解码仿真.................. 75 实验 14:卷积码的编码和解码仿真.................. 79 综合实验:CDMA 通信系统的 MATLAB 综合仿真 ......... 82
【通信系统仿真(MATLAB)】实验指导书YST
通信系统仿真〔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实验指导书
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与通信仿真》实验指导书(下)通信基础教研室上课时间:学年第学期系部:班级:姓名:班内序号:指导教师:实验课程成绩:目录实验一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仿真..
实验一 模拟通信的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仿真实验报告
通信原理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(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仿真讲义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仿真工具下的现有子模块进行仿真。
通信原理MATLAB仿真实验设计
3. 步骤 3 中,当调用函数 dft 时,输入参数中采样周期可以设为1s;
6
4. 画图时,时间和频率范围、过零点、幅度、周期等重要信息要标 识清楚。
7
实验四 模拟调制系统的 AM 调制仿真
预习要求:
图;(具体周期和幅度值见表 2,共 4 组数据)
表 2 方波周期和幅度
周期������
幅度
1 0.3 s
2.5
1 1s
2.5
3. 产 生 不 同 周 期 ������ 、 不 同 幅 度 ������ 的 三 角 波 信 号 ������ ������
������,
0 ������
,并利用 MATLAB 指令 fft 对其做傅立叶
1s
方波
幅度������
1
三角波
周期������
0.25 s
幅度������
1
4
实验说明:
1. 为了计算������ ������ ,函数 dft 需要以下输入参数: 输入信号序列������ ������ , ������ 0.1, ⋯ , ������ 1。注意:MATLAB 中,一维
数组或序列长度可以由指令 length 在函数内得到,因此无需将������
cos ������ ������ 图 3 DSB‐SC 调制器模型 2. 利用实验一中程序产生两个周期长度的正弦信号(频率������ 为100Hz, 初始相位������ 0); 3. 利用实验三中程序产生标准正态分布的噪声信号������ ������ ,并利用公 式������ ������ 10 ������ ������ 将������ ������ 转变为另一正态分布的噪声信号������ ������ , 其均值和方差分别为0和10 ; 4. 将������ ������ 叠加到信号������ ������ 上,从而生成信号������ ������ ������ ������ ������ ������ ,并 将其输入至 DSB‐SC 调制器中产生调制信号������ _ ������ ; 5. 利用实验四中函数 amdemod 解调������ _ ������ ,从而得到解调信号 ������ ������ ,比较调制器输入信号和解调输出信号并做图。
通信原理MATLAB仿真实验指导书V1.1
leansmall@
表 5 MATLAB 特殊运算 符号 : ; , () [] {} 5.MATLAB的一维、二维数组的寻访 表6 子数组访问与赋值常用的相关指令格式 指令格式 A(r,c) A(r,:) A(:,c) A(:) A(i) A(r,c)=Sa A(:)=D(:) 指令功能 数组A中r指定行、c指定列之元素组成的子数组 数组A中r指定行对应的所有列之元素组成的子数组 数组A中c指定列对应的所有行之元素组成的子数组 数组A中各列元素首尾相连组成的“一维长列”子数组 "一维长列"子数组中的第i个元素 数组A中r指定行、c指定列之元素组成的子数组的赋值 数组全元素赋值,保持A的行宽、列长不变,A、D两组元素 总合应相同 构成向量、矩阵 构成单元数组 功能说明示例 1:1:4;1:2:11 分隔行 分隔列 符号 . .. … % ! = 注释 调用操作 系统命令 用于赋值 功能说明 示例
4.MATLAB变量与运算符 变量命名规则如下: (1) 变量名可以由英语字母、数字和下划线组成
Leansmall Lin
第 3 页
2013-4-26
通信原理 Matlab 仿真实验指导书 V1.1
leansmall@
(2) 变量名应以英文字母开头 (3) 长度不大于 31 个 (4) 区分大小写 MATLAB中设置了一些特殊的变量与常量,列于下表。 表1 MATLAB的特殊变量与常量 变量名 ANS i或j pi eps realmax 功能说明 默认变量名,以应答 最近一次操作运算结果 虚数单位 圆周率 浮点数的相对误差 最大的正实数 变量名 realmin INF(inf) NAN(nan) nargin nargout 功能说明 最小的正实数 无穷大 不定值(0/0)
MATLAB仿真技术与应用实验指导书
MATLAB仿真技术与应用实验指导书MATLAB是基于矩阵的一种计算工具,它已经成为世界各国高校和研究人员中最为流行的软件之一。
它提供了丰富可靠的矩阵运算、数据处理、图形绘制、图像处理等便利工具,并且由于MATLAB的广泛应用,很多理论的创始人在MATLAB上开发了相关的工具箱,现在MATLAB附带的各方面工具箱有:控制系统、通讯、符号运算、小波计算、偏微分方程、数据统计、图像、金融、LMI 控制、QFT控制、数字信号处理、模糊控制、模型预估控制、频域辨识、高阶谱分析、统计学、非线性控制系统、图像处理、神经元网络、m 分析、信号处理、插值、优化、鲁棒控制、控制系统设计、系统辨识等等,并且MATLAB提供了图形化的时域仿真程序----Simulink,在高校中还开发有振动理论、化学统计学、语音处理等等方面的工具箱。
本实验课的基本目标是学会使用MATLAB基本功能,为在科研中应用打下基础。
主要应掌握在MATLAB中进行矩阵运算、多项式处理、控制语句、数字信号处理、基本绘图;掌握MATLAB的基本编程技巧,可以比较熟练的编写MATLAB程序;掌握SimuLink仿真的基本方法和元件构成,可以使用SimuLink 建立一般的时域仿真程序;掌握MATLAB的优化工具箱、插值工具箱、符号运算几个通用工具箱的使用和基本函数。
参考文献:1.薛定宇,陈阳泉.基于MATLAB/Simulink的系统仿真技术与应用.北京:清华大学出版社,20022.苏晓生.掌握MATLAB6.0及其工程应用.北京:科学出版社,20023.崔怡.MATLAB5.3实例详解.北京:航空工业出版社,20004.孙亮. MATLAB语言与控制系统仿真. 北京:北京工业大学出版社,2001 5.黄文梅,杨勇,熊桂林,成晓明. 系统仿真分析与设计——MATLAB语言工程应用. 长沙:国防科技大学出版社,20016.王沫然. Simulink4建模及动态仿真. 北京:电子工业出版社,20027.董景新,赵长德. 控制工程基础. 北京:清华大学出版社,19928.陈亚勇等编著. MATLAB信号处理详解. 北京:人民邮电出版社,20011 MATLAB语言基础实验1.1 MATLAB语言平台及基本运算一.实验目的1.学习了解MATLAB语言环境;练习MATLAB命令的基本操作;练习m 文件的基本操作;2.学习MATLAB的基本矩阵运算;学习MATLAB的点运算;学习复杂运算;3.学习MATLAB的基本符号运算;学习MATLAB的矩阵符号运算。
通信原理Matlab仿真实验报告
实验二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];实验三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信号');⑵仿真结果:①三角波原图②用矩形波近似的冲击函数③分解后的三角波④经低通还原的三角波。
计算机matlab仿真实验指导书
计算机仿真实验指导书烟台大学计算机学院2012.2目录计算机仿真实验指导书 (1)目录 (2)实验一MA TLAB基本操作 (3)实验目的 (3)实验内容 (3)实验方法与步骤 (3)实验二MA TLAB绘图操作 (6)实验目的 (6)实验内容 (6)实验方法与步骤 (6)实验三MA TLAB编程 (10)实验目的 (10)实验内容 (10)实验方法与步骤 (10)实验四控制系统建模与转换方法 (13)实验目的 (13)实验内容 (13)实验方法与步骤 (14)实验五Simulink仿真应用 (16)实验目的 (16)实验内容 (16)实验方法与步骤 (17)实验六控制系统的计算机辅助分析 (18)实验目的 (18)实验内容 (18)实验方法与步骤 (19)实验七控制系统的计算机辅助设计 (23)实验目的 (23)实验内容 (23)实验方法与步骤 (23)实验八S函数与MA TLAB工具箱 (27)实验目的 (27)实验内容 (27)实验方法与步骤 (27)2实验一 MATLAB基本操作实验目的掌握MATLAB的基本命令操作,包括矩阵运算、关系运算、逻辑运算、数值运算等。
实验内容(1)两个矩阵分别为[5 6 7;9 4 6;4 3 6]和[3 4 5;5 7 9;7 3 1],向量为[5 7 8]',求矩阵与矩阵的乘积,矩阵与向量的乘积(2)两个矩阵分别为[1 2 3;4 5 6;7 8 9]和[1 1 1;2 2 2;3 3 3],求两者相加的和。
(3)两个矩阵分别为[1 2 3;4 5 6;7 8 9]和[1 1 1],阶数不同,求两者相减的差(4)两个矩阵相乘,矩阵a为[1 2 3;4 5 6;7 8 9] ,矩阵b为[1 2 3],分别计算c=a*b 和d=b*a。
(5)两个数组相乘,数组a为[1 2 3] ,数组b为[4 5 6] ,求两数组的乘法。
(6)两个矩阵相除,矩阵a和b均为3×3阶矩阵。
《matlab原理与应用》实验指导书
《matlab原理与应用》实验指导书实验一 MATLAB集成环境使用实验性质:验证性实验级别:必做开课单位:信息与通信工程学院通信工程系学时:2学时一、实验目的:1、了解与MATLAB的运行环境相关的各类窗口及其相应的功能特点。
二、实验器材:安装matlab软件的计算机三、实验理论3.1 启动和退出M AT L A B不同的计算机系统,M AT L A B的启动也不一样。
在Windows 和M a c i n t o s h系统中,程序通常通过点击一个图标而启动。
在U N I X系统中,程序是通过在命令行系统提示符后键入如下字符启动:matlab如果上述工作有问题,可请教系统管理员。
当启动MATLAB时,如果matlab rc . m和startu p . m文件存在,则执行这些文件。
在这些文件中,为满足个人需要,用户可以给定命令以调整M AT L A B,例如,constants用于设置图形等。
在一个多用户系统上,系统管理员存储matlabrc . m文件,但你也能为自己的使用创建文件startup.m。
要退出MATLAB,键入quit或exit。
1、退出和中断e x i t,q u i t 结束M AT L A B会话。
程序完成,如果没有明确保存,则变量中的数据丢失。
Ctrl-c 中断一个MATLAB任务。
例如,当M AT L A B正在计算或打印时,中断一个任务,但会话并没有结束。
除此之外,对一些系统有指定的菜单选择。
例如,在Wi n d o w s和M a c i n t o s h系统中,在文件菜单下可以找到选项q u i t。
当编辑或执行M AT L A B时,下列的快捷键十分有用。
通常因为不同的平台使用不同的键,因此,给定了一些替换键。
在你的系统上试一下这些键,注意哪些键组合使用。
2、特殊的功能键↑或C t r l_p 恢复前面的命令。
↓或C t r l_n 恢复当前命令之后键入的命令。
通信工程MATLAB上机实验指导书
MATLAB实验指导书张龙河北工程大学信电学院通信工程系2012年12月实验一熟悉MATLAB环境[实验目的]1.熟悉MATLAB主界面,学会常用的窗口的操作2.学会简单的矩阵输入3.熟悉MATLAB基本语句的使用、矩阵与向量的基本运算[实验原理]1. 用户第一次使用MATLAB时,可通过demo命令,启动MATLAB的演试程序,领略MATLAB所提供的强大的运算与绘图功能。
也可以键入help进行进一步了解。
2.MATLAB 是以矩阵作为基本编程单元的一种程序设计语言。
它提供了各种矩阵的运算与操作,并有较强的绘图功能。
在MATLAB中输入矩阵最方便的的方式是直接输入矩阵的元素,其方法为:1)用中括号[ ]把所有矩阵元素括起来;2)同一行的不同数据元素之间用空格或逗号间隔;3)用分号(;)指定一行结束;4)也可以分成几行进行输入,用回车符代替分号;5)矩阵元素可以是任何matlab表达式(系统将自动计算结果),可以是实数,也可以是复数,复数可用特殊函数i,j 输入。
3.MATLAB语言最基本的赋值语句结构为:变量=表达式。
表达式由操作符或其它字符,函数和变量名组成,表达式的结果为一个矩阵,显示在屏幕上,同时输送到一个变量(ans为默认)中并存放于workspace工作空间中以备调用。
[实验内容]1.(1)用空格或逗号输入矩阵A=[1 2 3;4 5 6;7 8 9] B=[9,8,7;6,5,4;3,2,1];C=[4,5,6;7,8,9;1,2,3];或A=[1,2,3;4,5,6;7,8,9](2)试用回车代替A中的分号,观察输出结果。
要求:总结矩阵的输入2.用edit或选择File|new菜单中的M-file进入编辑器,输入:Base=[9,8,7;6,5,4;3,2,1];Base_info=Base+1保存为Base.m文件,并通过Debug中的run命令(或F5)运行之,观察有何异常现象。