周期信号的傅里叶级数分解(以方波为例,含MATLAB代码)

时间:2024-03-27 16:18:53

周期信号的傅里叶级数分解(以方波为例)

1、什么是周期信号?
周期信号是经过一定时间可以重复的信号,满足条件:x(t)=x(t+nT);n=1,2,3,4,…
其中,T称为信号的周期,其倒数f=1/T为信号的频率。
2、周期信号的三角函数分解
周期信号可以通过三角正交函数集{cos(2
piif0t),sin(2piif0t},i=1,2,3,4,…来表示
注意三角函数正交特性:函数集合中任意两个函数相乘、积分为零。
3、狄利克雷条件(Dirichlet Conditions)是一个信号存在傅里叶变换的充分不必要条件。该条件包括三方面:
(1)在一个周期内,连续或只有有限个第一类间断点;
(2)在一个周期内,极大值和极小值的数目应该是有限个;
(3)在一个周期内,信号是绝对可积的。
4、周期信号的三角函数分解和合成
周期信号的傅里叶级数分解(以方波为例,含MATLAB代码)
5、方波信号及其傅里叶表示形式
周期信号的傅里叶级数分解(以方波为例,含MATLAB代码)
6、方波信号的合成(静态)
%Demonstration of Fourier Composition of the Square Wave Signals
f=100; %方波信号的频率,数值可以为1Hz,10Hz,100Hz,1000Hz…
T=1.0/f; %2个信号周期
N=1024; %2个周期采集1024点,平均每个周期为512点
x=linspace(0,2
T,N);
%图形1显示方波函数1阶到8阶傅里叶级数的合成情况
figure(1)
y1=sin(2pifx);
subplot(4,1,1);
plot(x,y1,‘LineWidth’,2);
y2=y1+1/3
sin(32pifx);
subplot(4,1,2);
plot(x,y2,‘LineWidth’,2);
y3=y2+1/5sin(52pifx);
subplot(4,1,3);
plot(x,y3,‘LineWidth’,2);
y4=y3+1/7
sin(72pifx);
subplot(4,1,4);
plot(x,y4,‘LineWidth’,2)
周期信号的傅里叶级数分解(以方波为例,含MATLAB代码)
%图形2显示方波函数1阶到16阶傅里叶级数的合成情况
figure(2)
y5=y4+1/9sin(92pifx);
subplot(4,1,1);
plot(x,y5,‘LineWidth’,2);
y6=y5+1/11
sin(112pifx);
subplot(4,1,2);
plot(x,y6,‘LineWidth’,2);
y7=y6+1/13sin(132pifx);
subplot(4,1,3);
plot(x,y7,‘LineWidth’,2);
y8=y7+1/15
sin(152pifx);
subplot(4,1,4);
plot(x,y8,‘LineWidth’,2)
周期信号的傅里叶级数分解(以方波为例,含MATLAB代码)
7、方波信号的合成(动态)
clc
clear
%f(t)=4Am/pi[sin(w1)t+1/3sin(3w1t)+1/5sin(5w1t)+…]
figure(3)
f=10; %方波信号的频率,数值可以为1Hz,10Hz,100Hz,1000Hz…
T=1/f; %1个信号周期
N=1024; %1个周期采集1024点,平均每个周期为512点
x=linspace(0,T,N);
x1=square(2pifx);
plot(x,x1);
hold on
ch=[‘b’,‘g’,‘r’,‘c’,‘m’,‘y’,‘k’,‘w’];
y=0;
j=1;
for i=1:2:15
y=y+4/pi
[1/isin(2pifix)];
% y=1/i
sin(2pifix);
plot(x,y,ch(j));
j=j+1;
pause(1)
hold on
end
周期信号的傅里叶级数分解(以方波为例,含MATLAB代码)
8、方波信号的频谱分析
figure(4)
dt=x(2)-x(1); %采样周期
f=1/dt %采样频率
X=fft(y);
size(X)
F=X(1:N/2+1);
f=f*(0:N/2)/N;
plot(f,abs(F)/(N/2),’-*’)
axis([0 300 0 2]);
xlabel(‘Frequency’);
ylabel(’|F(K)|’)
周期信号的傅里叶级数分解(以方波为例,含MATLAB代码)
不妥之处,敬请指点。