相位调制与解调.docx
- 文档编号:24058715
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:18
- 大小:215.03KB
相位调制与解调.docx
《相位调制与解调.docx》由会员分享,可在线阅读,更多相关《相位调制与解调.docx(18页珍藏版)》请在冰豆网上搜索。
相位调制与解调
1.前言
1.1序言
随着人类社会步入信息化社会,电子信息科学技术正以惊人的速度发展,开辟了社会发展的新纪元。
从20世纪90年代开始至今,通信技术特别是移动通信技术取得了举世瞩目的成就。
在通信技术日新月异的今天,学习通信专业知识不仅需要扎实的基础理论,同时需要学习和掌握更多的现代通信技术和网络技术。
通信技术正向着数字化、网络化、智能化和宽带化的方向发展。
全面、系统地论述了通信系统基本理沦、基本技术以和系统分析与设计中用到的基本工具和方法,并将重点放在数字通信系统上。
通信系统又可分为数字通信与模拟通信。
传统的模拟通信系统,包括模拟信号的调制与解调,以和加性噪声对幅度调制和角度调制模拟信号解调的影响。
数字通信的基本原理,包括模数转换、基本AWGN信道中的数字调制方法、数字通信系统的信号同步方法、带限AWGN信道中的数字通信问题、数字信号的载波传输、数字信源编码以和信道编码与译码等,同时对多径信道中的数字通信、多载波调制、扩频、GSM与IS95数位蜂窝通信。
随着数字技术的发展原来许多不得不采用的模拟技术部分已经可以由数字化来实现,但是模拟通信还是比较重要的
1.2设计任务
本设计是基于MATLAB的模拟相位(PM)调制与解调仿真,主要设计思想是利用MATLAB这个强大的数学软件工具,其中的通信仿真模块通信工具箱以和M檔等,方便快捷灵活的功能实现仿真通信的调制解调设计。
还借助MATLAB可视化交互式的操作,对调制解调处理,降低噪声干扰,提高仿真的准确度和可靠性。
要求基于MATLAB的模拟调制与解调仿真,主要设计思想是利用MATLAB、simulink檔、M檔等,方便快捷的实现模拟通信的多种调制解调设计。
基于simulink对数字通信系统的调制和解调建模。
并编写相应的m檔,得出调试和仿真结果并进行分析。
2.通信系统与MATLAB软件
2.1模拟通信系统简介
通信系统是为了有效可靠的传输信息,信息由信源发出,以语言、图像、数据为媒体,通过电(光)信号将信息传输,由信宿接收。
通信系统又可分为数字通信与模拟通信。
基于课程设计的要求,下面简要介绍模拟通信系统。
信源是模拟信号,信道中传输的也是模拟信号的系统为模拟通信。
模拟通信系统的模型如图1所示。
图1模拟通信系统模型
调制器:
使信号与信道相匹配,便于频分复用等。
发滤波器:
滤除调制器输出的无用信号。
收滤波器:
滤除信号频带以外的噪声,一般设N(t)为高斯白噪声,则Ni(t)为窄带白噪声。
2.2相位调制与解调
调制在通信系统中具有重要作用。
通过调制,不仅可以进行频谱搬移,把调制信号的频谱搬移到所希望的位置上,从而将调制信号转换成适合于信道传输或便于信道多任务的已调信号,而且它对系统的传输有效性和传输可靠性有着很大的影响。
调制方式往往决定了一个通信系统的性能。
在无线电通信中,角度调制(简称角调)是一种重要的调制方式,它包括频率调制和相位调制。
频率调制简称调频用FM表示,它是使高频振荡信号的频率按调制信号的规律变化,而振幅保持不变的一种调制方式。
我们称调频信号的解调为鉴频或频率检波。
相位调制简称调相,用PM表示,它是使高频振荡信号的相位按调制信号的规律变化,其振幅也保持不变。
调相信号的解调,称为鉴相或相位检波。
角度调制属于频谱的非线性变换,即已调信号的频谱结构不再保持原调制信号频谱的内部结构,且调制后的信号带宽比原调制信号的贷款要大得多。
虽然角度调制信号的频带利用率不高,但其抗干扰和噪声的能力较强。
由于从消息变换过来的原始信号具有频率较低的频谱分量,这种信号在许多信道中不适宜直接进行传输。
因此,在通信系统的发送端通常需要有调制过程,而在接收端则需要有反调制过程——解调过程。
所谓载波调制,就是按调制信号(基带信号)的变化规律去改变载波某些参数过程。
调制的载波可以分为两类:
用正弦型信号作为载波;用脉冲串或一组数字信号作为载波。
通常,调制可以分为模拟(连续)调制和数字元调制两种方式。
在模拟调制中,调制信号的取值是连续的,而数字调制中的调制信号的取值则为离散的。
目前常见的模—数变换可以看成是一种用脉冲串作为载波的数位调制,它又称为脉冲编码调制(PCM)。
2.3SIMULINK
SIMULINK是MATLAB软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与MATLAB语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。
在simulink环境中,利用鼠标就可以在模型窗口中直观地“画”出系统模型,然后直接进行仿真。
它为用户提供了方框图进行建模的图形接口,采用这种结构画模型就像你用手和纸来画一样容易。
而所谓模型化图形输入是指SIMULINK提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出和模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型(以.mdl檔进行存取),进而进行仿真与分析。
SIMILINK模块库按功能进行分类,包括以下8类子库:
Continuous(连续模块),Discrete(离散模块),Function&Tables(函数和平台模块),Math(数学模块),Nonlinear(非线性模块),Signals&Systems(信号和系统模块),Sinks(接收器模块),Sources(输入源模块)。
3.原理分析
3.1调相信号
在模拟调制中,一个连续波有三个参数可以用来携带信息而构成已调信号。
当幅度和频率保持不变时,改变载波的相位使之随未调信号的大小而改变,这就是调相的概念。
角度调制信号的一般表示形式为:
S
(t)=Acos[ω
t+φ(t)]
式中,A是载波的恒定振幅;[ω
t+φ(t)]是信号的瞬时相位,而φ(t)称为瞬时相位偏移;d[ω
t+φ(t)]/dt为信号的瞬时频率,而dφ(t)/dt称为瞬时频率偏移,即相对于ω
的瞬时频率偏移。
设高频载波为u
=U
cosω
t,调制信号为UΩ(t),则调相信号的瞬时相位
φ(t)=ω
+K
UΩ(t)
瞬时角频率ω(t)=
=ω
+K
调相信号u
=U
cos[ω
t+K
uΩ(t)]
将信号的信息加在载波的相位上则形成调相信号,调相的表达式为:
S
(t)=Acos[ω
t+K
f(t)+φ
]
这里K
称为相移指数,这种调制方式,载波的幅度和角频率不变,而瞬时相位偏移是调制信号f(t)的线性函数,称为相位调制。
调相与调频有着相当密切的关系,我们知道相位与频率有如下关系式:
ω=
=ω
+K
f(t)
φ(t)=
ω
t+K
所以在调相时可以先将调制信号进行微分后在进行频率调制,这样等效于调相,此方法称为间接调相,与此相对应,上述方法称为直接调相。
调相信号的产生如图2所示:
图2PM调相信号的产生
3.2调制原理
实现相位调制的基本原理是使角频率为ω
的高频载波u
(t)通过一个可控相移网络,此网络产生的相移Δφ受调制电压uΩ(t)控制,满足Δφ=K
uΩ(t)的关系,所以网络输出就是调相信号,可控相移网络调相原理图如图3所示:
图3可控相移网络调相原理图
3.3解调原理
已调波的解调电路称为检波器,调相波的解调电路称为相位检波器或鉴相器。
采用乘积鉴相是最常用的方法。
若调相信号为
u
=U
cos[ω
t+Δφ(t)]其中Δφ(t)=K
Ω(t)
同步信号与载波信号相差
u
=
sinΔφ(t)-sin[2ω
t+Δφ(t)]式中k为乘法器增益,低通滤波器增益为1,可以看到乘积鉴相的线性鉴相范围较小,只能解调M
≦
的调相信号。
乘积鉴相器的原理图如图4所示,由于相乘的两个信号有90
的固定相位差,故这种方法又称为正交乘积鉴相。
图4正交乘积鉴相原理图
4.M函数实现的仿真
4.1源代码
首先任意给定一个已知调制信号m(t)=sin(100*t)
进行相位调制时要用到傅里叶变换,因此先编写傅里叶变换的m文件用作主函数调用,其m文件代码如下:
%求傅里叶变换的子函数
function[M,m,df]=fftseq(m,ts,df)
fs=1/ts;
ifnargin==2n1=0;%nargin为输入参量的个数
elsen1=fs/df;
end
n2=length(m);
n=2^(max(nextpow2(n1),nextpow2(n2)));%nextpow2(n)取n最接近的较大2次幂
M=fft(m,n);%M为信号m的傅里叶变换,n为快速傅里叶变换的点数,和基n-FFT变换
m=[m,zeros(1,n-n2)];%构建新的m信号
df=fs/n;%重新定义频率分辨率
上述m文件以“fftseq.m”保存。
在实现相位解调时要调用两个子函数,分述如下:
%求信号相角的子函数,这是调频、调相都要用到的方法
function[v,phi]=env_phas(x,ts,f0)
ifnargout==2%nargout为输出变数的个数
z=loweq(x,ts,f0);%产生调制信号的正交分量
phi=angle(z);%angle是对一个复数求相角的函数
end
v=abs(hilbert(x));%abs用来求复数hilbert(x)的模
上述m文件以“env_phas.m”保存。
%产生调制信号的正交分量
functionx1=loweq(x,ts,f0)
t=[0:
ts:
ts*(length(x)-1)];
z=hilbert(x);%希尔伯特变换对的利用---通过实部来求虚部
x1=z.*exp(-j*2*pi*f0*t);%产生信号z的正交分量,
%并将z信号与它的正交分量加在一起
上述m文件以“loweq.m”保存
%主程序
t0=0.2;%信号的持续时间,用来定义时间向量
ts=0.001;%抽样间隔
fs=1/ts;%抽样频率
fc=300;%载波频率,fc可以任意改变
t=[-t0/2:
ts:
t0/2];%时间向量
kf=100;%偏差常数
df=0.25;%所需的频率分辨率,用在求傅里叶变换时,它表示FFT的最小频率间隔
m=sin(100*t);%调制信号,m(t)可以任意更改
int_m
(1)=0;%求信号m(t)的积分
fori=1:
length(t)-1
int_m(i+1)=int_m(i)+m(i)*ts;
end
[M,m,df1]=fftseq(m,ts,df);%对调制信号m(t)求傅里叶变换
M=M/fs;%缩放,便于在频谱图上整体观察
f=[0:
df1:
df1*(length(m)-1)]-fs/2;%时间向量对应的频率向量
u=cos(2*pi*fc*t+2*pi*kf*int_m);%调制后的信号
[U,u,df1]=fftseq(u,ts,df);%对调制后的信号u求傅里叶变换
U=U/fs;%缩放
%通过调用子程序env_phas和loweq来实现解调功能
[v,phase]=env_phas(u,ts,fc);%解调,求出u的相位
phi=unwrap(phase);%校正相位角,使相位在整体上连续,便于后面对该相位角求导
dem=(1/(2*pi*kf))*(diff(phi)*fs);%对校正后的相位求导
%再经一些线性变换来恢复原调制信号
%乘以fs是为了恢复原信号,因为前面使用了缩放
subplot(3,2,1)%子图形式显示结果
plot(t,m(1:
length(t)))%现在的m信号是重新构建的信号,
%因为在对m求傅里叶变换时m=[m,zeros(1,n-n2)]
axis([-0.10.1-11])%定义两轴的刻度
xlabel('时间t')
title('原调制信号的时域图')
subplot(3,2,2)
plot(t,u(1:
length(t)))
axis([-0.10.1-11])
xlabel('时间t')
title('已调信号的时域图')
subplot(3,2,3)
plot(f,abs(fftshift(M)))%fftshift:
将FFT中的DC分量移到频谱中心
axis([-60060000.04])
xlabel('频率f')
title('原调制信号的频谱图')
subplot(3,2,4)
plot(f,abs(fftshift(U)))
axis([-60060000.04])
xlabel('频率f')
title('已调信号的频谱图')
subplot(3,2,5)
plot(t,m(1:
length(t)))
axis([-0.10.1-11])
xlabel('时间t')
title('原调制信号的时域图')
subplot(3,2,6)
plot(t,dem(1:
length(t)))
axis([-0.10.1-11])
xlabel('时间t')
title('解调后信号的时域波形')
4.2结果显示
将源代码输入MATLAB命令窗口,运行就可以得到结果,如图5所示:
图5M文件仿真结果图
5.SIMULINK实现的仿真
5.1所用模块和参数
MATLAB的功能性工具箱主要用来扩充MATLAB的数值分析、矩阵运算、数字信号处理、符号计算功能、图形建模仿真功能、文字处理功能、与硬件实时交互功能。
本设计主要用到通信工具箱(CommunicationToolbox)的函数是调制与解调:
ademod()模拟带通信号解调,ademodce()模拟基带信号解调,amod()模拟带通信号调制,amodce()模拟基带信号调制。
以完成设计的任务:
模拟信号的调制与解调。
假定基频信号为m(t)=cos(20π*t),载波频率f
=100Hz,相位偏差K
=π,仿真电路如图6所示:
图6SIMULINK仿真电路图
基带信号SineWave:
振幅(Amplitude)设为1;频率(Frequency)设为2*pi*10,取样时间(Sampletime)设定1/2000。
如图7所示:
图7SineWave参数设定图
调制模块:
载波频率(Carrierfrequency)设定为100(Hz),频率偏差设定为pi(rad)。
如图8所示:
图8调制模块参数设定图
解调模块:
载波频率(Carrierfrequency)设定为100(Hz),频率偏差设定为pi(Hz),希伯尔转换滤波器阶层(Hilberttransformfilterorder)设定为100(默认值)。
如图9所示:
图9解调模块参数设定图
示波器:
Numberofaxes这边设定为3,Timerange为想要显示的时间终点,设定为auto时,Timerange与环境模拟设定时间一样。
如图10所示:
图10示波器参数设定图
频域讯号的零阶保持:
设定为1/1000。
如图11所示:
图11零阶保持设定图
频域讯号的频谱分析器设定:
Buffersize设定为1024,Bufferoverlap设定为100,FFTlength设定为1024;Frequencyunits选择Hertz,Frequen选
择[-Fs/2….Fs/2]。
如图11所示:
图11频谱分析器设定图
5.2结果显示
6.心得体会
经过一个多星期的关于工程信号分析处理的课程设计,在老师和同学的帮助下,我基本上完成了这次任务,通过这次课程设计我收获颇多,概而言之,大约以下几点:
一、温故而知新。
课程设计发端之始,思绪全无,举步维艰,对于理论知识学习不够扎实的我深感“书到用时方恨少”,于是想起圣人之言“温故而知新”,便重拾教材与实验手册,对知识系统而全面进行了梳理,遇到难处先是苦思冥想再向同学请教,终于熟练掌握了基本理论知识,而且领悟诸多平时学习难以理解掌握的较难知识,学会了如何思考的思维方式,找到了设计的灵感。
二、理论联系实际。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,值得一提的是刚开始在解调问题上我被卡住了,命令窗口一直提示不能识别fftseq这个函数,之前我以为MATLAB里面有这个库函数,于是找了大量数据,自己编写出fftseq的M檔然后运行就成功了。
总的来说,这次设计的关于工程信号的课程设计还是比较成功的,在设计中遇到了很多问题,上网查资料终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,更加强了团队合作的意识,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。
本次设计中,首先是加强了我对MATLAB软件的掌握,这方面是目前比较热门的话题,通过这次的课程设计也增加了我对学习交流的兴趣。
我将在以后的时间中加强这方面的学习。
其次,通过找数据,我觉得学习与实践是相互紧密联系的。
我认为自己的设计还是不够完美,其中还有一些地方应该得到改进,,我相信在以后的学习中我会更加努力。
使得我的理论知识和实践动手操作能力都有了提高。
最后,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!
参考文献
[1]徐明远邵玉斌编著.MATLAB仿真在通信与电子工程中的应用.西安:
西安电子科技大学出版社,2005.6
[2]孙屹李妍编著.MATLAB通信仿真开发手册.北京:
国防工业出版社,2005.1
[3]达新宇陈树新等著.通信原理教程.北京:
北京邮电大学出版社,2005.1
[4]李颖编著.simulink动态系统建模与仿真基础.西安:
西安电子科技大学出版社,2004.7
[5]樊昌信等编著.通信原理教程.北京:
北京电子工业出版社,2004.1
[6]樊昌信张甫翊徐炳祥吴成柯编著.通信原理(第5版).北京:
国防工业出版社,2001.5
[7]刘泉主编.通信电子线路(第2版).武汉:
武汉理工大学出版社,2005.1
[8]刘敏魏玲编著.MATLAB通信仿真与应用.北京:
国防工业出版社,2001.1
[9]薛定宇陈阳泉著.基于MATLAB/Simulik的系统仿真技术与应用.北京:
清华大学出版社,2002.4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 相位 调制 解调