通信原理MATLAB实验(第2部分)
通信原理实验报告2
通信原理实验报告课程名称:通信原理实验三:二进制数字信号调制仿真实验实验四:模拟信号数字传输仿真实验姓名:学号:班级:2012年12 月实验三二进制数字信号调制仿真实验一、实验目的1.加深对数字调制的原理与实现方法;2.掌握OOK、2FSK、2PSK功率谱密度函数的求法;3.掌握OOK、2FSK、2PSK功率谱密度函数的特点及其比较;4.进一步掌握MATLAB中M文件的调试、子函数的定义和调用方法。
二、实验内容1. 复习二进制数字信号幅度调制的原理2. 编写MATLAB程序实现OOK调制;3. 编写MATLAB程序实现2FSK调制;4. 编写MATLAB程序实现2PSK调制;5. 编写MATLAB程序实现数字调制信号功率谱函数的求解。
三、实验原理在数字通信系统中,需要将输入的数字序列映射为信号波形在信道中传输,此时信源输出数字序列,经过信号映射后成为适于信道传输的数字调制信号。
数字序列中每个数字产生的时间间隔称为码元间隔,单位时间内产生的符号数称为符号速率,它反映了数字符号产生的快慢程度。
由于数字符号是按码元间隔不断产生的,经过将数字符号一一映射为响应的信号波形后,就形成了数字调制信号。
根据映射后信号的频谱特性,可以分为基带信号和频带信号。
通常基带信号指信号的频谱为低通型,而频带信号的频谱为带通型。
调制信号为二进制数字基带信号时,对应的调制称为二进制调制。
在二进制数字调制中,载波的幅度、频率和相位只有两种变化状态。
相应的调制方式有二进制振幅键控(OOK/2ASK)、二进制频移键控(2FSK)和二进制相移键控(2PSK)。
下面分别介绍以上三种调制方法的原理,及其MATLAB实现:本实验研究的基带信号是二进制数字信号,所以应该首先设计MATLAB程序生成二进制数字序列。
根据实验一的实践和第一部分的介绍,可以很容易的得到二进制数字序列生成的MATLAB程序。
假定要设计程序产生一组长度为500的二进制单极性不归零信号,以之作为后续调制的信源,并求出它的功率谱密度,以方便后面对已调信号频域特性和基带信号频域特性的比较。
通信原理实验教程(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仿真软件的计算机学院:光电信息与通信工程学院系别:通信工程学号:姓名:指导教师:一、实验目的与要求1. 学习并理解信道编码的根本目的、技术要求与基本目标等基本概念;2. 掌握循环码、miller码的物理涵义、数学基础及检纠错原理;3. 掌握循环码、miller码的码型特点、检纠错能力、编译码方法及基本技术;4. 学会使用MATLAB 实现循环码及miller码的编译码及检纠错模拟与分析。
二、实验仪器与设备1. 安装了matlab程序的计算机 1 台三、实验原理(一)循环码循环码是线性分组码的一个重要子集,是目前研究得最成熟的一类码,它有许多特殊的代数性质,例如,循环码中任一许用码组经过循环移位后,所得到的码组仍然是许用码。
循环码A= a n−1+a n−2+…+a 1+a 0可以表示为如下的码多项式:1.生成多项式g (x)定义:若一个循环码的所有码字多项式都是一个次数最低的、非零的、首一多项式g (x)的倍式,则称g (x)为生成该码,并称g (x) 为该码的生成元或生成多项式。
可以证明生成多项式g (x)具有以下特性:(1)g (x) 是一个常数项为1 的r=n −k 次多项式;(2)g (x) 是x n+1 的一个因式;(3)该循环码中其它码多项式都是g (x)的倍式。
为了保证构成的生成矩阵G的各行线性不相关,通常用g (x) 来构造生成矩阵。
因此,一旦生成多项式g (x) 确定以后,该循环码的生成矩阵就可以确定。
设则有:2.监督多项式h(x)定义:若g (x) 是(n,k) 循环码的生成多项式,则有x n+1= g (x )h (x) 。
其中,h(x) 是k 次多项式,称为监督多项式。
也称校验多项式。
监督矩阵可表示为:其中:3.伴随式发送码C(x) 通过含噪信道时,会因各种扰而产生误码。
例如发送码为:00000000001111111111接收码为:01101001001111001001产生错误序列:01101001000000110110可见,发生了两个长度分别为7和5的突发差错,其错误图样分别为1101001 和11011。
matlab通信原理实验
一: 低通信号抽样定理1: 仿真思路:t+2 -2≤t≤-1信号 x(t)= 1 -1<t≤1-t+2 1<t≤20 其他信号x(t)经傅里叶变换可得X(f)=4sin c2(2f)-sinc2(f)2:程序代码%参数设置ts=0.2;fs=1/ts;df=0.01;f1=[-2.5:0.001:2.5]; %根据采样定理进行抽样x=[zeros(1,10),[0:0.2:1],ones(1,9),[1:-0.2:0],zeros(1,10)]; %对采样信号进行FFT[X,x,df1]=fftseq(x,ts,df);X1=X/fs;f=[0:df1:df1*(length(x)-1)]-fs/2; %解析法计算信号幅度谱y=4*(sinc(2*f1)).^2-(sinc(f1)).^2;%绘图指令subplot(2,1,1)plot(f1,abs(y));xlabel('f')title('解析法求得的x(t)幅度谱')subplot(2,1,2)plot(f,fftshift(abs(X1)));xlabel('f')title('根据采样定理(数值法)求得的x(t)幅度谱')另: FFT算法程序 matlab 上没有,需要在网上找到,并保存到matlab 函数库中。
下面是图形截屏:二:模拟信号幅度调制解调及噪声对其影响1,:仿真思路(1) 首先利用载波对信号进行调制,采用常规的AM调制方式。
V(t)=(1+amn(t))coswct(2) 利用包络检波方式解调。
v(t)的包络v(t)=(uc 2(t)+us2(t))0.5(3) 加入噪声。
2:程序代码echo ont0=0.15; %信号m(t)ts=0.001; %采样间隔fc=250; %载频a=0.85; %调制指数fs=1/ts; %采样频率t=[0:ts:t0]; %时间取值df=0.25;m=[ones(1,t0/(3*ts)),-2*ones(1,t0/(3*ts)),zeros(1,t0/(3*ts)+1)]; %信号c=cos(2*pi*fc.*t); %载波m_n=m/max(abs(m)); %单位化信号[M,m,df1]=fftseq(m,ts,df); %傅里叶变化f=[0:df1:df1*(length(m)-1)]-fs/2; %频率向量u=(1+a*m_n).*c; %已调信号[U,u,df1]=fftseq(u,ts,df); %傅里叶变化env=env_phas(u); %包络检波dem1=2*(env-1)/a;signal_power=spower(u(1:length(t))); %已调信号的功率 noise_power=signal_power/100; %噪声功率noise_std=sqrt(noise_power);noise=noise_std*randn(1,length(u));r=u+noise; %添加噪声[R,r,df1]=fftseq(r,ts,df);env_r=env_phas(r); %包络检波dem2=2*(env_r-1)/a; %有噪声时的解调信号pausesubplot(2,1,1)plot(t,m(1:length(t)))axis([0 0.15 -2.1 2.1])xlabel('时间')title('消息信号')pauseclfsubplot(2,1,1)plot(t,u(1:length(t)))axis([0 0.15 -2.1 2.1])xlabel('时间')title('已调信号')subplot(2,1,2)plot(t,env(1:length(t)))xlabel('时间')title('已调信号的包络')pauseclfsubplot(2,1,1)plot(t,dem1(1:length(t)))xlabel('时间')title('解调后的信号')subplot(2,1,2)plot(t,dem2(1:length(t)))xlabel('时间')title('有噪声的解调后的信号')pauseclfsubplot(2,1,1)length(m)plot(f,fftshift(abs(M)));axis([-400,400,0,150]);title('原始信号的幅度谱')subplot(2,1,2)plot(f,fftshift(abs(U))); axis([-400,400,0,100]); title('已调信号的幅度谱'); 仿真结果截图:三:单边带调幅系统的建模仿真1:程序代码:t0=0.15; %信号持续时间ts=0.001; %采样时间间隔Fc=250; %载波频率Fs=1/ts; %采样频率df=0.3; %频率分辨率t=[0:ts:t0]; %时间矢量m=[ones(1,t0/(3*ts)),-2*ones(1,t0/(3*ts)),zeros(1,t0/(3*ts)+1)]; c=cos(2*pi*Fc*t); %载波信号b=sin(2*pi*Fc*t);ussb=m.*c-imag(hilbert(m)).*b; %上边带调制信号lssb=m.*c+imag(hilbert(m)).*b; %下边带调制信号[M,m,dfl]=fft_seq(m,ts,df); %傅里叶变化M=M/Fs;[U,ussb,dfl]=fft_seq(ussb,ts,df);U=U/Fs;[L,lssb,dfl]=fft_seq(lssb,ts,df);f=[0:dfl:dfl*(length(m)-1)]-Fs/2; %频率矢量subplot(2,2,1);plot(t,ussb(1:length(t))); %上边带调制信号title('上边带调制信号');subplot(2,2,2);plot(t,lssb(1:length(t)));title('下边带调制信号'); %下边带调制信号subplot(2,2,3);plot(f,abs(fftshift(U)));title('上边带调制信号频谱 '); %上边带调制信号频谱subplot(2,2,4);plot(f,abs(fftshift(U)));title('下边带调制信号频谱'); %下边带调制信号频谱注:傅里叶变化函数fft_seq需要自己定义图像截屏:四:双边带调幅系统的建模仿真1:仿真原理:1 0≤t≤t/3设消息信号:m(t)= -2 t0/3≤t≤2t/30其它用信号m(t)一DSB-AM方式调制载波c(t)=cos(2pift)所得到的已调信号记为cu(t).设t0=0.15s,fc=250Hz。
通信原理matlab实验报告
通信原理matlab实验报告《通信原理matlab实验报告》在现代通信系统中,通信原理是至关重要的一部分。
为了更好地理解和应用通信原理,我们进行了一系列的实验,并在本报告中分享我们的实验结果和分析。
首先,我们使用了Matlab软件进行了频谱分析实验。
通过对信号的频谱进行分析,我们能够更好地了解信号的频率分布特性,从而为信号的传输和处理提供了重要的参考。
在实验中,我们使用了不同的信号类型,并通过Matlab的频谱分析工具对其进行了分析。
通过实验结果,我们发现不同类型的信号在频谱上呈现出不同的特征,这为我们在实际通信系统中的信号处理提供了重要的指导。
其次,我们进行了调制解调实验。
调制是将数字信号转换为模拟信号的过程,而解调则是将模拟信号转换为数字信号的过程。
在实验中,我们使用Matlab模拟了调制解调过程,并通过实验结果验证了调制解调的正确性。
通过这一实验,我们深入理解了调制解调的原理和过程,并为实际通信系统中的信号处理提供了重要的参考。
最后,我们进行了信道编码解码实验。
信道编码是为了提高通信系统的可靠性和抗干扰能力而进行的一种技术手段。
在实验中,我们使用Matlab对信道编码进行了模拟,并通过实验结果验证了信道编码的效果。
通过这一实验,我们更加深入地理解了信道编码的原理和作用,为实际通信系统中的信号处理提供了重要的参考。
综上所述,通过本次实验,我们更加深入地理解了通信原理的相关知识,并通过Matlab软件进行了实际操作,加深了对通信原理的理解和应用。
这些实验结果对我们今后在通信系统设计和应用中将起到重要的指导作用。
希望通过这份实验报告的分享,能够对通信原理的学习和应用有所帮助。
Matlab通信原理设计报告
Matlab通信原理课程设计目录一.问题描述-----------------------------------------3 二.实验原理-----------------------------------------4 三.源程序-------------------------------------------6 四.数据测试----------------------------------------16 五.调试分析----------------------------------------22 六.用户使用手册------------------------------------23 七.心得体会----------------------------------------24一、问题描述1.使用matlab编程完成HDB3的编码与解码。
2.课程设计需要运用MA TLAB编程实现2ASK,2FSK,2PSK,2DPSK调制解调过程,并且输出其源码,调制后码元以及解调后码元的波形。
二、实验原理1.HDB3编码解码原理HDB3码:三阶高密度双极性码。
HDB3码与二进制序列的关系:(1)二进制信号序列中的“0”码在HDB3码中仍编为“0”码,二进制信号中“1”码,在HDB3码中应交替地成+1和-1码,但序列中出现四个连“0”码时应按特殊规律编码(引入传号交替反转码的“破坏点”V 码); (2)二进制序列中四个连“0”按以下规则编码:信码中出现四个连“0”码时,要将这四个连“0”码用000V 或B00V 取代节来代替(B 和V 也是“1”码,可正、可负)。
这两个取代节选取原则是,使任意两个相邻v 脉冲间的传号数为奇数时选用000V 取代节,偶数时则选用B00V 取代节。
2.二进制数字调制技术原理数字信号的传输方式分为基带传输和带通传输,在实际应用中,大多数信道具有带通特性而不能直接传输基带信号。
通信原理及matlab simulink 仿真
通信原理及matlab simulink 仿真好的,以下是关于通信原理及MATLAB Simulink仿真的一篇3000-6000字的文章:【通信原理及MATLAB Simulink仿真】引言:通信原理是指人们在信息传递过程中所使用的原理和方法。
随着科技的发展,通信技术被广泛应用于人类生活的各个领域,比如无线通信、互联网通信等。
通信原理的研究对于实现高效、稳定的信息传递非常重要。
MATLAB是一个强大的数值计算与仿真环境,可以用于通信原理的建模和仿真。
本文将一步一步介绍通信原理及MATLAB Simulink仿真的相关知识。
第一部分:通信原理的基础知识1. 通信系统的基本组成通信系统由发送端、信道和接收端组成。
发送端将信息转换成电磁波等信号,通过信道传输到接收端,接收端再将信号转换成信息。
2. 信号与频谱信号是信息的表现形式,可以是模拟信号或数字信号。
频谱指的是信号在频率域上的表示,用于分析信号的频率分布特性。
3. 调制技术调制技术将低频信息信号转换成高频载波信号,以便在信道中传输。
常见的调制技术有调幅、调频和调相等。
第二部分:MATLAB Simulink的基础知识1. MATLAB Simulink的简介MATLAB Simulink是MATLAB的一个功能模块,提供了强大的系统建模和仿真工具。
它可以在图形化界面下搭建信号处理系统的模型,并通过仿真验证系统的性能。
2. Simulink中的基本组件Simulink提供了多种基本组件,用于构建系统模型。
常见的组件有源信号、传输线、滤波器等。
3. Simulink的建模过程利用Simulink建模通信系统,通常需要以下步骤:a. 设计系统的基本结构,确定模型所需的模块和组件。
b. 定义模型中各个组件的数学模型或算法。
c. 搭建模型,将组件按照系统结构进行连接。
d. 设置仿真参数,例如仿真时间、采样时间等。
e. 运行仿真,观察系统的输出结果。
第三部分:MATLAB Simulink仿真实例1. 建立通信系统模型以FM调制为例,建立一个基本的模拟调制解调系统模型。
通信原理实验2数字频带传输系统实验
实验2 数字频带传输系统实验一、实验目的掌握数字频带传输系统调制解调的仿真过程 掌握数字频带传输系统误码率仿真分析方法二、实验原理数字频带信号通常也称为数字调制信号,其信号频谱通常是带通型的,适合于在带通型信道中传输。
数字调制是将基带数字信号变换成适合带通型信道传输的一种信号处理方式,正如模拟通信一样,可以通过对基带信号的频谱搬移来适应信道特性,也可以采用频率调制、相位调制的方式来达到同样的目的。
1.调制过程 1)2ASK如果将二进制码元“0”对应信号0,“1”对应信号tf A c π2cos ,则2ASK 信号可以写成如下表达式:()()cos2T n s c n s t a g t nT A f tπ⎧⎫=-⎨⎬⎩⎭∑{}1,0∈n a ,()⎩⎨⎧≤≤=其他 0T t 01s t g 。
可以看到,上式是数字基带信号()()∑-=ns n nT t g a t m 经过DSB 调制后形成的信号。
其调制框图如图1所示:图1 2ASK 信号调制框图2ASK 信号的功率谱密度为:()()()][42c m c m s f f P f f P A f P ++-=2)2FSK将二进制码元“0”对应载波t f A 12cos π,“1”对应载波t f A 22cos π,则形成2FSK 信号,可以写成如下表达式:()()()()()12cos 2cos 2T n s n n s n nns t a g t nT A f t a g t nT A f t πϕπθ=-++-+∑∑当=n a 时,对应的传输信号频率为1f ;当1=n a 时,对应的传输信号频率为2f 。
上式中,n ϕ、n θ是两个频率波的初相。
2FSK 也可以写成另外的形式如下:()()cos 22T c n s n s t A f t h a g t nT ππ∞=-∞⎛⎫=+- ⎪⎝⎭∑其中,{}1,1-+∈n a ,()2/21f f f c +=,()⎩⎨⎧≤≤=其他 0T t 01s t g ,12f f h -=为频偏。
通信原理MATLAB
>> % 文件名e_gauss.m% 高斯曲线clear;a=0;sigma=1;x=-10:0.0001:10;y=(1/((sqrt(2*pi))*sigma))*exp(-((x-a).^2)/(2*sigm a.^2));plot(x,y);xlabel('变量x');ylabel('幅值(y)');title('正态分布的概率密度(高斯曲线)');>> % 文件名e_gauss.m% 高斯曲线clear;a=0;sigma=3;x=-10:0.0001:10;y=(1/((sqrt(2*pi))*sigma))*exp(-((x-a).^2)/(2*sigm a.^2));plot(x,y);xlabel('变量x');ylabel('幅值(y)');title('正态分布的概率密度(高斯曲线)');>> % 文件名e_gauss.m% 高斯曲线clear;a=3;sigma=1;x=-10:0.0001:10;y=(1/((sqrt(2*pi))*sigma))*exp(-((x-a).^2)/(2*sigma .^2));plot(x,y);xlabel('变量x');ylabel('幅值(y)');title('正态分布的概率密度(高斯曲线)');>> clear;a2=0;sigma2=1;x2=-10:0.0001:10;y2=(1/((sqrt(2*pi))*sigma2))*exp(-((x2-a2).^2)/(2*sigma2.^2)); subplot(3,1,1);plot(x2,y2,'b');a3=6;sigma3=1;x3=-10:0.0001:10;y3=(1/((sqrt(2*pi))*sigma3))*exp(-((x3-a3).^2)/(2*sigma3.^2)); subplot(3,1,2);plot(x3,y3,'g');a1=-6;sigma1=1;x1=-10:0.0001:10;y1=(1/((sqrt(2*pi))*sigma1))*exp(-((x1-a1).^2)/(2*sigma1.^2)); subplot(3,1,3);plot(x1,y1,'r');xlabel('变量x');ylabel('幅值(y)');title('正态分布的概率密度(高斯曲线)');>> clear;a2=0;sigma2=0.5;x2=-10:0.0001:10;y2=(1/((sqrt(2*pi))*sigma2))*exp(-((x2-a2).^2)/(2*sigma2.^2)); subplot(4,1,1);plot(x2,y2,'b');a3=0;sigma3=1;x3=-10:0.0001:10;y3=(1/((sqrt(2*pi))*sigma3))*exp(-((x3-a3).^2)/(2*sigma3.^2)); subplot(4,1,2);plot(x3,y3,'g');a1=0;sigma1=2;x1=-10:0.0001:10;y1=(1/((sqrt(2*pi))*sigma1))*exp(-((x1-a1).^2)/(2*sigma1.^2)); subplot(4,1,3);plot(x1,y1,'r');a4=0;sigma4=4;x4=-10:0.0001:10;y4=(1/((sqrt(2*pi))*sigma4))*exp(-((x4-a4).^2)/(2*sigma4.^2)); subplot(4,1,4);plot(x4,y4,'y');xlabel('变量x');ylabel('幅值(y)');title('正态分布的概率密度(高斯曲线)');>> clear;a1=-6;sigma1=1;x1=-10:0.0001:10;y1=(1/((sqrt(2*pi))*sigma1))*exp(-((x1-a1).^2)/(2*sigma1.^2)); a2=0;sigma2=1;x2=-10:0.0001:10;y2=(1/((sqrt(2*pi))*sigma2))*exp(-((x2-a2).^2)/(2*sigma2.^2)); a3=6;sigma3=1;x3=-10:0.0001:10;y3=(1/((sqrt(2*pi))*sigma3))*exp(-((x3-a3).^2)/(2*sigma3.^2)); plot(x1,y1,'g',x2,y2,'r',x3,y3,'b');xlabel('变量x');ylabel('幅值(y)');title('正态分布的概率密度(高斯曲线)');>> clear;a1=0;sigma1=0.5;x1=-10:0.0001:10;y1=(1/((sqrt(2*pi))*sigma1))*exp(-((x1-a1).^2)/(2*sigma1.^2)); a2=0;sigma2=1;x2=-10:0.0001:10;y2=(1/((sqrt(2*pi))*sigma2))*exp(-((x2-a2).^2)/(2*sigma2.^2)); a3=0;sigma3=2;x3=-10:0.0001:10;y3=(1/((sqrt(2*pi))*sigma3))*exp(-((x3-a3).^2)/(2*sigma3.^2)); a4=0;sigma4=4;x4=-10:0.0001:10;y4=(1/((sqrt(2*pi))*sigma4))*exp(-((x4-a4).^2)/(2*sigma4.^2)); plot(x1,y1,'g',x2,y2,'r',x3,y3,'b',x4,y4,'y');xlabel('变量x');ylabel('幅值(y)');title('正态分布的概率密度(高斯曲线)');。
通信原理实验报告matlab
通信原理实验报告matlab《通信原理实验报告:MATLAB》摘要:本实验报告基于通信原理课程的实验要求,利用MATLAB软件进行了一系列的实验。
通过实验,我们深入了解了通信原理中的一些重要概念和技术,并通过MATLAB软件进行了模拟和分析。
本实验报告将详细介绍实验的目的、原理、实验步骤、实验结果和分析,以及对实验过程中遇到的问题和解决方法进行了总结和讨论。
1. 实验目的本实验旨在通过使用MATLAB软件进行通信原理相关的实验,加深对通信原理中的相关概念和技术的理解,并通过实际操作加强对课程知识的掌握和应用能力。
2. 实验原理在本实验中,我们将涉及到通信原理中的一些重要概念和技术,包括信号的调制与解调、信道编码、信道调制等内容。
通过MATLAB软件,我们可以对这些概念和技术进行模拟和分析,从而更好地理解其原理和应用。
3. 实验步骤本实验中,我们将根据实验要求,依次进行一系列的实验步骤,包括信号的调制与解调、信道编码、信道调制等内容。
通过MATLAB软件,我们将对这些实验步骤进行模拟和分析,得到实验结果。
4. 实验结果和分析在实验过程中,我们得到了一系列的实验结果,并进行了详细的分析。
通过对这些实验结果的分析,我们可以更好地理解通信原理中的相关概念和技术,并加深对课程知识的理解和掌握。
5. 实验总结和讨论在实验过程中,我们也遇到了一些问题,并通过一些方法进行了解决。
在本部分,我们将对实验过程中遇到的问题和解决方法进行总结和讨论,以便更好地应对类似的实验问题。
通过本次实验,我们加深了对通信原理中的相关概念和技术的理解,并通过MATLAB软件进行了模拟和分析,得到了一系列的实验结果。
这些实验结果将有助于我们更好地理解通信原理中的相关知识,并加强对课程知识的掌握和应用能力。
同时,本次实验也为我们今后的学习和研究提供了一定的参考和借鉴。
实验二 通信原理MATLAB实验2
(5min)
课前练习
•
利用Mat lab绘制带通信号的波形。 (t=0.02S)
X (t ) 2Sinc(20t ) cos[2 100 Sinc(5t )] t
提示 1,要把x(t)用matlab语言表示出来,其中 t的取值怎么取 2,用plot函数画出图形
一、模拟调制系统
• 信源 基带模拟信号 调制 载波 • 载波的三个参量 • 调制后,载波的某个参量随信号而变
双边带DSB调制计算公式:
题目1:用matlab实现频率为1Hz,功率为1的余弦信号源,设载波频率为 10Hz。试画出 • (1)DSB调制信号 • (2)该调制信号功率谱密度 • t=-100:1:100 • m=cos(t) • subplot(2,1,1) • plot(t,m) • x=cos(2*pi*10*t) • s=m.*x • subplot(2,1,2) • plot(t,s)
二、模拟信号的数字化
• 题目2:利用Mat lab对模拟信源s sin t (0 t 2 ) 进行均匀量化,量化间隔为0.2.
提示:用到量化函数 quantiz • [index,quants]=quantiz(s,partition,codebook) • S 表示 需要量化的原始信号 • partition 用于设定量化区间,且设定的间隔是任意的 • codebook:用于设定与量化区间partition对应的量化后的信号值。
• • • • • • • • • • • • • • • • • • • • • • • • •
%File_C6: upcm.m function[sqnr,a_quan,code]=upcm(a,n) amax=max(abs(a)); a_quan=a/max; b_quan=a_quan; d=2/n; q=d.*[0:n-1]-(n-1)/2*d; for i=1:n index=find((q(i)-d/2<=a_quan)&(a_quan<=q(i)+d/2)); a_quan(index)=q(i).*ones(1,length(index)); b_quan(find(a_quan==q(i)))=(i=1).*ones(1,length(find(a_quan==q(i)))); end a_quan=a_quan*amax; nu=ceil(log2(n)); code=zeros(length(a),nu); for i=1:length(a) for j=nu:-1:0 if(fix(b_quan(i)/2^j))==1) code(i,nu-j)=1; b_quan(i)=b_quan(i)-2^j; end end end sqnr=20*log10(norm(a)./norm(a-a_quan));
通信原理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仿真讲义(一、二)
数据通信原理实验的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仿真通信原理系列实验
用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实验(第2部分)
6
图1-1 2ASK信号产生方法与波形示例 7
二、MATLAB实现 以数字信号序列10110010为例,给出产生2ASK
信号的MATLAB程序流程图如图1-2所示。
开始 为变量赋初值
生成2ASK信号 画出原始二进制代码波形
画出2ASK信号波形
结束 图1-2 2ASK流程图
8
%本函数实现将输入的一段二进制代码调制成相应的ask信号输出 %s为输入二进制码,f为载波频率,ask为调制后输出信号
包络检波法的原理方框图如图1-4所示。带通滤波器( BPF)恰好使2ASK信号完整地通过,经包络检测后,输出 其包络。低通滤波器(LPF)的作用是滤除高频杂波,使基 带信号(包络)通过。抽样判决器包括抽样、判决及码元形 成器。定时抽样脉冲(位同步信号)是很窄的脉冲,通常位 于每个码元的中央位置,其重复周期等于码元的宽度。不计 噪声影响时,带通滤波器输出为2ASK信号,即
信号同时送到抽样判决器进行比较,从而判决输出基带数
字信号。 28
若上、下支路 s (t ) 及 s ( t ) 的抽样值分别用 v1 、v2表示,则抽
样判决器的判决准则为
vv11
v2, v2,
判为“ 1” 判为“ 0”
a n 是 a n 的反码,于是
0, 概率P为
an 1,
概率为 1( P)
(1-14)
n 、n 分别是第n个信号码元的初相位和相位。一般 说来,键控法得到的 n 、n与序号n无关,反映在e0 (t )上
,仅表现出当改变时其相位是不连续的;而用模拟调频法时
,由于 1 与 2 改变时的相位是连续的,故不仅 n 、n
19
2FSK信号的产生方法及波形示例如图1-7所示。图中s (t )
通信原理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实验报告完整版.
无线通信实验报告院系名称:信息科学与工程学院专业班级:电信1203学生姓名:刘海峰学号: 201216020307 授课教师:杨静老师2015 年10 月31 日实验一基于通信系统的建模一、基本原理数字调相:如果两个频率相同的载波同时开始振荡,这两个频率同时达到正最大值,同时达到零值,同时达到负最大值,它们应处于"同相"状态;如果其中一个开始得迟了一点,就可能不相同了。
如果一个达到正最大值时,另一个达到负最大值,则称为"反相"。
一般把信号振荡一次(一周)作为360度。
如果一个波比另一个波相差半个周期,我们说两个波的相位差180度,也就是反相。
当传输数字信号时,"1"码控制发0度相位,"0"码控制发180度相位。
载波的初始相位就有了移动,也就带上了信息。
相移键控是利用载波的相位变化来传递数字信息,而振幅和频率保持不变。
在2PSK中,通常用初始相位0和π分别表示二进制“1”和“0”。
因此,2PSK信号的时域表达式为(t)=Acos t+)其中,表示第n个符号的绝对相位:=因此,上式可以改写为二、结果分析5101510-410-310-210-1104-PAM 载波调制信号在AWGN 信道下的性能Es/N0误比特率和误符号率结果分析:从程序运行结果看仿真得到的误符号率与理论近似值相吻合,而仿真得到的误比特率要高于理论值。
三、源程序%基于通信系统的建模 %作者:刘海峰 %学号:201216020307 %日期:2015年10月31日clc clear all; %清除变量 nsymbol=100000; %每种信噪比下的发送符号数 T=1; %符号周期 fs=100; %采样频率 ts=1/fs; %采样周期t=0:ts:T-ts; %时域矢量 fc=10; %载波频率 c=sqrt(2/T)*exp(j*2*pi *fc*t); %载波信号 c1=sqrt(2/T)*cos(2*pi*fc*t); %同相载波 c2=-sqrt(2/T)*sin(2*pi *fc*t); %正交载波 M=8; %8-PAM graycode=[0 1 2 3 6 7 4 5]; %Gray 编码规则 EsN0=0:15; %信噪比snr1=10.^(EsN0/10); %信噪比转换为线性 msg=randint(1,nsymbol,M); %消息数据 msg1=graycode(msg+1); %Gray 映射 msgmod=pskmod(msg1,M).'; %基带8—PSK 映射 tx=real(msgmod*c); %载波调制 tx1=reshape(tx.',1,len gth(msgmod)*length(c));spow=norm(tx1).^2/nsym bol; %求每个符号的平均功率for indx=1:length(EsN0)sigma=sqrt(spow/(2*snr 1(indx))); %根据符号功率求噪声功率 rx=tx1+sigma*randn(1,l ength(tx1));%加入高斯白噪声 rx1=reshape(rx,length(c),length(msgmod));r1=(c1*rx1)/length(c1); %相关运算 r2=(c2*rx1)/length(c2);r=r1+j*r2;y=pskdemod(r,M);%PSK 解调 decmsg=graycode(y+1); [err,ber(indx)]=biterr (msg,decmsg,log2(M));%误比特率 [err,ser(indx)]=symerr (msg,decmsg);%误符号率 endser1=2*qfunc(sqrt(2*snr1)*sin(pi/M)); %理论误符号率 ber1=1/log2(M)*ser1; %理论误比特率 semilogy(EsN0,ber,'-ko ',EsN0,ser,'-k*',EsN0,ser1,EsN0,ber1,'-k.'); title('4-PAM 载波调制信号在AWGN 信道下的性能') xlabel('Es/N0');ylabel('误比特率和误符号率')legend('误比特率','误符号率','理论误符号率','理论误符号率')实验二 AM 调制信号的Matlab 实现一、实验原理标准调幅波(AM )产生原理:调制信号是来自信源的调制信号(基带信号),这些信号可以是模拟的,亦可以是数字的。
用MatLab仿真通信原理系列实验
实验三:低通信号的抽样定理…………………………….………….16
第四章小结……………………………………………...18
致谢………………………………………………………18
参考文献…………………………………………………18
摘要:本毕业设计用Matlab中的建模仿真工具Simulink对通信原理实验进行仿真。作为系列实验的第一部分,包括模拟信号的线性调制解调(AM、DSB、SSB)过程、扰码与解扰实验和低通信号的抽样定理实验。论文中讲述了Matlab的基础知识、Simulink仿真操作方法以及在通信系统中的应用,对被仿真实验的基本原理也进行了简要介绍。通过本设计对构造通信原理虚拟实验室这一课题进行了初步的探索。
MATLAB系统共有5个主要部分构成:
1)MATLAB语言;
2)MATLAB工作环境;
3)MATLAB数学函数库;
4)MATLAB图形处理系统;
5)MATLAB应用程序接口。
1.MATLAB语言
MATLAB语言是一种面向对象的高级语言,正如前面所述,它以矩阵作为最基本的数据结构。MATLAB语言由自己独特的数据结构、输入输出功能、流程控制语句和函数。MATLAB在工程计算方面具有其他高级语言无法比拟的优越性,它集计算、数据可视化、程序设计于一体,并能将数学问题和解决方案以用户熟悉的数学符号表示出来。
(1)实现了可视化建模,用户通过简单的鼠标操作就可建立起直观的系统模型,并进行仿真;
(2)实现了多工作环境间文件互用和数据交换,如Simulink与MATLAB、FORTRAN以及C的工作环境的信息交换都可以方便的实现;
(3)把理论研究和工程实现有机地结合在一起。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.2 二进制数字频率调制
一、调制原理与实现方法 数字频率调制又称频移键控(FSK),二进制频移键控记 作2FSK。数字频移键控是用载波的频率来传送数字消息,即 用所传送的数字消息控制载波的频率。2FSK信号便是符号 “1”对应于载频 f1 ,而符号“0”对应于载频 f 2 (与 f1 不同 的另一载频)的已调波形,而且 f1 与 f 2 之间的改变是瞬间完 成的。 从原理上讲,数字调频可用模拟调频法来实现,也可用
中,载波的幅度、频率或相位只有两种变化状态,对应于数字 “0”和“1”。
4
c
1.1二进制数字幅度调制
一、一般原理与实现方法 数字幅度调制又称幅度键控(ASK),二进制幅度键控
记作2ASK。2ASK是利用代表数字信息“0”或“1”的基带矩 形脉冲去键控一个连续的载波,使载波时断时续地输出。有 载波输出时表示发送“1”,无载波输出时表示发送“0”。根 据幅度调制的原理,2ASK信号可表示为:
图1-7 2FSK信号的产生方法及波形示例
20
根据以上2FSK信号的产生原理,已调信号的数字表达式可 以表示为
e0 (t ) s(t ) cos(1t n ) s(t ) cos(2t n ) (1-10) 其中,s (t )为单极性非归零矩形脉冲序列
s(t ) an g (t nTb )
其示意图如图1-6所示。 由图1-6可见: (1)2ASK信号的功率谱由连续谱和离散谱两部分组 成。其中,连续谱取决于数字基带信号 s (t )经线性调制后 的双边带谱,而离散谱则由载波分量确定。
16
2ASK信号的功率谱
17
(2)2ASK信号的带宽是数字基带信号带宽的两倍。
B2 ASK
2 2 Bs 2 f b Tb
12
相干检测法原理方框图如图1-5所示。相干检测就是同步 解调,要求接收机产生一个与发送载波同频同相的本地载波 信号,称其为同步载波或相干载波。利用此载波与收到的已 调信号相乘,输出为
经低通滤波滤除第二项高频分量后,即可输出 s (t )信 号。低通滤波器的截止频率与基带数字信号的最高频率相 等。由于噪声影响及传输特性的不理想,低通滤波器输出 波形有失真,经抽样判决、整形后再生数字基带脉冲。 13
键控法来实现。模拟调频法是利用一个矩形脉冲序列对一个 载波进行调频,是频移键控通信方式早期采用的实现方法。 2FSK键控法则是利用受矩形脉冲序列控制的开关电路对两 个不同的独立频率源进行选通。键控法的特点是转换速度快 、波形好、稳定度高且易于实现,故应用广泛。
19
2FSK信号的产生方法及波形示例如图1-7所示。图中 s (t ) 为代表信息的二进制矩形脉冲序列,e0 (t ) 即是2FSK信号。
通信原理实验
工学2号馆404
余荣
数字信号的频带传输
数字信号的传输方式有基带传输和频带传输。上一节课已 经介绍了数字信号的基带传输,但在实际中的很多信道不能直 接传输基带信号。为了使数字信号能够在带通信道中传输,必 须用数字基带信号对载波进行调制,以使信号与信道的特性相 匹配。通常把具有调制和解调过程的数字传输系统称为数字频 带传输系统。 利用数字信号取值离散的特点通过开关键控载波,从而实 现数字调制的方法称为键控法。对载波振幅进行键控可获得振 幅键控(Amplitude Shift Keying,ASK),对载波频率进行键 控可获得频移键控(Frequency Shift Keying,FSK),对载波
对于单极性NRZ码,有
1 Pe ( f ) ( Ps ( f f c ) Ps ( f f c ) 4
1 1 2 Ps ( f ) Tb Sa ( f Tb ) ( f ) 4 4
(1-5)
(1-6) 15
代入式(1-5),得2ASK信号功率谱
Tb Pe ( f ) {Sa 2 [( f f c ]Tb Sa 2 [( f f c ]Tb } 16 1 (1-7) [( f f c ) ( f f c )] 16
BPF
z(t )
LPF
抽样 判决器
{an }
e0 (t )
y(t )
cosc t
解调器
s (t )
定时脉冲
图 1-5 2ASK信号的相干解调
14
四、2ASK信号的功率谱及带宽 前面已经得到,一个2ASK信号可以表示成:
e0 (t ) s(t ) cos c t
(1-4)
这里, s (t ) 是代表信息的随机单极性矩形脉冲序列。 现设 s (t ) 的功率谱密度为 Ps ( f ) ,e0 (t )的功率谱密度 为 P ( f ) ,则由式(8-4)可以证得 e
0, 概率为P (1-14) an 1 1, 概率为( P) n 、n 分别是第n个信号码元的初相位和相位。一般 说来,键控法得到的 n 、 n 与序号n无关,反映在 e0 (t )上
,仅表现出当改变时其相位是不连续的;而用模拟调频法时 ,由于 与第n个信号码元有关,而且 n 、 n 之间也应保持一定的
n
(1-11)
1, an 0,
概率为P 概率为( P) 1
(1-12)
逐码元取反而形成的脉冲序列,即
g (t )是持续时间为 Tb 、高度为1的门函数;s (t )为对 s (t )
s(t ) a n g (t nTb )
n
(1-13) 21
a n 是 an 的反码,于是
23
二、MATLAB实现
以数字信号序列10110010为例,给出产生2FSK信号的 MATLAB程序如下(函数文件fskdigital.m):
function fskdigital(s,f1,f2) %本函数实现将输入的一段二进制代码调制成相应的fsk信号输出 %s为输入二进制码,f1、f2分别为代码0、1对应的载波频率, fsk为调制后输出信号 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)
图1-1 2ASK信号产生方法与波形示例
7
二、MATLAB实现 以数字信号序列10110010为例,给出产生2ASK 信号的MATLAB程序流程图如图1-2所示。
开始 为变量赋初值 生成2ASK信号 画出原始二进制代码波形 画出2ASK信号波形 结束
图1-2 2ASK流程图
8
%本函数实现将输入的一段二进制代码调制成相应的ask信号输出 %s为输入二进制码,f为载波频率,ask为调制后输出信号 m1=[m1 m]; t=0:2*pi/99:2*pi; c1=[c1 c] m1=[]; end c1=[]; ask=c1.*m1; for n=1:length(s) subplot(211); if s(n)==0; plot(m1) m=zeros(1,100); title('原始信号'); else s(n)==1; axis([0 100*length(s) -0.1 1.1]); m=ones(1,100); subplot(212); end plot(ask) c=sin(f*t); title('ASK信号'); 在命令窗口中键入s的二进制代码和载波频率f,再输入函数名,就可以 得到所对应的ask信号输出,如输入以下指令: s=[1 0 1 1 0 0 1 0]; f=2; Ask digital 将出现图1-3所示结果,其中载波频率与码元速率相同。
24
else s(n)==1; m=ones(1,100); c=sin(f1*t); b=ones(1,100) end m1=[m1 m]; c1=[c1 c]; b1=[b1 b]; end fsk=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;
26
图1-9 2FSK信号波形 27
三、2FSK信号的解调
数字调频信号的解调方法很多,下面仅就相干检测法、 非相干检测法、过零检测法和差分检测法进行介绍。 1. 包络检波法 2FSK信号的包络检波法解调方框图如图1-10所示,其 可视为由两路2ASK解调电路组成。这里,两个带通滤波
器(带宽相同,皆为相应的2ASK信号带宽;中心频率不 同,分别为 f 1 、 f 2 )起分路作用,用以分开两路2ASK信 号,上支路对应 y1 (t ) s(t ) cos(1t n ) ,下支路对应
2ASK信号的产生方法(调制方法)有两种,如图 1-1所示。图(a)是一般的模拟幅度调制方法,这里的 由式(1-2)规定;图(b)是一种键控方法,这里的开 关电路受控制。图(c)给出了及的波形示例。二进制 幅度键控信号,由于一个信号状态始终为0,相当于处 于断开状态,故又常称为通断键控信号(OOK信号) 。 6
y(t ) e0 (t ) s(t ) cosct ,包络检波器输出为 s (t )。经抽样、
判决后将码元再生,即可恢复出数字序列{
an }。
11
2ASK信号 BPF
半波或 全波整流
LPF
抽样 判决器
e0 (t )
y(t )
包检器 图 1-4 2ASK信号的包络解调
s ) s(t ) cosct
(1-1)
式中, c 为载波角频率, (t ) 为单极性NRZ矩形脉冲序列 s
5
s(t )
a
n
n
g (t nTb )