西南科技大学课程设计报告课程名称:通信系统课程设计设计名称:基于MATLAB的FM通信系统设计姓名:容晓庆学号: 20096025 班级:通信0901班指导教师:侯宝林起止日期: 2012.6.17-2012.6.25西南科技大学信息工程学院课程设计任务书学生班级:通信0901班学生姓名:容晓庆学号:设计名称:基于MATLAB的FM通信系统仿真起止日期:2012.06.10-2012.06.25 指导教师:侯宝林课程设计学生日志课程设计评语表基于MATLAB 的FM 通信系统仿真一、设计目的和意义(1)熟悉MATLAB 文件中M 文件的使用方法,包括函数、原理和方法的应用。
(2)加深对FM 信号调制原理的理解。
(3)增强在通信原理仿真方面的动手能力与自学能力。
(4)在做完FM 调制仿真之后,在今后遇到类似的问题,学会对所面对的问题进行系统的分析,并能从多个层面进行比较。
二、设计原理图1 模拟通信系统模型调制器: 使信号与信道相匹配, 便于频分复用等。
发滤波器: 滤除调制器输出的无用信号。
收滤波器: 滤除信号频带以外的噪声,一般设N(t)为高斯白噪声,则Ni(t)为窄带白噪声。
在通信系统中一般需要将信号进行相应调制,以利于信号在信道上的传输,调制是将用原始信号去控制高频振荡信号的某一参数,使之随原始信号的变化而成规律变化。
调制可分为线性调制和非线性调制。
线性调制有AM 、DSB 等,非线性调制有FM 、PM 等,这里主要讨论FM 调制通信系统 1.FM 调制原理角调制不是线性调制,角调制中已调信号和调制信号频谱之间不是线性关系而是产生出新的与频谱搬移不同的新的频率分量,呈现非线性特性,故又成为非线性调制。
FM 调制中瞬时角频率是关于调制信号的线性函数, 瞬时角频率偏移量 )(t f k w FM =∆,则, 瞬时角频率为 )(t f k w w FM c += FM k 为频偏指数 则, 调频信号为 ))(cos()(dt t f k t w S FM c t FM ⎰+= 当调制信号是单频余弦时,调制信号为)sin cos()cos cos()(t w t w A dt t w A k t w A S m FM c m m FM c t FM β+=⎰=+ ,FM β为调频指数,m m FM FM w A k /=β; 调制信号的信号的产生m图 2()()()FM m t dt PM S t →•→→⎰ 图 3图2为调频信号的直接产生,图3为调频信号的间接产生,在间接产生方法中,因为实际调相的相位调节器的范围在(-π,π),故而间接调频只能用于相位偏移和频率偏移不大的窄调制情况,而直接调频则常用于宽带调制情况。
窄带角频率调制时,最大瞬时相位偏移远小于30°即 6/max )(π<<⎰dt t f FM k调频信号的时域表达式 ))(cos()(dt t f k t w S FM c t FM ⎰+=,当为窄带调制时,tw dt t f Ak t w A S c FM c t FM sin ])([cos )(⎰-=假设调制线号的频谱为F(W),而且假设飞f (t )的平均值为零,有傅氏变换可得)]/()()/()([)]()([2/)(c c c c FM c c w NBFM w w w w F w w w w F Ak w w w w A S ++---+++-=σσπ此时调频信号的带宽为调制信号的两倍。
其相应图形如下:调制信号频谱调频信号频谱2.解调原理 1)非相干解调由于调频信号的瞬时频率正比于调制信号的幅度,因而调制信号的调节器必须产生正比于输入频率的输出电压,即输入为调制信号为])(cos[)(⎰+=dt t f k t w A t S FM c i ,则 解调器的输出应为 )()(t f k t S FM O ∝最简单的解调器是鉴频器 原理图如下:包络检波输出为 So(t)= FM k d k )(t f , d k 为鉴频器的灵敏度,微分器和包络检波构成鉴频器。
2)相干解调带通滤波器的作用是抑制信号带宽以外的噪声,低通滤波器输出 2/)()(t f Ak t S FM O =; 上图所示的相干解调法只适用与窄带调频3.调频系统的抗噪声性能主要讨论非相干解调的抗噪声性能,已知输入信号为))(cos()(dt t f k t w S FM c t FM ⎰+=,输入功率 22i A S =,输入噪声FM o i B n N =,信噪比为FM B n A A Ni Si 02/*/=,非相干解调的解调器的输入端是调频信号与噪声的叠加,为)()()()(t n t S t n t S i FM i i +=+,在大信噪比情况下,解调器的输出端的信噪比为222233()8ofoo mA K m t S N n f π=,考虑单频余弦信号调制,故可得大信噪比情况下的信噪比增益为22232A ooFMfi o mi S N G m S n f N ==,单频时,带宽)(2m FM f f B +∆=,所以增益可化解为 )1(3+=FM FM FM G ββ.由此可看出,性噪比增益和调频指数的三次方成正比。
加大调频指数FM β,可使调频系统的抗噪声性能迅速改善。
二. 详细设计步骤1. 产生调制信号和载波信号,画出相应的时域图和频域图2.利用modulate函数产生调制信号3.对调制信号进行解调4.对信道中加入加性高斯白噪声,绘制调频信号的时域图和频域图5.绘制加噪声的调频信号的解调时域图和频域图二、设计结果及分析1.对已调制未加噪声的调频信号而言,在时域图中出现疏密交错的变化规律,有理论和实际都可以看到,在瞬时最大正频偏处,波形最密;在瞬时最低处,波形最疏..2.由图可知,输入的调制信号通过调制之后,波形发生了明显的变化,原本规则的正弦信号变成了不规则的上下起伏波动的图形,而且调制后的图形也没有原本正弦信号般圆滑,出现了十分尖锐的突起。
说明正弦信号通过FM调制之后波形发生了明显的改变。
通过频谱图的对照比较我们可以看出FM调制并不是使原正弦信号的频谱在原来位置上通过移动得到调制波形,调制后的波形与调制前的完全不同,这证明FM调制并不是线性的,而是非线性的.3.改变抽样频率,可以看到当抽样频率低于调制信号的时,无法得出信号波形,由奈奎斯特定义可以知道,当抽样频率低于调制信号时,信号会混叠失真.4. 加入噪声后时域波形与原来的时域波形相比,波形明显失真,波形不仅不如原本波形般规则,而且曲线之间还出现了未链接在一起的断裂,但随着信噪比的增大,与原有的波形的相似度也增大了,说信噪比越大,噪声对信号的影响也变小了。
从加入噪声的图形与未加入噪声的对比中我们还可以看出噪声对时域图的变化明显比频域图的变化更为突出,白噪声在整个频谱内每个频点的能量为常数,且基本恒定,所以他对于时域的影响更大。
三、体会此次课程设计让自己对FM调制及MATLAB软件有了较深了解,设计时遇到许多难题,但通过自己努力,以及与同学一起探讨,以及在老师的帮助下,逐步对自己的课题有了更加深入的了解,刚开始对自己所要做的FM调制原理没有搞清楚,书籍知识也只理解到皮毛而且对MATLAB软件的使用和其语言的使用也不是很会,虽然在数字信号处理过程中学过,但仅仅停留在表面上,只会简单的调试,对其未进行深入学习,这也增加了此次设计的对自己的难度,但通过相关书籍的阅读和与老师的交流,在老师,同学的帮助下,完成了课程设计的基本要求。
在课程设计的这段时间内主要遇到了以下问题:1、对MATLAB中的函数的理解不够,在信号的调制时,一开始并不知道要用到modulate函数来对未调制信号进行调制,还很辛苦的在在网上找了一大堆程序来完成调制过程,后来经过同学的提醒,简化了程序,简单的完成了对信号的调制。
2、在做时域到频域的变化步骤时,由于要利用傅立叶函数进行变化,刚开始完全不知如何下手,很多书籍上有DFT,IFFT函数,不能明白其意思,后来通过老师的指点,使用FFT可以使时域直接到频域进行变化,从而完成时域到频域的转换。
3、加噪声是对系统抗噪声性能的一种测试,用awgn这个函数时,不知是什么原因,系统总是报错,后来经过对软件的重新启动又可以执行相关功能了,软件的性能也很重要呀。
4、在此次课程设计中遇到的棘手问题只要在MATLAB软件语言上的使用,虽然对FM 调制有了一定理解,但却不能将其用相应的语言来表示出FM调制过程,在程序方面主要还是通过网络方面收集,并对其进行整理和分析,综合成相关的程序要求,简单的完成了这次的课程设计。
四、参考文献[1] 曹志刚钱亚生《现代通信原理》.清华大学出版社[2] 程培青《数字信号处理》清华大学出版社[3] 聂翔飞、王海宝《MATLAB程序设计及其在信号处理中的应用》西南交通大学出版社[4]沈伟慈《通信电路》西安电子科技大学出版社[5] 百度文库等网上资源.echo offclose allclear allclc.........%调制信号的产生.............dt=0.001; %设定时间步长t=0:dt:1.5; %产生时间向量am=5; %设定调制信号幅度fm=5; %设定调制信号频率mt=am*cos(2*pi*fm*t); %生成调制信号figure(1)plot(t,mt);xlabel('t');title('调制信号时域图');fc=50; %设定载波频率ct=cos(2*pi*fc*t); %生成载波figure(2)plot(t,ct) ; %设定调频指数xlabel('t')title('载波信号时域图');fs=1000; %调制,产生已调信号sfm=modulate(mt,fc,fs,'FM');ts=0.001; %抽样间隔fs=1/ts; %抽样频率df=0.25; %所需的频率分辨率,用在求傅里叶变换%时,它表示FFT的最小频率间隔%*****对调制信号m(t)求傅里叶变换*****mt=am*cos(2*pi*fm*t); %原调信号fs=1/ts;if nargin==2n1=0;elsen1=fs/df;endn2=length(mt);n=2^(max(nextpow2(n1),nextpow2(n2)));M=fft(mt,n);mt=[mt,zeros(1,n-n2)];df1=fs/n; %以上程序是对调制后的信号u求傅里变换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 0.15 -1 1]);b=fft(sfm,1024);f=(0:length(b)-1)*fs/length(b) -fs/2;figure(4)plot(f,abs(fftshift(b))); %FM信号频谱图xlabel('Frequence(Hz)'); %频率分量ylabel('Power Spectrum(y)'); %频率谱能量title('调频信号的频谱图');......%调频信号的解调.........nsfm=sfm;for i=1:length(t)-1 %接受信号通过微分器处理diff_nsfm(i)=(nsfm(i+1)-nsfm(i))./dt;enddiff_nsfmn = abs(hilbert(diff_nsfm)); %hilbert变换,求绝对值得到瞬时幅度(包络检波)zero=(max(diff_nsfmn)-min(diff_nsfmn))/2;diff_nsfmn1=diff_nsfmn-zero;figure(5)..... %绘制无噪声条件下解调信号的时域图plot((1:length(diff_nsfmn1))./1000,diff_nsfmn1./400,'r');xlabel('时间t');title('无噪声条件下解调信号的时域图');%对已调信号进行傅氏变换x=fft(diff_nsfmn1,1024);f=(0:length(x)-1)*fs/length(x) -fs/2;x=x/1000;figure(6)plot(f,abs(fftshift(x)));xlabel('频率f')title('已解调信号的频谱图')%有噪声情况下的调频信号fc = 50; %载波频率fs = 1000; %采样频率t = (0 :0.001:0.15); %时间区域am=5;fm=5;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('加噪声之后的调频信号时域图,性噪比为10')axis([0 0.15 -1 1]);b=fft(y1,1024);f=(0:length(b)-1)*fs/length(b) -fs/2;figure(8)plot(f,abs(fftshift(b))); %FM信号频谱图xlabel('Frequence(Hz)'); %频率分量ylabel('Power Spectrum(y)'); %频率谱能量title('加噪声后的调频信号频谱图');%对加性噪声调频信号进行解调ny1=y1;for i=1:length(t)-1 %接受信号通过微分器处理diff_ny1(i)=(ny1(i+1)-ny1(i))./dt;enddiff_ny1n = abs(hilbert(diff_ny1)); %hilbert变换,求绝对值得到瞬时幅度(包络检波)zero=(max(diff_ny1n)-min(diff_ny1n))/2;diff_ny1n1=diff_ny1n-zero;figure(9)..... %绘制无噪声条件下解调信号的时域图plot((1:length(diff_ny1n1))./1000,diff_ny1n1./400,'r');xlabel('时间t');title('加性噪声条件下解调信号的时域图');%对已调信号进行傅氏变换x=fft(diff_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('加噪声的已解调信号的频谱图');。