通信原理实验教程(MATLAB)

合集下载

通信原理matlab实验

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

通信原理matlab实验1

通信原理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程序(软件仿真)

通信原理实验Matlab程序(软件仿真)

num=0; % 计数器清零 yz(k)=1*yz(k-4); % 让0000的最后一个0改变为与前一个非零符号 相同极性的符号 V(k)=yz(k); % V 脉冲位置记录 if yz(k)==sign % 如果当前V符号与前一个V符号的极性相同 yz(k)=-1*yz(k); % 则让当前V符号极性反转,以满足V符号间相 互极性反转要求 yz(k-3)=yz(k); % 添加B符号,与V符号同极性 B(k-3)=yz(k); % B脉冲位置记录 V(k)=yz(k); % V 脉冲位置记录 yz(k+1:length(yw))=-1*yz(k+1:length(yw)); % 并让后面的非零符号从V符号开始再交替变化 end sign=yz(k); % 记录前一个V符号的极性 end else num=0; % 当前输入为“1”则连“0”计数器清零 end end % 编码完成 %re=[xn',yw',yz',V',B']; % 结果输出: xn AMI HDB3 V&B 符号 yn=yz;% 输出yn初始化 num=0;% 计数器初始化 for k=1:length(yz) if yz(k)==1 num=num+1; % "1" 计数器 if num/2 == fix(num/2) % 奇数个1时输出-1,进行极性交替 yn = [yn gt1]; else yn = [yn -1*gt1]; end else yn = [yn gt2]; end end yh=yn; fft_se1 = fftshift(fft(yh)); % 求序列的频谱 PE1 = 10 * log10(abs(fft_se1) .^ 2 / (N * Ts)); % 公式法求概率 谱密度 PEL1 = (-length(fft_se1) / 2 : length(fft_se1) / 2 - 1) / 10; % 求区间长度 subplot(2,1,1);stairs([0:length(yn)-1],yn);axis([0 length(yn) -2 2]);

matlab通信原理实验

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进行通信系统的建模和仿真,提高解决实际通信问题的能力。

具体来说,知识目标包括:1.掌握通信系统的基本概念和分类。

2.理解模拟通信和数字通信的基本原理。

3.熟悉MATLAB在通信系统中的应用。

技能目标包括:1.能够使用MATLAB进行通信系统的仿真和分析。

2.能够根据实际问题选择合适的通信方案和算法。

3.能够撰写规范的实验报告,对实验结果进行分析和讨论。

情感态度价值观目标包括:1.培养学生的团队合作意识和沟通能力。

2.培养学生的创新精神和批判性思维。

3.培养学生对通信技术的兴趣和热情,提高其对专业学习的积极性。

二、教学内容本课程的教学内容主要包括通信系统的基本概念、模拟通信和数字通信的原理,以及MATLAB在通信系统中的应用。

具体的教学大纲如下:1.通信系统的基本概念和分类:介绍通信系统的定义、分类和性能指标。

2.模拟通信原理:包括调幅、调频和调相的原理及其应用。

3.数字通信原理:包括数字调制、解调、编码和解码的原理及其应用。

4.MATLAB在通信系统中的应用:介绍MATLAB的基本使用方法,以及如何利用MATLAB进行通信系统的仿真和分析。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

1.讲授法:通过教师的讲解,使学生掌握通信原理的基本知识和MATLAB的基本使用方法。

2.讨论法:引导学生进行思考和讨论,提高学生的创新精神和批判性思维。

3.案例分析法:通过分析实际案例,使学生更好地理解通信原理和MATLAB在通信系统中的应用。

4.实验法:让学生亲自动手进行实验,培养学生的实践能力和团队合作意识。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:《通信原理》和《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,包括实验内容、实验步骤和实验效果。

一、实验内容通信原理实验教程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验证低通抽样定理二、实验目的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实验(第1部分)

通信原理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)

实验教程目录实验一:连续时间信号与系统的时域分析-------------------------------------------------6一、实验目的与要求---------------------------------------------------------------------------6二、实验原理-----------------------------------------------------------------------------------61、信号的时域表示方法------------------------------------------------------------------62、用MATLAB仿真连续时间信号和离散时间信号----------------------------------73、LTI系统的时域描述-----------------------------------------------------------------11三、实验步骤与内容--------------------------------------------------------------------------15四、实验报告要求-----------------------------------------------------------------------------26实验二:连续时间信号的频域分析一、实验目的与要求--------------------------------------------------------------------------27二、实验原理----------------------------------------------------------------------------------271、连续时间周期信号的傅里叶级数CTFS---------------------------------------------272、连续时间信号的傅里叶变换CTFT--------------------------------------------------283、离散时间信号的傅里叶变换DTFT -------------------------------------------------284、连续时间周期信号的傅里叶级数CTFS的MATLAB实现------------------------295、用MATLAB实现CTFT与其逆变换的计算---------------------------------------33三、实验步骤与内容----------------------------------------------------------------------3 4四、实验报告要求-------------------------------------------------------------------------48实验三:连续时间LTI系统的频域分析---------------------------------------------------49一、实验目的与要求--------------------------------------------------------------------------49二、实验原理----------------------------------------------------------------------------------491、连续时间LTI系统的频率响应2、LTI系统的群延时---------------------------------------------------------------------503、用MATLAB计算系统的频率响应--------------------------------------------------50三、实验步骤与内容----------------------------------------------------------------------5 1四、实验报告要求-------------------------------------------------------------------------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、熟悉和掌握常用的用于信号与系统时域仿真分析的MATLAB函数;2、掌握连续时间和离散时间信号的MATLAB产生,掌握用周期延拓的方法将一个非周期信号进展周期信号延拓形成一个周期信号的MATLAB编程;3、结实掌握系统的单位冲激响应的概念,掌握LTI系统的卷积表达式与其物理意义,掌握卷积的计算方法、卷积的根本性质;4、掌握利用MATLAB计算卷积的编程方法,并利用所编写的MATLAB程序验证卷积的常用根本性质;掌握MATLAB描述LTI系统的常用方法与有关函数,并学会利用MATLAB求解LTI系统响应,绘制相应曲线。

通信原理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原意为“矩阵实验室—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实验(第2部分)

通信原理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实验一

现代通信原理_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仿真实验设计

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

通信原理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)相干解调后的信号波形。

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

用MatLab仿真通信原理系列实验
实验二:扰码与解扰……………………………………………..……13
实验三:低通信号的抽样定理…………………………….………….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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验教程目录实验一:连续时间信号与系统的时域分析-------------------------------------------------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描述连续时间信号和离散时间信号的方法,能够编写MA TLAB 程序,实现各种信号的时域变换和运算,并且以图形的方式再现各种信号的波形。

掌握线性时不变连续系统的时域数学模型用MATLAB描述的方法,掌握卷积运算、线性常系数微分方程的求解编程。

二、实验原理信号(Signal)一般都是随某一个或某几个独立变量的变化而变化的,例如,温度、压力、声音,还有股票市场的日收盘指数等,这些信号都是随时间的变化而变化的,还有一些信号,例如在研究地球结构时,地下某处的密度就是随着海拔高度的变化而变化的。

一幅图片中的每一个象素点的位置取决于两个坐标轴,即横轴和纵轴,因此,图像信号具有两个或两个以上的独立变量。

在《信号与系统》课程中,我们只关注这种只有一个独立变量(Independent variable)的信号,并且把这个独立变量统称为时间变量(Time variable),不管这个独立变量是否是时间变量。

相关文档
最新文档