Gerneral888 发表于 2010-4-1 18:33:09

半波傅氏算法的matlab实现

%半波傅氏算法,数据窗10ms
N=12;
h=input('请输入谐波次数(1 or 3):');
z=1+sqrt(-1)*sqrt(3);            
t=0:0.02/N:0.02;
u= sin(2*pi*50*t)+2*sin(2*3*pi*50*t-pi/6);
t1=0:0.0001:0.07;   
   u1=sin(2*pi*50*t1)+2*sin(2*3*pi*50*t1-pi/6);               
       subplot(211);plot(t1,u1);title('连续图');
       subplot(212);stem(t,u);title('离散图');
                                 i=u./z;
                              
                S=0;C=0;
      fork=1:N/2            
                           S=S+u(k)*sin(h*(k-1)*2*pi/N);   
                           C=C+u(k)*cos(h*(k-1)*2*pi/N);
                        
      end
                                 Us=S*4/N;
                              Uc=4*C/N;
                               U=abs(Us+sqrt(-1)*Uc)/sqrt(2);
                           JU=angle(Us+sqrt(-1)*Uc);
               S=0;C=0;
         fork=1:N/2
                              S=S+i(k)*sin(h*(k-1)*2*pi/N);
                              
                              C=C+i(k)*cos(h*(k-1)*2*pi/N);
                           
         end
                              Is=S*4/N;
                           Ic=4*C/N;
                        I=abs(Is+sqrt(-1)*Ic)/sqrt(2);
                         JI=angle(Is+sqrt(-1)*Ic);
U                        
I
cos(JU-JI)

lixintmc 发表于 2010-7-11 13:59:37

谢了,哈哈,
页: [1]
查看完整版本: 半波傅氏算法的matlab实现

招聘斑竹