数字基带传输系统的matlab仿真Word文档格式.docx
- 文档编号:21062056
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:20
- 大小:223.65KB
数字基带传输系统的matlab仿真Word文档格式.docx
《数字基带传输系统的matlab仿真Word文档格式.docx》由会员分享,可在线阅读,更多相关《数字基带传输系统的matlab仿真Word文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
3.1信号及系统在计算机中的表示
3.1.1时域取样及频域取样
一般来说,任意信号s(t是定义在时间区间(-∞,+∞)上的连续函数,但所有计算机的CPU都只能按指令周期离散运行,同时计算机也不能处理(-∞,+∞)这样一个时间段。
为此将把s(t按区间,22TT⎡⎤−⎢⎥⎣⎦截短为sT(t,再对sT(t按时间间隔Δt均匀取样,得到取样点数为:
TNtt=Δ(3-1
仿真时用这个样值集合来表示信号s(t。
显然Δt反映了仿真系统对信号波形的分辨率,Δt越小,则仿真的精确度越高。
据通信原理所学,信号被取样以后,对应的频谱时频率的周期函数,其重复周期是1tΔ。
如果信号的最高频率为fH,那么必须有fH≤12tΔ,才能保证不发生频域混叠失真。
3.1.2频域分析
为了方便仿真,我们
利用MATLAB提供的函数编写了两个函数t2f和f2t。
t2f的功能是做傅立叶变换,f2t的功能是做傅立叶反变换,它们的引用格式分别为X=t2f(x及x=f2t(X,其中x是时域信号x(tj截短并采样所得的取样值矢量,X是对x(t的傅立叶变换X(f截短并采样所得的取样值矢量。
任意信号s(t的功率谱的定义是
3.2与随机信号产生相关的指令
3.2.1高斯噪声的产生
由于函数randn(1,N产生N个互不相关的、均值为零、方差为1的高斯随机数,所以可用它来产生高斯白噪声。
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是二个非常有用的信号。
它们的定义如下:
这里分别给出相应的简单的产生单位冲激信号和单位阶跃信号的扩展函数。
四、实验步骤
(1分析程序program1_1每条指令的作用,运行该程序,将结果保存,贴在下面的空白处。
然后修改程序,将dt改为0.2,并执行修改后的程序,保存图形,看看所得图形的效果怎样。
程序如下:
%program1_1
%Thisprogramisusedtogenerateasinusoidalsignalanddrawitsplot
clear,%Clearallvariables
closeall,%Closeallfigurewindows
dt=0.2;
%Specifythestepoftimevariable
t=-2:
dt:
2;
%Specifytheintervaloftime
x=sin(2*pi*t;
%Generatethesignal
plot(t,x%Openafigurewindowanddrawtheplotofx(t
title('
…'
xlabel('
Timet(sec'
dt=0.01时的信号波形
dt=0.2时的信号波形
请问:
上述的两幅图形有什么区别,哪一副图形看起来更接近于实际信号波形?
为什么会有这种区别?
答:
第一幅波形图为标准的正弦图,第二幅为失真的正弦图,第一幅更接近实际信号波形,因为第二幅的dt过大已引起图形失真。
(2修改program1_1,,存盘程序名为Q1_2,生成实指数信号x(t=
。
要求在图形中加上网格线,并使用函数axis(控制图形的时间范围在0~2秒之间。
然后执行该程序,保存所的图形。
修改Program1_1后得到的程序Q1_2如下:
图形结果如下:
dt=0.01;
x=exp(-2*t;
plot(t,x
gridon,
axis([0,2,-0.5,1.5]%Openafigurewindowanddrawtheplotofx(t
(3将前文中所给的单位冲激信号和单位阶跃信号的函数文件在MATLAB文件编辑器中编写好,并分别以文件名delta和u存入work文件夹中以便于使用。
抄写函数文件delta如下:
抄写函数文件u如下:
%deltafunction%Unitstepfunction
functiony=delta(tfunctiony=u(t
y=(t>
=0;
%y=1fort>
0,elsey=0
y=(u(t-u(t-dt/dt;
(4修改程序Program1_4,并以Q1_4为文件名存盘,利用axis(函数,将图形窗口的横
坐标范围改为-2≤n≤5,纵坐标范围改为-1.5≤x≤1.5。
修改Program1_4后得到的程序Q1_4如下:
%Program1_4
%Thisprogramisusedtogenerateadiscrete-timesinusoidalsignal
%anddrawitsplot
n=-5:
5;
x=[zeros(1,4,0.1,1.1,-1.2,0,1.3,zeros(1,2];
%Generatethesequence
stem(n,x,'
filled'
'
r'
%Openafigurewindowanddrawtheplotofx[n]
axis([-2,5,-1.5,1.5]
信号波形图如下:
(5根据示例程序的编写方法,编写一个MATLAB程序,以Q1_5文件名存盘,给给定信号x(t=
u(t,求信号y(t=x(1.5t+3,并绘制出x(t和y(t的图形。
编写的程序Q1_5如下:
>
clear,
closeall,
t=-5:
0.01:
x=exp(-0.5*t.*u(t;
y=exp(-0.5*(1.5*t+3.*u(1.5*t+3;
subplot(211
title('
x(t…'
subplot(212
plot(t,y
y(t…'
xlabel('
Q1_5'
x(t和y(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(t的平均值为0,将其外加一个直流偏量A0后与载波相乘,即可形成调幅信号。
其时域表达式为:
抑制载波的双边带调制(DSB是一种高调制效率的调制方式,其时域表达式为:
3.1AM调制
假定基带信号为一个频率为1Hz、功率为1的余弦信源m(t,载波是频率为10Hz,幅值A=2的余弦信号,在用信源对载波进行常规调幅的过程中,我们应该做以下工作:
%信源
closeall;
clearall;
dt=0.001;
fm=1;
fc=10;
T=5;
t=0:
T;
mt=sqrt(2*cos(2*pi*fm*t;
2.产生给定的载波信号
如何产生题目要求的频率为10Hz,幅值A=2的余弦信号,基于与基带信号产生同样的思路,这个问题很容易解决。
相关的定义请参照1自行定义。
3.依据调制原理进行AM调制。
根据《通信原理》相关章节的学习,我们知道AM调制后的已调信号可表示为:
SAM(t=[A0+m(t]cosωct
4.求已调信号的功率谱密度
根据确知信号功率谱求解的方法,我们知道确知信号m(t的功率谱密度可由如下的公式求解:
也就是说,先求出信号的傅立叶变换,再求出傅立叶变换函数的模的平方,即可得信号的功率谱密度。
3.2DSB调制
假定基带信号仍然是一个频率为1Hz、功率为1的余弦信源m(t,载波是频率为10Hz,幅值A=2的余弦信号,用该基带信号对载波进行DSB调制的过程可概括为以下几步:
1.产生给定的基带信号
题目要求的频率为10Hz,幅值A=2的余弦信号的产生方法参见1。
3.依据调制原理进行DSB调制。
根据《通信原理》相关章节的学习,我们知道DSB调制后的已调信号可表示为:
也就是将步骤1产生的基带信号与步骤2定义的余弦信号直接相乘。
根据确知信号功率谱求解的方法,我们知道确知信号m(t的功率谱可由如下的公式求解:
3.3SSB调制
假定基带信号仍然是一个频率为1Hz、功率为1的余弦信源m(t,载波是频率为10Hz,幅值A=2的余弦信号,用该基带信号对载波进行SSB调制的过程可概括为以下几步:
3.用相移法产生SSB信号
用相移法产生SSB信号,可用以下的表达式表示:
也就是说将基带信号m(t本身乘以余弦信号本身,对基带信号进行希尔伯特变换后与正弦信号相乘,最后将两个乘积相加即可。
在MATLAB程序设计时,先设计出希尔伯特变换函数,再按以上步骤实施,就得到了SSB调制的程序。
当然若是不熟悉希尔伯特函数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.求已调信号的功率谱密度
(1按照3.1所提供的AM调制的思路,运行提供的范例程序,存档为Q2_1,并将所得的结果存盘,贴在下面空格处。
fm=1;
A=2;
s_am=(A+mt.*cos(2*pi*fc*t;
//AM调制函数
B=2*fm;
figure(1
plot(t,s_am;
holdon;
//保持住当前波形
plot(t,A+mt,'
r--'
;
AM调制信号及其包络'
t'
A=2时波形图如下:
(2)程序1中定义加入的直流分量为A0=2,请在A0的值分别改为1和10,看得到的调制波形会有什么变化?
A0=1的调制波形
A0=10时的调制波形
请问,调制波形为什么会有这种变化,这种变化会造成什么影响?
幅值A的变化导致波形变化,A越大导致波形在零点处越不明显。
(3)按照3.2所提供的DSB调制的思路,运行提供的范例程序,存档为Q2_2,并将所得的结果存盘,贴在下面空格处。
范例程序如下:
s_dsb=mt.*cos(2*pi*fc*t;
figure(1;
plot(t,s_dsb;
plot(t,mt,'
DSB调制信号'
DSB调制波形图如下:
(4)按照3.3所提供的相移法进行SSB调制的思路,运行提供的范例程序,存档为Q2_3,并将所得的结果存盘,贴在下面空格处。
mt=sqrt(2.*cos(2*pi*fm*t;
%SSBmodulation
s_ssb=real(hilbert(mt.*exp(j*2*pi*fc*t;
B=fm;
plot(t,s_ssb;
holdon;
axis([02-1.51.5];
SSB调制信号波形如下:
(5)按照3.3所提供的滤波法进行SSB调制的思路,编写用滤波法实现SSB调制的程序,存档为Q2_4,并将所得的结果存盘,贴在下面空格处。
(提示:
使用LPF函数实现滤波)
LPF函数为:
function[tst]=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(length(f/2;
hf(bf=1;
yf=hf.*sf;
[t,st]=F2T(f,yf;
st=real(st;
此程序中调用的F2T函数程序如下:
function[t,st]=F2T(f,sf
%Thisfunctioncalculatethetimesignalusingifftfunctionfortheinput
%signal'
sspectrum
df=f(2-f(1;
Fmx=(f(end-f(1+df;
dt=1/Fmx;
N=length(sf;
T=dt*N;
%t=-T/2:
T/2-dt;
T-dt;
sff=fftshift(sf;
st=Fmx*ifft(sff;
主程序:
subplot(311;
f_dsb=fft(s_dsb;
temp=f_dsb;
temp([50:
4953]=0;
s_ssb=ifft(temp;
subplot(312;
SSB上边带'
temp([1:
49]=0;
temp([4953:
end]=0;
subplot(313;
SSB下边带'
实验结果:
(6)按照实验原理中介绍的功率谱的计算公式,在同一图形的四个子图中,分别画出基带信号、AM调制信号、DSB调制信号和SSB调制信号的功率谱,要求写出响应的程序,画出图形,并在图中标出相应的标题和坐标轴。
程序为:
clearall;
subplot(221
[f,sf]=T2F(t,mt;
psf=(abs(sf.^2/T;
plot(f,sf;
axis([-2*fc2*fc0max(psf];
基带信号功率谱'
f'
subplot(222
[f,sf]=T2F(t,s_am;
plot(f,psf,'
r-'
AM信号功率谱'
subplot(223
[f,sf]=T2F(t,s_dsb;
DSB信号功率谱'
subplot(224
[f,sf]=T2F(t,s_ssb;
plot(f,psf;
SSB信号功率谱'
图形如下:
请分析四个子图中,基带信号、AM调制信号、DSB调制信号和SSB调制信号的功率谱性质,对比其频域特性的区别,并分析为什么会有这些区别。
在零点处的振荡幅度明显程度不一样。
A的大小,t大小及其其他参数都会对其有影响。
五、实验总结
通过本次实验,我熟悉和掌握了常用的用于通信原理时域仿真分析的MATLAB函数,掌握了连续时间和离散时间信号的MATLAB产生,牢固掌握了冲激函数和阶跃函数等函数的概念,掌握卷积表达式及其物理意义,掌握卷积的计算方法、卷积的基本性质,掌握了利用MATLAB计算卷积的编程方法,并利用所编写的MATLAB程序验证卷积的常用基本性质,掌握了MATLAB描述通信系统中不同波形的常用方法及有关函数,并学会利用MATLAB求解系统功率。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 基带 传输 系统 matlab 仿真