一种基于FFT和自适应滤波的单音估计和消除方法转让专利

申请号 : CN201010049158.X

文献号 : CN106508107B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郑俊钟杰赵民建张志鹏蒋晗

申请人 : 浙江大学

摘要 :

本发明公开了一种基于FFT和自适应滤波的单音估计和消除方法,可应用于高速无线宽带传输环境中,以对抗强单音干扰带来的性能影响。本发明利用时域数据作累加,再作FFT,与相应门限作对比,通过多路并行处理,精细地估算出单音(单个或多个)频率;进而利用估计所得信息产生对应频率的单音,作为自适应单音消除器的参考输入,通过多级串行处理,对实际信号中所包含的单音干扰(单个或多个)进行逐个消除;与传统的单音估计消除方法相比较,本发明拥有更低的运算复杂度,更高的估计精度,更灵活的配置,以及更好的扩展性等特点。

权利要求 :

1.一种基于FFT和自适应滤波的单音估计和消除方法,其特征在于:该方法首先对时域数据作累加,再作FFT,与相应门限作对比,通过多路并行处理,估算出单音频率;进而利用估计所得信息产生对应频率的单音,作为自适应单音消除器的参考输入,通过多级串行处理,对实际信号中所包含的单音干扰进行逐个消除;它由以下步骤完成:(1)信号频域变换和单音频率粗估,具体为:利用FFT将时域信号变换为频域信号,将去除n个最大值后的频域信号能量的均值作为单音判决门限,判决出单音干扰的个数和粗略地估计出单音干扰的频率;

(2)信号频谱搬移,具体为:利用步骤1得到的单音频率信息,对信号进行频谱搬移,使得搬移后的信号,单音频率在零频率点附近;

(3)信号累加和单音频率精估,具体为:对经过步骤2频谱搬移后的时域信号进行M点累加,再作FFT,使得单音干扰所在频率点附近的频谱被展宽,将单音干扰频率估计的精度提高了M倍,精确地估计出单音干扰的频率;

(4)自适应单音消除,具体为:使用一个2阶的自适应滤波器,利用步骤3中得到的单音干扰精确频率信息,产生出对应频率的单音信号作为参考输入,将包含有单音干扰和有效信号的实际信号作为主要输入;该滤波器通过以下算法步骤去更新滤波器的2个抽头系数:(a)根据实际应用环境,确定一个步长μ,并初始化两个抽头系数w1j和w2j为零,误差ε为零;

(b)参考输入的单音信号x1j与一个抽头系数w1j相乘,与单音信号x1j延迟90度相位的单音信号x2j与另一个抽头系数w2j相乘,两个相乘的结果相加后,作为滤波器的输出y;

(c)将包含有效信号s和加到有效信号中的噪声n1的主要输入信号s+n1与滤波器的输出信号y相减,得到的信号z作为误差ε;

(d)按照以下公式更新两个抽头系数:

w1j+1=w1j+2μεjx1j

w2j+1=w2j+2μεjx2j

然后返回步骤(b),并不断迭代下去。

2.根据权利要求1所述的基于FFT和自适应滤波的单音估计和消除方法,其特征在于,针对系统中可能存在多个单音的情况,在单音估计过程中采用了“多路并行”处理的方法,即步骤(1)中始终只有一路,粗略地估计出单音个数和各单音的频率,而步骤(2)和步骤(3)都是多路,与步骤(1)所得到的单音个数相对应,以同时进行精确频率估计。

3.根据权利要求1所述的基于FFT和自适应滤波的单音估计和消除方法,其特征在于,针对系统中可能存在多个单音的情况,在单音消除过程中采用了“多级串行”处理的方法,即步骤(4)有多级,与步骤(1)所得到的单音个数相对应,利用自适应滤波的单音消除器,分别由步骤(3)所得到的各单音的精确频率信息产生出各对应频率的单音作为各级单音消除器的参考输入,然后通过串行处理,逐个消除多个单音。

说明书 :

一种基于FFT和自适应滤波的单音估计和消除方法

技术领域

