《湘潭大学通信原理实验第一次(共20页).doc》由会员分享,可在线阅读,更多相关《湘潭大学通信原理实验第一次(共20页).doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上湘潭大学通信原理实验报告书课程名称: 通信原理 题目: 数字基带传输系统的MATLAB仿真模拟信号幅度调制仿真实验学生姓名: 唐绪泉 学号: 班级: 2010级通信工程班 指导教师: 王仕果 2012年12 月实验一 数字基带传输系统的MATLAB仿真一 、实验目的:1、熟悉和掌握常用的用于通信原理时域仿真分析的MATLAB函数; 2、掌握连续时间和离散时间信号的MATLAB产生; 3、牢固掌握冲激函数和阶跃函数等函数的概念,掌握卷积表达式及其物理意义,掌握卷积的计算方法、卷积的基本性质; 4、掌握利用MATLAB计算卷积的编程方法,并利用所编写的MATLAB程序验证
2、卷积的常用基本性质; 5、掌握MATLAB描述通信系统中不同波形的常用方法及有关函数,并学会利用MATLAB求解系统功率谱,绘制相应曲线。 二 、实验内容 1、编写MATLAB程序产生离散随机信号 2、编写MATLAB程序生成连续时间信号 3、编写MATLAB程序实现常见特殊信号三 、实验原理:从通信的角度来看,通信的过程就是消息的交换和传递的过程。而从数学的角度来看,信息从一地传送到另一地的整个过程或者各个环节不外乎是一些码或信号的交换过程。例如信源压缩编码、纠错编码、AMI编码、扰码等属于码层次上的变换,而基带成形、滤波、调制等则是信号层次上的处理。码的变换是易于用软件来仿真的。要仿真信号
3、的变换,必须解决信号与信号系统在软件中表示的问题。3.1 信号及系统在计算机中的表示 3.1.1 时域取样及频域取样 一般来说,任意信号s(t)是定义在时间区间(-,+)上的连续函数,但所有计算机的CPU都只能按指令周期离散运行,同时计算机也不能处理(-,+)这样一个时间段。为此将把s(t)按区间,22TT截短为sT(t),再对sT(t)按时间间隔t均匀取样,得到取样点数为: TNtt= (3-1) 仿真时用这个样值集合来表示信号s(t)。显然t反映了仿真系统对信号波形的分辨率,t越小,则仿真的精确度越高。据通信原理所学,信号被取样以后,对应的频谱时频率的周期函数,其重复周期是1t。如果信号的
4、最高频率为fH,那么必须有fH12t,才能保证不发生频域混叠失真。3.1.2 频域分析为了方便仿真,我们利用 MATLAB 提供的函数编写了两个函数 t2f 和 f2t。t2f 的功能是做傅立叶变换,f2t 的功能是做傅立叶反变换,它们的引用格式分别为 X=t2f(x)及 x=f2t(X),其中 x 是时域信号 x(t)j截短并采样所得的取样值矢量, X是对x(t)的傅立叶变换X(f)截短并采样所得的取样值矢量。任意信号 s(t)的功率谱的定义是3.2 与随机信号产生相关的指令3.2.1 高斯噪声的产生由于函数randn(1,N)产生N个互不相关的、均值为零、方差为 1 的高斯随机数,所以可用
5、它来产生高斯白噪声。3.2.2 随机码序列的产生 语句 round(rand(1,M)产生 M 个取值 1、0 等概的随机码。函数 round 表示四舍五入。函数 rand 产生均匀分布于区间0,1的随机数。 语句 sign(rand(1,M)产生M 个取值1 等概的随机码。函数 sign(x)对矢量 x的元素取正负号,而高斯数 randn 取正负数的概率是相等的。3.2.3 产生数字随机信号的一般方法3.3 信号的仿真 3.3.1 连续时间信号的仿真在通信原理课程中,单位阶跃信号u(t) 和单位冲激信号(t) 是二个非常有用的信号。它们的定义如下:这里分别给出相应的简单的产生单位冲激信号和单
6、位阶跃信号的扩展函数。 四、实验步骤 (1)分析程序 program1_1 每条指令的作用,运行该程序,将结果保存,贴在下面的空白处。然后修改程序,将 dt 改为 0.2,并执行修改后的程序,保存图形,看看所得图形的效果怎样。程序如下:clear, close all; /清除,关闭所有窗口dt=0.01; /取点间隔为0.01t=-2:dt:2; /取点范围为-22x= sin(2*pi*t);plot(t,x) /画出X的波形图title(唐绪泉罗力瑞)xlabel(Time t(sec)dt=0.01 时的信号波形 -2-1.5-1-0.500.511.52-1-0.8-0.6-0.4-
7、0.200.20.40.60.81唐绪泉罗力瑞Time t (sec)dt=0.2 时的信号波形-2-1.5-1-0.500.511.52-1-0.8-0.6-0.4-0.200.20.40.60.81唐绪泉罗力瑞Time t (sec)请问:上述的两幅图形有什么区别,哪一副图形看起来更接近于实际信号波形?为什么会有这种区别? 答: 第一幅图看起来比较圆滑,与实际图形更加接近。(2)修改program1_1,,存盘程序名为Q1_2,生成实指数信号x(t)=。要求在图形中加上网格线,并使用函数axis()控制图形的时间范围在02秒之间。然后执行该程序,保存所的图形。 修改Program1_1后得
8、到的程序Q1_2如下: %program1_1% This program is used to generate a sinusoidal signal and draw its plot clear, % Clear all variables close all, % Close all figure windows dt = 0.01; % Specify the step of time variable t = 0:dt:2;% Specify the interval of time x = exp(-2*t); % Generate the signal plot(t,x) %
9、 Open a figure window and draw the plot of x(t) title(唐绪泉罗力瑞) xlabel(Time t (sec)grid on; 图形结果如下:00.20.40.60.811.21.41.61.8200.10.20.30.40.50.60.70.80.91唐绪泉罗力瑞Time t (sec)(3)将前文中所给的单位冲激信号和单位阶跃信号的函数文件在 MATLAB 文件编辑器中编写好,并分别以文件名 delta和u 存入 work文件夹中以便于使用。 抄写函数文件 delta 如下: 抄写函数文件u 如下:% delta function % U
10、nit step functionfunction y = delta(t) function y = u(t)dt = 0.01; y = (t=0); % y = 1 for t 0, else y = 0y = (u(t)-u(t-dt)/dt; (4) 修改程序Program1_4,并以Q1_4为文件名存盘,利用axis()函数,将图形窗口的横坐标范围改为-2n5,纵坐标范围改为-1.5 x 1.5。 修改Program1_4后得到的程序Q1_4如下: % Program1_4 % This program is used to generate a discrete-time sin
11、usoidal signal % and draw its plot clear, % Clear all variables close all, % Close all figure windows n = -5:5; % Specify the interval of time x = zeros(1,4), 0.1, 1.1, -1.2, 0, 1.3, zeros(1,2); % Generate the sequence title(唐绪泉罗力瑞)stem(n,x,filled,r) % Open a figure window and draw the plot of xn gr
12、id on,信号波形图如下: -5-4-3-2-1012345-1.5-1-0.500.511.5唐绪泉罗力瑞 修改过后的图形如下:-2-1012345-1.5-1-0.500.511.5唐绪泉罗力瑞(5)根据示例程序的编写方法,编写一个MATLAB程序,以Q1_5文件名存盘,给给定信号 x(t) = u(t) ,求信号y(t)=x(1.5t+3),并绘制出x(t)和y(t)的图形。 编写的程序 Q1_5 如下: % Program1_5% This program is used to implement the time-shift operation% on a continuous-t
13、ime signal and to obtain its time-shifted versions% and to draw their plots.clear,close all,t = -5:0.01:5;x =exp(-0.5*t).*u(t); % Generate the original signal x(t)x1 =exp(-0.75*t+3).*u(1.5*t+3); % Shift x(t) to the left by 2 second to get x1(t)subplot(311)plot(t,x) % Plot x(t)grid on,title (唐绪泉罗力瑞)s
14、ubplot (312)plot (t,x1) % Plot x1(t)grid on,title (唐绪泉罗力瑞)-5-4-3-2-101234500.51唐绪泉罗力瑞-5-4-3-2-1012345050100唐绪泉罗力瑞实验二 模拟信号幅度调制仿真实验一、实验目的 1. 加深对模拟线性调制的原理与实现方法的理解; 2. 掌握 AM、DSB、SSB 功率谱密度函数的特点,并进行对比; 3. 掌握 MATLAB基本指令的使用; 4. 掌握 MATLAB中 M 文件的调试以及子函数调用的方法。 二、实验内容 1. 复习 AM、DSB 和SSB 调制的相关原理2. 编写 MATLAB 程序实现
15、AM 调制; 3. 编写 MATLAB 程序实现 DSB调制; 4. 编写 MATLAB 程序实现 SSB 调制。三、实验原理调制是一个将信号变换成适于在信道传输的过程。由于信源的特性与信道的特性可能不匹配,直接传输可能严重影响传输质量。模拟调制针对的信源为模拟信号,常用的模拟调制有调幅、调相、调频。本次实验进行的是模拟信号的幅度调制。 幅度调制是由调制信号去控制高频载波的幅度,使之随调制信号做线性变化的过程。由于已调信号的幅度随基带信号的规律呈正比地变化,这一特点反映在频谱结构上,表现为已调信号的频谱完全是基带信号频谱在频域内的简单搬移。所以,幅度调制通常又称为线性调制。幅度调制包括AM、D
16、SB和SSB调制。 调幅(AM)是标准调幅,也就是常规双边带调制。假设调制信号m(t)的平均值为0,将其外加一个直流偏量A0后与载波相乘,即可形成调幅信号。其时域表达式为: 抑制载波的双边带调制(DSB)是一种高调制效率的调制方式,其时域表达式为: 3.1 AM调制 假定基带信号为一个频率为1Hz、功率为1的余弦信源m(t),载波是频率为10Hz,幅值A=2的余弦信号,在用信源对载波进行常规调幅的过程中,我们应该做以下工作: % 信源 close all; clear all; dt=0.001;fm=1;fc=10; T=5; t=0:dt:T; mt=sqrt(2)*cos(2*pi*fm
17、*t); 2. 产生给定的载波信号 如何产生题目要求的频率为10Hz,幅值A=2的余弦信号,基于与基带信号产生同样的思路,这个问题很容易解决。相关的定义请参照1自行定义。 3. 依据调制原理进行AM调制。 根据通信原理相关章节的学习,我们知道AM调制后的已调信号可表示为: SAM(t)=A0+m(t)cosct 4. 求已调信号的功率谱密度 根据确知信号功率谱求解的方法,我们知道确知信号m(t)的功率谱密度可由如下的公式求解: 也就是说,先求出信号的傅立叶变换,再求出傅立叶变换函数的模的平方,即可得信号的功率谱密度。 3.2 DSB调制 假定基带信号仍然是一个频率为1Hz、功率为1的余弦信源m
18、(t),载波是频率为10Hz,幅值A=2的余弦信号,用该基带信号对载波进行DSB调制的过程可概括为以下几步: 1. 产生给定的基带信号 2. 产生给定的载波信号 题目要求的频率为10Hz,幅值A=2的余弦信号的产生方法参见1。 3. 依据调制原理进行DSB调制。 根据通信原理相关章节的学习,我们知道DSB调制后的已调信号可表示为: 也就是将步骤1产生的基带信号与步骤2定义的余弦信号直接相乘。 4. 求已调信号的功率谱密度 根据确知信号功率谱求解的方法,我们知道确知信号m(t)的功率谱可由如下的公式求解:也就是说,先求出信号的傅立叶变换,再求出傅立叶变换函数的模的平方,即可得信号的功率谱密度。
19、3.3 SSB调制 假定基带信号仍然是一个频率为1Hz、功率为1的余弦信源m(t),载波是频率为10Hz,幅值A=2的余弦信号,用该基带信号对载波进行SSB调制的过程可概括为以下几步: 1. 产生给定的基带信号 2. 产生给定的载波信号 题目要求的频率为10Hz,幅值A=2的余弦信号的产生方法参见1。 3. 用相移法产生SSB信号 用相移法产生SSB信号,可用以下的表达式表示: 也就是说将基带信号m(t)本身乘以余弦信号本身,对基带信号进行希尔伯特变换后与正弦信号相乘,最后将两个乘积相加即可。在MATLAB程序设计时,先设计出希尔伯特变换函数,再按以上步骤实施,就得到了SSB调制的程序。当然若
20、是不熟悉希尔伯特函数hilbert的使用,可直接将基带信号相移2,得到正弦信号,直接带入计算也是可以实现的。相关的程序如上被注释的程序所示: %s_ssb=mt.*cos(2*pi*fc*t)/2+sqrt(2)*sin(2*pi*fm*t).*sin(2*pi*fc*t)/2; 4. 用滤波法进行SSB调制。 将生成的DSB信号送入理想低通滤波器或者理想带通滤波器,就可得到相应的下边带和上边带SSB信号。 设计理想低通或者理想带通滤波器生成的MATLAB程序,并利用3.2中得到的DSB调制信号,将滤波器的传输函数h(t)与SAM(t)卷积,就得到了用滤波法生成的SSB信号。 5. 求已调信号
21、的功率谱密度 根据确知信号功率谱求解的方法,我们知道确知信号m(t)的功率谱可由如下的公式求解: 也就是说,先求出信号的傅立叶变换,再求出傅立叶变换函数的模的平方,即可得信号的功率谱密度。 四、实验步骤 (1)按照 3.1 所提供的 AM 调制的思路,运行提供的范例程序,存档为 Q2_1,并将所得的结果存盘,贴在下面空格处。 close all;clear all;dt=0.001;fm=1;fc=10;T=5; t=0:dt:T;mt=sqrt(2)*cos(2*pi*fm*t);A=2;s_am=(A+mt).*cos(2*pi*fc*t);B=2*fm;figure(1)subplot(
22、211);plot(t,s_am);hold on;plot(t,A+mt,r-);title(AM调制信号及其包络唐绪泉罗力瑞);xlabel(t);原图形如下:A=2时波形图如下:00.511.522.533.544.55-4-2024AM调制信号及其包络唐绪泉罗力瑞t(2)程序 1 中定义加入的直流分量为A0=2,请在A0的值分别改为 1 和 10,看得到的调制波形会有什么变化? A0=1 的调制波形 00.511.522.533.544.55-4-2024AM调制信号及其包络唐绪泉罗力瑞tA0=10 时的调制波形 00.511.522.533.544.55-20-1001020AM调制
23、信号及其包络唐绪泉罗力瑞t请问,调制波形为什么会有这种变化,这种变化会造成什么影响?答:因为AM信号调制的是幅度,当幅度较低时,是可以正常的。但一旦超过了最高范围时,就会发生失真。信号越强,那么位于信号中最高的输出时间就越长,这种情况就叫信号的阻塞。(3)按照 3.2 所提供的DSB 调制的思路,运行提供的范例程序,存档为 Q2_2,并将所得的结果存盘,贴在下面空格处。 范例程序如下:close all;clear all;dt=0.001;fm=1;fc=10;T=5;t=0:dt:T;mt=sqrt(2)*cos(2*pi*fm*t);s_dsb=mt.*cos(2*pi*fc*t);B=
24、2*fm;figure(1);subplot(211);plot(t,s_dsb);hold on;plot(t,mt,r-);title(DSB调制信号唐绪泉罗力瑞);xlabel(t);DSB调制波形图如下:00.511.522.533.544.55-2-1012DSB调制信号唐绪泉罗力瑞t(4) 按照3.3所提供的相移法进行SSB调制的思路,运行提供的范例程序, 存档为Q2_3,并将所得的结果存盘,贴在下面空格处。范例程序如下: close all;clear all;dt=0.001;fm=1;fc=10;T=5;t=0:dt:T;mt=sqrt(2).*cos(2*pi*fm*t);
25、%SSB modulation A=2;s_ssb=real(hilbert(mt).*exp(j*2*pi*fc*t);%s_ssb=mt.*cos(2*pi*fc*t)/2+sqrt(2)*sin(2*pi*fm*t).*sin(2*pi*fc*t)/2;B=fm;figure(1);plot(t,s_ssb);hold on ;plot(t,mt,r-);title(SSB调制信号及其包络唐绪泉罗力瑞);xlabel(t); axis(0 2 -1.5 1.5);SSB调制信号波形如下:00.20.40.60.811.21.41.61.82-1.5-1-0.500.511.5唐绪泉罗力瑞
26、t(5)按照 3.3 所提供的滤波法进行 SSB 调制的思路,编写用滤波法实现 SSB 调制的程序,存档为 Q2_4,并将所得的结果存盘,贴在下面空格处。 (提示:使用 LPF 函数实现滤波) LPF函数为:function t st=lpf(f,sf,B)%用低通滤波器实现滤波%输入: f: 频率% sf: 光谱样本输入数据% B: 低通滤波器的带宽%输出: t: 时间参数% st: 样本输出数据的时间df = f(2)-f(1);T = 1/df;hf = zeros(1,length(f);bf = -floor( B/df ): floor( B/df ) + floor( lengt
27、h(f)/2 );hf(bf)=1;yf=hf.*sf;t,st=F2T(f,yf); /傅里叶逆变换函数st = real(st); /取st的实部此程序中调用的F2T函数程序如下:function t,st=F2T(f,sf) % This function calculate the time signal using ifft function for the input % signals spectrum df=f(2)-f(1); Fmx=(f(end)-f(1)+df); dt=1/Fmx; N=length(sf); T=dt*N; %t=-T/2:dt:T/2-dt; t=
28、0:dt:T-dt; sff=fftshift(sf); st=Fmx*ifft(sff);主程序:close all;clear all; dt=0.001; fm=1;fc=10;T=5;t=0:dt:T;mt=sqrt(2)*cos(2*pi*fm*t);s_dsb=mt.*cos(2*pi*fc*t); /产生DSB信号B=2*fm;figure(1);subplot(311);plot(t,s_dsb); /显示DSB信号波形在最上面的子图hold on; /保持波形plot(t,mt,r-);title(DSB调制信号唐绪泉罗力瑞);xlabel(t);f_dsb=fft(s_ds
29、b); /DSB信号进行傅里叶变换,由时域转变到频域temp=f_dsb;temp(50:4953)=0; /将DSB频域信号低频区滤除s_ssb=ifft(temp); /滤波后进行傅里叶逆变换,得到上边带信号subplot(312);plot(t,s_ssb);hold on;plot(t,mt,r-);title(SSB上边带唐绪泉罗力瑞);xlabel(t);temp=f_dsb;temp(1:49)=0;temp(4953:end)=0; /滤除高频区和低频区,得到带通的DSB频域信号s_ssb=ifft(temp); /傅里叶逆变换得到SSB下边带信号subplot(313);pl
30、ot(t,s_ssb);hold on;plot(t,mt,r-);title(SSB下边带唐绪泉罗力瑞);xlabel(t); 实验结果:00.511.522.533.544.55-202DSB调制信号唐绪泉罗力瑞t00.511.522.533.544.55-202SSB上边带唐绪泉罗力瑞t00.511.522.533.544.55-202SS下边带唐绪泉罗力瑞t(6)按照实验原理中介绍的功率谱的计算公式,在同一图形的四个子图中,分别画出基带信号、AM 调制信号、DSB 调制信号和 SSB 调制信号的功率谱,要求写出响应的程序,画出图形,并在图中标出相应的标题和坐标轴。 程序为: close
31、 all; clear all;dt=0.001;fm=1;fc=10;T=5;t=0:dt:T;mt=sqrt(2)*cos(2*pi*fm*t);A=2;s_am=(A+mt).*cos(2*pi*fc*t); /AM调制信号s_dsb=mt.*cos(2*pi*fc*t); /DSB调制信号s_ssb=real(hilbert(mt).*exp(j*2*pi*fc*t); /SSB调制信号subplot(221)f,sf=T2F(t,mt); /基带信号傅里叶变换psf=(abs(sf).2)/T; /计算基带信号频域幅值plot(f,sf);axis(-2*fc 2*fc 0 max(
32、psf);title(基带信号功率谱唐绪泉罗力瑞);xlabel(f);subplot(222)f,sf=T2F(t,s_am);psf=(abs(sf).2)/T; /AM信号功率谱密度函数表达式plot(f,psf,r-);hold on;axis(-2*fc 2*fc 0 max(psf);title(AM信号功率谱唐绪泉罗力瑞);xlabel(f);subplot(223)f,sf=T2F(t,s_dsb);psf=(abs(sf).2)/T; /DSB信号傅里叶变换求功率谱密度函数plot(f,sf);axis(-2*fc 2*fc 0 max(psf);title(DSB信号功率谱
33、唐绪泉罗力瑞);xlabel(f);subplot(224)f,sf=T2F(t,s_ssb);psf=(abs(sf).2)/T; /SSB信号傅里叶变换求功率谱密度函数plot(f,psf);axis(-2*fc 2*fc 0 max(psf);title(SSB信号功率谱唐绪泉罗力瑞);xlabel(f);图形如下:-20-1001020012基带信号功率谱唐绪泉罗力瑞f-20-1001020024AM信号功率谱唐绪泉罗力瑞f-20-100102000.20.40.6DSB信号功率谱唐绪泉罗力瑞f-20-100102000.511.52SSB信号功率谱唐绪泉罗力瑞f请分析四个子图中,基带信号、AM调制信号、DSB 调制信号和 SSB 调制信号的功率谱性质,对比其频域特性的区别,并分析为什么会有这些区别。 答: 时域:调制信号波形与AM的包络检波相同,而与DSB,SSB不同。频域:AM信号包含有载波,上下边带。DSB仅有上下边带而无载波。上边带或下边带的宽度与调制信号带宽相同。五、实验总结通过本次实验我掌握了用MATLAB描述连续时间信号和离散时间信号的方法,能够编写MATLAB程序,实现各种信号的时域变换和运算,并且以图形的方式再现各种信号的波形。掌握了线性时不变连续系统的时域数学模型用MATLAB描述的方法,掌握卷积运算、线性常系数微分方程的求解编程。 专心-专注-专业