一种加窗插值FFT谐波检测算法的制作方法

文档序号:11110996阅读:来源:国知局

技术特征:

1.一种加窗插值FFT谐波检测算法,其特征在于步骤为:

设单一频率信号x(t)的频率为f0,幅值为A,初相位为θ,则用fs的采样频率对它进行采样,则得到如下离散信号:

xn=A sin(2πf0n/fs)+θ);

为上述离散信号进行加窗检测,设所加窗的时域为ω(n),其连续频谱为W(2πf),则加窗后该离散信号连续傅立叶变换为:

<mrow> <mi>X</mi> <mrow> <mo>(</mo> <mi>f</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mo>-</mo> <mi>&infin;</mi> </mrow> <mi>&infin;</mi> </munderover> <mi>x</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mi>w</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mi>exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mi>j</mi> <mn>2</mn> <mi>&pi;</mi> <mi>f</mi> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mi>A</mi> <mrow> <mn>2</mn> <mi>j</mi> </mrow> </mfrac> <mo>{</mo> <msup> <mi>e</mi> <mrow> <mi>j</mi> <mi>&theta;</mi> </mrow> </msup> <mi>W</mi> <mo>&lsqb;</mo> <mfrac> <mrow> <mn>2</mn> <mi>&pi;</mi> <mrow> <mo>(</mo> <mi>f</mi> <mo>-</mo> <msub> <mi>f</mi> <mn>0</mn> </msub> <mo>)</mo> </mrow> </mrow> <msub> <mi>f</mi> <mi>s</mi> </msub> </mfrac> <mo>&rsqb;</mo> <mo>-</mo> <msup> <mi>e</mi> <mrow> <mi>j</mi> <mi>&theta;</mi> </mrow> </msup> <mi>W</mi> <mo>&lsqb;</mo> <mfrac> <mrow> <mn>2</mn> <mi>&pi;</mi> <mrow> <mo>(</mo> <mi>f</mi> <mo>+</mo> <msub> <mi>f</mi> <mn>0</mn> </msub> <mo>)</mo> </mrow> </mrow> <msub> <mi>f</mi> <mi>s</mi> </msub> </mfrac> <mo>&rsqb;</mo> <mo>}</mo> <mo>;</mo> </mrow>

忽略负频点-f0处频峰的旁瓣影响,则在正频点f0附近的连续频谱为:

<mrow> <mover> <mi>X</mi> <mo>&OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>f</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mi>A</mi> <mrow> <mn>2</mn> <mi>j</mi> </mrow> </mfrac> <msup> <mi>e</mi> <mrow> <mi>j</mi> <mi>&theta;</mi> </mrow> </msup> <mi>W</mi> <mrow> <mo>(</mo> <mfrac> <mrow> <mn>2</mn> <mi>&pi;</mi> <mrow> <mo>(</mo> <mi>f</mi> <mo>-</mo> <msub> <mi>f</mi> <mn>0</mn> </msub> <mo>)</mo> </mrow> </mrow> <msub> <mi>f</mi> <mi>s</mi> </msub> </mfrac> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

对上式进行离散抽样,得到离散傅立叶变换表达式:

<mrow> <mover> <mi>X</mi> <mo>&OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>k</mi> <mo>&CenterDot;</mo> <mi>&Delta;</mi> <mi>f</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mi>A</mi> <mrow> <mn>2</mn> <mi>j</mi> </mrow> </mfrac> <msup> <mi>e</mi> <mrow> <mi>j</mi> <mi>&theta;</mi> </mrow> </msup> <mi>W</mi> <mrow> <mo>(</mo> <mfrac> <mrow> <mn>2</mn> <mi>&pi;</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>&CenterDot;</mo> <mi>&Delta;</mi> <mi>f</mi> <mo>-</mo> <msub> <mi>f</mi> <mn>0</mn> </msub> <mo>)</mo> </mrow> </mrow> <msub> <mi>f</mi> <mi>s</mi> </msub> </mfrac> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

上式中离散频率间隔为Δf=fs/N,N为采样点数;

设距离峰值点最近的两根谱线为第k1和第k2条谱线,显然这两条谱线是峰值点附近最大的和次最大的谱线,并且一条在k0的左侧,一条在k0的右侧;在离散频谱中找到这两条谱线,从而可确定k1和k2

令第k1和第k2条谱线的幅值分别是y1=|X(k1Δf)|,y2=|X(k2Δf)|;设f0=(k1m)Δf,|λm|≤0.5,λm为不同步度;k1通过寻找谱峰实现,为了确定不同步度λm,令k1与k2谱线值之比为:

<mrow> <msub> <mi>&alpha;</mi> <mi>m</mi> </msub> <mo>=</mo> <mfrac> <msub> <mi>y</mi> <mn>1</mn> </msub> <msub> <mi>y</mi> <mn>2</mn> </msub> </mfrac> <mo>=</mo> <mfrac> <mrow> <mo>|</mo> <mi>W</mi> <mrow> <mo>(</mo> <mn>2</mn> <mi>&pi;</mi> <mo>&CenterDot;</mo> <mo>|</mo> <msub> <mi>&lambda;</mi> <mi>m</mi> </msub> <mo>|</mo> <mo>)</mo> </mrow> <mo>/</mo> <mi>N</mi> <mo>)</mo> <mo>|</mo> </mrow> <mrow> <mo>|</mo> <mi>W</mi> <mrow> <mo>(</mo> <mn>2</mn> <mi>&pi;</mi> <mo>&CenterDot;</mo> <mo>(</mo> <mrow> <mn>1</mn> <mo>-</mo> <mrow> <mo>|</mo> <msub> <mi>&lambda;</mi> <mi>m</mi> </msub> <mo>|</mo> </mrow> </mrow> <mo>)</mo> <mo>/</mo> <mi>N</mi> <mo>)</mo> </mrow> <mo>|</mo> </mrow> </mfrac> <mo>;</mo> </mrow>

由上式计算出同步偏差λm,修正后的频率、幅值和相位的校正公式分别为:

频率校正公式:f0=(k1m)Δf;

幅值校正公式:A=2|X(ki)|/|W(2π·|λm|)/N)|;

相位校正公式:θ=arg|X(ki)|+π/2-λmπ;

幅值校正公式和相位校正公式中的i选1或2。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1