数字基带传输系统的MATLAB仿真_第1页
数字基带传输系统的MATLAB仿真_第2页
数字基带传输系统的MATLAB仿真_第3页
数字基带传输系统的MATLAB仿真_第4页
数字基带传输系统的MATLAB仿真_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湘潭大学通信原理

实睑报告书

课程名称:通信原理

实睑一:数字基带传输系统的MATLAB仿真

实验二:模拟信号幅度调制仿真实验

学生姓名:

学号:

班级:

指导教师:王仕果

2012年12月

实验一数字基带传输系统的MATLAB仿真

一、实验目的:

1、熟悉和掌握常用的用于通信原理时域仿真分析的MATLAB函数;

2、掌握连续时间和离散时间信号的MATLAB产生;

3、牢固掌握冲激函数和阶跃函数等函数的概念,掌握卷积表达式及其物理意义,掌握卷积

的计算方法、卷积的根本性质;

4、掌握利用MATLAB计算卷积的编程方法,并利用所编写的MATLAB程序验证卷积的

常用根本性质;

5、掌握MATLAB描述通信系统中不同波形的常用方法及有关函数,并学会利用MATLAB

求解系统功率谱,绘制相应曲线。

二、实验内容

1、编写MATLAB程序产生离散随机信号

2、编写MATLAB程序生成连续时间信号

3、编写MATLAB程序实现常见特殊信号

三、实验原理:

从通信的角度来看,通信的过程就是消息的交换和传递的过程。而从数学的角度来看,信息从

一地传送到另一地的整个过程或者各个环节不外乎是一些玛或信号的交换过程。例如信源压缩编

码、纠错编码、AMI编码、扰码等属于码层次上的变换,而基带成形、滤波、调制等那么是信号层

次上的处理。码的变换是易于用软件来仿真的。要仿真信号的变换,必须解决信号与信号系统在软

件中表示的问题。

3.1信号及系统在计算机中的表示

时域取样及频域取样

一般来说,任意信号S(l)是定义在时间区间+8)上的连续函数,但所有计算机的CPU都只

能按指令周期离散运行,同时计算机也不能处理(-8,+8J这样一个时间段。为此将把s(t)按区

间,22〃n」ILI截短为ST(l),再对ST⑴按时间间隔At均匀取样,得到取样点数为:

TNeb(3-1)

仿真时用这个样值集合来表示信号s(t)。显然At反映了仿真系统对信号波形的分辨率,At越小,

那么仿真的精确度越高。据通信原理所学,信号被取样以后,对应的频谱时频率的周期函数,其重

复周期是1M。如果信号的最高频率为fn,那么必须有6忘12〃,才能保证不发生频域混叠失真。

领域分析

为了方便仿真,我们

利用MATLAB提供的函数编写了两个函数t2f和f2t。t2f的功能是做傅立叶变换,f2t

的功能是做傅立叶反变换,它们的引用格式分别为X=t2f(x)及x=f2t(X),其中x是时域

信号x(t)j截短并采样所得的取样值矢量,X是对x(t)的傅立叶变换X(f)截短并采样所

得的取样值矢量。

任意信号s(l)的功率谱的定义是

3.2与随机信号产生相关的指令

高斯噪声的产生

由于函数randn(l,N)产生N个互不相关的、均值为零、方差为1的高斯随机数,所以可用它来产生高

斯白噪声。

3.2.2随机码序列的产生

语句round(「and(l,M))产生M个取值1、0等概的随机码。函数round表示四舍五入。

函数rand产生均匀分布于区间[0,1]的随机数。

语句sign(rand(l,M))产生M个耳又值±1等概的随机码。函数sign(x)对矢量x的元索取正

负号,而高斯数randn取正负数的概率是相等的。

产生数字随机信号的一般方法

3.3信号的仿真

连续时间信号的仿真

在《通信原理》课程中,单位阶跃信号Mt)和单位冲激信号B⑴是二个非常有用的信号。

它们的定义如下:

