%产生信号f(t)=Sa(t),作为被采样的信号 a=-10*pi;%a,b定义取值区间,值可调 b=10*pi;
Dt=pi/6;%Dt越小近似程度越好
[f,t,Wm]=Sa(a,b,Dt);%原始信号(严格来说是原始信号的模拟)
%绘出原始信号 subplot(411); plot(t,f); xlabel('t'); ylabel('f(t)');
title('原始信号f(t)=sa(t)');
%%%%%%%%%%%%%%%信号采样%%%%%%%%%%%%% %对原始信号进行采样
%改变k值大小观察在满足和不满足采样定理的情况下重构信号,采样信号及误差信号的波形 k=6;
Ws=k*Wm;%采样频率 Ts=2*pi/Ws;%采样间隔 nTs=a:Ts:b;%时域采样点
fs=sinc(nTs/pi);%采样信号
%绘制出采样信号 subplot(412); stem(nTs,fs); xlabel('kTs'); ylabel('fs(t)'); title('采样号fs(t)');
%%%%%%%%%%%%%%%%信号重构%%%%%%%%%%%%%%%%%%%% %调用重构函数完成对采样信号的重构 fa=revaluation(t,fs,Ts,nTs,Wm);
26
%%%%%%%%%%%%%%%%%%计算误差%%%%%%%%%%%%%%%%%% %计算重构信号与原始信号的误差 error=abs(fa-f);
%用坐标图直观表示出两者的误差 subplot(414); plot(t,error); xlabel('t'); ylabel('error(t)');
title('重构信号fa(t)与原信号的误差');
子程序一:定义Sa(t) function [f,t,Wm]=Sa(a,b,Dt) %定义Sa(t)信号
%该信号是一个带限信号,其截止频率Wm=1
Wm=1;%Sa(t)信号截止频率为1 t=a:Dt:b;%取值区间
%由MATLAB的抽样函数sinc(t)=sin(pi*t)./pi*t表示sa(t) %用连续信号在等时间间隔点的样值来近似表示连续信号 f=sinc(t/pi);
子程序二:重构函数
function fa=revaluation(t,fs,Ts,nTs,Wm) %t原始信号取值区间 %fs采样信号
%Ts为采样间隔(奈奎斯特Nyquist间隔) %nTs为时域采样点
Wc=Wm;%Wc用于重构信号的低通滤波器的截止频率,Wm≤Wc≤Ws/2 %根据f(t)与f(nTs)的关系式重构信号
fa=fs*Ts*Wc/pi*sinc((Wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));
%绘制出重构信号 subplot(413); plot(t,fa);
27
xlabel('t'); ylabel('fa(t)'); title('重构信号fa(t)');
六.实验报告
1.改变k值观察并分析重构信号,采样信号及误差信号的波形。
2.试自己编程产生一个带限信号进行采样重构分析Wc与Wm之间的关系。 3.分析课本中时域和频域信号采样及恢复的过程,思考频域采样定理的仿真实现。
28
实验八 连续时间系统的复频域分析
一.实验目的
1、熟悉MATLAB语言编程方法及常用语句; 2、观察频域和复频域的关系;
3、熟练掌握用MATLAB实现连续系统的零极点分析。
二.实验原理
1、用MATLAB绘制拉普拉斯变换的曲面图 连续时间函数f(t)的拉普拉斯变换定义为:
F(s)??f(t)e?stdt
???其中s???j?,若以?为横坐标,j?为纵坐标,复变量S就构成了一个复平面,称为S平面。
显然,F(S)是复变量S的复函数,为了便于理解和分析F(S)随S的变化规律,可以将F(S)写成:
F(S)?F(S)ej?(s)
其中F(S)为复信号F(S)的模,而?(s)为F(S)的相角。
从三维几何空间的角度来看,F(S)和?(s)对应着复平面上的两个曲面,如果画出他们的三维曲面图,就可以直观地分析连续信号的拉普拉斯变换F(S)随复变量S的变化。 1、 由拉普拉斯曲面图观察频域与复频域的关系
29
若信号f(t)的傅立叶变换存在,则其拉普拉斯变换F(S)与傅立叶变换F(j?)存在如下关系:
F(j?)?F(S)S?j?
即在信号拉普拉斯变换F(S)中令??0,就可得到信号的傅立叶变换。从三维几何空间的角度来看,信号f(t)的傅立叶变换F(j?)就是其拉普拉斯变换曲面图中虚轴所对应的曲线。我们将在虚轴上进行剖面来直观地观察信号拉普拉斯变换与傅立叶变换的对应关系。 2、 零极点分布
系统函数H(S)的零、极点的分布完全决定了系统的特性。系统函数的零、极点分布具有非常重要的意义。通过对系统函数零、极点的分析,可以分析连续系统的以下几个方面的特性:
? 系统冲激响应h(t)的时域特性; ? 判断系统的稳定性;
? 分析系统的频率特性H(j?)(幅频特性和相频特性)。
通过系统函数零极点分布来分析系统特性,首先就要求出系统的零极点,然后绘出零极点图。 设连续系统的系统函数为:
H(S)?B(S) A(S)则系统函数的零点和极点位置可以用MATLAB的多项式求根函数roots()来求,调用函数的命令格式为: p=roots(A)
其中A为待求根的关于S的多项式的系数构成的行向量,返回向量p则是包含该多项式所有根位置的列向量。例如多项式为:
A(S)?S2?3S?4
则MATLAB命令为: A=[1 3 4]; P=roots(A) 运行结果为:
30