发明名称 一种基于自适应滤波器幅频响应的高精度频率估计方法
摘要 一种基于自适应滤波器幅频响应的高精度频率估计方法,包括计算信号协方差矩阵、确定第一个正弦信号的频率区间、计算自适应滤波器的权系数向量、计算自适应滤波器的幅频响应、计算信号伪功率谱、计算第一个正弦信号的频率估计值。本发明在同样的信噪比及信号采样点数等条件下,本发明方法的频率估计精度优于或接近已有频率估计方法的频率估计精度,特别是在信噪比很低、信号采样点数很少等情况下,相比于已有的频率估计方法,本发明方法能够在正弦信号频率附近得到更加明显的谱峰,从而得到更加精确的频率估计值。
申请公布号 CN106533394A 申请公布日期 2017.03.22
申请号 CN201610993673.0 申请日期 2016.11.11
申请人 江西师范大学 发明人 王芳;陈勇
分类号 H03H21/00(2006.01)I 主分类号 H03H21/00(2006.01)I
代理机构 南昌市平凡知识产权代理事务所 36122 代理人 夏材祥
主权项 一种基于自适应滤波器幅频响应的高精度频率估计方法,其特征在于,所述方法包括下述步骤:第一步:计算信号协方差矩阵首先,对观测的连续时间信号进行采样得到离散时间信号{x(1),x(2),...,x(N)},其中采样频率为f<sub>s</sub>,单位为Hz,N表示离散时间信号的采样点数,然后,由离散时间信号{x(1),x(2),...,x(N)}构造信号向量x(k),即:x(k)=[x(k‑m+1),x(k‑m+2),...,x(k)]<sup>H</sup>其中,m为信号向量x(k)的长度,m为正整数,且1<m<N,k也为正整数,且m≤k≤N,m的具体大小根据实际应用情况确定,符号[·]<sup>H</sup>表示共轭转置操作;最后,由信号向量x(k)计算信号协方差矩阵R,即:<maths num="0001"><math><![CDATA[<mrow><mi>R</mi><mo>=</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mi>m</mi></mrow><mi>N</mi></munderover><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><msup><mi>x</mi><mi>H</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001150242920000011.GIF" wi="430" he="128" /></maths>其中x<sup>H</sup>(k)表示对信号向量x(k)的共轭转置;第二步:确定第一个正弦信号的频率区间根据先验信息确定第一个正弦信号的频率区间,并记为Φ<sub>1</sub>=[f<sub>1</sub><sup>l</sup>,f<sub>1</sub><sup>r</sup>],其中f<sub>1</sub><sup>l</sup>为频率区间的下边界,f<sub>1</sub><sup>r</sup>为频率区间的上边界,单位均为Hz;第一个正弦信号的频率落在频率区间Φ<sub>1</sub>之中;第三步:计算自适应滤波器的权系数向量根据第一步得到的信号协方差矩阵R以及第二步得到的第一个正弦信号的频率区间Φ<sub>1</sub>,按照下式计算自适应滤波器的权系数向量h,即:<maths num="0002"><math><![CDATA[<mrow><mi>h</mi><mo>=</mo><mfrac><mrow><msup><mi>R</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mi>a</mi><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow></mrow><mrow><msup><mi>a</mi><mi>H</mi></msup><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow><msup><mi>R</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mi>a</mi><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>,</mo><msub><mi>f</mi><mi>c</mi></msub><mo>&Element;</mo><msub><mi>&Phi;</mi><mn>1</mn></msub></mrow>]]></math><img file="FDA0001150242920000012.GIF" wi="578" he="175" /></maths>其中,R<sup>‑1</sup>表示信号协方差矩阵R的逆,向量<img file="FDA0001150242920000013.GIF" wi="761" he="71" />f<sub>c</sub>为自适应滤波器的中心频率,f<sub>c</sub>∈Φ<sub>1</sub>表示f<sub>c</sub>的取值范围在频率区间Φ<sub>1</sub>内;按照上述方式设计的自适应滤波器具有以下特性:当自适应滤波器的中心频率不等于第一个正弦信号的频率时,自适应滤波器的幅频响应在频率区间内存在明显的零陷,而当自适应滤波器的中心频率等于第一个正弦信号的频率时,自适应滤波器的幅频响应在频率区间内不存在明显的零陷;第四步:计算自适应滤波器的幅频响应根据第三步计算得到的自适应滤波器的权系数向量h,计算自适应滤波器在频率区间Φ<sub>1</sub>内的幅频响应H(f),即:H(f)=|a<sup>H</sup>(f)h|,f∈Φ<sub>1</sub>其中,向量<img file="FDA0001150242920000021.GIF" wi="738" he="71" />|·|表示求复数的幅度;自适应滤波器在频率区间Φ<sub>1</sub>内的幅频响应H(f)也可以由信号协方差矩阵R和自适应滤波器的中心频率f<sub>c</sub>直接计算得到,即:<maths num="0003"><math><![CDATA[<mrow><mi>H</mi><mrow><mo>(</mo><mi>f</mi><mo>)</mo></mrow><mo>=</mo><mo>|</mo><mfrac><mrow><msup><mi>a</mi><mi>H</mi></msup><mrow><mo>(</mo><mi>f</mi><mo>)</mo></mrow><msup><mi>R</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mi>a</mi><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow></mrow><mrow><msup><mi>a</mi><mi>H</mi></msup><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow><msup><mi>R</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mi>a</mi><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>|</mo><mo>,</mo><mi>f</mi><mo>&Element;</mo><msub><mi>&Phi;</mi><mn>1</mn></msub></mrow>]]></math><img file="FDA0001150242920000022.GIF" wi="693" he="168" /></maths>第五步:计算信号伪功率谱首先,根据第四步计算得到的自适应滤波器在频率区间Φ<sub>1</sub>内的幅频响应H(f),搜索其最大值和最小值,分别记为:<maths num="0004"><math><![CDATA[<mrow><msub><mi>H</mi><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msub><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow><mo>=</mo><munder><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow><mrow><mi>f</mi><mo>&Element;</mo><msub><mi>&Phi;</mi><mn>1</mn></msub></mrow></munder><mo>|</mo><mfrac><mrow><msup><mi>a</mi><mi>H</mi></msup><mrow><mo>(</mo><mi>f</mi><mo>)</mo></mrow><msup><mi>R</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mi>a</mi><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow></mrow><mrow><msup><mi>a</mi><mi>H</mi></msup><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow><msup><mi>R</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mi>a</mi><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>|</mo></mrow>]]></math><img file="FDA0001150242920000023.GIF" wi="683" he="167" /></maths><maths num="0005"><math><![CDATA[<mrow><msub><mi>H</mi><mi>min</mi></msub><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow><mo>=</mo><munder><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow><mrow><mi>f</mi><mo>&Element;</mo><msub><mi>&Phi;</mi><mn>1</mn></msub></mrow></munder><mo>|</mo><mfrac><mrow><msup><mi>a</mi><mi>H</mi></msup><mrow><mo>(</mo><mi>f</mi><mo>)</mo></mrow><msup><mi>R</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mi>a</mi><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow></mrow><mrow><msup><mi>a</mi><mi>H</mi></msup><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow><msup><mi>R</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mi>a</mi><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>|</mo></mrow>]]></math><img file="FDA0001150242920000024.GIF" wi="670" he="168" /></maths>然后,由自适应滤波器幅频响应最大值H<sub>max</sub>(f<sub>c</sub>)和自适应滤波器幅频响应最小值H<sub>min</sub>(f<sub>c</sub>)计算信号伪功率谱P(f<sub>c</sub>),即:<maths num="0006"><math><![CDATA[<mrow><mi>P</mi><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow><mo>=</mo><msubsup><mi>H</mi><mi>min</mi><mn>2</mn></msubsup><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow><mo>/</mo><msubsup><mi>H</mi><mi>max</mi><mn>2</mn></msubsup><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001150242920000025.GIF" wi="549" he="71" /></maths>信号伪功率谱P(f<sub>c</sub>)也可以由信号协方差矩阵R和自适应滤波器的中心频率f<sub>c</sub>直接计算得到,即:<maths num="0007"><math><![CDATA[<mrow><mi>P</mi><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow><mo>=</mo><msup><mrow><mo>{</mo><mrow><munder><mi>min</mi><mrow><mi>f</mi><mo>&Element;</mo><msub><mi>&Phi;</mi><mn>1</mn></msub></mrow></munder><mo>|</mo><msup><mi>a</mi><mi>H</mi></msup><mrow><mo>(</mo><mi>f</mi><mo>)</mo></mrow><msup><mi>R</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mi>a</mi><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow><mo>|</mo><mo>/</mo><munder><mi>max</mi><mrow><mi>f</mi><mo>&Element;</mo><msub><mi>&Phi;</mi><mn>1</mn></msub></mrow></munder><mo>|</mo><msup><mi>a</mi><mi>H</mi></msup><mrow><mo>(</mo><mi>f</mi><mo>)</mo></mrow><msup><mi>R</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mi>a</mi><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow><mo>|</mo></mrow><mo>}</mo></mrow><mn>2</mn></msup></mrow>]]></math><img file="FDA0001150242920000026.GIF" wi="1126" he="103" /></maths>第六步:计算第一个正弦信号的频率估计值根据第五步计算得到的信号伪功率谱P(f<sub>c</sub>),搜索其在频率区间Φ<sub>1</sub>内的谱峰,并将信号伪功率谱P(f<sub>c</sub>)的谱峰对应的频率作为第一个正弦信号的频率估计值f<sub>1</sub>,即:<maths num="0008"><math><![CDATA[<mrow><msub><mi>f</mi><mn>1</mn></msub><mo>=</mo><mi>arg</mi><munder><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow><mrow><msub><mi>f</mi><mi>c</mi></msub><mo>&Element;</mo><msub><mi>&Phi;</mi><mn>1</mn></msub></mrow></munder><msup><mrow><mo>{</mo><munder><mi>min</mi><mrow><mi>f</mi><mo>&Element;</mo><msub><mi>&Phi;</mi><mn>1</mn></msub></mrow></munder><mo>|</mo><msup><mi>a</mi><mi>H</mi></msup><mrow><mo>(</mo><mi>f</mi><mo>)</mo></mrow><msup><mi>R</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mi>a</mi><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow><mo>|</mo><mo>/</mo><munder><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow><mrow><mi>f</mi><mo>&Element;</mo><msub><mi>&Phi;</mi><mn>1</mn></msub></mrow></munder><mo>|</mo><msup><mi>a</mi><mi>H</mi></msup><mrow><mo>(</mo><mi>f</mi><mo>)</mo></mrow><msup><mi>R</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mi>a</mi><mrow><mo>(</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow><mo>|</mo><mo>}</mo></mrow><mn>2</mn></msup></mrow>]]></math><img file="FDA0001150242920000031.GIF" wi="1205" he="110" /></maths>若在观测信号中正弦信号的个数大于1,则首先根据先验信息确定其它正弦信号的频率区间,然后重复上述步骤中的第三步至第六步,即可得到其它正弦信号的频率估计值。
地址 330100 江西省南昌市紫阳大道99号