%半波傅氏算法,数据窗10ms 3 W2 V" p( s+ F' f k7 ?N=12;! N( [6 Y. N* C7 Q5 g% d; ~
h=input('请输入谐波次数(1 or 3):'); # \5 u8 @1 L. L2 a; e: y3 m9 Sz=1+sqrt(-1)*sqrt(3); 8 w) t n4 [% d/ X7 I0 bt=0:0.02/N:0.02; 6 [/ d1 F' E+ ?7 }! f8 u u= sin(2*pi*50*t)+2*sin(2*3*pi*50*t-pi/6); ) i9 o/ r, O. r
t1=0:0.0001:0.07; , F1 a; Z" P, N) ^/ i
u1=sin(2*pi*50*t1)+2*sin(2*3*pi*50*t1-pi/6); $ @$ z' m# a( Z* T6 Z% R subplot(211); plot(t1,u1);title('连续图');* R+ ?4 \( D: g8 g* E3 K
subplot(212); stem(t,u);title('离散图'); m/ [# x8 T: K) f/ B: S5 r i=u./z; & @" ]7 R& J' X6 t
8 l3 x% y6 r" ^( `
S=0;C=0; # @4 H8 }: h/ W' Z for k=1:N/2 " K2 a; |- Z: t9 k, w" Z7 U4 m
S=S+u(k)*sin(h*(k-1)*2*pi/N); 1 M$ t% j; t2 O8 D6 c1 i0 I/ X* s! `# f
C=C+u(k)*cos(h*(k-1)*2*pi/N);" v1 X2 w% m, l7 T l6 e- u0 _
& P E0 _5 g4 L, a end 7 P/ Y0 B) J. g" F Us=S*4/N; / U B, k( ^. q+ h, F Uc=4*C/N; ( s2 M( n) P y5 h: @5 X U=abs(Us+sqrt(-1)*Uc)/sqrt(2);: E0 l5 R1 u0 D0 k
JU=angle(Us+sqrt(-1)*Uc); / r: s) I7 y" {8 {) C S=0;C=0;0 e+ f/ `& n+ N; g1 G
for k=1:N/2 % X& z, Z9 i& t' }& [$ d S=S+i(k)*sin(h*(k-1)*2*pi/N); 4 ?/ y0 a* J k3 p: W* L8 Z $ ~; }3 L# @) I, |3 \
C=C+i(k)*cos(h*(k-1)*2*pi/N);5 {% C& M) E0 \6 y, R" ^0 G
) D0 M# A" t2 X- a( j" t% \2 o! M+ z G
end * A9 }2 J6 I& p! V Is=S*4/N;' R: N# ?5 u d1 i
Ic=4*C/N;+ H3 a: i* _5 p/ N( p
I=abs(Is+sqrt(-1)*Ic)/sqrt(2);, m N: u3 a5 N2 ~$ m
JI=angle(Is+sqrt(-1)*Ic);1 i! Y2 n# I/ W
U / H3 i8 L f9 W1 R; j" l0 p
I$ m8 i" {1 x6 f: g3 s
cos(JU-JI)