现代通信原理_Matlab实验一
Matlab在《现代通信原理与系统》实验中的应用[优秀范文五篇]
Matlab在《现代通信原理与系统》实验中的应用[优秀范文五篇]第一篇:Matlab在《现代通信原理与系统》实验中的应用Matlab在《现代通信原理与系统》实验中的应用摘要:为了提高研究生教学质量,提高学生学习兴趣和学习热情,使学生更加透彻地理解所学知识,拓展学生向研究性发展的外延培养,训练学生创新能力的培养,开发了《现代通信原理与系统》课程相关的仿真演示实验。
教学实践中,通过Matlab仿真实验演示,有效地激发了学生学习的主动性和积极性,增强了学生的感性认识,提高了?n 程教学效果,提高了人才培养质量。
关键词:通信原理;Matlab;实验教学;系统仿真中图分类号:TN911 文献标志码:A 文章编号:1674-9324(2018)25-0267-03一、引言《现代通信原理与系统》课程是光纤通信、移动通信、卫星通信等等课程的重要基础,该门课程数学知识复杂,理论性内容较多,部分涉及非线性电子线路,比较抽象,缺乏直观性,学生难以想象,不好理解,相关实验也是验证性实验,学生对实验的感受不深,对设备的运行原理、运行情况了解不深,这对培养学生综合思维能力、创新能力没有起到任何作用。
为了提高学生学习兴趣和学习热情,使学生更加透彻地理解所学知识,拓展学生向研究性发展的外延培养,训练学生创新能力的培养,笔者通过该门课程典型实验仿真,动态演示,在课堂上形象生动展现波形,帮助学生深入了解课程内容,提高学习效率。
二、模拟调制实验仿真让载波的某个参量随模拟调制信号的变化而变化的方式叫作模拟调制,模拟调制有线性模拟调制与非线性模拟调制。
通过线性模拟调制与非线性模拟调制,利用Matlab仿真,加深学生对于调制、解调概念的理解,掌握线性调制与非线性调制的区别。
通俗地讲,线性模拟调制就是将调制信号“放”到了载波的振幅参量上,在频域发生频谱的搬移,经过解调,将调制信号从载波的振幅参量上“取”出来,恢复成原始的调制信号。
这样做的目的有三:第一方面,把低频信号变换成利于无线发送或在信道中传输的高频信号;第二方面,使得多路信号在一个信道中同时传输,实现信道多路复用;第三方面,可以改善传输系统的性能。
通信原理matlab实验
在无码间串扰和噪声的理想情况下,波形无失真,每个码元将重叠在一起,最终在示波器上看到的是迹线又细又清晰的“眼睛”,“眼”开启得最大。当有码间串扰时,波形失真,码元不完全重合,眼图的迹线就会不清晰,引起“眼”部分闭合。若再加上噪声的影响,则使眼图的线条变得模糊,“眼”开启得小了,因此,“眼”张开的大小表示了失真的程度,反映了码间串扰的强弱。由此可知,眼图能直观地表明码间串扰和噪声的影响,可评价一个基带传输系统性能的优劣。另外也可以用此图形对接收滤波器的特性加以调整,以减小码间串扰和改善系统的传输性能。
从以上分析可知,眼图可以定性反映码间串扰的大小和噪声的大小,眼图还可以用来指示接受滤波器的调整,以减少码间串扰,改善系统性能。
使用了随机数,产生的基带信号也是随机的,经过加白噪声,产生的眼图也是不一样的。选取的采样频率也影响着最后的博兴和眼图。一开始的时候,提示加噪声的部分有问题,通过调试,发现工作空间设置的不准确,相加会出现错误,将工作空间加大,语法没错了,但是眼图出不来。后来经过仔细观察,发现做卷积的时候把一个元素弄错了,经过修改,最终成功运行。
2015年6月25日
基于MATLAB的第一类部分响应系统的
基带信号及其眼图实现
摘要
所谓眼图,是指通过用示波器观察接收端的基带信号波形,从而估计和调整系统性能的一种方法。这种方法具体做法是:用一个示波器跨接在抽样判决器的输入端,然后调整示波器水平扫描周期,使其与接受码元的周期同步。此时可以从示波器显示的图形上,观察码间干扰和信道噪声等因素影响的情况,从而估计系统性能的优劣程度。因为在传输二进制信号波形时,示波器显示的图像很像人的眼睛,故名“眼图”。
通信原理matlab实验1
实验一设计任务:用MatLib仿真一个BFSK通信系统,基本参数:1)fc=1000Hz;2)Rb=100bps;3)信息序列:“Hello world”的ASCII实验与报告基本要求:1)Matlab程序,要点旁注(可打印后手写);2)绘出信号波形,绘出信号PSD;3)给出解调后的信息序列;4)将信息重复3遍以上,FSK信号保存为WAV文件格式,使用音频播放,聆听;M文件:wave.mfunction[t,mt]=wave(m,dt,fs)l=length(m);mt=[];ddt=1/fs;n=floor(dt*fs);m_add=ones(1,n);for i=1:lif(m(i))mt=[mt,m(i),m_add];elsemt=[mt,m(i),m_add*0];endt=(1:((n+1)*l))*ddt;endmy_filter.mfunction[num,den]=my_filter(wp,ws,ap,as)if nargin<4as=15;endif nargin<4ap=3;end[n,wn]=buttord(wp,ws,ap,as);[num,den]=butter(n,wn);end代码:f0=800;%‘0’码载波频率f1=1200;%‘1’码载波频率fs=4000;%采样频率Rb=100;%比特率dt=1/Rb;%一个比特发送时间A0=2;%调制幅度A1=2;%相干解调幅度miu=0;sigma=0.3;%miu:高斯白噪声均值,sigma:高斯白噪声均方差str='Hello world';%信号字符串m_dec=abs(str);%将信号字符串转换成ASCII码(十进制) m_bin=dec2bin(m_dec,8);m_bin=abs(m_bin)-48;%将十进制转换成8比特二进制矩阵m=[];for i=1:size(m_bin,1)m=[m,m_bin(i,:)];end%将二进制转换成行向量[t,m]=wave(m,dt,fs);%对信号采样mt_f1=m.*cos(2*pi*f1*t)*A0;%频率f1调制mt_f0=(~m).*cos(2*pi*f0*t)*A0;%频率f0调制mt=mt_f1+mt_f0;%发送信号l=length(mt);subplot(2,1,1);plot(t,mt);grid on;xlabel('t/s');title('m(t)');%发送信号波形subplot(2,1,2);periodogram(mt,[],l,fs);grid on;%发送信号PSDnt=normrnd(miu,sigma,1,l);%噪声st=mt+nt;%接收信号wp0=[0.65,1.05]/2;ws0=[0.7,0.9]/2;[num0,den0]=my_filter(wp0,ws0);%产生650HZ<f<1050HZ带通滤波器st_f0=filter(num0,den0,st);%过滤噪声wp0=0.01;ws0=0.1;[num0,den0]=my_filter(wp0,ws0);%产生20HZ<f<200HZ低通滤波器st_f0=filter(num0,den0,st_f0.*cos(2*pi*f0*t)*A1);%相干解调并通过低通滤波器wp1=[1.05,1.35]/2;ws1=[1.1,1.3]/2;[num1,den1]=my_filter(wp1,ws1);%产生1050HZ<f<1350HZ 带通滤波器st_f1=filter(num1,den1,st);%过滤噪声st_f1=filter(num0,den0,st_f1.*cos(2*pi*f1*t)*A1);%相干解调并通过低通滤波器figure(2);subplot(2,1,1);plot(t,st_f0);grid on;xlabel('t/s');title('st_f0');%f0解调波形subplot(2,1,2);plot(t,st_f1);grid on;xlabel('t/s');title('st_f1');%f1解调波形m_r=(st_f1>st_f0);%判决输出figure(3);plot(t,m_r,'r');grid on;xlabel('t/s'),title('m_r');%m_r波形wavwrite(repmat(m_r,1,5),'hello.wav');波形:1.发送信号及其PSD:2.解调后f0,f1信号3.判决后波形:。
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)
实验教程目录实验一:连续时间信号与系统的时域分析-------------------------------------------------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通信原理实验
目录第一章 MALTAB基础知识 (1)1.1MATLAB基础知识 (1)1.2MATLAB基本运算 (2)1.3MATLAB程序设计 (7)第二章 MATLAB计算结果可视化和确知信号分析 (13)2.1计算结果可视化 (13)2.2确知信号分析 (17)第三章随机信号与数字基带仿真 (24)3.1基本原理和实现示例 (24)3.2蒙特卡罗算法 (31)第四章模拟调制MATLAB实现 (35)4.1模拟调制 (35)4.2AM调制解调的MATLAB实现 (36)第五章模拟信号的数字传输 (45)5.1脉冲编码调制 (45)5.2低通抽样定理 (45)5.3均匀量化原理 (46)5.4非均匀量化 (48)第六章数字频带传输系统 (52)6.1数字频带传输原理 (52)6.2信道加性高斯白噪声功率的讨论 (53)6.3仿真分析 (54)第七章通信系统仿真综合实验 (68)7.1基本原理 (68)7.2实验内容 (68)第一章 MALTAB基础知识本章目标●了解MATLAB 程序设计语言的基本特点,熟悉MATLAB软件运行环境●掌握创建、保存、打开m文件及函数的方法●掌握变量等有关概念,具备初步的将一般数学问题转化为对应的计算机模型并进行处理的能力1.1 MATLAB基础知识1.1.1 MATLAB程序设计语言简介MATLAB,Matrix Laboratory的缩写,是由MathWorks公司开发的一套用于科学工程计算的可视化高性能语言,具有强大的矩阵运算能力。
与大家常用的Fortran和C等高级语言相比,MATLAB的语法规则更简单,更贴近人的思维方方式,被称为“草稿纸式的语言”。
MATLAB软件主要由主包、仿真系统(simulink)和工具箱(toolbox)三大部分组成。
1.1.2 MATLAB界面及帮助MATLAB基本界面如图1-1所示,命令窗口包含标题栏、菜单栏、工具栏、命令行区、状态栏、垂直和水平波动条等区域。
通信原理实验教程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实验(第1部分)
t=0:1/t0:length(x);
%定义时间序列
i=1;
%直接对一段二进制数编码
if x(i)==1
%由于前面的值不定,所以单独给出头一个值,若第一个
信息为1
for j=1:t0/2
y((2*i-2)*t0/2+j)=0; %前半时间为0
y((2*i-1)*t0/2+j)=1; %后半时间为1
end
else
for j=1:t0
%如果输入信息为0
y((i-1)*t0+j)=0; %所有时间为0
end
end
for i=2:length(x) %从第二个信息起编码与前面的码元有
关系
if x(i)==1
%若输入的信息为1
for j=1:t0/2
y((2*i-2)*t0/2+j)=y((2*i-3)*t0/2+t0/4);
plot(t,y);
title('1 0 1 1 0 0 1 0');
grid on;
axis([0,i, -0.1,1.1]);
Miller码(延迟调制码)
编码规则:“1”码用码元持续时间中心点出现跃变来表示,即用“10”或 “01”表示,前半时间的电平与前一码元后半时间的电平相同。“0”码分两种情 况处理:对于单个“0”时,在码元持续时间内不出现电平跃变,且与相邻码元 的边界处也不跃变;对于连“0”时,在两个“0”码的边界处出现电平跃变,即 “00”与“11”交替。其波形表示如图1-8所示。
y((2*i-1)*t0/2+j)=1; %后半时间为1
end
else
for j=1:t0/2
%如果输入信息为0
通信原理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为工具,介绍通信原理系列实验的仿真步骤和结果。
二、实验一:调制与解调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实验一
Ts = 1/fs;
% 采样间隔
T = Ts*N;
% 观察时间
df = 1/T;
% 频率间隔
f = (-N/2:N/2-1)*df;
S = fftshift(fft(s)*Ts);
时域综合函数myf2t
function [t,s] = myf2t(S,fs)
% 输入变量 S:信号频谱
%
fs:采样频率
g
(t
)
=
⎧1, ⎨⎩0,
0 ≤ t < τ < Ts 其他
, an 取值为
0、1
且等概出现,其波形和功
率谱密度如下图所示:
单极性归零码的功率谱密度不仅含有离散的直流分量以及连续谱(功率谱主瓣宽度
为),而且还包含离散的时钟分量及其奇次谐波分量。由于其功率谱密度中含有离散
的时钟分量,所以在数字通信系统的接收端可以从单极性归零码序列中利用窄带滤
% 码元长度 % 每个码元的抽样点数 % 抽样时间间隔 % 码元数 % 抽样频率
t = 0:dt:(N*N_sample-1)*dt; T = Ts*N*N_sample;
gt1 = ones(1,N_sample); % NRZ非归零波形
gt2 = ones(1,N_sample/2); % RZ归零波形
subplot(323) plot(t,[st2(1:length(t))]);grid axis([0 20 -1.5 1.5]) ylabel('单极性RZ波形'); subplot(324) plot(f2,10*log10(abs(st2f).^2/T)) % axis([-4 4 0 40]) ylabel('单极性RZ功率谱密度(dB/Hz)');
通信原理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仿真实验报告
实验二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、 理论原理AM 调制就是由调制信号去控制高频载波的幅度,使之随调制信号作线性变化的过程。
在波形上,幅度已调信号的幅度随基带信号的规律而呈正比地变化;在频谱结构上,它的频谱完全是基带信号频谱在频域内的简单搬移(精确到常数因子)。
由于这种搬移是线性的,因此,幅度调制通常又称为线性调制。
解调方法利用相干解调。
解调就是实现频谱搬移,通过相乘器与载波相乘来实现。
相干解调时,接收端必须提供一个与接受的已调载波严格同步的本地载波,它与接受的已调信号相乘后,经低通滤波器取出低频分量,得到原始的基带调制信号。
通过信号的功率谱密度的公式,得到功率谱密度。
即:在AM 信号中,载波分量并不携带信息,信息完全由边带传送。
如果将载波抑制,只需在将直流0A 去掉,即可输出抑制载波双边带信号,简称双边带信号(DSB )。
DSB 调制器模型如图1所示。
图1 DSB 调制器模型其中,设正弦载波为0()cos()c c t A t ωϕ=+式中,A 为载波幅度;c ω为载波角频率;0ϕ为初始相位(假定0ϕ为0)。
调制过程是一个频谱搬移的过程,它是将低频信号的频谱搬移到载频位置。
而解调是将位于载频的信号频谱再搬回来,并且不失真地恢复出原始基带信号。
双边带解调通常采用相干解调的方式,它使用一个同步解调器,即由相乘器和低通滤波器组成。
在解调过程中,输入信号和噪声可以分别单独解调。
相干解调的原理框图如图2所示:)]()([21)]()([)(cos )]([)(00c c c c AM c AM F F A s t t f A t s ωωωωωωδωωδπωω-+++-++=+=图2 相干解调器的数学模型信号传输信道为高斯白噪声信道,其功率为2σ。
即)]()([21)(c c DSB F F s ωωωωω-++=三、 实验内容1、 用Matlab 产生一个频率为2Hz 、功率为10的余弦信源,设载波频率为10Hz ,试画出(1)DSB 调制信号;(2)该调制信号的功率谱密度;(3)相干解调后的信号波形。
现代通信原理 课程 实验报告
现代通信原理课程实验报告专业班级学号姓名指导教师实验名称 AM 调制与解调仿真 同组人 专业班级 学号 姓名 成绩 一、实验目的: 1.掌握AM 的调制原理和Matlab Simulink 仿真方法 2.掌握AM 的解调原理和Matlab Simulink 仿真方法 二、实验原理: 1.AM 调制原理 所谓调制原理,就是在传送信号的一方将所要传送的信号附加在高频振荡上,再由天线发射出去。
这里高频振荡波就是携带信号的运载工具,也叫载波。
振幅调制就是由调制信号去控制高频载波的振幅,直至随调制信号做线性变化。
在线性调制系列中,最先应用的一种幅度调制是全调幅或常规条幅,简称为调幅(AM )。
在频域中已调波频谱是基带调制信号频谱的线性位移,在时域中,已调波包络与调制信号波形呈线性关系。
m(t)为取值连续的调制信号,c(t)为正弦载波。
下图为AM 调制原理图: 2.AM 调制原理 从高频已调信号中恢复出调制信号的过程称为调解(demodulation),又称为检波(detection )。
对于振幅调制信号,解调(demodulation)就是从它的幅度变化上提取调制信号的过程。
解调(demodulation)是调制的逆过程。
可利用乘积型同步检波器实现振幅的调解,让已调信号与本地恢复载波信号相乘并通过低通滤波可获得解调信号。
下图为AM 解调原理图 ……………………………………装………………………………………订…………………………………………线………………………………………三、实验内容与步骤:AM调制和解调Simulink仿真框图中英文注释:Sine wave=正弦发生器,Produke=乘法器,Scope=示波器,Constant=常用或直流分量,加法器可用Math Operations 中的Sum替代,Analog Filter Design=模拟滤波器设计。
图1中的Sine Wave1和Sine Wave2模块分别产生发送端和接收端的载波信号,角频率ωc都设为60rad/s,调幅系数为1;调制信号m(t)由Sine Wave模块产生,其为正弦信号,角频率为5rad/s,幅度为1V;直流分量A0由Constant模块产生,为2V;低通滤波器模块的截止角频率设为6rad/s。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
n
n
式中,g(t)为发送滤波器冲激响应。不同的基本码型,主要是g(t)不同。
(1)
单极性非归零码:
g
(t
)
=
⎧1, ⎨⎩0,
0 ≤ t < Ts 其他
, an 取值为
0、1
且等概出现,其波形和功
率谱密度如下图所示:
单极性非归零码的功率谱中含有离散的直流分量及连续谱,功率谱密度主瓣宽度为
。
(2)
单极性归零码:
Ps
(
f
)
=
fs p (1−
p)
G1 (
f
) − G2 (
f
)2
+
∞
∑
fs ⎡⎣ pG1 (mfs ) + (1− p)G2 (mfs )⎤⎦ 2 δ ( f − mfs )
m = −∞
(1)
问题: 公式(1)中的G1(f)、G2(f)分别表示什么?若用g1(t)、g2(t)分别表示G1(f)、G2(f)的傅里叶 逆变换,分别给出四种基本码型对应的g1(t)、g2(t)的表达式和对应的G1(f)、G2(f)公式。
% 输出变量 t: 离散时间
%
s: 时域信号
N = length(S); dt = 1/fs; t = (0:N-1)*dt; s = ifft(fftshift(S))*fs; end
% 总样点数 % 采样间隔
四、样例程序与仿真内容
样例程序:
clear all; close all; Ts = 1; N_sample = 8; dt = Ts/N_sample; N = 1000; fs = 1/dt;
g
(t
)
=
⎧1, ⎨⎩0,
0 ≤ t < τ < Ts 其他
, an 取值为
0、1
且等概出现,其波形和功
率谱密度如下图所示:
单极性归零码的功率谱密度不仅含有离散的直流分量以及连续谱(功率谱主瓣宽度
为),而且还包含离散的时钟分量及其奇次谐波分量。由于其功率谱密度中含有离散
的时钟分量,所以在数字通信系统的接收端可以从单极性归零码序列中利用窄带滤
subplot(223) plot(t,[st2(1:length(t))]);grid axis([0 20 -1.5 1.5]) ylabel('单极性RZ波形'); subplot(224) plot(f2,10*log10(abs(st2f))) % axis([-4 4 0 40]) ylabel('单极性RZ功率谱密度(dB/Hz)'); %%**************************************************
数字基带信号仿真中用到的主要函数及功能说明如下:
(1) 已知序列x[n],求x[n]的自相关函数Rx[n]和功率谱密度Sx[m]
Rx = conv(x,fliplr(r));
Sx = myt2f(Rx);
(2) 产生M个取值于{0,1}的独立等概二进制序列a:
a = round(rand(1,M));
波法提取离散的时钟分量。
(3)
双极性非归零码:
g
(t
)
=
⎧1, ⎨⎩0,
0 ≤ t < Ts 其他
, an 取值为±1
且等概出现,其波形和功率谱
密度如下图所示:
双极性不归零码序列的功率谱密度无离散的直流分量,仅有连续谱,功率谱密度主 瓣宽度为 Rb。
(4)
双极性归零码:
g
(
t
)
=
⎧1, ⎨⎩0,
0
≤
%******************************************* %%方法二求PSD。 [f1,st1f] = myt2f(st1,fs); [f2,st2f] = myt2f(st2,fs); figure subplot(321) plot(t,[st1(1:length(t))]);grid axis([0 20 -1.5 1.5]) ylabel('单极性NRZ波形'); subplot(322) plot(f1,10*log10(abs(st1f).^2/T)) % axis([-4 4 0 40]) ylabel('单极性NRZ功率谱密度(dB/Hz)');
t <τ < 其他
Ts
an ,
取值为±1
且等概出现,其波形和功率谱
密度如下图所示:
双极性归零码的功率谱密度函数仅含连续谱,功率谱主瓣宽度为 2Rb。
三、仿真预习与准备
功率谱仿真的三种方法:
方法一、利用维纳‐辛钦定理,求自相关函数的傅里叶变换 方法二、截短的随机信号可看做能量信号,先求信号的傅里叶变换,其平方幅度函数即 为功率谱密度; 方法三、利用随机信号功率谱密度的解析式: 对于二进制数字基带信号s(t),设an=“0”以概率 P出现,an=“1”以概率(1-P)出现, 则s(t)的双边功率谱密度为
Matlab 实验一 数字基带信号基本码型时频域分析
一、实验目的
通过仿真测量不同占空比的单、双极性归零码波形图及其功率谱密度。
二、仿真模型及通信系统原理
∑ anδ (t − nTs ) n
∑ an g (t − nTs ) n
g (t )
数字基带信号公式:
图 1 数字基带信号成形
s (t ) = ∑ anδ (t − nTs ) ∗ g (t ) = ∑ an g (t − nTs )
(3) 产生M个取值于{±1}的独立等概二进制序列a:
a = sign(randn(1,M))
(4) 频谱分析函数myt2f
func输入变量 s:时域信号
%
fs:采样频率
% 输出变量 f:频率样本
%
S:信号频谱
(5)
N = length(s);
% 总样点数
Ts = 1/fs;
% 采样间隔
T = Ts*N;
% 观察时间
df = 1/T;
% 频率间隔
f = (-N/2:N/2-1)*df;
S = fftshift(fft(s)*Ts);
时域综合函数myf2t
function [t,s] = myf2t(S,fs)
% 输入变量 S:信号频谱
%
fs:采样频率
%%*****************************************
仿真内容:
(1) 样例程序给出了两种方法求单极性非归零码和单极性归零码的功率谱密度(PSD)的 代码,观察时域波形和 PSD 图并保存,指出单极性归零码的占空比,减小和增大占 空比再进行仿真,观察时域波形和 PSD 图的变化,保存结果并对不同占空比时的实 验结果进行比较和分析说明。
gt2 = [gt2 zeros(1,N_sample/2)];
d = (sign(randn(1,N))+1)/2;
data = upsample(d,N_sample);
% 对序列间隔插入N_sample-1个0
%%***************************************** st1 = conv(data,gt1); st2 = conv(data,gt2); %d = 2*d-1; data = upsample(d,N_sample); %%*****************************************
% 码元长度 % 每个码元的抽样点数 % 抽样时间间隔 % 码元数 % 抽样频率
t = 0:dt:(N*N_sample-1)*dt; T = Ts*N*N_sample;
gt1 = ones(1,N_sample); % NRZ非归零波形
gt2 = ones(1,N_sample/2); % RZ归零波形
figure
subplot(221) plot(t,[st1(1:length(t))]);grid axis([0 20 -1.5 1.5]) ylabel('单极性NRZ波形'); subplot(222) plot(f1,10*log10(abs(st1f))) % axis([-4 4 0 40]) ylabel('单极性NRZ功率谱密度(dB/Hz)');
(2) 画出求双极性非归零码和双极性归零码时域波形和 PSD 图的流程图,用两种方法编 写程序,绘制时域波形和 PSD 图,取三种不同的占空比,比较不同占空比双极性归 零码的时域波形和 PSD 变化,对结果进行分析说明。
(3) 给出仿真预习与准备中问题的答案,编写用方法三求四种基本码型 PSD 的程序并绘 制 PSD 图,与方法一、二的结果进行比较。
subplot(323) plot(t,[st2(1:length(t))]);grid axis([0 20 -1.5 1.5]) ylabel('单极性RZ波形'); subplot(324) plot(f2,10*log10(abs(st2f).^2/T)) % axis([-4 4 0 40]) ylabel('单极性RZ功率谱密度(dB/Hz)');
%%********************************************** %%方法一求PSD。 au_st1 = conv(st1,fliplr(st1))./length(st1); au_st2 = conv(st2,fliplr(st2))./length(st2); [f1,st1f] = myt2f(au_st1,fs); [f2,st2f] = myt2f(au_st2,fs);