📄 examp36.m
字号:
clc,echo on
%EXAMPLE 36
vin='4*(t>=0 & t<0.5)+2*(t==0.5)'; % Create vin (as a string function)
fs=fseries(vin,1,30); % Find FS coeffs to k=30 harmonics
akin=fs(:,2);bkin=fs(:,3); % Extract a(k) and b(k)
hfilt='1./(1+j*k*2*pi*tau)'; % Filter transfer Function
k=(0:30)'; % Make k a column vector for later use
tau=0.1;hf1=eval(hfilt); % Magnitude and phase of H(f) for tau=0.1
tau=1;hf2=eval(hfilt); % Same for tau=1
j=sqrt(-1);
cout1=hf1.*(akin-j*bkin); % Filter output coefficients c(k)
cout2=hf2.*(akin-j*bkin);
t=0:0.01:2;
sm1=cout1(1);sm2=cout2(1); % Start reconstruction with dc value
echo off
for k=1:30
sm1=sm1+abs(cout1(k+1))*cos(k*2*pi*t+angle(cout1(k+1))); %Reconstructions
sm2=sm2+abs(cout2(k+1))*cos(k*2*pi*t+angle(cout2(k+1)));
end
echo on
%for k=1:30
%sm1=sm1+abs(cout1(k+1))*cos(k*2*pi*t+angle(cout1(k+1))); %Reconstructions
%sm2=sm2+abs(cout2(k+1))*cos(k*2*pi*t+angle(cout2(k+1)));
%end
plot(t,sm1,t,sm2) % Overplot
echo off %end of example
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -