通信原理实验的MATLAB仿真讲义

合集下载

通信原理matlab实验

通信原理matlab实验
二进制信号传输时的眼图只有一只“眼睛”,当传输三元码时,会显示两只“眼睛”。眼图是由各段码元波形叠加而成的,眼图中央的垂直线表示最佳抽样时刻,位于两峰值中间的水平线是判决门限电平。
在无码间串扰和噪声的理想情况下,波形无失真,每个码元将重叠在一起,最终在示波器上看到的是迹线又细又清晰的“眼睛”,“眼”开启得最大。当有码间串扰时,波形失真,码元不完全重合,眼图的迹线就会不清晰,引起“眼”部分闭合。若再加上噪声的影响,则使眼图的线条变得模糊,“眼”开启得小了,因此,“眼”张开的大小表示了失真的程度,反映了码间串扰的强弱。由此可知,眼图能直观地表明码间串扰和噪声的影响,可评价一个基带传输系统性能的优劣。另外也可以用此图形对接收滤波器的特性加以调整,以减小码间串扰和改善系统的传输性能。
从以上分析可知,眼图可以定性反映码间串扰的大小和噪声的大小,眼图还可以用来指示接受滤波器的调整,以减少码间串扰,改善系统性能。
使用了随机数,产生的基带信号也是随机的,经过加白噪声,产生的眼图也是不一样的。选取的采样频率也影响着最后的博兴和眼图。一开始的时候,提示加噪声的部分有问题,通过调试,发现工作空间设置的不准确,相加会出现错误,将工作空间加大,语法没错了,但是眼图出不来。后来经过仔细观察,发现做卷积的时候把一个元素弄错了,经过修改,最终成功运行。
2015年6月25日
基于MATLAB的第一类部分响应系统的
基带信号及其眼图实现
摘要
所谓眼图,是指通过用示波器观察接收端的基带信号波形,从而估计和调整系统性能的一种方法。这种方法具体做法是:用一个示波器跨接在抽样判决器的输入端,然后调整示波器水平扫描周期,使其与接受码元的周期同步。此时可以从示波器显示的图形上,观察码间干扰和信道噪声等因素影响的情况,从而估计系统性能的优劣程度。因为在传输二进制信号波形时,示波器显示的图像很像人的眼睛,故名“眼图”。

《MATLAB与通信仿真》实验指导书-(通信2012级)

《MATLAB与通信仿真》实验指导书-(通信2012级)

电子信息学院《MATLAB与通信仿真》实验指导书刘紫燕编写适用专业:通信工程贵州大学二O一四年二月前言本课程是通信工程专业的选修课程。

课程内容包含MATLAB的基本操作、MATLAB程序设计、函数文件、MATLAB的图形和数据处理、SIMULNK的基本应用及其在通信工程中的应用等。

通过本课程的学习,掌握MATLAB软件使用和编程方法,验证和深化书本知识,从而加强基础知识,掌握基本技能,提高MATLAB软件的编程能力,并用MATLAB软件解决通信工程专业中的实际问题,同时,针对通信工程专业的特点,要求学生掌握使用MATLAB来研究和开发与本专业相关的系统的方法。

本课程设置5个实验,均为设计性实验。

建议实验学时为12学时。

实验一是MATLAB软件的基本操作;实验二是MATLAB程序设计;实验三是MATLAB的图形绘制;实验四是MATLAB的数据处理;实验五是MATLAB/Simulink在电路中的仿真设计。

每个实验2个小时左右,为了使学生更好的掌握实验内容,学生务必要做到以下几点:(1)实验前认真预习实验。

明确实验目的,熟悉实验内容,理论分析实验结果,编写相应的程序代码,并撰写出预习报告。

(2)实验过程中积极思考,深入分析命令、程序的执行过程和执行结果,对比理论分析结果,分析评判实验结果,并把实验中出现的问题及解决方法记录下来。

(3)实验完成后,总结本次实验有哪些收获,还存在什么问题,撰写并提交最终的实验报告。

本指导书实验项目和要求明确,学生容易着手实验并得出实验结果。

本实验指导书适用于通信工程专业。

目录实验一MATLAB的基本操作 (1)实验二MATLAB程序设计 (9)实验三MATLAB的图形绘制 (12)实验四MATLAB的数据处理 (14)实验五MATLAB/Simulink在电路中的仿真设计 (16)实验报告的基本内容及要求 (23)贵州大学实验报告 (24)实验一 MATLAB 的基本操作实验学时:2实验类型:设计实验要求:必做一、实验目的1、 熟悉MATLAB 的界面功能和基本操作;2、 掌握MATLAB 的基本运算方法;3、 掌握MATLAB 的矩阵运算方法;4、 掌握MATLAB 中帮助命令的使用方法。

