SharedFOURIER 3 Square Wave.ipynbOpen in CoCalc

y(t)=4Aπn=1,3,51nsin(nπtT/2)y(t)=\frac{4A}{\pi}\sum_{n=1,3,5}^{\infty}\frac{1}{n}sin\left ( \frac{n \pi t}{T/2} \right )

pkg load signal

початковий сигнал - періодичний прямокутний сигнал (меандр)

Синтез меандра з набору гармонік періодичного сигналу. Чим більше число гармонік, тим ближче до ідеальної форма сигналу.

https://uk.wikipedia.org/wiki/Меандр_(%D1%80%D0%B0%D0%B4%D1%96%D0%BE%D1%82%D0%B5%D1%85%D0%BD%D1%96%D0%BA%D0%B0

T=2;
A=3;

t=0:0.01:10;
y=A*square(t*(2*pi)/T);
plot(t,y)
title('Square Wave')
xlabel('t')
ylabel('y(t)')
ylim([-A-0.5 A+0.5])
niceplot

перша гармоніка

n=1

y1=4*A/pi*sin(pi*t/(T/2));

plot(t,y, t,y1)
legend('y(t)','1th harmonics')
xlabel('t')
niceplot

гармоніки 1,3

y3=4*A/pi/3*sin(3*pi*t/(T/2));
ys=y1+y3;


plot(t,y, t,y1, t,y3, t,ys,'b')
legend('y(t)','1','3','sum')
xlabel('t')
xlim([0 T])
niceplot

гармоніки 1,3,5,7

y5=4*A/pi/5*sin(5*pi*t/(T/2));
y7=4*A/pi/7*sin(7*pi*t/(T/2));
ys=y1+y3+y5+y7;


plot(t,y, t,y1, t,y3, t,y5, t,y7, t,ys,'b')
legend('y(t)','1','3','5','7','sum')
xlabel('t')
xlim([0 T])
%grid on
niceplot

гармоніки 1,3,5,7 - 2й спосіб

ys=zeros(size(t));

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
n=1;
yn=4*A/pi/n*sin(n*pi*t/(T/2));
ys=ys+yn;

n=3;
yn=4*A/pi/n*sin(n*pi*t/(T/2));
ys=ys+yn;

n=5;
yn=4*A/pi/n*sin(n*pi*t/(T/2));
ys=ys+yn;

n=7;
yn=4*A/pi/n*sin(n*pi*t/(T/2));
ys=ys+yn;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


plot(t,y, t,ys)
legend('y(t)','sum')
title(['N=7'])
xlabel('t')
xlim([0 T])
%grid on
niceplot

N гармонік

N=300;
ys=zeros(size(t));
for n=1:2:N
    yn=4*A/pi/n*sin(n*pi*t/(T/2));
    ys=ys+yn;
end

plot(t,y, t,ys)
legend('y(t)','sum')
title(['N=' num2str(N)])
xlabel('t')
xlim([0 T])
%grid on
niceplot