通信系统设计与仿真实践课程设计实验报告课题名称:基于QPSK调制的OFDM通信系统仿真专业班级:通信081姓名:学号:起止时间:2011.9.5-2011.10.5浙江科技学院信息与电子工程学院目录一、课题内容………………………………………..….……...1二、设计目的………………………………………..….….…..1三、设计要求…………………………………………………..1四、实验条件…………………………………………..…..…..1五、系统设计………………………………………….…...…..11.通信系统的基本原理……………………………..12.所设计子系统的原理……………………….…...….…..4六、详细设计与编码…………………………….……………..51.设计方案……………………………….…….…..……..52.编程工具的选择…………………………………….…..73.编码与测试……………………………………....……..74.编码与调试过程………………………………..….…..135.运行结果及分析……………………………..…….…..14七、设计心得………………………………………..………..21八、参考文献……………………………….………..……….231一、课题内容基于MATLAB或C语言模拟仿真OFDM通信系统。主要功能:1、能对N*64(N为正整数)个输入数据在加噪后进行OFDM调制,并解调;2、能够画出输入数据与输出数据的星座图;3、能在不同信噪比信道的情况下,对信号进行误码分析。二、设计目的1、综合应用《Matlab原理及应用》、《信号与系统》、《通信原理》、《无线通信》等多门课程知识,使学生建立通信系统的整体概念;2、培养学生系统设计与系统开发的思想;3、培养学生利用软件进行通信仿真的能力。三、设计要求1、每3人一组,组内成员进行各自分工,分别完成不同子系统的详细功能;2、对通信系统有整体的较深入的理解,深入理解自己仿真部分的原理的基础,画出对应的通信子系统的原理框图;3、提出仿真方案;4、完成仿真软件的编制;5、仿真软件的演示;26、提交详细的设计报告。四、实验条件计算机、Matlab软件五、系统设计1.通信系统的原理通信系统的一般模型信息源:消息的生成者或来源;发送设备:将信源输出的信号变为适合信道传输的发射信号,且发送信号包含了原始信号的一切信息;信道:传输信号的通道,可以是有线的,也可以是无线的;噪声源:在信道中传输,噪声是绝不可避免的,噪声又可为加性噪声(线性的噪声)和乘性噪声(非线性的噪声),一般我们只考虑加性噪声;接收设备:从接收信号中提取我们所希望的信号,并将其转换成适合输出传感器的形式;受信者:消息接收者。在通信系统中,按信号参量的取值方式不同可把信号分为两类,信息源发送设备信道接收设备受信者噪声源通信系统的一般模型3即模拟信号和数字信号,再按照信道中传输信号的特征,来分为模拟通信系统和数字通信系统。下面分别来介绍模拟通信系统与数字通信系统模拟通信系统模型调制器:将原始电信号变换成其频带适合信道传输的信号;解调器:在接收端将信道中传输的信号还原成原始的电信号。数字通信系统模型信源编码/译码:主要完成A/D变换、数据压缩、加密等三部分功能;信道编码/译码:数据扩张,增加保镖,提高抗干扰能力等;基带脉冲生成器/抽样判决器:数字基带传输系统的重要部分;信息源调制器信道解调器受信者噪声源模拟通信系统信道编码器基带脉冲生成器数字调制器信道数字解调器采样判决器信道译码器信源译码器受信者数字通信系统噪声源信源编码器信息源4数字调制器/解调器:(1)将数字基带信号的频谱搬移到信道的频带之内,以便于在信道中传输;(2)便于对信道进行频分复用,从而有效地利用信道的频率资源。数字解调是数字调制的反过程。模拟通信系统与数字通信系统的比较模拟通信系统和数字通信系统各有自己的一些特点,但相对于模拟通信系统,数字通信系统有许多独特的优点,例如:数字通信系统抗噪能力强、便于加密、易复用也易压缩、易于集成化、便于用计算机处理数字信号、更适合多种数字业务,容易实现多网合一等。相应地,数字通信系统也有自己的缺点:它需要更宽的传输带宽和较复杂的同步系统等。2.所设计子系统的原理我所设计的子系统是模拟通信系统,模拟通信系统的主要内容是研究不同信道条件下不同的调制解调方法。调制可以分为三类,即调幅(AM)、调频(FM)、调相(PM),其中调幅又分为普通调幅(AM)、抑制载波的双边带调幅(DSB)、单边带调幅(SSB)。基带信号:(1)基带信号是由消息转化而来的原始模拟信号,它的频谱一般从零频附近开始,如语音信号为300~3400Hz;(2)在实际通信系统中,基带信号一般含直流和低频成分,不宜直接传输,这就需要把基带信号变换成其频带适合在信道中传输的信号,并可5在接收端进行反变换,完成这种变换和反变换作用的通常是调制器和解调器。已调信号:它有三个基本特征,即(1)携带有信息;(2)适合在信道中传输;(3)信号的频谱具有带通形式且中心频率远离零频,因而已调信号又称带通信号或频带信号。模拟通信的主要特点:简单、易于实现抗干扰能力差不易于保密通信设备不易于大规模集成不适应飞速发展的计算机通信的要求六、详细设计与编码1.设计方案本次仿真用两种方法-FM、DSB分别对模拟输入信号m(t)进行调制与解调,并对它们的仿真结果进行对比,现在分别对这两种仿真提出以下设计方案:(1)FM设计方案设调制信号为m(t),载波信号为)π2cos(tfcc,u(t)为调制后的信号,为相角向量,dem为解调后的信号,则:])(π2cos[)(0dmktftutfc6(2)DSB设计方案设调制信号为m(t),载波信号为)π2cos(tfcc,u(t)为调制后的信号,y为混频后的信号,DEM为调制后的频谱,dem为解调后的信号,则:u(t)=m(t)*c(t)调频器(幅度不变,只对相角进行调制)调制信号m(t)FM调制部分载波信号)π2cos(tfcc调制后的信号为:)(tu])(π2cos[0ttfcdmktf希尔伯特变换乘法器tfjce2u(t)FM解调部分z=u(t)+i*x(t)x(t)与u(t)满足希尔伯特变换对得一复数向量提取相角并校正得实际上是z的正交微分器dtd经过线性变换恢复原信号,即解调信号dem)π2/(*fskfdtddem7U(f)=0.5[M(f-fc)+M(f+fc)]y(t)=u(t)*c(t)Y(f)=0.5M(f)+0.25M(f-2fc)+0.25M(f+2fc)DEM=M(f)dem=IFFT[DEM]2.编程工具的选择本仿真所用的工具软件是MATLAB7.0。该软件的功能强大,最擅长矩阵处理,并在系统仿真、数字信号处理、图形图像分析、数理统计、通信及自动控制领域得到广泛应用,特别是MATLAB中Simulink在通信上的应用,它可以用来仿真完整的通信系统,同时MATLAB内部有许多与通信有关的函数,这样程序编写方便,也便于观察波形特征。3.编码与测试(1)FM主函数fm.m%fm.m%频率调制与解调的Matlab演示源程序DSB调制与解调乘法器频谱上的低通滤波器乘法器载波信号c(t)u(t)FFT混频信号m(t)y(t)Y(f)IFFTDEM解调信号demdem=real(ifft(DEM))*fs调制信号8%可以任意改原调制信号函数m(t)%本例调制信号为m(t)=sinc(100*t)echooffcloseallclct0=0.2;%信号的持续时间,用来定义时间向量ts=0.001;%抽样间隔fs=1/ts;%抽样频率%*********************************************************************fc=300;%载波频率,fc可以任意改变%*********************************************************************t=[-t0/2:ts:t0/2];%时间向量kf=100;%偏差常数df=0.25;%所需的频率分辨率,用在求傅里叶变换时,它表示FFT的最小频率间隔%*********************************************************************m=sinc(100*t);%调制信号,m(t)可以任意更改%*********************************************************************%*********************************************************************%求信号m(t)的积分,这是对离散信号求积分的好方法int_m(1)=0;fori=1:length(t)-1int_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,直接在主程序中表示%t1=[0:ts:ts*(length(u)-1)];9%z=hilbert(u);%yq=z.*exp(-j*2*pi*fc*t1);%dem=(1/(2*pi*kf))*diff(unwrap(angle(yq))*fs);%*********************************************************************%*********************************************************************%法二:通过调用子程序env_phas和loweq来实现解调功能[v,phase]=env_phas(u,ts,fc);%解调,求出u的相位phi=unwrap(phase);%校正相位角,使相位在整体上连续,便于后面对该相位角求导dem=(1/(2*pi*kf))*(diff(phi)*fs);%对校正后的相位求导%再经一些线性变换来恢复原调制信号%乘以fs是为了恢复原信号,因为前面使用了缩放%*********************************************************************disp('按任意键可以看到原调制信号和已调信号的曲线')pausefigure(1)subplot(2,1,1)plot(t,m(1:length(t)))%现在的m信号是重新构建的信号,%因为在对m求傅里叶变换时m=[m,zeros(1,n-n2)]xlabel('时间t')title('原调制信号的时域图')subplot(2,1,2)plot(t,u(1:length(t)))xlabel('时间t')title('已调信号的时域图')disp('按任意键可以看到原调制信号和已调信号的在频域内的图形')pausefigure(2)subplot(2,1,1)plot(f,abs(fftshift(M)))%fftshift:将FFT中的DC分量移到频谱中心