JS(M=i

X

6>(/)=0,f工0

r>0

〃⑺=

0.r<0

这里分别给出相应的简单的产生单位冲激信号和单位阶跃信号的扩展函数。

四、实验步骤

⑴分析程序program1_1每条指令的作用,运行该程序,将结果保存,贴在下面的空白处。

然后修改程序,将dt改为0.2,并执行修改后的程序,保存图形,看看所得图形的效果怎

样。

程序如下:

%program1_1

%Thisprogramisusedtogenerateasinusoidalsignalanddrawitsplot

clear,%Cleartillvariables

closeall,%Closeallfigurewindows

dl=0.2;%Specifythestepoftimevariable

t=-2:dt:2;%Specifytheintervaloftime

x=sin(2*pi*t);%Generate(hesignal

plot(t,x)%Openafigurewindowanddrawtheplotofx(t)

tiileC../)

xlabel('Timet(sec),)

dt=0.01时的信号波形

dt=0.2时的信号波形

请问:上述的i史近于实际信号波形?为什么会

有这种区别?

答:第一幅波形图为标准的正弦图,第二幅为失真的正弦图,第一幅更接近实际信号波形,因为

第二幅的dt过大已引起图形失真。

⑵修改programi」,,存盘程序名为Ql_2,生成实指数信号x⑴=e一%要求在图形中加上

网格线,并使用函数axis()控制图形的时间范围在0~2秒之间。然后执行该程序,保存所的

图形。

修改Program1_1后得到的程序Ql_2如下:图形结果如下:

%program1_l

%Thisprogramisusedtogenerateasinusoidalsignalanddrawitsplot

clear,%Clearallvariables

closeall,%Closeallfigurewindows

dt=().()l;%Specifythestepoftimevariable

t=-2:dt:2;%Specifytheintervaloflime

x=exp(-2*t);%Generatethesignal

plot(t,x)

gridon,

axis([0,2,-0.5,1.5])%Openafigurewindowanddrawtheplotofx(t)

title

xlabel('Timet(sec),)

⑶将前文中所给的单位冲激信号和单位阶跃信号的函数文件在MATLAB文件编辑器中

编写好,并分别以文件名delta和u存入work文件夹中以便于使用。

抄写函数文件delta如下:抄写函数文件u如下:

%deltafunction%Unitstepfunction

functiony=delta(t)funct沁ny=u(t)

di=0.01;y=(t>=0);%y=1fort>0,elsey=0

y=(u(t)-u(t-dt))/dt;

(4)修改程序Programl_4,并以Ql_4为文件名存盘,利用axis。函数,将图形窗口的横

坐标范围改为・2WnW5,纵坐标范围改为・1.5WxW1.5。

修改Program1_4后得到的程序Ql_4如卜.:

%Program1_4

%Thisprogramisusedtogenerateadiscrete-timesinusoidalsignal

%anddrawitsplot

clear,%Clearallvariables

closeall,%Closeallfigurewindows

n=-5:5;%Specifytheintervaloftime

x=[zeros(1,4),0.1,1.1,-1.2,0,1.3,zeros。,2)];%Generatethesequence

stem(n,x,'filled',Y')%Openafigurewindowanddrawtheplotofx[n]

titlef...,)

gridon,

axis([-2,5,-1.5,1.5J)

信号波形图如下:

⑸根据例如程序的编写方法,编写一个MATLAB程序,以Ql_5文件名存盘,给给定信号

5t

xit)=e~°-u(t),求信号y(t)=x(1.5t+3),并绘制出x⑴和y(t)的图形。

编写的程序Q1.5如下:

»clear,

closeall,

t=-5:0.01:5;

x=exp(-0.5*t).*u(t);

y=exp(-0.5*(1.5*t+3)).*u(1.5*t+3);

subplot(211)

plot(t,x)

gridon,

title('x(t)...,)

subplot(212)

plot(t,y)

gridon,

title('y(t)…')

xlabelCQ1_5,)x(t)Wy⑴的图形分别为:

x(t)

实验二模拟信号幅度调制仿真实验

一、实验目的

1.加深对模拟线性调制的原理与实现方法的理解;

2.掌握AM、DSB、SSB功率谱密度函数的特点,并进行比照;

3-掌握MATLAB根本指令的使用;

4.掌握MATLAB中M文件的调试以及子函数调用的方法。

二、实验内容

1.复习AM、DSB和SSB调制的相关原理

2.编写MATLAB程序实现AM调制;

3.编写MATLAB程序实现DSB调制;

4.编写MATLAB程序实现SSB调制。

三、实验原理

一、启制是一个将信号变换成适于在信道传输的过程。由于信源的特性与信道的特性可能

不匹配,直接传输可能严重影响传输质量。模拟调制针对的信源为模拟信号,常用的模拟

调制有调幅、调相、调频。本次实验进行的是模拟信号的幅度调制。

幅度调制是由调制信号去控制高频载波的幅度,使之随调制信号做线性变化的过程。

由于已调信号的幅度随基带信号的规律呈正比地变化,这一特点反映在频谱结构上,表现

为已调信号的频谱完全是基带信号频谱在频域内的简胞搬移。所以,幅度调制通常又称为

线性调制。幅度调制包括AM、DSB和SSB调制。

调幅(AM)是标准调幅,也就是常规双边带调制。假设调制信号m⑴的平均值为0,将其

外加一个直流偏量A。后与载波相乘,即可形成调幅信号。其时域表达式为:

SAM(0=[Au+m(()]cos(Dc(

抑制载波的双边带调制(DSB)是一种高调制效率的调制方式,其时域表达式为:

SDSB(D=m(t)coscoct

3.1AM调制

假定基带信号为一个频率为1Hz、功率为1的余弦信源m(t),载波是频率为10Hz,幅值

A=2的余弦信号,在用信源对载波进行常规调幅的过程中,我们应该做以下工作:

%信源

closeall;

clearall;

dt=().()()l;

fm=l;

fc=10;

T=5;

t=0:dt:T;

mt=sqrt(2)*cos(2*pi*fm*t);

2.产生给定的载波信号

如何产生题目要求的频率为10Hz,幅值A=2的余弦信号,基于与基带信号产生同样的思路,

这个问题很容易解决。相关的定义请参照1自行定义。

3,依据调制原理进行AM调制。

根据《通信原理》相关章节的学习,我们知道AM调制后的己调信号可表示为:

SAM⑴=[A()+m(t)]coso)J

4.求已调信号的功率谱密度

根据确知信号功率谱求解的方法,我们知道确知信号ni(t)的功率谱密度可由如下的公式求

解:G(/)=|S(/)|2,而5(/)=£$"),”力力

也就是说,先求出信号的傅立叶变换,再求出傅立叶变换函数的模的平方,即可得信号的

功率谱密度。

3.2DSB调制

假定基带信号仍然是一个频率为1Hz、功率为1的余弦信源m(t),载波是频率为10Hz,

幅值A=2的余弦信号,用该基带信号对载波进行DSB调制的过程可概括为以下几步:

1.产生给定的基带信号

2.产生给定的载波信号

题FI要求的频率为10Hz,幅值A=2的余弦信号的产生方法参见1。

3,依据调制原理进行DSB调制。

根据《通信原理》相关章节的学习,我们知道DSB调制后的已调信号可表示为:

G(/)=|s(/)|2,而S(/)=匚

也就是将步骤1产生的基带信号与步骤2定义的余弦信号直接相乘。

4.求已调信号的功率谱密度

根据确知信号功率谱求解的方法,我们知道确知信号m(t)的功率谱可由如下的公式求解:

或n=,而s(/)=匚式小华"小

也就是说,先求出信号的傅立叶变换,再求出傅立叶变换函数的模的平方,即可得信号的

功率谱密度。

3.3SSB调制

假定基带信号仍然是一个频率为1Hz、功率为1的余弦信源m(t),载波是频率为10Hz,

幅值A=2的余弦信号,用该基带信号对载波进行SSB调制的过程可概括为以下几步:

1.产生给定的基带信号

2.产生给定的载波信号

题目要求的频率为10Hz,幅值A=2的余弦信号的产生方法参见1。

3.用相移法产生SSB信号

用相移法产生SSB信号,可用以下的表达式表示:

s5sg(r)=;w(r)cosGJct±;m(r)cosruct其中质(f)衣示的希尔伯特变换式.

也就是说将基带信号m(t)本身乘以余弦信号本身,对基带信号进行希尔伯特变换后与正弦

信号相乘,最后将两个乘积相加即可。在MATLAB程序设计时,先设计出希尔伯特变换函数,

再按以上步骤实施,就得到了SSB调制的程序。

当然假设是不熟悉希尔伯特函数hilbert的使用,可直接将基带信号相移2兀,得到正弦信号,

直接带入计算也是可以实现的。相关的程序如上被注释的程序所示:

%sssb=mt.*cos(2*?i*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求己调信号的功率谱密度

根据确知信源功率谱求遍蒿3法,我们知道确知信号m(t)的功率谱可由如下的公式求解:

a/)=|s(/)「,而S(/)=口⑺晶/,

也就是说,先求出信号的傅立叶变换,再求出傅立叶变换函数的模的平方,即可得信号的

功率谱密度。

四、实验步骤

⑴按照3.1所提供的AM调制的思路,运行提供的范例程序,存档为Q2」,并将所得

的结果存盘,贴在下面空格处。

closeall;

clearall;

出=0.001;

fm=1;

fc=10;

T=5;

t=O:dt:T;

mt=sqrt(2)*cos(2*pi*fm*t);

A=2;

s_am=(A+mt).*cos(2*pi*fc*t);//AM调制函数

B=2*fm;

figure⑴

p]ot(t,s_am);

holdon;〃保持住当前波形

plot(t,A+mt,T--');

titleCAM调制信号及其包络);

xlabel('t*);

A=2时波形图如下:

(2)程序1中定义参加的直流分量为‘A0=2,请在A。的值分别改为I和10,看得到的

调制波形会有什么变化?

A0=l的调制波形

AM0制信号及其包络A.1

-1

||h

wJL.J

\\\IfN

1丫

11'1

0.5152.53.54.5

A0=10时的调制波形

AM两制信号及其包络A=10

(3)按照3.2所提供的DSB调制的思路,运行提供的范例程序,存档为Q2_2,并将所

得的结果存盘,贴在下面空格处。

范例程序如下:

closeall;

clearall;

dt=0.001;

fn=l;

fc=10;

T=5;

t=0:dt:T;

mt=sqrt(2)*cos(2*pi*fm*t);

s_dsb=mt.*cos(2*pi*fc*t);

figure(1);

plot(t,s_dsb);

holdon;

plot'r-');

title('DSB调制信号,);

xlabel('t1);

DSB调制波形图如下:

(4)按照3.3所提供的相移法进行SSB调制的思路,运行提供的范例程序,存档为Q2_3,

并将所得的结果存盘,贴在下面空格处。

范例程序如下:

closeall;

clearall;

dt=0.001;

fm=l;

fc=10;

T=5;

t=0:dt:T;

mt=sqrt(2).*cos(2*pi*fm*t);

%SSBmodulation

A=2;

s_ssb=real(hilbert(mt).*exp(j*2*pi*fc*t));

%5_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);

holdon;

plot'r--');

title(•...*);

xlabel(1t');

axis([02-]);

S3Bi周制信号波形如下:

1.5

(5)按照3.3所提供的滤波法进行SSB调制的思路,编写用滤波法实现SSB调制的程

序,存档为Q2_4,并将所得的结果存盘,贴在下面空格处。

1提示:使用LPF函数实现滤波)

LPF函数为:

function[tst]=lpf(f,sfZB)

告用低通滤波器实现滤波

当输入:f:频率

%sf:光谱样本输入数据

%B:低通滤波器的带宽

常输出:t:时间参数

%st:样本输出数据的时间

d£=f(2)-f(1);

T=1/df;

hf=zeros(1,length(f));

bf=(-floor(B/df):floor(B/df)]+floor(length(f)/2);

hf(bf)=l;

yf=hf.*sf;

[t,st]=F2T(fzyf);

st=real(st);

此程序中调用的F2T函数程序如下:

function[t,st]=F2T(f,sf)

%Thisfunctioncalculatethetimesignalusingifftfunctionfortheinput

%signal*sspectrum

df=f(2)-f(1);

Fmx=(f(end)-f(l)+df);

dt-l/Fmx;

N=length(sf);

T=dt*N;

%t=-T/2:dt:T/2-dt;

t=0:dt:T-dt;

sff=fftshift(sf);

st=Fmx*ifft(sff);

主程序:

closeall;

clearall;

dt=O.001;

fm=l;

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=2*fm;

figure(1);

t>jbploL(311);

plot(tzs_dsb);

holdon;

plot'r--');

titleCDSB调制信号D;

xlabel(1t');

f_dsb=fft(s_dsb);

temp=f_dsb;

temp([50:4953])=0;

s_ssb=ifft(temp);

subplot(312);

plot(t,s_ssb);

holdon;

plot(t/mt,'r--');

title('SSB上边带,);

xlabel(*t');

temp=f_dsb;

temp([1:49])=0;

temp([4953:end])=0;

s_ssb=ifft(temp);

subplot(313);

plot(t,s_ssb);

holdon;

plot'r--');

title('SSB下边带

xlabel(*t');

实验结果:

DSB调制信号

2

0

0.511.522.533.544.55

t

SSB上边带

2

0

SSB下边带

2F-1111tliLi”

o帆岬湎!则随卿丽/频狐螂血

■2^------:-----------:------------:-------:--------:-----------:--------:-----------:-------:-----------

00.511.522.533.544.55

t

(6)按照实验原理中介绍的功率

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论