[0001] 本发明涉及数字通信信号处理领域,提供了一种新型的基于FFT(快速傅立叶变换)和自适应滤波的单音估计和消除方法,可应用于高速无线宽带传输环境中,以对抗强单音干扰带来的性能影响。

背景技术

[0002] 无线通信发展到今天,人们对数据传输速率提出了越来越高的要求,多种新型的宽带传输调制方式也不断地被提出并应用,如OFDM(正交频分复用)和SC-FDE(单载波频域均衡)等。然而,不论是何种调制方式,由于宽带传输的带宽比较宽,复杂的无线通信环境下常常会存在很多宽带(其他宽带传输系统的信号)或窄带(单音以及很多传统的窄带信号)的干扰,而这些干扰对于各种宽带传输系统的性能都会造成或多或少的影响。
[0003] 针对一个或多个能量是正常信号能量10倍以上的强单音干扰存在的情况下,若没有特殊的机制来对抗,这些单音干扰将会对宽带系统的同步和解调产生严重的影响,系统的误码性能会大大恶化,甚至于完全不能正常工作。因而,准确地估计并消除单音干扰对提升复杂环境下无线宽带传输系统的性能有着非常重要的意义。
[0004] 随着数字信号处理器件,如FPGA(现场可编程门阵列)的飞速发展,FPGA厂商Altera和Xilinx都开发了相应的FFT IPcore,这些均为本发明中所涉及的方法提供了工程应用的基础和平台;本发明由于其低复杂度,灵活的配置性,高效的性能,已完全适用于基于FPGA等数字信号处理器件的无线宽带传输系统的实时应用,作为其针对单音干扰的预处理模块。

发明内容

[0005] 本发明的目的在于针对现有技术的不足,提供一种基于FFT和自适应滤波的单音估计和消除方法,用来对抗无线环境中的强单音干扰对无线宽带通信系统性能所带来的影响。
[0006] 本发明解决其技术问题所采用的技术方案:一种基于FFT(快速傅立叶变换)和自适应滤波的单音估计和消除方法,分为单音频率粗估和精估两个步骤,通过信号累加和FFT来更精细地估计出单音的频率,然后利用该频率信息产生出对应频率的单音信号作为参考输入,利用自适应滤波对实际信号中所包含的单音干扰进行消除;其操作步骤如下:
[0007] 步骤1.信号频域变换和单音频率粗估:利用FFT得到信号各频率点的能量,确定单音比较门限并粗略地估计单音频率信息;
[0008] 步骤2.信号频谱搬移:利用步骤1得到的单音频率信息,对信号进行频谱搬移,使得搬移后的信号,单音频率在零频率点附近;
[0009] 步骤3.信号累加和单音频率精估:利用步骤2得到的时域信号进行累加,将累加后的信号进入FFT得到更精细的单音频率信息;
[0010] 步骤4.自适应单音消除:将包含单音干扰的实际信号作为主要输入信号,利用步骤3得到的单音频率信息产生出一个对应频率的单音信号作为参考输入信号,自适应滤波器的输出是对实际信号中所包含的单音干扰信号的模拟,主要输入信号减去滤波器的输出信号就是所需的有效信号;
[0011] 有益效果:本发明利用对时域数据作累加,再作FFT,且通过多路并行处理,比传统方法更精细地估算出单音(单个或多个)频率;进而利用估计所得频率信息产生该频率的单音,作为自适单音消除器的参考输入,本发明只需要一个2阶的自适应滤波器,且通过多级串行处理,对信号中所包含的单音(单个或多个)进行逐个消除;与传统的单音频率估计消除方法相比较,本发明拥有更低的运算复杂度,更高的估计精度,更灵活的配置,以及更好的扩展性等特点。

附图说明

[0012] 图1是本发明的系统总框图;
[0013] 图2是本发明中FFT的栅栏效应图;
[0014] 图3是本发明中包含单音干扰的信号频谱图;
[0015] 图4是本发明中单音估计信号流向效果图;
[0016] 图5是本发明中单音估计模块框图;
[0017] 图6是本发明中单音消除模块框图;
[0018] 图7是本发明中单音估计消除后信号效果图。

