通信系统课程设计基于MATLABFM通信系统设计
时间:2020-12-30 06:01:28 来源:达达文档网 本文已影响 人
XX大学 课 程 设 计 报 告 课程名称:
通信系统课程设计 设计名称:
基于MATLAB的FM通信系统设计 姓 名:
学 号: 班 级:
通信班 指导教师:
起止日期:
2013.6.20-2013.7.6 XX大学信息工程学院 课 程 设 计 任 务 书 学生班级:
通信班 学生姓名:
学号:
设计名称:
基于MATLAB的FM通信系统仿真 起止日期:
2013.06.20-2013.07.06 指导教师:
设计要求:
1)对FM通信系统有整体深入的理解,画出对应的通信系统的原理框图;
2)提出仿真方案,用FM对模拟输入信号m(t)进行调制与解调;
3)完成仿真软件的设计并演示;
4)提交详细的设计报告。
课 程 设 计 学 生 日 志 时间 设计内容 2013.06.20-2013.06.22 下载课程设计题目,理解题目要求,预览相关资料 2013.06.22-2013.06.23 准备课程设计要用到的软件,根据设计要求,确定相应方案 2013.06.24-2013.06.30 查阅资料,在软件上实现功能设计要求 2013.06.30-2013.07.03 调试程序,发现不足之处,完善功能要求 2013.07.03-2013.07.04 按要求完成设计报告书写 2013.07.6 答辩 课 程 设 计 评 语 表 指导教师评语:
成绩:
指导教师:
年 月 日 基于MATLAB的FM通信系统仿真 一、 摘要 本次课程设计的题目是:基于MATLAB的FM通信系统仿真。设计的基本内容分为以下几个步骤:设计目的和意义、设计原理、详细设计步骤、设计结果及分析、设计体会、参考文献。对于这次课程设计,可谓是一次练兵的好机会,毕竟这是我们专业课的项目,而且调制解调在我们日常生活中乃为最常用到的原理知识,因此不得 不认真的去完成这次任务。关键词:MATLAB、FM通信系统、系统仿真。
二、设计目的和意义 (1)、掌握模拟系统FM调制与解调的原理。 (2)、掌握模拟角度调制系统仿真,实现FM与PM调制与解调的设计方法,并要求信道为AWGN信道,画出调制信号、已调信号的波形图与频谱图。
(3)、掌握matlab分析系统时域、频域特性的方法,进一步锻炼应用matlab进行编程仿真的能力。 (4)、调制与解调FM模拟系统,仿真实现其相关功能。
三、设计原理 在通信系统中一般需要将信号进行相应调制,以利于信号在信道上的传输,调制是将用原始信号去控制高频振荡信号的某一参数,使之随原始信号的变化而成规律变化。调制可分为线性调制和非线性调制。线性调制有AM、DSB、SSB、VSB等,非线性调制有FM、PM等,这里主要讨论FM调制通信系统 图1 模拟通信系统模型 调制器: 使信号与信道相匹配, 便于频分复用等。发滤波器: 滤除调制器输出的无用信号。收滤波器: 滤除信号频带以外的噪声,一般设N(t)为高斯白噪声,则Ni(t)为窄带白噪声。
1.FM调制原理 角调制不是线性调制,角调制中已调信号和调制信号频谱之间不是线性关系而是产生出新的与频谱搬移不同的新的频率分量,呈现非线性特性,故又成为非线性调制。FM调制中瞬时角频率是关于调制信号的线性函数, 瞬时角频率偏移量, 则瞬时角频率为, 为频偏指数 则调频信号为 当调制信号是单频余弦时,调制信号为 , 为调频指数,; 调制信号的信号的产生 图 2 图 3 图2为调频信号的直接产生,图3为调频信号的间接产生,在间接产生方法中,因为实际调相的相位调节器的范围在(-,),故而间接调频只能用于相位偏移和频率偏移不大的窄调制情况,而直接调频则常用于宽带调制情况。
窄带角频率调制时,最大瞬时相位偏移远小于30°即 调频信号的时域表达式 ,当为窄带调制时, 假设调制线号的频谱为F(W),而且假设飞f(t)的平均值为零,有傅氏变换可得 此时调频信号的带宽为调制信号的两倍。
其相应图形如下:
调制信号频谱 已调信号频谱 2.解调原理 1)非相干解调 由于调频信号的瞬时频率正比于调制信号的幅度,因而调制信号的调节器必须产生正比于输入频率的输出电压,即输入为调制信号为 ,则 解调器的输出应为 最简单的解调器是鉴频器原理图如下:
包络检波输出为 m0(t)= , 为鉴频器的灵敏度,微分器和包络检波构成鉴频器。
2)相干解调 由于窄带调频信号可分解为同相分量和正交分量,因而可以用线性调制中的相干解调来进行解调。原理图如下:
相乘器 低通滤波器 微分器 带通滤波器 Si(t) Sp(t) So(t) 带通滤波器的作用是抑制信号带宽以外的噪声,低通滤波器输出 ;
上图所示的相干解调法只适用与窄带调频 3.调频系统的抗噪声性能 主要讨论非相干解调的抗噪声性能,已知输入信号为,输入功率 ,输入噪声,信噪比为,非相干解调的解调器的输入端是调频信号与噪声的叠加,为,在大信噪比情况下,解调器的输出端的信噪比为 , 考虑单频余弦信号调制,故可得大信噪比情况下的信噪比增益为 , 单频时,带宽,所以增益可化解为 .由此可看出,性噪比增益和调频指数的三次方成正比。加大调频指数,可使调频系统的抗噪声性能改善。
四、详细设计步骤 1. 产生调制信号和载波信号,画出相应的时域图和频域图 图4.1 图4.2 图4.3 2. 利用modulate函数产生调制信号 图4.4 图4.5 3. 对调制信号进行解调 图4.6 图4.7 4. 对信道中加入加性高斯白噪声,绘制调频信号的时域图和频域图 图4.8 图4.9 5.绘制加噪声的调频信号的解调时域图和频域图 图5.0 图5.1 五、设计结果及分析 1、对已调制未加噪声的调频信号而言,在已调制时域图中出现疏密交错的变化规律,有理论和实际都可以看到,对应调制信号波峰处,波形最密;
对应调制信号波谷处,波形最疏.如图4.1、图4.2所示。.. 2.、由图4.5可知,输入的调制信号通过调制之后,波形发生了明显的变化,原本规则的正弦信号变成了不规则的上下起伏波动的图形,而且调制后的图形也没有原本正弦信号般圆滑,出现了十分尖锐的突起。说明正弦信号通过FM调制之后波形发生了明显的改变。通过频谱图的对照比较我们可以看出FM调制并不是使原正弦信号的频谱在原来位置上通过移动得到调制波形,调制后的波形与调制前的完全不同,这证明FM调制并不是线性调制的,而是非线性的. 3、 改变抽样频率,可以看到当抽样频率低于调制信号的时,无法得出信号波形,由奈奎斯特定义可以知道,当抽样频率低于两倍的调制信号频率时,信号会混叠失真. 4、加入噪声后时域波形与原来的时域波形相比,波形明显失真,波形不仅不如原本波形般规则,而且曲线之间还出现了未链接在一起的断裂,但随着信噪比的增大,与原有的波形的相似度也增大了,说信噪比越大,噪声对信号的影响也变小了。从加入噪声的图形与未加入噪声的对比中我们还可以看出噪声对时域图的变化明显比频域图的变化更为突出,白噪声在整个频谱内每个频点的能量为常数,且基本恒定,所以他对于时域的影响更大。
六、总结 在课程设计的这段时间内主要遇到了以下问题:
1)、对MATLAB中的函数的理解不够,对MATLAB的使用不够熟练,因此单学习MATLAB的基础知识就花了不少时间。在信号的调制时,一开始并不知道要用到modulate函数来对未调制信号进行调制,还很辛苦的在在网上找了一大堆程序来完成调制过程,后来经过和同学的交流,简化了程序,顺利地完成了对信号的调制。
2)、在做时域到频域的变化步骤时,由于要利用傅立叶函数进行变化,刚开始完全不知如何下手,很多书籍上有DFT,IFFT函数,不能明白其意思,后来问了同学,使用FFT可以使时域直接到频域进行变化,从而完成时域到频域的转换。
3)、在此次课程设计中遇到的棘手问题只要在MATLAB软件语言上的使用,虽然对FM调制有了一定理解,但却不能将其用相应的语言来表示出FM调制过程,在程序方面主要还是通过网络方面收集,并对其进行整理和分析,综合成相关的程序要求,顺利地完成了这次的课程设计。
七、体会 这次课程设计不仅让自己让学到很多东西,而且加了自己对FM调制及MATLAB软件了解,虽然设计时遇到许多难题,但通过自己努力,以及与同学一起探讨,逐步对自己的课题有了更加深入的了解。刚开始对自己所要做的FM调制原理没有搞清楚,书籍知识也只理解到皮毛而且对MATLAB软件的使用和其语言的使用也不是很会,虽然在数字信号处理过程中用过学过,但仅仅停留在表面上,只会简单的调试,对其未进行深入学习,这也增加了此次设计的对自己的难度,但通过相关书籍的阅读和与老师的交流,在老师,同学的帮助下,完成了课程设计的基本要求。
八、参考文献 [1] 曹志刚、钱亚生 《现代通信原理》清华大学出版社 [2] 程培青《数字信号处理》清华大学出版社 [3] 梁虹、梁洁、陈跃翘 《信号与系统分析及MATLAB实现》
电子工业出版社 [4] 聂翔飞、王海宝 《MATLAB程序设计及其在信号处理中的应用》
西南交通 大学出版社 [5] 邹传云《高频电子线路》
清华大学出版社 [6] 百度文库等网上资源. 九、 仿真代码 echo off close all clear all clc .........%调制信号的产生............. dt=0.001 t=-1.5:dt:1.5; %产生时间向量 Am=3; %设定调制信号幅度 fm=5; %设定调制信号频率 Mt=Am*cos(2*pi*fm*t); %生成调制信号 figure(1) plot(t,Mt); xlabel('t'); title('调制信号时域图M(t)'); fc=50; %设定载波频率 Ct=10*cos(2*pi*fc*t); %生成载波 figure(2) plot(t,Ct) ; %设定调频指数 xlabel('t') title('载波信号时域图C(t)'); fs=1000; Sfm=modulate(Mt,fc,fs,'FM'); %产生已调信号 %*****对调制信号m(t)求傅里叶变换**** ts=0.001; %抽样间隔 fs=1/ts; %抽样频率 df=0.25; %所需的频率分辨率,用在求傅里叶变换 %时,它表示FFT的最小频率间隔 Mt=Am*cos(2*pi*fm*t); %原调信号 fs=1/ts; if nargin==2 %用nargin获取输入参数个 n1=0; else n1=fs/df; end n2=length(Mt); n=2^(max(nextpow2(n1),nextpow2(n2))); M=fft(Mt,n); Mt=[Mt,zeros(1,n-n2)]; df1=fs/n; %以上程序是对调制后的信号求傅里变换 M=M/fs; %缩放,便于在频铺图上整体观察 f=[0:df1:df1*(length(Mt)-1)]-fs/2; %时间向量对应的频率向量 figure(11) plot(f,abs(fftshift(M))) %fftshift:将FFT中的DC分量移到频谱中心 xlabel('频率f') title('调制信号的频谱图'); figure(3) plot(t,Sfm); xlabel('t') title('调频信号的时域图'); axis([0 1.5 -2 2]); b=fft(Sfm,1024); %N=1024数据点数 f=(0:length(b)-1)*fs/length(b)-fs/2; figure(4) plot(f,abs(fftshift(b))); %FM信号频谱图 xlabel('频率分量(Hz)'); %频率分量 ylabel('频率谱能量(y)'); %频率谱能量 title('调频信号的频谱图'); ......%调频信号的解调......... nsfm=Sfm; for i=1:length(t)-1 %接受信号通过微分器处理 dift_nsfm(i)=(nsfm(i+1)-nsfm(i))./dt; end dift_nsfmn = abs(hilbert(dift_nsfm)); %hilbert变换,求绝对值得到瞬时幅度(包络检波)
zero=(max(dift_nsfmn)-min(dift_nsfmn))/2; dift_nsfmn1=dift_nsfmn-zero; figure(5) ..... %绘制无噪声条件下解调信号的时域图 plot((1:length(dift_nsfmn1))./1000,dift_nsfmn1./400,'r'); xlabel('时间t'); title('无噪声条件下解调信号的时域图'); %对已解调信号进行傅氏变换 x=fft(dift_nsfmn1,1024); f=(0:length(x)-1)*fs/length(x)-fs/2; x=x/1000; figure(6) plot(f,abs(fftshift(x)), 'r'); xlabel('频率f') title('已解调信号的频谱图') %有噪声情况下的调频信号 am=3; fm=5; fc = 50; %载波频率 fs = 1000; %采样频率 t = (0 :0.001:0.15); %时间区域 mt=am*cos(2*pi*fm*t) %输入信号 sfm = modulate(mt,fc,fs,'FM'); %调制信号 y1 = sfm + awgn(sfm,10,0); % FM信号加入噪声 figure(7) plot(t,y1); %FM信号时域图 xlabel('t(s)');ylabel('sfm'); title('加噪声之后的调频信号时域图,性噪比为SNR=10') axis([0 0.15 -2.5 2.5]); b=fft(y1,1024); f=(0:length(b)-1)*fs/length(b) -fs/2; figure(8) plot(f,abs(fftshift(b))); %FM信号频谱图 xlabel('频率分量(Hz)'); %频率分量 ylabel('频率谱能量(y)'); %频率谱能量 title('加噪声后的调频信号频谱图'); %对加性噪声调频信号进行解调 ny1=y1; for i=1:length(t)-1 %接受信号通过微分器处理 dift_ny1(i)=(ny1(i+1)-ny1(i))./dt; end dift_ny1n = abs(hilbert(dift_ny1)); %hilbert变换,求绝对值得到瞬时幅度(包络检波)
zero=(max(dift_ny1n)-min(dift_ny1n))/2; dift_ny1n1=dift_ny1n-zero; figure(9) ..... %绘制无噪声条件下解调信号的时域图 plot((1:length(dift_ny1n1))./1000,dift_ny1n1./400,'r'); xlabel('时间t'); title('加性噪声条件下解调信号的时域图'); %对已解调信号进行傅氏变换 x=fft(dift_ny1n1,1024); f=(0:length(x)-1)*fs/length(x) -fs/2; x=x/1000; figure(10) plot(f,abs(fftshift(x))); xlabel('频率f'); title('加噪声的已解调信号的频谱图');