湖南大学信号与系统实验三_湖南大学信号与系统
湖南大学信号与系统实验三由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“湖南大学信号与系统”。
实验三 连续时间傅立叶级数
§3.1 连续时间傅立叶级数的性质 目的本练习要检验连续时间傅立叶级数(CTFS)的性质。相关知识
考虑信号x1(t)cos(0t)sin(20t),式中02。为了用MATLAB对该信号求值,利用时间向量 >> t=linspace(-1,1,1000);它创建了在1t1范围内1000个时间样本的向量。中等题
1.满足x1(t)x1(tT)的最小周期T是多少?利用这个T值,用解析法求x1(t)的CTFS系数。解:实验代码如下: function y=x1(t);y=(cos(2*pi*t)+sin(4*pi*t));end k=[-5:5];syms t;x2=x1(t)*exp((-i)*2*pi*t*k);x3=x1(-t)*exp((-i)*2*pi*t*k);fn1=int(x2,t,0,1);fn2=int(x3,t,0,1);f=abs(fn1+fn2);f1=double(f);stem(f1)
2.考虑信号y(t)x1(t)x1(t),利用CTFS的时间倒置和共轭性质求y(t)的CTFS系数。
解:实验代码如下: syms t x1 x x2;x1=cos(t*2*pi)+sin(2*t*2*pi);x3=subs(x1,'-t','t');x4=x1+x3;k=-5:5;x=x4*exp(-i*2*pi*k*t);x2=int(x,t,0,1);Fn=abs(x2);y=double(Fn);stem(y);
3.在1t1上画出信号y(t)。能预计出什么样的对称性?能够利用CTFS的对称性说明它吗? 解:实验代码如下:
syms t x1 y x3;x1=cos(t*2*pi)+sin(2*t*2*pi);x3=subs(x1,'-t','t');y=x1+x3;ezplot(y,[-1:0.01:1]);
*4.考虑信号z(t)x1(t)x1(t)。利用CTFS的时间倒置和共轭性质求z(t)的CTFS系数。
解:实验代码如下: t=linspace(-1,1,1000);k=[-5:5];syms t;z=x1(t)-conj(x1(t));z1=z*exp((-i)*2*pi*t*k);fn=int(z1,t,0,1);f=abs(fn);f1=double(f);stem(f1);
5.用信号x2(t)cos(0t)isin(20t)重复1~4。解:实验代码如下: function y=x8(t);y=cos(2*pi*t)+i*sin(4*pi*t);end
t=linspace(-1,1,1000);k=[-5:5];syms t;x=x8(t)*exp((-i)*2*pi*t*k);fn=int(x,t,0,1);f=abs(fn);f1=double(f);stem(f1);
t=linspace(-1,1,1000);k=[-5:5];syms t;y=x8(t)+x8(-t);y1=y*exp(-i*2*pi*t*k);fn=int(y1,t,0,1);f=abs(fn);f1=double(f);stem(f1);
y=x8(t)+x8(-t);ezplot(y,[-1,1]);
t=linspace(-1,1,1000);k=[-10,10];syms t;z=x8(t)-conj(x8(t));y=z*exp(-i*2*pi*t*k);fn=int(y,t,0,1);f=abs(fn);f1=double(f);stem(f1);
§3.2 连续时间傅立叶级数中的能量关系 目的分别在时域和频域求信号能量,验证帕斯瓦尔定理。中等题
1.求信号y(t)的CTFS表示。提示:利用CTFS性质,并根据周期为T的对称方波
s(t)1 0 具有CTFS系数ak为
asink(2)kk 的知识。
解:实验代码如下: syms t;k=[-20:20];ak=(sin((k+eps)*pi/2)./((k+eps)*pi))fk=ak.*(1-exp(-i.*(k+eps)*pi))stem(k,fk);stem(F);
tT4 T 4 tT
2.一个周期信号的基波分量的能量可以定义为a12a12,其中ak是该信号的CTFS。试计算输出y(t)和输入x(t)中的基波分量的能量,能量有增益或损失吗?能说明能量变化的原因吗? 解:实验代码如下: x=sym('cos(2*pi*t)^2');x1=int(x,0,0.5)y1=sin(pi/2)/pi*(1-exp(-i*pi))^2+sin(-pi/2)/(-pi)*(1-exp(i*pi))^2 3.利用帕斯瓦尔定理求该信号一个周期内的总能量,利用前100个频率,即ak,k100近似这个和式,这个和式收敛到何值?
解:实验代码如下: k=[-100:100];yk=(sin(pi.*(k+eps)/2)./((k+eps)*pi)).*(1-exp(-i.*(k+eps)*pi))y=abs(yk);p=sum(y.^2)%此处计算一个周期的功率
e=2*p
%周期为2,此处计算一个周期的能量 这个和式收敛于1;
4.为了观察该能量估计值收敛得有多快,试画出该信号能量估计值作为在和式中所用项数个数的函数图。会发现函数cumsum有助于创建下面部分和式的向量:
enknan2k
解:实验代码如下: k=[-20:20];yk=(sin(pi.*(k+eps)/2)./((k+eps)*pi)).*(1-exp(-i.*(k+eps)*pi))y=abs(yk)p=cumsum(y.^2)stem(k,2*p)
深入题
5.利用该信号能量的解析式求下面和式的闭式表达式:
(2k1)k012
提示:利用帕斯瓦尔定理将总能量的时域和频域表达式联系起来。解:实验代码如下: syms y x k;y=(1/(2*k+1))^2;y1=y*exp(i*k*2*pi*t);x=symsum(y,k,0,inf)§3.3 用傅立叶级数综合连续时间信号 目的学习CTFS系数的连续时间信号的傅立叶分析与综合。
基本题
对于这些习题要用少数几个非零的傅立叶级数系数构造周期信号的符号表达式。3个信号的基波周期和非零的CTFS系数给出如下:
1.x1(t):T1;a1a15;a3a32111****2.x2(t):T2;a1ai;a4a1i;a2a2i;a3a34i 248111****3.x3(t):T4;a1ai;a3ai;a4a1i;a2a234i248对每一信号创建连续时间信号的符号表达式,并用ezplot画出信号的两个周期。
若已知x2(t)的图,如何能由两个信号的傅立叶级数系数预计x3(t)的图?如何本来就能根据傅立叶系数预计出3个信号中每一个都应该是实信号? 解:代码如下: syms t;x1=simple(5*(exp(i*2*pi*t)+exp(-i*2*pi*t))+2*(exp(i*6*pi*t)+exp(-i*6*pi*t)))ezplot(t,x1)axis([0,2,-10,10])
syms t;x2=simple(i*(exp(i*pi*t)-exp(-i*pi*t))-1/2*i*(exp(i*2*pi*t)-exp(-i*2*pi*t))+1/4*i*(exp(i*3*pi*t)-exp(-i*3*pi*t))-1/8*i*(exp(i*4*pi*t)-exp(-i*4*pi*t)))ezplot(t,x2)axis([0,4,-10,10])
syms t;x3=simple(i*(exp(i*1/2*pi*t)-exp(-i*1/2*pi*t))+1/2*i*(exp(i*pi*t)-exp(-i*pi*t))+1/4*i*(exp(i*3/2*pi*t)-exp(-i*3/2*pi*t))+1/8*i*(exp(i*2*pi*t)-exp(-i*2*pi*t)))ezplot(t,x3)axis([0,8,-10,10])
中等题 定义
k 01 sig(kn)0 k 0
1 k 0并考虑具有下面基波周期T和傅立叶级数系数ak的信号:
12 kKx(t):T5;a4.4 k1k0 kK
1 kKsign(k)k5.x5(t):T20;ak(2)0 kK1 kKx6(t):T5;ak2k20 kK6.
对每一信号K=1,3和9。对每个K值,创建对xn(t)(n4,5,6)的符号表达式,并用ezplot画出各信号的两个周期。如果信号为复数,要单独分开画出它们的实部和虚部。解:代码如下:
ak=input('请输入恰当傅里叶系数的表达式 ')n=input('请输入K的值
');T=input('请输入周期T ');w=2*pi/T;
N=-n:n;Ak=subs(ak,k,N);bb=Ak.*exp(i*N*w*t);sum1=sum(bb);
disp('xn的符号表达式是: ')sum1 rx=real(sum1);figure(1);ezplot(rx)
ix=imag(sum1);if ix ~=0
figure(2);
ezplot(ix)end
7.怎样本就能由傅立叶级数系数预计到哪个信号应该是实信号? 解:如果傅立叶级数系数关于虚轴对称,这信号是实信号 深入题
8.这一部分要写出一个M文件,当CTFS系数在区间KkK以外是零时,该M文件从CTFS系数综合出信号x(t)。该M文件的第一行应该读出 function x=ctsynth(a,T,K)其中T是x(t)的基波周期,a是包含KkK内的CTFS系数ak的符号阵列。务必用程序确认a是一个具有2K+1个元素的符号阵列。这个函数应该产生对信号x(t)的符号表达式x。用在基本题和中等题中的某些信号验证这个函数,例如有下列程序应该创建1中x1(t)的符号表达式 >> T=1;>> K=3;>> a=sym('[2 0 5 0 5 0 2]');>> x=ctsynth(a,T,K);解:代码如下: function x=ctsynth(a,T,K);syms t;k=-K:K;if 2*K+1~=numel(a)a=zeros(1,2*K+1);return;end;nf=a.*exp(i*k*2*pi*t/T);f=symsum(nf);x=simple(f)§3.4方波和三角波的傅立叶表示 目的这个练习要用傅立叶级数分析两个常见的连续时间信号——周期方波和周期三角波,对每个信号将研究截断的傅立叶级数综合公式,特别要研究随N的增大,xN(t)是如何收敛的? 方波
考虑一个基波周期T=2的周期方波,在1t1区间内该方波由下式表示,11 t 2
x(t)
10 t 2如下图示:
这个练习将分析方波的傅立叶级数表示,且主要集中在方波的不连续点。1.利用int创建一个符号表达式a,它包含了该方波每个k值的傅立叶级数系数。这个符号表达式是k的函数。例如,a5由numeric(a,5,'k')给出。尽量简化这个表达式。利用numeric和stem画出10k10内的傅立叶级数的系数。解:代码如下:(注:subs 和numberic用法一样)syms t;k=-10:10;a=int(cos(k*pi*t),-1/2,1/2);stem(k,subs(a))
2.对N=1,3,5和9,对xN(t)创建符号表达式。利用ezplot画出区间1t1内的xN(t),用hold将4张图画在同一幅图上。
解: syms k t;T=2;w=2*pi/T;f=sym('1-abs(t)');
disp('傅里叶系数如下')n=-10:10;ak=(1/T)*int(f*exp(-1i*n*w*t),t,0,2);an=subs(ak,k,n);stem(n,an);
p=1;figure(2);for N=[1 3 5 9] a=-N:N;x1=subs(ak(11-N:11+N),k,a).*exp(1i*a*w*t);xn=simple(sum(x1));subplot(2,2,p)p=p+1;ezplot(xn);title(['x1',num2str(N)])end
q=1;figure(3)for N=[1 3 5 9] a=-N:N;x2=subs(ak(11-N:11+N),k,a).*exp(1i*a*w*t);yn=diff(simple(sum(x2)));subplot(2,2,q)q=q+1;ezplot(yn);title(['x2',num2str(N)]);end
3.在t时,xN(t)的值是多少?这个值随N增加而变化吗? 解:xN(t)值是0.5,这个值不随N增加而变化
4.不用明确地求出xN(t),对每个N值估计一下超量误差值。这个超量误差随N增加而减小吗?随N,如何预期这个值的变化?
解:这个超量误差随N增加而减小;当,这个值的趋向0。因为当,近似程度越高,因此图象越接近与方波。从上面的图形也可以看出这一现象。三角波
考虑一个基波周期T=2的周期三角波。在1t1区间上,该三角波由x(t)1t给出。虽然方波有一个零阶不连续点,而三角波则有一个一阶不连续点。12下面的习题要分析该三角波的傅立叶级数表示。它的特性行为与方波的傅立叶级数表示作比较。
5.利用int创建一个符号表达式a,它包含了三角波对每个k值的傅立叶级数系数。这个符号表达式是k的函数。例如,a5由numeric(a,5,'k')给出。尽量简化这个表达式。利用numeric和stem画出10k10内的傅立叶级数的系数。解:代码如下: function y=x(t)y=1-abs(t);end
t=linspace(-1,1,1000);k=[-10:10];syms t;f=x(t)*exp((-1i)*pi*t*k);fn=int(f,t,0,2)/2;f1=abs(fn);f2=double(f1);stem(f2)
6.对N=1,3,5和9,对xN(t)创建符号表达式。利用ezplot画出区间1t1内的xN(t),用hold将4张图画在同一幅图上。解:代码如下:
t=linspace(-1,1,1000);syms t;f=x(t)*exp((-1i)*pi*t*k);ak=int(f,t,0,2)/2;p=1;for N=[1 3 5 9] a=-N:N;x1=subs(ak(11-N:11+N),k,a).*exp(1i*a*w*t);xn=simple(sum(x1));subplot(2,2,p)p=p+1;ezplot(xn,[-1,1]);title('Xn(t)');end
7.增大N,在t=0,xN(t)是怎样收敛的?呈现的最大误差
maxx(t)xN(t)
1t1随N增大而减小吗?将这一特性行为与截断的方波傅立叶级数近似比较情况怎样?
解:增大N,在t=0,收敛于1,呈现的最大误差随N增大而减小。这一特性行为与截断的方波傅立叶级数近似比较情况相同,即越来越近似于原信号 8.能用diff分析xN(t)是如何近似三角波的导数的。对N=9,利用diff从xN(t)的符号表达式创建对dxN(t)dt符号表达式。在1t1区间上画出这一导数。这个信号与2中的x9(t)比较如何?怎样解释这一相似性? 解:代码如下: t=linspace(-1,1,1000);syms t;f=x(t)*exp((-1i)*pi*t*k);ak=int(f,t,0,2)/2;
x2=subs(ak(11-9:11+9),k,a).*exp(1i*a*w*t);yn=diff(simple(sum(x2)));ezplot(yn);title(['diff_x']);
结果分析:这个信号与2中的x9(t)相比较,基本相近似;解释:一个函数可以看做由很多个正弦函数的叠加得到。实验总结:
通过这次实验,对傅里叶级数的性质有了更深的认识,同时能够求解时域和频域的能量,以此验证帕塞瓦尔定理的正确性。基本的掌握了CTFS系数的连续时间信号的傅立叶分析与综合。能够用傅立叶级数分析两个常见的连续时间信号——周期方波和周期三角波。