基于FPGA的BPSK信号载频估计单元设计与实现
扫描二维码
随时随地手机看文章
摘要:根据BPSK调制信号调制机理和平方倍频法原理,在FPGA平台上设计实现了BPSK调制信号载波频率估计单元。利用ModelSim仿真环境对载频估计功能进行仿真,验证了平方倍频法对BPSK信号进行载波信号估计的有效性。仿真表明基于FPGA的BPSK信号载频估计单元,有较高的估计精度,且实现原理简单,有一定的实际应用价值。
0 引言
BPSK即二进制相移键控,是直扩信号中经常使用的一种调制方式,利用载波的相位变化传递数字信息,信号的振幅、频率保持恒定。BP SK调制方式具有较高传输效率、误码率低,不易受信道特性变化影响等特点,而且调制电路简单易行,频谱密度低,处理增益高,具有良好的低截获概率可能,广泛应用于雷达、保密通信和导航定位等领域。对BPSK信号的载频估计为后续的跟踪捕获等处理提供载频参数,具有重大意义。随着信号处理技术和检测技术的飞速发展,涌现出了很多估计载波频率的方法,如平方倍频法、小波相关法等。
本文根据BPSK调制信号调制机理和平方倍频法原理,在FPGA平台下对基于平方倍频法的BPSK调制信号载频估计单元进行设计,并在Mode lsim6.5b环境下进行仿真验证和结果分析。
1 平方倍频法频率估计原理
BPSK调制信号用初始相位0和π分别表示二进制“1”和“0”,BPSK信号的时域数学表达式可以表示为:
Sbpsk(t)=A·D(t)cos(2πft+φ) (1)
式中,A代表振幅,D(t)代表二进制信息,将D(t)与载波相乘,因D(t)只有两种值,即“+1”和“-1”,分别代表“0”和“1”,使得BPSK调制信号只有两种相位,则BPSK调制信号的生成原理图如图1所示。
根据BPSK的调制原理,利用二进制信息对载波信号进行相位调制,使载波信号相位突变,即BPSK信号同时含有载波信息和二进制信息。因此对BPSK调制信号的载频估计应该首先将二进制信息造成的相位突变消除,只留下载波或与载波有关的成分,再进行载频估计。因为BPSK调制信号的二进制信息是±1构成的序列,可以用平方处理消除二进制信息的影响,提取其中仅与载波有关的成分进行载波频率估计。
BPSK调制信号的数学表达式如式(1),对其平方,结果如式(2)。
由式(3)可知,平方后信号中包含BPSK调制信号载频信号的平方项和直流分量。对平方结果进行傅里叶变换,求其频谱,搜索频谱峰值,并将谱峰位置输出,则可以得到2fc的估计值,最后除以2即可得到BPSK调制信号的载波频率。
2 基于FPGA的载频估计单元设计
载波频率估计单元首先实现对BPSK调制信号进行平方处理,然后将平方后的信号进行快速傅里叶变换(FFT),对频域进行二倍频的频域采样点输出,最后通过FFT变换的频率分辨率与输出采样点的比例关系完成载频的估计。
载频估计单元实现逻辑框图如图2所示。
其中,FFT运算点数为cal_index,采样频率为fsample,而峰值所在位置为xk_index,而峰值所在位置是载波二倍频所在位置,则载波频率fcarry的计算公式为:
根据以上分析,对载频估计模块的设计主要分为四部分:乘法器、FFT单元、平方求和单元、判决单元。根据平方倍频法原理以及逻辑框图2,在FPGA平台上设计的载波频率估计单元FPGA结构如图3所示。
表1为图3中的载频估计单元的输入输出接口,以及各个接口实现的功能。
图3中所设计的载频估计模块采用的算法是平方倍频法,根据平方倍频法原理,对输入信号首先要进行平方处理。本单元使用XilinX公司提供的Multiplier IP核,版本为4.0。Multiplier IP核的两个输入信号为8位的有符号定点数,输出信号是16位的有符号定点数。将平方后的信号进行傅里叶变换之前,需要对信号进行预处理。图3中所示的载频估计单元的关键模块是傅里叶变换模块。本单元使用的傅里叶模块是由Xilinx公司提供的Fast Fourier Transform IP核,版本号为7.1。该IP核要求输入数据为复数形式,因为通过乘法器计算后的数据是实数,因此对数据的预处理是加上一个为0的虚部,同时为了减少傅里叶变换的计算量,减少计算时间,这里将输入数据进行截短,只留数据的前8位,然后传送给Fast Fourier transform IP核进行计算。
Fast Fourier Transform IP核的功能是对输入的复数信号进行快速傅里叶运算,运算点数为1024点,输出的计算结果也为复数,xk_re为输出信号的实部,xk_im为输出信号的虚部,对计算结果进行求模需要用到两个乘法器Multiplier IP核和一个加法器Adder Subtracter IP核,即将xk_re和xk_im分别自乘后相加,得到的结果输入判决模块。根据式(3)可知,通过Fast Fourier Transform IP核进行频域变换后的结果会有直流分量存在,并且存在于输出频谱的零点处,判决模块在进行谱峰搜索时须跳过直流分量。因为计算的点数为1024点,而且输出的频域是对称的,因此每次搜索只需搜索到512点即可。当搜索到谱峰值时输出谱峰对应的采样点位置即二倍频采样点,通过式(4)即可输出最后的估计结果。
3 仿真分析
在ModelSim6.5b环境下,分别对不同码速和不同载波频率条件下载频估计单元进行仿真测试,结果如图3~5所示。
其中,图3的仿真参数为:BPSK调制信号信息速率4000kHz,载波频率20000kHz。由仿真结果可以看出,FFT计算得到的谱峰位置为205,载波速率估计结果为20019kHZ,误差为19kHz。图4的仿真参数为:BPSK调制信号的信息速率为5000kHZ,载波频率为20000kHz。由仿真结果可以看出,FFT计算得到的谱峰位置为205,载波速率估计结果为20019kHZ,误差为19kHZ。图5的仿真参数为:BPSK调制信号的信息速率为4000k Hz,载波频率为25000kHz。由仿真结果可以看出,FFT计算得到的谱峰位置为256,载波速率估计结果为25000kHz,误差为0kHz。
通过对三种不同参数的BPSK信号进行载频估计,仿真结果表明,利用平方倍频法具有较高的精度,实现了对BPSK调制信号载波频率的有效估计。
表2为当信息速率为4MHz时,对载频估计单元在不同载波速率条件下进行仿真得到的结果。
表2表明,当BPSK调制信号的信息速率为4000kHz时,在不同的载波频率条件下,载频估计仿真单元的仿真结果误差低,精度很高。通过仿真结果可以看出,随着载波频率的逐渐增高,误差也逐渐增高,这是因为随着载波频率的增加,载波的周期变小,每个周期内的采样点数也在变小,因此误差也随之增加,但仿真结果表明载频估计单元依然能够有效地对BPSK调制信号进行有效的载波估计。
4 结论
本文根据BPSK信号的调制机理和平方倍频法原理,在FPGA平台上完成了BPSK载波信号的生成模块和载波频率估计单元的设计和实现;在ModelSim6.5b环境中,在不同的参数下对载波频率估计单元进行仿真测试,仿真结果表明用平方倍频法对BPSK调制信号进行载频估计具有精度高、误差低的特点,同时在FPGA平台上利用Xilinx公司提供的IP核进行设计具有实现容易的特点,因此本载波频率估计单元具有很高的实际应用意义。