通信原理实验教程(MATLAB)

通信原理实验教程(MATLAB)

实验教程目录实验一:连续时间信号与系统的时域分析-------------------------------------------------6一、实验目的及要求---------------------------------------------------------------------------6二、实验原理-----------------------------------------------------------------------------------61、信号的时域表示方法------------------------------------------------------------------62、用MATLAB仿真连续时间信号和离散时间信号----------------------------------73、LTI系统的时域描述-----------------------------------------------------------------11三、实验步骤及内容--------------------------------------------------------------------------15四、实验报告要求-----------------------------------------------------------------------------26 实验二:连续时间信号的频域分析---------------------------------------------------------27一、实验目的及要求--------------------------------------------------------------------------27二、实验原理----------------------------------------------------------------------------------271、连续时间周期信号的傅里叶级数CTFS---------------------------------------------272、连续时间信号的傅里叶变换CTFT--------------------------------------------------283、离散时间信号的傅里叶变换DTFT -------------------------------------------------284、连续时间周期信号的傅里叶级数CTFS的MATLAB实现------------------------295、用MATLAB实现CTFT及其逆变换的计算---------------------------------------33三、实验步骤及内容----------------------------------------------------------------------34四、实验报告要求-------------------------------------------------------------------------48 实验三:连续时间LTI系统的频域分析---------------------------------------------------49一、实验目的及要求--------------------------------------------------------------------------49二、实验原理----------------------------------------------------------------------------------491、连续时间LTI系统的频率响应-------------------------------------------------------492、LTI系统的群延时---------------------------------------------------------------------503、用MATLAB计算系统的频率响应--------------------------------------------------50三、实验步骤及内容----------------------------------------------------------------------51四、实验报告要求-------------------------------------------------------------------------58 实验四:调制与解调以及抽样与重建------------------------------------------------------59一、实验目的及要求--------------------------------------------------------------------------59二、实验原理----------------------------------------------------------------------------------591、信号的抽样及抽样定理---------------------------------------------------------------592、信号抽样过程中的频谱混叠----------------------------------------------------------623、信号重建--------------------- ----------------------------------------------------------624、调制与解调----------------------------------------------------------------------------------645、通信系统中的调制与解调仿真---------------------------------------------------------66三、实验步骤及内容------------------------------------------------------------------------66四、实验报告要求---------------------------------------------------------------------------75 实验五:连续时间LTI系统的复频域分析----------------------------------------------76一、实验目的及要求------------------------------------------------------------------------76二、实验原理--------------------------------------------------------------------------------761、连续时间LTI系统的复频域描述--------------------------------------------------762、系统函数的零极点分布图-----------------------------------------------------------------773、拉普拉斯变换与傅里叶变换之间的关系-----------------------------------------------784、系统函数的零极点分布与系统稳定性和因果性之间的关系------------------------795、系统函数的零极点分布与系统的滤波特性-------------------------------------------806、拉普拉斯逆变换的计算-------------------------------------------------------------81三、实验步骤及内容------------------------------------------------------------------------82四、实验报告要求---------------------------------------------------------------------------87 附录:授课方式和考核办法-----------------------------------------------------------------88实验一信号与系统的时域分析一、实验目的1、熟悉和掌握常用的用于信号与系统时域仿真分析的MA TLAB函数;2、掌握连续时间和离散时间信号的MATLAB产生,掌握用周期延拓的方法将一个非周期信号进行周期信号延拓形成一个周期信号的MATLAB编程;3、牢固掌握系统的单位冲激响应的概念,掌握LTI系统的卷积表达式及其物理意义,掌握卷积的计算方法、卷积的基本性质;4、掌握利用MA TLAB计算卷积的编程方法,并利用所编写的MA TLAB程序验证卷积的常用基本性质;掌握MATLAB描述LTI系统的常用方法及有关函数,并学会利用MATLAB求解LTI系统响应,绘制相应曲线。

通信原理MATLAB仿真教程第8章

通信原理MATLAB仿真教程第8章

B 2 AS K 2 B s
2 Tb
2 fb
(8-8)
(3)因为系统的传码率 R B 1 T b(Baud),故2ASK系统 的频带利用率为
1 Tb 2 Tb
这意味着用2ASK方式传送码元速率为 R B 的二进制数 字信号时,要求该系统的带宽至少为 2 R B(Hz)。 19

