我是了了 发表于 2011-1-7 21:03

插值后新序列与原函数的幅值和相位误差

本帖最后由 我是了了 于 2011-1-7 21:05 编辑

我原函数是:sin(100*pi*t+q),q是从1度到15度(步长为1度)可变的初相角,对原函数采样48点,进行二次插值,得到一个新序列,首先计算原函数和二次插值后的新序列在每个小区间(就是48点,47个小区间上)可能存在的最大误差(这个地方,我是在每个小区间10等分,计算这10等分点上的误差值,这样计算的结果基本和理论推导一致,如果认为不可靠,可以增加等分点数计算),结果是正确的。现在,我还需要求第一个小区间上的新序列的幅值和相位的误差!这个地方,原来论文上说,傅里叶变换后,在不同的15个初相角的情况下,第一个小区间15等分,得到225个算例,我不明白了!怎么会有225个算例?一个小区间不是只对应一个50HZ的主频么?15*15当然是225.但是对应100*pi,实际只有一个50HZ的主频,只能有一个相角的误差,不明白了,请教高人。还有就是论文所说的新序列的幅值和相位误差是如何求解?下面是我求采样值误差的matlab仿真程序,后边的怎么求解,请高人指点思路,或者帮我写一下程序。非常感谢!我这里有各学科的论文,可以相互交流,探讨!

clc;clear;
N=48;

for k=1:15%0--15度
    for n=1:48   
      t0=n/48*0.02; t1=(n+1)/48*0.02;t2=(n+2)/48*0.02;
%         t=(n+1)/48*0.02+0.02/N/sqrt(3);
      h=(2/48*0.02)/10;
      a=0;
      for t=t0:h:t2
            II(n+(k-1)*N)=sin(100*pi*t+(k-1)/180*pi);   原函数
            III(n+(k-1)*N)=(t-t1)*(t-t2)/(t0-t1)/(t0-t2)*sin(100*pi*t0+(k-1)/180*pi)+(t-t0)*(t-t2)/(t1-t0)/(t1-t2)*sin(100*pi*t1+(k-1)/180*pi)+(t-t0)*(t-t1)/(t2-t0)/(t2-t1)*sin(100*pi*t2+(k-1)/180*pi);二次插值函数
            Rmax(n+(k-1)*N)=abs(II(n+(k-1)*N)-III(n+(k-1)*N));求解两者的误差   
            if Rmax(n+(k-1)*N)>a
                a=Rmax(n+(k-1)*N);
            end            
      end
      Rmax(n+(k-1)*N)=a;
    end
end

plot(Rmax(1:250))

我是了了 发表于 2011-1-9 21:31

悲剧,被百度搜索都到了前十几页了,但是没人能解答!

我是了了 发表于 2011-1-11 19:39

有人懂这一块么?给点提示!谢谢!
页: [1]
查看完整版本: 插值后新序列与原函数的幅值和相位误差