MATLAB仿真周期矩形信号傅里叶级数展开

标签:
股票 |
分类: 信号系统MATLAB仿真 |
http://s9/bmiddle/001DLjb7gy6Lxjp9mFaf8&690
其傅里叶级数系数为
http://s5/bmiddle/001DLjb7gy6Lxjqb0cka4&690
由于矩形信号串x(t)为实值周期函数,且为偶函数,所以傅里叶级数系数xn为实数。由此得到三角函数形式的傅里叶级数展开的系数为
http://s4/bmiddle/001DLjb7gy6Lxjrvx6j23&690
周期信号的三角函数形式的傅里叶展开为
http://s7/bmiddle/001DLjb7gy6LxjsP9b056&690
下面图所示,给出了T1=T0/2=2的离散幅度谱。通过n=1,…,9次谐波叠加后的波形可以看出,随着展开次数的增加,近似的波形将愈加接近原信号。
http://s5/mw690/001DLjb7gy6LxhAXoK894&690
http://s6/mw690/001DLjb7gy6LxhB1r8145&690
http://s2/mw690/001DLjb7gy6LxhB53xL01&690
http://s15/mw690/001DLjb7gy6LxhI08Lsfe&690
http://s12/mw690/001DLjb7gy6LxhBbMGTbb&690
http://s3/mw690/001DLjb7gy6LxhBfqV4b2&690
http://s14/mw690/001DLjb7gy6LxhBj3yJcd&690
====================================================================
程序清单:
% 2014-8-25
% 矩形信号串---信号分解与合成
% T1:矩形信号区间为(-T1/2,T1/2)
% T0: 矩形信号串周期
% m:
T1=2;T0=4;m=9;
t1=-T1/2:0.01:T1/2;
t2=T1/2:0.01:(T0-T1/2);
t=[(t1-T0)';(t2-T0)';t1';t2';(t1+T0)'];
n1=length(t1);
n2=length(t2);
f=[ones(n1,1);zeros(n2,1);ones(n1,1);zeros(n2,1);ones(n1,1)];
y=zeros(m+1,length(t));
y(m+1,:)=f';
figure(1);
h=plot(t,y(m+1,:)); % 绘制周期矩形信号串
set(h,'LineWidth',3*get(h,'LineWidth')); % 设置图形的线宽为原来的3倍
axis([-(T0+T1/2)-0.5,(T0+T1/2)+0.5,0,1.2]);
set(gca,'XTick',-T0-1:1:T0+1);
title('矩形信号串');
grid;
figure(2);
a=T1/T0;
pause;
freq=[-20:1:20];
mag=abs(a*sinc(a*freq));
h=stem(freq,mag);
set(h,'LineWidth',3*get(h,'LineWidth'));
x=a*ones(size(t));
title('离散幅度谱');
xlabel('f');
grid;
figure(3);
for k=1:m
end
pause;
figure(4)
h=plot(t,y(1:m+1,:));
%axis([-T0/2,T0/2,-0.5,1.5]); % 显示一个方波
axis([-6,6,-0.5,1.5]); % 显示矩形脉冲串
title('各次谐波叠加');
xlabel('t');
grid;
=======================================================
参考书: 赵静,张瑾等. 基于MATLAB的通信系统仿真[M]. 北京:北京航空航天大学出版社,2007. 33-35