2
数字信息有二进制和多进制之分,因此,数字调制 可分为二进制调制和多进制调制。在二进制调制中,信号 参量只有两种可能的取值;在多进制(如M进制,M>2) 调制中,信号参量可能有M中取值。
3
本章知识要点


二进制数字调制
多进制数字调制
4
8.1 二进制数字调制
用数字基带信号控制载波,把数字基带信号变换为数字
10
图8-3 2ASK信号波形
11
三、解调方法
2ASK信号解调的常用方法主要有两种:包络检波法和 相干检测法。 包络检波法的原理方框图如图8-4所示。带通滤波器( BPF)恰好使2ASK信号完整地通过,经包络检测后,输出 其包络。低通滤波器(LPF)的作用是滤除高频杂波,使基 带信号(包络)通过。抽样判决器包括抽样、判决及码元形 成器。定时抽样脉冲(位同步信号)是很窄的脉冲,通常位 于每个码元的中央位置,其重复周期等于码元的宽度。不计 噪声影响时,带通滤波器输出为2ASK信号,即
图8-1 2ASK信号产生方法与波形示例
8
二、MATLAB实现 以数字信号序列10110010为例,给出产生2ASK 信号的MATLAB程序如下(函数文件askdigital.m), 流程图如图8-2所示。
开始 为变量赋初值 生成2ASK信号 画出原始二进制代码波形 画出2ASK信号波形 结束

通信原理Matlab仿真实验报告

