课程设计说明书 NO.1
应用MATLAB实现连续信号的采样与重构仿真 1、课程设计目的 信号与系统分析是通信工程专业的基础课,学好这一科对将来学习专业课有着不可估量的作用。本次课程设计,会引入一个模拟的信号,通过MATLAB软件的防真技术来实现对它的分析、理解与学习。 本次课程设计的目的是:增加对仿真软件MATLAB的感性认识,熟悉MATLAB软件平台的使用和MATLAB编程方法及常用语句;了解MATLAB的编程方法和特点;加深理解采样与重构的概念,掌握连续系统频率响应概念,掌握利用MATLAB分析系统频率响应的方法和掌握利用MATLAB实现连续信号采用与重构的方法;计算在临界采样、过采样、欠采样三种不同条件下重构信号的误差,并由此总结采样频率对信号重构误差的影响;初步掌握线性系统的设计方法,培养独立工作能力。 2、原理说明 2.1连续时间信号 系统是连续事物或各个部分的一个复杂的整体,有形或无形事物的组成体。系统可以分为即时系统与动态系统;连续系统与离散系统;线性系统与非线形系统;样时变系统和非时变系统等等。在连续时间系统中,如一个连续时间系统接收,输入信号x(t),并产生输出信号y(t)。连续时间信号:在连续时间范围内定义的信号值,信号的幅值可以是连续数值,也可以是离散数值。当信号幅值连续是,则称之为模拟信号。 2.2信号采样 取样定理论述了在一定条件下,一个连续时间信号完全可以用该信号在等时间间隔上的瞬时值(或称样本值)表示,这些样本值包含了连续时间信号的全部信息,利用这些样本值可以恢复原信号。可以说取样定理在连续时间信号与离散时间信号中架起了一座桥梁。其具体内容如下:取样定理:设为带限信号,带宽为F0,则当取样频,否则将导致x(n)的混叠现象。率Fs?2F0时,可从取样序列x(n)?xa(nTs)中重构带限信号的最低取样频率称为Nyquist(奈奎斯特)速率。 2.3重构仿真 Simulink 是MATLAB 中的一种可视化仿真工具,是实现动态系统建模、仿真和分析的一个集成 环境,广泛应用于线性系统、非线性系统、数字控制及数字信号处理
沈 阳 大 学 课程设计说明书 NO.2
的建模和仿真中。它包 括一个复杂的由接受器、信号源、线性和非线性组件以及连接件组成的模块库,用户也可以 根据需要定制或者创建自己的模块。Simulink 的主要特点在于使用户可以通过简单的鼠标操 作和拷贝等命令建立起直观的系统框图模型,用户可以很随意地改变模型中的参数,并可以 马上看到改变参数后的结果,从而达到方便、快捷地建模和仿真的目的。 所谓仿真(Simulation),就是模型实验,即通过对系统模型进行实验来研究一个存在的或设计中的系统。按照模型的建立方法,仿真方法可以分为3类:实物仿真、数学仿真和半实物仿真。 重构:从取样信号x(n)重构原信号是一个重要的问题。理想情况下,序列经Fs?2F0(奈奎斯特速率)取样,再经理想的低通滤波(截止频率为Fs)后,可重构出。 这时采用的内插公式为: xa(t)?n????x(n)sinc[F(t?nT)] (2-1) ss?2.4sinc序列 Sinc函数是Matlab软件中经常使用的函数之一,sinc序列定义为: ?sin?nn?0??n Sa(n)?? (2-2) ?1n?0?这个信号可以利用Signal Processing Toolbox中的函数sinc来实现: t1=-15:0.5:15; f1=sinc(t1/pi); stem(t1,f1); (利用这个信号可以构建我们所需要的Sa(t)信号。) 2.5MATLAB绘图的基本指令---plot plot是MATLAB绘图的基本指令,MATLAB中的绘图指令基本都是由它“衍生”而来,其基本指令形式有如下3种:
沈 阳 大 学 课程设计说明书 NO.3
plot(x1); plot(x2,y2); plot(x3,y3,x4,y4…); 其中,x1、x2、y2、x3、y3等符号均代表需要绘制的参数,它门可以是向量、矩阵、复数矩阵等,plot指令将根据不同的参数绘制不同的图形。 2.6多子图绘制指令---subplot MATLAB为方便用户进行仿真分析,设置了subplot指令,利用它可以在不同的子图下绘制图形,以进行对比分析。subplot的基本指令格式如下: subplot(m,n,k) %作出(mn)幅子图中的第k幅图形 subplot(‘position’,[left bottom width height]) %在人工指定位置作出字图。 subplot(m,n,k)指令表示在图形窗口中产生(mn)幅子图,k代表当前绘制子图号。如subplot(2,2,1)就是产生22幅子图,当前在子图1绘制图形。 2.7 MATLAB MATLAB(Matrix Laboratory)是1984年美国Math Works公司产品,Matlab的推出得到了各个领域专家学者的广泛关注,并越来越多的应用到我们的学习生活中来,是目前通信工程上最广泛应用的软件之一。Matrix Laboratory意为“矩阵实验室”,最初的MATLAB只是一个数学计算工具。但现在的MATLAB已经远不仅仅是一个“矩阵实验室”,它已经成为一个集概念设计、算法开发、建模仿真,实时实现于一体的集成环境,它拥有许多衍生子集工具。 MATLAB现已被广泛于数学、通信、信号处理、自动控制、神经网络、图形处理等许多不同学科的研究中。 3、实验内容 应用MATLAB实现连续信号现对信号Sa(t)的采样及由采样信号恢复Sa(t)的防真重构,利用Simulation建立模型,根据采样定理对Sa(t)分别进行临界采样,过采样和欠采样欠采样,并观察输出图形。再将临界采样信号,过采样信号及欠采样信号以及进行防真重构,得出重构图形。并将重够信号与原信号进行比较,观察误差,并做出分析。
沈 阳 大 学 课程设计说明书 NO.4
3.1 Sa(t)的临界采样及重构 当采样频率小于一个连续的同信号最大频率的2倍,即?s?2?m时,称为临界采样. Sa(t)的临界采样及重构程序代码; wm=1; %升余弦脉冲信号带宽 wc=wm; %频率 Ts?pi/wm; %周期 ws?2.4*pi/Ts; %理想低通截止频率 n=-100:100; %定义序列的长度是201 nTs=n*Ts %采样点 f?sinc(nTs/pi); %抽样信号 Dt=0.005;t=-20:Dt:20; fa?f*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t- nTs'*ones(1,length(t)))); %信号重建 t1=-20:0.5:20; f1=sinc(t1/pi); subplot(211); stem(t1,f1); xlabel('kTs'); ylabel('f(kTs)'); title('sa(t)=sinc(t/pi)的临界采样信号');
沈 阳 大 学 课程设计说明书 NO.5
subplot(212); plot(t,fa) xlabel('t'); ylabel('fa(t)'); title('由sa(t)=sinc(t/pi)的临界采样信号重构sa(t)'); grid; 程序运行运行结果图与分析 Sa(t)?sinc(t/pi) %利用sinc函数生成函数Sa(t) n=-170:170; %时域采样点 t=-45:Dt:45 %产生一个时间采样序列 fa=f*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t)))) %信号重构 sinc(t1/pi) %绘制f1的非的非零样值向量 plot(t,fa) %绘制fa的图形 stem(t1,f1) %绘制一个二维杆图 图1Sa(t)的临界采样信号、重构信号及两信号的绝对误差图
沈 阳 大 学