具体实施方式

[0019] 下面结合附图对本发明进行详细说明,使得本发明的优点和创新特征显而易见。
[0020] 本发明基于FFT和自适应滤波的单音估计和消除,其特征在于:通过时域信号累加和FFT的多路并行处理,可同时精确估计多个单音;通过自适应单音消除器的多级串行处理,可逐个消除估计得出的多个单音干扰。其系统总框图如图1所示。
[0021] 下面对其各步骤作详细说明:
[0022] 步骤1:信号频域变换和单音频率粗估
[0023] 1.FFT和栅栏效应
[0024] 单音干扰在频谱上看即为一带宽很窄的强干扰,因而对单音进行估计需要在频域进行。通过接收到的时域信号获得频谱特性一种常用的方法是傅里叶变换,而在具体实现时,需要利用快速傅里叶变换(FFT)。
[0025] FFT的原理为如下,其中N=2L
[0026]jw
[0027] FFT获得的X(k)相当于在x(n)的数字域频谱上,按照间隔2π/N在连续谱X(e )上进行采样。如图2所示。
[0028] 但是FFT计算频谱只限制在离散点上的频谱,即只看到某个频率整数倍处的谱,而不是连续频率函数,就像通过一个栅栏观看一个景象一样。这种现象成为栅栏效应。假定一个要处理的宽带信号的带宽为24MHz,FFT的点数取为512点,则可知任意相邻的两个FFT点之间的频率间隔为24M/512=46.875K。
[0029] 由于栅栏的存在,如果单纯通过FFT的方法来提高单音频点估计的精度,就需要增加FFT点的个数。但是这会大大的增加运算复杂度。这就是传统的基于FFT作单音估计方法的瓶颈所在;而本发明将通过某种处理方法,来突破这个瓶颈,在较低的运算复杂度的基础上实现单音频点的精确定位,详细说明请看步骤3。
[0030] 2.单音频率粗估
[0031] (1)首先考虑只存在一个单音的情况。
[0032] 在AWGN信道下,若信号中存在单音,其功率谱及FFT(N=512点)如图3所示。从FFT图中可以看出,单音会使得某个点的FFT结果十分突出。但即便如此,由于栅栏效应的存在,仍然不能精确定位到单音的频率。从以上的说明中可以得知,通过增加FFT点数来克服栅栏效应对于宽带系统来说会大大增加运算复杂度,是不可取的。
[0033] 可以做以下假设:
[0034] A.若无单音,信号本身的频谱是比较平坦的;
[0035] B.做N点的FFT,FFT的绝对值会出现尖峰,且单音一定在尖峰与其左(右)侧相邻的FFT点之间;
[0036] C.单音在一定时间范围内是保持不变的。
[0037] 假设A的目的是为了保证当单音存在时,信号的频谱上一定会出现一个尖锐的尖峰,只有这样,才能进行准确定位;假设B是为了保证FFT有足够的分辨率,否则就不能利用FFT的方法实现粗略估计;假设C是为了保证在进行一次估计的过程中单音的频率基本不变。
[0038] 基于以上假设,可以通过对输入信号x(n)做N点的FFT,若其FFT幅度的最大值出现在X(k),则粗估单音频率为:
[0039]
[0040] (2)再考虑存在多个单音的情况。
[0041] 估计的原理与单个单音时相同。首先,对信号x(n)进行N点的FFT。选择由于单音引起的FFT幅度较大的点,这样的点共有L个。则可以进行L路并行处理,每一路与其他各路独立,处理方法与单个单音的方法相同。
[0042] 上面提到了找由于单音引起的FFT幅度较大的点。这就存在三个问题:
[0043] a.如何保证FFT幅度能够克服信号自身频谱的起伏,保证在所有全部单音附近出现相应的峰值;
[0044] b.FFT的值要多大就可以判定附近存在一个单音,即单音的门限是多少;
[0045] c.一个单音可能引起多个FFT点的幅度超过b中所设定的门限,这时应如何处理。
[0046] 对问题a,可以通过累加的方法。即连续n次取N点的信号分别作FFT,将n次的FFT幅度的均值作为信号的FFT。这样就可以在一定程度上克服信号的起伏,使FFT能够更好地显示出单音。
[0047] 对于问题b,可以采用与FFT所有频率点的均值相比较的方法。即将N点的FFT幅度取均值,然后N点中与该均值的比值超过某个门限τ的点即可认为是单音引起的。但是这样存在这样一个问题,就是当单音比较多的时候,会使得FFT的均值大大提高,若门限τ是一个定值将有可能导致有些单音不能过门限。假定单音的数量不超过8个,在求FFT均值时可以将最大的15个值排除。挑选最大的15个值需要进行排序,此处可以采用快速排序。
[0048] 对问题c,不能把超过门限的点的个数判定为单音的数量,这样会产生许多‘虚假’的单音,增加运算量。假定两个不同的单音频率之间距离足够远,在FFT离散谱上表现为两个单音引起各自附近的FFT点幅度与均值的比值超过τ,但它们中间有至少一个FFT点幅度与均值的比值不超过τ。在这个假设下,记录超过门限τ的点的频率点位置,如果位置连续,则判定它们是由一个单音引起的。
[0049] 步骤2:信号频谱搬移
[0050] 根据步骤1中得到的单音粗估频率w1,对信号进行频谱搬移,即在时域上乘以exp(-jw1n),加一个固定的频偏,则相当于在频域上将FFT后的最大值移到了零频,同时由假设B可知真正的单音频率点位置在零频附近。频谱搬移后的信号可以写成:
[0051]
[0052] 步骤3:信号累加和单音频率精估
[0053] 对经过步骤2的频谱搬移后的时域信号进行抽取或累加,可将零频附近的信号频谱展宽,频谱展宽的倍数与抽取的倍数或累加的长度M有关。
[0054] 由于抽取需要进行滤波,而累加具有一定的低通滤波功能,因此本发明采用累加的方法对时域信号y(n)进行处理。取累加长度为M,即连续的M个信号点累加,则可将jwY(e )在-π/M~π/M之间的频率分量扩展到0~2π上。此时时
即相当于将原先信号FFT的X(k-2),X(k-1),X(k),X(k+1),X(k+2)五点之间的频谱放大了M倍。
[0055] 从y(n)中取N*M点进行长度为M的累加得到z(n),并对z(n)做N点的FFT。这相当于将X(k-2)到X(k+2)之间的连续频谱做了N点的采样。此时FFT幅度最大值出现在Z(c),则可以精细地估计单音频率fsingle如下:
[0056]
[0057] 通过以上的描述,进行两次长度为N点的FFT可以将分辨率提高到f/NM,误差在-f/2NM~f/2NM,其中f为信号采样率。整个处理过程如图4所示(M=N/4),其实现结构如图5所示。
[0058] 各功能模块划分如下:
[0059] FFT模块:512点,完成FFT运算。
[0060] CORDIC:求复数的幅度,在具体实现这种运算时可以通过作平方求其能量。
[0061] 排序累加模块:对FFT的幅度共512点进行快速排序,找出其最大的15个值。在排序的同时完成其余497点累加,确定粗估门限。
[0062] 除法器:除数固定,为497。被除数为排序累加模块算出的497个FFT点幅度累加和。
[0063] 单音粗估模块:用来确定单音的个数,并粗略估计出各个单音频率。
[0064] 相位旋转模块:信号由x(n)到y(n)转换是需要在时域上加一个频偏。而在具体实现中,加频偏的过程可以通过加相偏来完成。
[0065] 累加模块:对加频偏后的输入信号进行M=128点的累加。
[0066] 最大值定位模块:数据加频偏并累加后做FFT,要找出最大FFT幅度出现的位置,从而对单音进行准确定位。。
[0067] 在假设B中,我们要求第一次FFT的点数N足够大,能够获得一个与单音十分接近的尖峰。通过仿真,若当采样率为24MHz时,N=512可以达到这个要求。
[0068] 当FFT点数为512,累加个数M为128,理想的分辨率为1/512/128=1.5259e-5,残余误差的范围为-7.6295e-6~7.6295e-6。此外,本发明的估计方法还能够很好地工作在高斯白噪声及多径干扰的无线环境之下。
[0069] 步骤4:自适应单音消除
[0070] 本发明提供了一种利用自适应滤波器进行噪声(本发明中噪声特指有效信号频带内的一个或多个单音干扰)消除的方法。此方法需要两个输入:
[0071] (1)主要输入primary input,包含了噪声和有效信号的实际信号输入;在本发明中,就是步骤1的实际输入信号。
[0072] (2)参考输入reference input,通过某种方法对噪声进行提取得到的噪声模型,作为噪声的参考输入,该参考输入与主要输入中的实际噪声应具有强相关性;在本发明中,可利用步骤3中得到的单音干扰的精确频率信息,产生出对应频率的单音干扰信号作为参考输入。
[0073] 其原理与结构图如图6所示:
[0074] s为有效信号,n1为加到有效信号中的噪声,且n1与s不相关,n1′与n1有很强的相关性,也与s不相关,n1′经过自适应滤波器后的输出y作为对n1的估计,则系统的输出z=s+n1-y,在自适应滤波器收敛的理想情况下,y将不断逼近n1,则z也将不断逼近有效信号s。
[0075] 本发明中的自适应滤波采用最小均方误差算法,由于s与n1,y的不相关性,系统输出信号z能量的最小化就意味着z中噪声能量的最小化,且有效信号s不失真,进而得到最大的信噪比,此时的z就是有效信号s的最佳估计模型,即完成了在有效信号不失真的前提下对噪声的消除。
[0076] 此外需要注意的是,若n1′中包含了与s相关的部分,则该系统的输出z中的有效信号会有相应的失真,因此如何得到一个最佳噪声模型n1′非常重要,而步骤1~3就是分析实际的单音干扰并建立一个最佳单音干扰模型。
[0077] 由于参考输入为单音,所以只需要一个2阶自适应滤波器,其抽头系数更新公式为:
[0078] w1j+1=w1j+2μεjx1j
[0079] w2j+1=w2j+2μεjx2j
[0080] 其中μ是步长,决定了该自适应滤波器抽头系数的收敛速度和收敛后的不稳定度,可根据实际应用来确定;ε为误差,在该系统中,就是最终输出的有效信号z;x1j表示参考输入的单音信号,x2j表示x1j延迟90度相位的单音信号;
[0081] 本发明的另一个重要的创新特征在于:通过“并行估计”和“串行消除”,可同时对实际无线环境中可能存在的多个单音干扰进行精确估计并消除。
[0082] 多路并行估计
[0083] 由于系统中可能存在多个单音,在单音估计处理过程中采用了多路并行处理的方法。假定系统中单音的个数不超过L个。若估计出的单音个数K少于L个,则只开启第1到第K路的使能,其余的(L-K)路关闭。
[0084] 该种并行处理结构所需要的资源,随着单音的最大数量L的增加而增加。因而需要根据实际情况确定L,使得能够在尽最大可能消除单音的前提下减少资源的开销。
[0085] 多级串行消除
[0086] 本系统针对噪声是有效信号频带内的一个或多个单音干扰的情况,对于每一个单音干扰,都用一个自适应单音消除器去消除;对于多个单音的情况,就是多个自适应单音消除器的串联去逐个消除。每一级的单音消除器的原理结构都是一样的,区别只在于参考输入reference input中输入的单音干扰的频率不同。
[0087] 下面介绍一个典型的应用实例
[0088] 图7为本发明一个典型的应用实例效果图,其FFT点数N=512,累加点数M=128,宽带QPSK调制信号的传输环境中存在多个强单音干扰(单音比信号能量强10~
20dB),由QPSK信号的星座点可明显看出,由于这些单音干扰,星座点已经散成一团,即信号质量已经很差,无法正常解调;但经过本发明的单音估计和消除方法后,星座点又恢复到四个小团,即信号质量又恢复得很好,正常解调后无误码。