通信原理实验Matlab程序(软件仿真)
通信原理基于matlab的计算机仿真
通信原理基于matlab的计算机仿真通信原理基于matlab的计算机仿真已经成为通信领域中一项重要的研究工具。
此类仿真软件通过模拟现实情形,能够极大地加快通信设备的开发进程,并且可以帮助工程师进行实验,发现并解决通讯中可能存在的问题。
同时,matlab的通信仿真功能也成为了相关教材和教学实验的首选,许多大学,尤其是通信工程专业的学生要通过matlab的仿真来更好地理解通信原理和通信设备的工作原理。
由于matlab的专业性,无论是对于传输介质的模型计算,还是信号的传输过程的计算仿真,都非常适合。
通信原理的matlab仿真可以有效地帮助工程师分析各种信号,包括模拟信号、数字信号及混合信号。
这种仿真可用于计算机网络、通信系统设计以及无线通信和移动通信等领域。
在matlab中,通信原理的仿真重点是信号的传输与接收。
目前,通信设备主要采用数字信号的传输方式,而matlab中也能够实现该方式的仿真。
通过模拟数字信号的传输过程,可以帮助工程师分析此类信号在不同媒介下的传输效果。
所以,在进行数字信号的仿真时,matlab会考虑到以下几个因素:1.噪声在数字通信中,噪声是一个常见的问题。
因此,在matlab 的仿真中也要考虑到噪声的影响因素。
matlab能够对噪声进行建模,模拟各种环境下的噪声对数字信号的影响程度。
2.数据传输速率数据传输速率也会影响数字信号的仿真结果。
matlab可以模拟数字信号传输的速率以及不同速率下的传输效果。
3.差错率差错率也是数字信号传输中的一个显著因素,matlab在通信原理仿真中也会进行模拟。
除数字信号外,模拟信号的仿真也是通信原理仿真领域的一项重要工作。
在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实验报告
通信原理matlab实验报告《通信原理matlab实验报告》在现代通信系统中,通信原理是至关重要的一部分。
为了更好地理解和应用通信原理,我们进行了一系列的实验,并在本报告中分享我们的实验结果和分析。
首先,我们使用了Matlab软件进行了频谱分析实验。
通过对信号的频谱进行分析,我们能够更好地了解信号的频率分布特性,从而为信号的传输和处理提供了重要的参考。
在实验中,我们使用了不同的信号类型,并通过Matlab的频谱分析工具对其进行了分析。
通过实验结果,我们发现不同类型的信号在频谱上呈现出不同的特征,这为我们在实际通信系统中的信号处理提供了重要的指导。
其次,我们进行了调制解调实验。
调制是将数字信号转换为模拟信号的过程,而解调则是将模拟信号转换为数字信号的过程。
在实验中,我们使用Matlab模拟了调制解调过程,并通过实验结果验证了调制解调的正确性。
通过这一实验,我们深入理解了调制解调的原理和过程,并为实际通信系统中的信号处理提供了重要的参考。
最后,我们进行了信道编码解码实验。
信道编码是为了提高通信系统的可靠性和抗干扰能力而进行的一种技术手段。
在实验中,我们使用Matlab对信道编码进行了模拟,并通过实验结果验证了信道编码的效果。
通过这一实验,我们更加深入地理解了信道编码的原理和作用,为实际通信系统中的信号处理提供了重要的参考。
综上所述,通过本次实验,我们更加深入地理解了通信原理的相关知识,并通过Matlab软件进行了实际操作,加深了对通信原理的理解和应用。
这些实验结果对我们今后在通信系统设计和应用中将起到重要的指导作用。
希望通过这份实验报告的分享,能够对通信原理的学习和应用有所帮助。
通信原理及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调制为例,建立一个基本的模拟调制解调系统模型。
通信原理实验教程MATLAB
通信原理实验教程MATLAB通信原理是一个非常重要的学科,它涉及到人类社会中所有的信息传递和交流。
在通信原理实验中,MATLAB是一个广泛应用的软件工具,它可以帮助我们更好地理解和分析各种信号处理、调制和调解技术。
本文将介绍通信原理实验教程MATLAB,包括实验内容、实验步骤和实验效果。
一、实验内容通信原理实验教程MATLAB主要包括以下内容:1.信号处理实验:涉及对不同类型的信号进行采样、量化、编码、解码和滤波等处理。
2.模拟调制实验:涉及常见的调制方式,如AM、FM、PM等,通过信号模拟生成带载波的调制信号。
3.数字调制实验:涉及数字调制方式,如ASK、FSK、PSK 等,通过二进制数字信号生成带载波的数字调制信号。
4.调解实验:涉及不同的调解技术,如干扰消除、正交调解等,可以帮助我们更好地理解信号的编码和解码过程。
二、实验步骤通信原理实验教程MATLAB的实验步骤如下:1.信号处理实验:利用MATLAB实现信号处理算法,包括采样、量化、编码、解码和滤波等过程。
通过图形界面展示处理后的信号波形和频谱,来验证算法的正确性。
2.模拟调制实验:利用MATLAB生成正弦波载波和调制信号,利用Mod函数进行AM、FM和PM模拟调制操作。
通过图形界面展示调制信号的波形和频谱,以及载波和调制信号的相位、频率和幅值信息。
3.数字调制实验:生成二进制数字信号,利用MATLAB实现ASK、FSK、PSK等数字调制算法,利用图形界面展示调制信号的波形和频谱,以及载波和数字信号的相位和频率信息。
4.调解实验:利用MATLAB实现干扰消除和正交调解等调解技术,通过图形界面展示编码和解码过程的波形和频谱信息,并比较不同技术之间的性能差异。
三、实验效果通信原理实验教程MATLAB的实验效果如下:1.信号处理实验:通过MATLAB实现信号处理算法,可以快速准确地分析和优化不同类型的信号,从而保证通信系统的稳定性和可靠性。
2.模拟调制实验:通过MATLAB模拟AM、FM和PM模拟调制操作,可以深入了解不同调制方式的优缺点以及应用场景,从而更好地选择调制方式。
通信原理实验报告matlab
通信原理实验报告matlab《通信原理实验报告:MATLAB》摘要:本实验报告基于通信原理课程的实验要求,利用MATLAB软件进行了一系列的实验。
通过实验,我们深入了解了通信原理中的一些重要概念和技术,并通过MATLAB软件进行了模拟和分析。
本实验报告将详细介绍实验的目的、原理、实验步骤、实验结果和分析,以及对实验过程中遇到的问题和解决方法进行了总结和讨论。
1. 实验目的本实验旨在通过使用MATLAB软件进行通信原理相关的实验,加深对通信原理中的相关概念和技术的理解,并通过实际操作加强对课程知识的掌握和应用能力。
2. 实验原理在本实验中,我们将涉及到通信原理中的一些重要概念和技术,包括信号的调制与解调、信道编码、信道调制等内容。
通过MATLAB软件,我们可以对这些概念和技术进行模拟和分析,从而更好地理解其原理和应用。
3. 实验步骤本实验中,我们将根据实验要求,依次进行一系列的实验步骤,包括信号的调制与解调、信道编码、信道调制等内容。
通过MATLAB软件,我们将对这些实验步骤进行模拟和分析,得到实验结果。
4. 实验结果和分析在实验过程中,我们得到了一系列的实验结果,并进行了详细的分析。
通过对这些实验结果的分析,我们可以更好地理解通信原理中的相关概念和技术,并加深对课程知识的理解和掌握。
5. 实验总结和讨论在实验过程中,我们也遇到了一些问题,并通过一些方法进行了解决。
在本部分,我们将对实验过程中遇到的问题和解决方法进行总结和讨论,以便更好地应对类似的实验问题。
通过本次实验,我们加深了对通信原理中的相关概念和技术的理解,并通过MATLAB软件进行了模拟和分析,得到了一系列的实验结果。
这些实验结果将有助于我们更好地理解通信原理中的相关知识,并加强对课程知识的掌握和应用能力。
同时,本次实验也为我们今后的学习和研究提供了一定的参考和借鉴。
通信原理MATLAB验证低通抽样定理实验报告
通信原理实验报告一、实验名称MATLAB验证低通抽样定理二、实验目的1、掌握抽样定理的工作原理。
2、通过MATLAB编程实现对抽样定理的验证,加深抽样定理的理解。
同时训练应用计算机分析问题的能力。
3、了解MATLAB软件,学习应用MATLAB软件的仿真技术。
它主要侧重于某些理论知识的灵活运用,以及一些关键命令的掌握,理解,分析等。
4、计算在临界采样、过采样、欠采样三种不同条件下恢复信号的误差,并由此总结采样频率对信号恢复产生误差的影响,从而验证时域采样定理。
三、实验步骤及原理1、对连续信号进行等间隔采样形成采样信号,采样信号的频谱是原连续信号的频谱以采样频率为周期进行周期性的延拓形成的。
2、设连续信号的的最高频率为Fmax,如果采样频率Fs>2Fmax,那么采样信号可以唯一的恢复出原连续信号,否则Fs<=2Fmax会造成采样信号中的频谱混叠现象,不可能无失真地恢复原连续信号。
四、实验内容1、画出连续时间信号的时域波形及其幅频特性曲线,信号为x=cos(4*pi*t)+1.5*sin(6*pi*t)+0.5*cos(20*pi*t)2、对信号进行采样,得到采样序列,画出采样频率分别为10Hz,20 Hz,50 Hz时的采样序列波形;3、对不同采样频率下的采样序列进行频谱分析,绘制其幅频曲线,对比各频率下采样序列和的幅频曲线有无差别。
4、对信号进行谱分析,观察与3中结果有无差别。
5、由采样序列恢复出连续时间信号,画出其时域波形,对比与原连续时间信号的时域波形。
五、实验仿真图(1) x=cos(4*pi*t)+1.5*sin(6*pi*t)+0.5*cos(20*pi*t)的时域波形及幅频特性曲线。
clear;close all;dt=0.05;t=-2:dt:2x=cos(4*pi*t)+1.5*sin(6*pi*t)+0.5*cos(20*pi*t);N=length(t);Y=fft(x)/N*2;fs=1/dt;df=fs/(N-1);f=(0:N-1)*df;plot(t,x)title('抽样时域波形')xlabel('t')grid;subplot(2,1,2)plot(f,abs(Y));title('抽样频域信号 |Y|');xlabel('f');grid;(2)采样频率分别为10Hz时的采样序列波形, 幅频特性曲线,以及由采样序列恢复出连续时间信号时域、频域波形;clear;close all;dt=0.1;t0=-2:0.01:2t=-2:dt:2ts1=0.01x0=cos(4*pi*t0)+1.5*sin(6*pi*t0)+0.5*cos(20*pi*t0);x=cos(4*pi*t)+1.5*sin(6*pi*t)+0.5*cos(20*pi*t);B=length(t0);Y2=fft(x0)/B*2;fs2=1/0.01;df2=fs2/(B-1);f2=(0:B-1)*df2;N=length(t);Y=fft(x)/N*2;fs=1/dt;df=fs/(N-1);f=(0:N-1)*df;tm=-50:ts1:50gt=sinc(fs*tm)st=sigexpand(x,dt/ts1)x3=conv(st,gt)A=length(tm(5001:5401));Y1=fft(x3(5001:5401))/A*2;fs1=1/ts1;df1=fs1/(A-1);f1=(0:A-1)*df1;subplot(3,2,1)plot(t0,x0)title('原始时域波形')xlabel('t')subplot(3,2,2)title('原始频域波形')xlabel('t')subplot(3,2,3)plot(t,x)title('抽样时域波形')xlabel('t')grid;subplot(3,2,4)plot(f,abs(Y));title('抽样频域信号 |Y|');xlabel('f');subplot(3,2,5)plot(t0,x3(5001:5401))title('恢复后的信号');xlabel('tm')subplot(3,2,6)plot(f1,abs(Y1));title('恢复频域信号 |Y1|');xlabel('f1');grid;(3)采样频率分别为20 Hz时的采样序列波形,幅频特性曲线,以及由采样序列恢复出连续时间信号时域、频域波形;clear;close all;dt=0.05;t0=-2:0.01:2t=-2:dt:2ts1=0.01x0=cos(4*pi*t0)+1.5*sin(6*pi*t0)+0.5*cos(20*pi*t0); x=cos(4*pi*t)+1.5*sin(6*pi*t)+0.5*cos(20*pi*t);B=length(t0);Y2=fft(x0)/B*2;fs2=1/0.01;df2=fs2/(B-1);f2=(0:B-1)*df2;N=length(t);Y=fft(x)/N*2;fs=1/dt;df=fs/(N-1);f=(0:N-1)*df;tm=-50:ts1:50gt=sinc(fs*tm)st=sigexpand(x,dt/ts1)x3=conv(st,gt)A=length(tm(5001:5401));Y1=fft(x3(5001:5401))/A*2;fs1=1/ts1;df1=fs1/(A-1);f1=(0:A-1)*df1;subplot(3,2,1)plot(t0,x0)title('原始时域波形')xlabel('t')subplot(3,2,2)plot(f2,abs(Y2))title('原始频域波形')xlabel('t')subplot(3,2,3)plot(t,x)title('抽样时域波形')xlabel('t')grid;subplot(3,2,4)plot(f,abs(Y));title('抽样频域信号 |Y|');xlabel('f');subplot(3,2,5)plot(t0,x3(5001:5401))title('恢复后的信号');xlabel('tm')subplot(3,2,6)plot(f1,abs(Y1));title('恢复频域信号 |Y1|');xlabel('f1');grid;(4)采样频率分别为50 Hz时的采样序列波形,幅频特性曲线,以及由采样序列恢复出连续时间信号时域、频域波形;;clear;close all;dt=0.02;t0=-2:0.01:2t=-2:dt:2ts1=0.01x0=cos(4*pi*t0)+1.5*sin(6*pi*t0)+0.5*cos(20*pi*t0);x=cos(4*pi*t)+1.5*sin(6*pi*t)+0.5*cos(20*pi*t);B=length(t0);Y2=fft(x0)/B*2;fs2=1/0.01;df2=fs2/(B-1);f2=(0:B-1)*df2;N=length(t);Y=fft(x)/N*2;fs=1/dt;df=fs/(N-1);f=(0:N-1)*df;tm=-50:ts1:50gt=sinc(fs*tm)st=sigexpand(x,dt/ts1)x3=conv(st,gt)A=length(tm(5001:5401));Y1=fft(x3(5001:5401))/A*2; fs1=1/ts1;df1=fs1/(A-1);f1=(0:A-1)*df1;subplot(3,2,1)plot(t0,x0)title('原始时域波形') xlabel('t')subplot(3,2,2)plot(f2,abs(Y2))title('原始频域波形') xlabel('t')subplot(3,2,3)plot(t,x)title('抽样时域波形') xlabel('t')grid;subplot(3,2,4)plot(f,abs(Y));title('抽样频域信号 |Y|'); xlabel('f');subplot(3,2,5)plot(t0,x3(5001:5401)) title('恢复后的信号'); xlabel('tm')subplot(3,2,6)plot(f1,abs(Y1));title('恢复频域信号 |Y1|'); xlabel('f1');grid;六、实验结论实验中对模拟信号进行采样,需要根据最高截止频率Fmax,按照采样定理的要求选择采样频率的两倍,即 Fs>2Fmax。
通信系统仿真使用Matlab实验chapter2
Matlab通信系统仿真实验实验一熟悉基本的Matlab仿真环境一、实验目的1、熟悉Matlab仿真环境,编制简单的matlab程序,熟悉基本的调试技巧等。
认为学生已经掌握Matlab的基本语法和基本操作。
2、熟悉基本的Matlab中通信仿真工具,相关的函数和命令等的基本使用,包括基本的通信模块相关命令函数,plot相关的命令函数3、计算机通信仿真的基本的技术和方法二、知识要点1、Matlab概述Matlab是由美国的MathWorks公司推出的一种科学计算和工程仿真软件。
Matlab将高性能的科学计算、结果可视化和编程集中在一个易于操作的环境中,提供了大量的内置函数,具有强大的矩阵计算和绘图功能,适用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作。
目前,在世界范围内被科研工作者、工程技术人员和院校师生广泛采用。
2、Matlab中的通信仿真工具实现基本的Matlab通信仿真,有两种基本的途径:第一种,用matlab的基本运算和操作实现基本的通信功能模块,当然前提是对这些基本的通信功能模块的概念和原理非常的清晰。
另一种途径是,利用Matlab中提供的专业通信工具箱中的函数实现。
前提是对这些函数功能非常明确,并熟悉其使用的算法和调用的方法,尤其是参数的理解和设置。
Matlab工具箱中包括100多个Matalb函数可用于通信算法的开发、系统分析及设计。
通信工具箱能完成如下任务:1)信源编码及量化2)高斯白噪声信道模型3)差错控制编码4)调制和解调5)发送和接收滤波器6)基带和调制信道模型7)同步,包括模拟和数字锁相环8)多址接入,包括CDMA,FDMA,TDMA.9)分析结果和比较系统误码率的图形用户界面10)用于通信信号可视化图形分析和绘制,包括眼图,星座表等。
11)新增的信道可视化工具用于进行时变信道的可视化和开发。
3、Matlab中的绘图功能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与通信仿真实验报告
matlab与通信仿真实验报告《Matlab与通信仿真实验报告》摘要:本实验报告通过使用Matlab软件进行通信仿真实验,对通信系统的性能进行了评估和分析。
首先介绍了通信系统的基本原理和模型,然后利用Matlab软件搭建了通信系统的仿真模型,并进行了实验验证。
通过实验结果的分析,得出了通信系统的性能指标,为通信系统的设计和优化提供了重要参考。
一、引言通信系统是现代信息社会中不可或缺的基础设施,它承载着各种类型的信息传输和交换。
通信系统的性能直接影响着信息传输的质量和效率,因此对通信系统的性能评估和分析具有重要意义。
Matlab软件是一种功能强大的科学计算软件,它提供了丰富的工具和函数库,可以用于通信系统的建模、仿真和分析。
本实验报告将利用Matlab软件进行通信系统的仿真实验,对通信系统的性能进行评估和分析。
二、通信系统的基本原理和模型通信系统由发送端、信道和接收端组成,发送端将信息转换成电信号发送出去,经过信道传输后,接收端将电信号转换成信息。
通信系统的性能评估主要包括信号传输质量、误码率、信噪比等指标。
在本实验中,我们将以常见的调制解调技术为例,建立通信系统的仿真模型。
三、Matlab软件在通信系统仿真中的应用Matlab软件提供了丰富的工具和函数库,可以用于通信系统的建模、仿真和分析。
在本实验中,我们将利用Matlab软件搭建通信系统的仿真模型,包括信号调制、信道传输、信号解调等过程。
通过Matlab软件的仿真实验,我们可以得到通信系统的性能指标,如误码率、信噪比等。
四、实验结果分析通过Matlab软件进行通信系统的仿真实验,我们得到了一系列实验结果。
通过对实验结果的分析,我们可以评估通信系统的性能,比如误码率随信噪比的变化规律、不同调制方式的性能比较等。
这些实验结果对于通信系统的设计和优化具有重要的参考价值。
五、结论本实验报告利用Matlab软件进行通信系统的仿真实验,对通信系统的性能进行了评估和分析。
通信原理实验的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仿真实验指导书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仿真实验报告
实验二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通信原理仿真教程
Matlab通信原理仿真教程如下:
1. 导入Simulink和Communications Toolbox。
Simulink是MATLAB的一个扩展,用于建模、仿真和分析动态系统。
Communications Toolbox
是用于通信系统仿真的附加工具箱。
2. 创建通信系统模型。
在Simulink中,可以使用各种模块来创建通信系统
模型,例如信号源、调制器、解调器、信道和噪声源等。
3. 配置模块参数。
根据所需的通信系统参数,配置各个模块的参数。
例如,在调制器模块中,可以选择所需的调制类型(如QPSK、QAM等),并设
置相应的参数。
4. 运行仿真。
在Simulink中,可以使用“开始仿真”按钮来运行仿真。
Simulink将自动进行系统建模和仿真,并显示结果。
5. 分析仿真结果。
使用MATLAB中的各种工具和分析函数来处理仿真结果,例如频谱分析、误码率计算等。
以上是Matlab通信原理仿真教程的基本步骤,具体实现过程可能会因不同的通信系统和仿真需求而有所不同。
建议参考Matlab官方文档和相关教程进行学习。
通信原理实验报告-含MATLAB程序
通信原理实验报告实验一 数字基带传输实验一、实验目的1、提高独立学习的能力;2、培养发现问题、解决问题和分析问题的能力;3、学习Matlab 的使用;4、掌握基带数字传输系统的仿真方法;5、熟悉基带传输系统的基本结构;6、掌握带限信道的仿真以及性能分析;7、通过观测眼图和星座图判断信号的传输质量。
二、实验原理1. 带限信道的基带系统模型(连续域分析)输入符号序列 ————{al }发送信号 ————10()()L l d t al t lTb δ-==-∑ Tb 是比特周期,二进制码元周期发送滤波器 ————GT(w)或GT (t )发送滤波器输出 ————1100()()*()()*()()L L l b T l T b T l l x t d t t a t lT g t a g t lT g δ--====-=-∑∑ 信道输出信号或接收滤波器输入信号()()()y t x t n t =+接收滤波器 ()R G ω或()R G f接收滤波器输出信号10()()*()()*()*()()*()()()L R T R R l b R l r t y t g t d t g t g t n t g t a g t lT n t -===+=-+∑其中2()()()j ft T R g t G f G f e df π∞-∞=⎰如果位同步理想,则抽样时刻为b l T ⋅ 01l L =-:判决为 '{}l a2. 升余弦滚降滤波器1()||2s sH f T f T α-=≤; ()H f =111[1cos (||)]||2222s s s s sT T f f T T T παααα--++-<≤ ()H f = 10||2s f T α+>式中α 称为滚降系数,取值为0 <α ≤1, T s 是常数。
α = 0时,带宽为1/ 2T s Hz ;α =1时, 带宽为1/T s Hz 。
用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)。
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]);
function S=t2f(s,fs) % s代表输入信号,S代表s的频谱,fs是采样率 N=length(s); % 总采样数
T=1/fs*N; % 观察时间 f=[-N/2:(N/2-1)]/T; % 频域采样点 tmp1=fft(s)/fs; tmp2=N*ifft(s)/fs; S(1:N/2)=tmp2(N/2+1:-1:2); S(N/2+1:N)=tmp1(1:N/2); S=S.*exp(j*pi*f*T); End
y=[y,x(i)]; M=max(y); m=min(y); subplot(1,1,1) plot(t,y);grid on; axis([0,i,m-0.1,M+0.1]); title('guilingma');
Ts = 1; % 码元周期 N_sample = 128; % 单个码元抽样点数 dt = Ts / N_sample; % 抽样时间间隔 N = 100; % 码元数 t = 0 : dt : (N * N_sample - 1) * dt; % 序列传输时间 xn = round(rand(1, N));% 随机0 1 序列 gt1= ones(1, N_sample); gt2= zeros(1, N_sample); yw=xn;% 输出yn初始化 num=0;% 计数器初始化 for k=1:length(xn) if xn(k)==1 num=num+1; % "1" 计数器 if num/2 == fix(num/2) % 奇数个1时输出-1,进行极性交替 yw(k)=1; else yw(k)=-1; end end end% ami 编码 num=0; % 连零计数器初始化 yz=yw; % 输出初始化 sign=0; % 极性标志初始化为0 V=zeros(1,length(yw));% V 脉冲位置记录变量 B=zeros(1,length(yw));% B 脉冲位置记录变量 for k=1:length(yw) if yw(k)==0 num=num+1; % 连“0”个数计数 if num==4 % 如果4连“0”
clear all close all L=64; N=1024; M=N/L; Rs=2; Ts=1/Rs; fs=L/Ts; Bs=fs/2; T=N/fs; t=[-(T/2):1/fs:(T/2-1/fs)]; f=-Bs+[0:N-1]/T; EP=zeros(1,N); for loop=1:1000 a=sign(randn(1,M)); tmp=zeros(L,M); L1=L*0.5; tmp([1:L1],:)=ones(L1,1)*a; s=tmp(:)'; S=t2f(s,fs); P=abs(S).^2/T; EP=EP*(1-1/loop)+P/loop; end figure(1) plot(t,s) axis equal grid figure(2) plot(f,EP) axis([-20,20,0,max(EP)]) grid
Ts = 1; % 码元周期 N_sample = 128; % 单个码元抽样点数 dt = Ts / N_sample; % 抽样时间间隔 N = 100; % 码元数 t = 0 : dt : (N * N_sample - 1) * dt; % 序列传输时间 xn = round(rand(1, N));% 随机0 1 序列 gt1= ones(1, N_sample); gt2= zeros(1, N_sample);
function y=snrz(x) t0=300; t=0:1/t0:length(x); for i=1:length(x) if(x(i)==1) for j=1:3*t0/4 y((i-1)*t0+j)=1; for j=1+(3*t0/4):t0 y((i-1)*t0+j)=0; end end else for j=1:t0 y(t0*(i-1)+j)=0; end end end y=[y,x(i)]; M=max(y); m=min(y); subplot(1,1,1) plot(t,y);grid on; axis([0,i,m-0.1,M+0.1]); title('guilingma');
%% 绘制出结果 subplot(2, 1,2);plot(PEL1, PE1); grid on; axis([ -50 50 -50 50]); title('HDB3');
f1=2; f0=1; M=2; BER_1=zeros(1,50); BER_2=zeros(1,50); EbNo_1=zeros(1,50); EbNo=0; freqsep=1; nsamp=8; Fs=32; k=log2(M); s= randint(1000,1,M); N=Fs; t=0:2*pi/99:2*pi; cp=[];mod=[];bit=[]; for n=1:length(s); if s(n)==0; cp1=ones(1,100); c=sin(f0*t); bit1=zeros(1,100); else cp1=ones(1,100); c=sin(f1*t); bit1=ones(1,100); end cp=[cp cp1]; mod=[mod c]; bit=[bit bit1]; end fsk = cp.*mod; subplot(2,2,1); plot(bit,'LineWidth',1.5);grid on; ylabel('binary signal'); axis([0 1*length(s) -2.5 2.5]);
clear all close all L=64; % 每码元采样点数 N=1024;% 采样点数 M=N/L;% 码元数 Rs=2;% 码元速率 Ts=1/Rs;%比特间隔 fs=L/Ts;%采样速率 Bs=fs/2;%系统带宽 T=N/fs;% 截短时间 t=[-(T/2):1/fs:(T/2-1/fs)];% 时域采样点 f=-Bs+[0:N-1]/T;%频域采样点 EP=zeros(1,N); for loop=1:1000 a=(randn(1,M)>0);% 产生单极性数据 tmp=zeros(L,M); L1=L*0.5; %0.5 是占空比 tmp([1:L1],:)=ones(L1,1)*a; s=tmp(:)'; S=t2f(s,fs); P=abs(S).^2/T;% 样本信号的功率谱密度 %随机过程的功率谱是各个样本的功率谱的数学期望 EP=EP*(1-1/loop)+P/loop; end figure(1) plot(t,s) axis equal grid figure(2) plot(f,EP) axis([-20,20,0,max(EP)]) grid
subplot(2,2,2); plot(fsk,'LineWidth',1.5);grid on; ylabel('Fsk modulation'); axis([0 1*length(s) -2.5 2.5]); %fsk(s,1,2); y = fskmod(s,M,freqsep,nsamp,Fs); ly = length(y); freq = [-Fs/2 : Fs/ly : Fs/2 - Fs/ly]; Syy = 10 * log10(fftshift(abs(fft(y)))); subplot(2,2,3); plot(freq,Syy); for i=1:1:30 EbNo=EbNo+5; EbNo_1=[EbNo_1 EbNo]; msg_rx=awgn(y,EbNo+10*log10(k)10*log10(N),'measured','dB'); msg_rrx=fskdemod(msg_rx,M,freqsep,nsamp,Fs); [num,SER]=symerr(s,msg_rrx); BER=SER*(M/2)/(M-1); BER_theory=berawgn(EbNo,'fsk',M,'noncoherent'); BER_1=[BER_1 BER]; BER_2=[BER_2 BER_theory]; end subplot(2,2,4); plot(EbNo_1,BER_1,EbNo_1,BER_2); axis([5 30 0 0.5]);