发明内容
本发明提出了一种适用于宽带接收机的基于FPGA的中频信号幅度不平衡补偿方法,能有效的解决接收机中的中频通道滤波器、放大器等中频调理器件所带来的幅度不平衡的补偿技术难题。
本发明的技术方案是这样实现的:
一种宽带中频信号幅度不平衡补偿方法,包括以下步骤:
步骤(一),通过AD变换器将一定带宽范围的标准幅度的中频信号转换为数字信号并输入到FPGA中,通过FPGA对宽带中频信号进行检波生成各频率点的幅度值;
步骤(二),PC机从FPGA中读取N1个频率点分别对应的幅度值,生成幅度序列A[i];
步骤(三),将N1长度的幅度序列A[i]扩展成N2长度,前面补M个中频信号下限频率fL频率点的幅度值,后面补M个中频信号上限频率fH频率点的幅度值,再将N2长度的幅度序列进行归一化后得到幅度序列B[i],将B[i]与标准的低通滤波器幅频响应S[i]相乘得到幅度序列C[i];
步骤(四),由PC机通过对幅度序列C[i]加窗和IFFT变换生成时域波形T[i],长度为N2,取中间的N3个数据作为滤波因子序列h[i];
步骤(五),由PC机将滤波因子序列h[i]装载到FPGA中的补偿滤波器中,补偿滤波器滤波级数为N3级;
步骤(六),FPGA中的补偿滤波器的输出信号即为经过幅度不平衡补偿后的采样序列。
可选地,所述步骤(一)中,FPGA采用数字下变频的方式来对输入的中频信号进行检波,并生成该频率点的幅度值。
可选地,所述步骤(一)具体为:输入的AD采样信号首先进行数字下变频处理,数字NCO产生的cos和sin两路信号分别与输入信号相乘实现数字混频,生成I、Q路信号进行低通滤波,滤波后的I、Q路信号进行求模运算后生成对应中频信号的幅度值。
可选地,所述步骤(三)具体为:
首先,将N1点的幅度序列扩充到N2点,在N1点的幅度序列前后分别补M点的幅度值;
然后,在幅频响应曲线生成时,将N2点的幅度序列乘以一个标准的低通滤波器幅频响应序列,该N2点的标准低通滤波器幅频响应序列S[i]计算如下:
S[i]=1, 1<i≤Npass
S[i]=1-(i-Npass)/(Nstop-Npass),Npass<i<Nstop
S[i]=0,Nstop≤i≤N2;
再然后,IFFT采用通用的复IFFT,其两路输入一路使用生成的幅频响应曲线,另一路输入为0,对IFFT变换生成的N2点时域波形进行加窗和截取操作后生成N3个数据。
可选地,所述步骤(四)中,截取正中间奇对称的N3个数据归一化并转换成二进制补码后作为滤波因子序列h[i]。
可选地,所述步骤(五)中,所述补偿滤波器为FIR型滤波器。
本发明的有益效果是:
(1)适用于任意的中频带宽,可对任意的中频带宽内的幅度不平衡进行测量后生成滤波因子并进行实时滤波;
(2)适用于任意的中频幅度不平衡形状,由于各中频模块的幅度不平衡形状都不相同,任意的不平衡形状补偿能力应用范围广;
(3)利用接收机现有的FPGA或DSP资源即可完成补偿,不需要增加额外的硬件资源;
(4)补偿效果好,经过补偿后的带内幅度平坦度可优于0.1dB。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
中频信号调理电路对输入到接收机的中频信号进行滤波或放大,中频信号调理电路中的滤波器和放大器会带来幅度不平衡,宽带中频信号的下限频率为fL,上限频率为fH,针对宽带中频信号的幅度不平衡,本发明公开了一种宽带中频信号幅度不平衡补偿方法,采用FPGA进行实时补偿,可对任意中频带宽和任意幅度不平衡形状的中频信号进行幅度补偿,充分发挥全数字方式灵活性强、可任意配置、不占用额外的电路资源等优点,其原理框图如图1所示,具体包括以下步骤:
步骤(一),通过AD变换器将中频信号调理电路输出的宽带标准幅度的中频信号转换为数字信号并输入到FPGA中,通过FPGA对宽带中频信号进行检波生成各频率点的幅度值。
步骤(二),PC机通过ISA接口从FPGA中读取N1个频率点分别对应的幅度值,生成幅度序列A[i]。
步骤(三),将N1长度的幅度序列A[i]扩展成N2长度,前面补M个中频信号下限频率fL频率点的幅度值,后面补M个中频信号上限频率fH频率点的幅度值,再将N2长度的幅度序列进行归一化后得到幅度序列B[i],将B[i]与标准的低通滤波器幅频响应S[i]相乘得到幅度序列C[i]。AD采样频率为fS,则信号的理论带宽可以达到fs/2,选取理论带宽对应的IFFT点数为N2,根据点数与带宽的比例关系,可确定实际信号带宽应取点数N1=2*N2*(fH-fL)/fS。增补的点数值M=(N2-N1)/2。
步骤(四),由PC机通过对幅度序列C[i]加窗和IFFT变换生成时域波形T[i],长度为N2,取中间的N3个数值,N3的选取范围为41~81,可满足本发明的滤波要求。数据转换成二进制补码后作为滤波因子序列h[i]。
步骤(五),由PC机通过ISA接口将滤波因子序列h[i]装载到FPGA中的补偿滤波器中,该滤波器为FIR型滤波器,滤波级数为N3级,滤波因子采用16位长度。优选地,FIR型滤波器的处理时钟与上述AD变换器的处理时钟相同,输入采样率与处理时钟相同。
步骤(六),FPGA中的FIR补偿滤波器的输出信号即为经过幅度不平衡补偿后的采样序列,FPGA内部再利用此输出进行后续的数字信号处理,完成接收机其余的测试功能。
在上述技术方案中,幅度补偿由PC机和FPGA来实现,采用全数字幅度补偿技术,充分发挥全数字方式灵活性强、可任意配置、不占用额外的电路资源等优点,并采用FPGA进行实时补偿,可对任意中频带宽和任意幅度不平衡形状的中频信号进行幅度补偿,降低了中频电路对中频调理器件的性能要求。
上述步骤(一)中,本发明采用数字下变频的方式来对一定带宽范围的标准幅度的中频信号进行检波,并生成各频率点的幅度值,其实现原理如图3所示:
输入的AD采样信号首先进行数字下变频处理,数字NCO(数字控制振荡器)产生的cos和sin两路信号分别与输入信号相乘实现数字混频,生成I、Q路信号,为了抑制混频镜象信号,I、Q路信号需要进行低通滤波(LPF),优选地,低通滤波可以通过数字低通FIR滤波器实现。对经过低通FIR滤波器滤波后的I、Q路信号进行求模运算后即生成对应中频信号的幅度值。
上述步骤(三)中,PC机要根据N1个频点的幅度序列生成最终运行于FPGA的滤波因子,其实现原理如图4所示:
由于本发明中的宽带中频信号的利用频带为fL~fH,而IFFT运算点数必须为2的整数次方,因此本发明选取的IFFT长度为N2,幅频响应曲线的点数为N2。所以首先要将N1点的幅度序列扩充到N2点,直接在N1点的幅度序列前后分别补M点的幅度值即可。
在幅频响应曲线生成时,要将N2点的幅度序列乘以一个标准的低通滤波器幅频响应形状,该N2点的标准低通滤波器形状S[i]计算如下:
S[i]=1,1<i≤Npass
S[i]=1-(i-Npass)/(Nstop-Npass), Npass<i<Nstop
S[i]=0,Nstop≤i≤N2;
其中Npass通常取(0.8~0.9)*N2,Nstop通常取(0.96~0.99)*N2。
IFFT采用通用的复IFFT,其两路输入一路使用生成的幅频响应曲线,另一路输入为0,对生成的N2点时域波形进行加窗和截取操作后即生成了N3个滤波因子,对这些滤波因子进行归一化并转化为16位的二进制数据后,即可加载到FPGA中的FIR补偿滤波器。优选地,截取正中间奇对称的N3个数据作为滤波因子,将加快运算速度,提高滤波效率。
下面给出根据本发明宽带中频信号不平衡补偿方法的一个具体实施例。
本实施例采用幅度准确度较高的安捷伦射频信号源E8267D作为外部标准信号源,PC机通过网口控制E8267D产生112~176MHz之间等间隔的1364个频率点,输出幅度设为固定值,本实施例采用0dBm。E8267D所产生的信号通过射频电缆与需要补偿的中频模块的输入端相连接,输入信号首先经过中频信号调理电路,进行滤波或放大,再经过192MHz采样率的AD转换成数字信号后,进入FPGA,具体补偿过程包括以下步骤:
步骤(一),通过FPGA对中频信号调理电路输出的中频信号进行检波生成各频率点的幅度值。
本实施例采用数字下变频的方式来对输入的中频信号进行检波,并生成该频率点的幅度值,其实现原理如图3所示:输入的AD采样信号首先进行数字下变频处理,数字NCO的频率为144MHz,产生的cos和sin两路信号分别与输入信号相乘实现数字混频,生成I、Q路信号,为了抑制混频镜象信号,I、Q路信号需要进行低通滤波(LPF),数字低通FIR滤波器配置为:91级、Fs=192MHz、Fpass=35MHz、Fstop=45MHz、位宽=16、带外抑制优于80dB。对经过FIR滤波后的I、Q路信号进行求模运算后即生成对应中频信号的幅度值。
步骤(二),PC机通过ISA接口从FPGA中读取1364个频率点分别对应的幅度值,生成幅度序列A[i]。
步骤(三),将1364长度的幅度序列A[i]扩展成2048长度,前面补342个112MHz频率点的幅度值,后面补342个176MHz频率点的幅度值,再将2048长度的幅度序列进行归一化后得到幅度序列B[i],将B[i]与标准的低通滤波器幅频响应S[i]相乘得到幅度序列C[i];。
步骤(四),由PC机通过对幅度序列C[i]加窗和IFFT算法生成时域波形T[i],长度为2048,取中间的65个数据转换成二进制补码后作为滤波因子序列h[i]。
PC机要根据1364个频点的幅度序列生成最终运行于FPGA的滤波因子,其实现原理如图4所示:
由于本发明中的实际中频利用频带为112~176MHz,而IFFT运算点数必须为2的整数次方,因此本发明选取的IFFT长度为2048,幅频响应曲线的点数为2048。所以首先要将1364点的幅度序列扩充到2048点,直接在1364点的幅度序列前后分别补342点的幅度值即可。
在幅频响应曲线生成时,要将2048点的幅度序列乘以一个标准的低通滤波器幅频响应形状,该2048点的标准低通滤波器形状S[i]计算如下,其中,通带因子选取0.88,即0.88×2048=1802;阻带因子选取0.99,即0.99×2048=2027;
S[i]=1,1<i≤1802
S[i]=1-(i-1802)/(2027-1802),1802<i<2027
S[i]=0,2027≤i≤2048
IFFT采用通用的复IFFT,其两路输入一路使用生成的幅频响应曲线,另一路输入为0,对生成的2048点时域波形进行加窗和截取操作后即生成了65个滤波因子,对这些滤波因子进行归一化并转化为16位的二进制数据后,即可加载到FPGA中的FIR补偿滤波器。优选地,截取正中间奇对称的65个数据作为滤波因子。
步骤(五),由PC机通过ISA接口将滤波因子序列h[i]装载到FPGA中的补偿滤波器中,该滤波器为FIR型滤波器,处理时钟为192MHz,输入采样率也为192MHz,滤波级数为65级,滤波因子采用16位长度,生成的65级滤波因子的频响曲线如图2所示。
步骤(六),FPGA中的FIR补偿滤波器的输出信号即为经过幅度不平衡补偿后的采样序列,FPGA内部再利用此输出进行后续的数字信号处理,完成接收机其余的测试功能。
本发明提出了一种适用于宽带接收机的基于FPGA的中频信号幅度不平衡补偿方法,它通过FPGA和PC机来实现,可以对任意带宽范围内的中频信号的幅度不平衡进行补偿,应用范围广,补偿效果好,不需要增加额外的硬件资源,能有效的解决接收机中的中频通道滤波器、放大器等中频调理器件所带来的幅度不平衡的补偿技术难题。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。