通信原理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(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仿真实例(通信原理)
T T T 我们把 s( t ) 按区间 , 截短为 sT ( t ) ,再对 sT ( t ) 按时间间隔 Biblioteka 均匀取样得到 个样 t 2 2
值。仿真时我们用这个样值集合来表示信号 s( t ) 。显然 t 反映了仿真系统对信号波形的分 辨率, t 越小则仿真的精确度越高。据通信原理所学,信号被取样以后的频谱是频率的周 1 1 期函数,其重复周期是 。如果信号的最高频率为 f H ,那么必须有 f H 才能保证不 t 2 t 1 发生混叠失真。我们称 Bs 为仿真系统的系统带宽。如果我们的仿真程序中设定的采 2 t 样间隔是 t ,那么我们不能用此仿真程序来研究带宽大于 Bs 的信号或系统。 此外,信号 s( t ) 的频谱 S f 通常来说也是定义在频率区间 , 上的连续函数,所以仿 真频域特性时,我们也必须把 S f 截短并取样。考虑到系统带宽是 Bs ,我们把频域的截短
三、 实验内容
3.1 傅里叶变换与傅里叶反变换 对于确定信号 f (t ) ,其傅里叶变换为:
F( f )
F ( f ) 傅里叶反变换为:



f (t )e 2 j ft dt
f (t ) F ( f )e2 j ft df

在通信原理仿真中,傅里叶变换与傅里叶反变换会经常用到,我们可以利用 MATLAB 的快速傅里叶变换函数 fft 与快速傅里叶反变换函数 ifft 编写傅里叶变换子程序与傅里叶反 变换子程序。其 程 序 代 码 如 下 :
傅里叶变换子程序:
%傅里叶变换子程序 function X=t2f(x) global dt df N t f T %X=t2f(x) %x 为时域的取样值矢量 %X 为 x 的傅氏变换 %X 与 x 长度相同,并为 2 的整幂。

用MatLab仿真通信原理系列实验

用MatLab仿真通信原理系列实验

用MatLab仿真通信原理系列实验一、引言通信原理是现代通信领域的基础理论,通过对通信原理的研究和仿真实验可以更好地理解通信系统的工作原理和性能特点。

MatLab作为一种强大的数学计算软件,被广泛应用于通信原理的仿真实验中。

本文将以MatLab为工具,介绍通信原理系列实验的仿真步骤和结果。

二、实验一:调制与解调1. 实验目的通过MatLab仿真,了解调制与解调的基本原理,并观察不同调制方式下的信号特征。

2. 实验步骤(1)生成基带信号:使用MatLab生成一个基带信号,可以是正弦波、方波或任意复杂的波形。

(2)调制:选择一种调制方式,如调幅(AM)、调频(FM)或相移键控(PSK),将基带信号调制到载波上。

(3)观察调制后的信号:绘制调制后的信号波形和频谱图,观察信号的频谱特性。

(4)解调:对调制后的信号进行解调,还原出原始的基带信号。

(5)观察解调后的信号:绘制解调后的信号波形和频谱图,与原始基带信号进行对比。

3. 实验结果通过MatLab仿真,可以得到不同调制方式下的信号波形和频谱图,观察到调制后信号的频谱特性和解调后信号的还原效果。

可以进一步分析不同调制方式的优缺点,为通信系统设计提供参考。

三、实验二:信道编码与解码1. 实验目的通过MatLab仿真,了解信道编码和解码的基本原理,并观察不同编码方式下的误码率性能。

2. 实验步骤(1)选择一种信道编码方式,如卷积码、纠错码等。

(2)生成随机比特序列:使用MatLab生成一组随机的比特序列作为输入。

(3)编码:将输入比特序列进行编码,生成编码后的比特序列。

(4)引入信道:模拟信道传输过程,引入噪声和干扰。

(5)解码:对接收到的信号进行解码,还原出原始的比特序列。

(6)计算误码率:比较解码后的比特序列与原始比特序列的差异,计算误码率。

3. 实验结果通过MatLab仿真,可以得到不同编码方式下的误码率曲线,观察不同信道编码方式对信号传输性能的影响。

通信原理MATLAB仿真实验设计

通信原理MATLAB仿真实验设计
2. 本实验中,高斯噪声信号序列长度为������ 1024,自相关序列长度 为������ 512;
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

通信原理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仿真实验报告

实验二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仿真教程第十章 扩频通信系统

通信原理MATLAB仿真教程第十章 扩频通信系统
的频率相同,相位相干。相乘器可以鉴相器来实现,低通滤波器起到积分 的作用。
图 10-3 相干检测原理图
18
图 10-4 相干参考信号产生原理图 本地参考信号是由锁相环路产生的,如 10-4 所示。用一个振荡器,其 频率与输入信号频率相近, 把它的相位与输入信号相位作比较(可以用鉴相 器实现),获得的误差电压称为误差信号,此误差信号经滤波平滑后,再作 用于振荡器,以不断纠正它的相位与输入信号的误差,于是这个受输入电 压控制的振荡器的输出振荡的相位,就逐渐逼近于输入信号的相位,达到 同频、同相的结果,它们之间近似的程度取决于跟踪误差。
N 1
c g
n n0
ห้องสมุดไป่ตู้
c
(t nTc )
(10-4)
式中, n 为伪随机码码元, c 取值 1 或 1 ; c (t ) 为门函数, g 定义与式(10-3) 类似。 扩频过程实质上是信息流 a t 与伪随机序列 c t 的模二加或相乘的过 程,伪随机码速率 Rc 比信息速率 Rd 大的多,一般 Rc / Rd 的比值为整数且 远大于 1 ,所以 扩展后 的序列 的速率 仍为伪 随机码 速率 Rc ,扩展的 序列
(10-8)
14
式中信号为 s (t ) ,信道噪声为 n(t ) ,干扰信号为 J (t ) ,其它网的扩频信 o 号为 s (t ) 。 J 对于信号分量为 s (t ) o
s ( t ) a ( t ) c( t ) c( t ) cos I t o
(10-9)
其中 I 为中频频率,若 本地产生的伪 随机序列 c(t ) 与发端产生的伪随机 序列 c (t ) 同步,有 c (t ) c(t ) ,则 c (t ) c(t ) 1 ,这样信号分量 s (t ) 为 o
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据通信原理实验的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仿真工具下的现有子模块进行仿真。

实验一.利用SIMULINK仿真常规调幅AM
滤波调制与卷积定理
从信号与线性系统分析观点看,滤波如图 1 是系统的冲激响应 h(t)对输入信号 x(t)的卷积作用,即
y(t) = x(t) * h(t) (1)
对应的频域分析是
Y( ω) = X(ω )H(ω ) (2)
即时域卷积处理对应于频域内相乘,(1)和(2)式是时域卷积定理
图 1 滤波图 2 调制
再看调制(包括解调、混频等)如图2, 是两信号相乘即
y(t) = x(t)c(t) (3)
对应的频域分析是
Y(ω)=1/2π[X(ω)*C(ω)](4)
即时域相乘对应于频域内卷积 ,(3)和(4)式是频域卷积定理。

一般说来卷积运算比乘法运算复杂得多,这也是(2)式得到广泛应用的原因。

对调制来说,由于载波高频信号多采
用 cos(ω0t)或e jω0t ,它们的频谱都是离散型的δ (ω)形式,利用δ(ω)卷积性质即
X(ω)*δ(ω±ω0)=X(ω±ω0) (5)
(4)式的卷积运算变成X(ω)在频带上的平移操作,(即“搬迁”),从而使(4)式的卷积运算反而变得异常简单,调制就是把调制信号“基带信号”搬出去,解调就是把调制信号“搬回来”。

而混频就是把调制信号搬到适当的位置,如中频带。

常规调幅(AM)仿真
首先建立数学模型,如图1所示,其中:调制信号f(t)=sin(ωm t),直流分量A0=常数,载波信号c(t)=cos(ω0t),相干载波c’(t)=2cos(ω0t)。

然后建立SIMULINK仿真模型,如图2所示,图2中,载波信号和相干载波的频率都设为30rad/s,直流分量A0取值为1,滤波器的截止频率定为10rad/s,f(t)为调制信号,s(t)为AM信号,f’(t)为解调后的信号。

仿真结果如图3所示。

图3中,由上往下的三个波形分别解调出的信号f’(t),AM信号s(t)和调制信
号f(t)。

可见,f’(t)与f(t)除了有时间上的延迟外,完全一样。

图3 AM通信系统的数学模型
图4 AM通信系统的仿真模型
图5 AM通信系统仿真波形
实验步骤:
1.启动MATLAB,并在命令窗口中敲入simulink,回车,进入SIMULINK仿真模块。

2.在SIMULINK仿真模块中新建一个模型,需要保存时命名为AM。

从SIMULINK工具箱中找到图2中出现的各个器件,并拖动到AM模型的工作界面里。

具体方法是:从Simulink模块的Sources(输入源)子模块中寻找正、余弦和常数发生器;从Simulink模块的Math Operation子模块中寻找加法器和乘法器;从Simulink模块的Sinks(输出源)中找到示波器,并且改变示波器的参数Number of axes的值为3,使得可以在同一个示波器上看到解调后的信号、AM信号和调制信号的波形。

3.按图2所示,连接各个器件。

4.运行模型
5.观察示波器的输出波形,即为图3所示。

6.改变滤波器的截止频率,观察输出波形,描述此时波形的变化
实验二. DSB调制与解调仿真
方法一:SIMULINK模型法
双边带幅度调制DSB 和解调原理图如图6所示
图 6 DSB 原理图
和实验一中类似,我们可以在SIMULINK 中建立如下仿真模型:
图7 DSB仿真模型
仿真结果如图8所示:
图8 DSB仿真波形
方法二:M文件编程
在MA TLAB中,除了用SIMULINK仿真模块仿真通信系统以外,还可以编写MATLAB 脚本(.m文件)来仿真通信系统。

DSB通信系统仿真的M文件如下:
% 双边带幅度调制(DSB)和解调
n=1024;fs=n;
%设取样频率fs=1024Hz
%m=640*pi;
%产生调制信号s(t)
i=0:1:n-1;
t=i/n;
t1=(t-1/8).^2;t3=(t-3/8).^2;t4=(t-4/8).^2;
t6=(t-6/8).^2;t7=(t-7/8).^2;
s=exp(-m*t1)+exp(-m*t3)+exp(-m*t4)+exp(-m*t6)+exp(-m*t7);
c=cos(2*pi*100*t);
%产生载波信号载波频率fc=30Hz
x=s.*c;
%正弦波幅度调制(DSB)
y=x.*c;
%解调
wp=0.1*pi;ws=0.12*pi;Rp=1;As=15;%设计巴特沃思数字低通滤波器[N,wn]=buttord(wp/pi,ws/pi,Rp,As);
[b,a]=butter(N,wn);
s1=filter(b,a,y);
%滤波
s1=2*s1;
S=fft(s,n);
%求上述各信号及滤波器的频率特性
C=fft(c,n);
X=fft(x,n);
Y=fft(y,n);
[H,w]=freqz(b,a,n,'whole');
n2=300;
f=(-n/2:1:n/2-1);
%绘图
subplot(521),plot(s);
title('调制信号的波形')
subplot(523),plot(c);
title('载波的波形')
subplot(525),plot(x);
title('已调信号的波形')
subplot(527),plot(y);
title('解调信号的波形')
subplot(529),plot(f,abs(fftshift(H)));
title('滤波器传输特性')
subplot(522),plot(f,abs(fftshift(S)));
title('调制信号的频谱')
subplot(524),plot(f,abs(fftshift(C)));
title('载波的频谱')
subplot(526),plot(f,abs(fftshift(X)));
title('已调信号的频谱')
subplot(528),plot(f,abs(fftshift(Y)));
title('解调信号的频谱')
subplot(5,2,10),plot(s1);
title('解调滤波后的频谱')
执行结果如图9所示:。

相关文档
最新文档