1. 绪论
以现代通信理论为基础,以数字信号处理为核心,以微电子技术为支撑的软件无线电(Software Defined Radio, SDR)自1992年由Jeo Mitola提出以来,已经取得了引人注目的进展,引起了包括军事通信、个人移动通信、微电子以及计算机等领域的巨大关注和广泛兴趣。人们普遍认为,软件无线电将使无线通信,甚至整个无线电领域产生重大变革,并由此推动电子信息技术的快速发展,最终在全世界范围内形成巨大的软件无线电产业市场,产生巨大的经济效益,推动社会和技术进步。软件无线电突破了传统的以功能单一、可扩展性差的硬件为核心的设计理念,强调以开放性的最简硬件为通用平台,尽可能地用可升级、可重配置的应用软件来实现各种无线电功能的设计新思路 [1] [2] 。
在软件无线电中,调制与解调是一个经常会碰到的概念。调制是指利用频率较低的信号去改变频率较高信号的某些参数如幅度、频率和相位,即将低频信号加载到高频载波上,由载波将低频信息携带到较远处。FM的含义是调频(Frequency Modulation),高频载波信号的瞬时频率随着低频信号的变化而变化。众所周知,在无线通信中,噪声干扰一般不会影响通信信号的频率。对FM信号而言,在高调频指数时,其解调后输出信号的信噪比远大于调幅信号,即FM信号的抗噪声能力较强,FM调制因此获得了广泛的应用,例如用于高保真音乐广播、电视伴音的传输、卫星通信和蜂窝电话等。当FM信号的最大瞬时相位偏移远小于0.5时,FM信号的频谱宽度比较窄,称为窄带调频,否则称为宽带调频 [3] [4] [5] [6] [7] 。
目前调频信号的解调一般分为相干解调和非相干解调两种。其中相干解调仅适用于窄带调频信号,而非相干解调对窄带调频和宽带调频信号均适用。在非相干解调中,采用鉴频器把包络恒定的调频波变成幅度和频率都随调制信号变化的调幅调频波,经包络器和低通滤波器得到基带调制信号。在相干解调中则需要产生本地相干载波,将相干载波与调频信号相乘,经低通滤波器和微分器得到基带调制信号 [7] 。笔者项目中使用的软件无线电接收机由前端接收机、上位计算机、高速数据采集卡构成。前端接收机输出零中频正交FM信号,通过高速数据采集卡传输到上位计算机,由运行于计算机上的解调软件进行解调,输出基带音频信号到扬声器播放。FM解调软件采用文献 [8] 给出的解调方法,本文下面研究的也是这一类方法。
鉴于软件无线电FM信号解调过程中,大部分信号处理操作是利用软件实现的,因此优化FM信号解调算法,减少软件代码量对提高解调速度尤为重要。本文针对软件无线电FM信号的解调,在计算复信号相位、相位去卷绕、低通滤波三方面对解调过程分析改进,并对改进后的解调性能进行评估。
2. 信号模型
为简单起见,不考虑各种噪声带来的影响。软件无线电接收机天线接收到FM信号,经前端接收机的混频、滤波处理,得到零中频复信号s(t) (t表示时间):
(1)
这里A为信号幅度,是一常数。j是虚数单位,m(τ)为基带调制信号,I、Q分别为零中频信号的同相、正交分量,即:
(2)
3. FM信号解调流程及分析
FM信号的常规解调流程如图1所示,它由四个模块组成。零中频复信号s(t)输入“计算相位”模块,得到复信号相位β(t)。由于相位是以2π为周期卷绕或折叠的,即,所以为了恢复s(t)真实的线性相位,需要对β(t)进行去卷绕处理。图1中“去卷绕”模块输出的是线性相位,经过“微分”模块实现微分操作,形成信号,经过“低通滤波(Low Pass Filtering, LPF)”模块处理,最终得到基带信号m(t)。需要说明的是,图1中的LPF是必要的,其作用是滤除不需要的带外信号及噪声,例如滤除商业FM立体声广播中的19 kHz导频信号。此外图1中没有给出信号处理过程的增益调整,这是因为增益是对信号进行线性缩放,调节增益只会影响信号的强度,不会改变信号的频谱分布。下面对图1进行分析。
Figure 1. The conventional demodulation procedure of FM communication signals on SDR
图1. 软件无线电FM信号常规解调流程
图1中“计算相位”模块的功能,实际上是计算Q/I的反正切 [8] :
(3)
首先,是一个非线性函数,当时,其泰勒展开形式为 [9] :
(4)
由式(4)可见,很难通过有限个数的多项式累加逼近得到的精确值。为提高计算Q/I的反正切的速度,人们尝试过多种不同的方法。首先想到的是使用查表法,即事先计算好Q/I与β的对应关系,将这种对应关系做成一个表格,使用时根据Q/I的值(结合Q、I的符号)直接去表格中查找需要的β。这种方法的弊端在于,如果需要的β的精度较高,存储表格需要的内存空间将会非常可观;有人为了提高计算精确度,使用切比雪夫多项式去近似计算β,但这一多项式算法需要很大的计算量。后来又有人使用坐标旋转数字计算(COordinate Rotation DIgital Computer, CORDIC)方法计算精确的反正切函数,在这一方法中只需用到二进制的加法,但这种方法耗时较长 [10] 。
其次,图1中“去卷绕”模块存在一个不足之处。由于计算机中存储的数据精度是有限的,如果FM信号经历的时间较长,因误差积累,去卷绕后得到的的精度会降低。更重要的是,计算机中的数据又是用有限字长表示的,过长的信号持续时间会导致的值向正无穷大方向单调递增,最终超过计算机所能表示的数据上限,然后急剧折向数据范围的下限。举个简单的例子,假定在计算机中采用16位无符号数表示,其范围是−32768~32767,当数据单调递增到上限32767后,继续增大将不会得到需要的32768,而只能得到−32768,这种突变经图1“微分”模块后会形成脉冲类干扰,从而在m(t)中出现不需要的噪声。
最后,图1中低通滤波LPF的实现过程,可用离散线性卷积的形式表示为:
(5)
这里[n]的含义为(nT),T为采样周期,例如m[n] = m(nT),以此类推。h为线性相位FIR (Finite Impulse Response,有限脉冲响应)低通滤波器的单位脉冲响应,M为h的列长,N为包含的样本数。实际上式(5)是采用离散傅里叶变换(Discrete Fourier Transform, DFT),具体而言是采用快速傅里叶变换(Fast Fourier Transform, FFT)实现的。在这里FFT的实质是用圆周卷积代替线性卷积,虽然FFT是DFT的一种高效计算方式,但由于通常情况下M的量值一般为几百,故圆周卷积相比于直接计算线性卷积而言,并没有带来多少运算量方面的节省,对较小的M值,直接利用式(5)计算m[n]的运算量反而比利用FFT要小 [10] [11] [12] 。另外上述LPF过程没有利用线性相位FIR滤波器系数的对称性,相对而言延长了信号处理时间,不利于FM信号解调的实时进行。
4. FM信号解调算法改进
为减少运算量,提高FM信号解调速度,基于上述分析,这里对计算相位、相位去卷绕、LPF三方面作出改进。
4.1. 计算相位方面的改进
在复平面上,将一个圆周按逆时针方向等分成8个象限,分别记为I、II、……、VIII,其中第I象限表示的角度范围是0˚~45˚。这里给出一种利用有理分式计算Q/I的反正切的算法 [10] :
(6)
式(6)中sign为符号函数,表示复平面上点(I, Q)位于第一象限,表示点(I, Q)位于第二象限,以此类推。易知对于任意的x,0.28125x = x/4 + x/32,在计算机中x/4可将x向右移2位,x/32可将x向右移5位实现,而移位操作是非常快的。不难理解,式(6)所示的反正切算法的运算量较小,其误差性能见图2。从图2中可以看出,当β在−180˚~180˚的范围变动时,利用有理分式快速计算反正切算法得到的结果与真实值β之间的相对误差小于0.9%,说明采用式(6)所得结果精度较高,这里相对误差err定义为:
(7)
Figure 2. A relative error curve of the fast arctangent calculation algorithm
图2. 快速计算反正切算法相对误差曲线
4.2. 相位去卷绕方面的改进
零中频复信号s(t)的相位β的取值范围是。在复平面负半虚轴上,存在从到或从到的突变,突变幅度为。从图1可以看出,“去卷绕”模块的输出是,后面紧接着是“微分”模块。当的变化没有越过复平面负半虚轴时,直接对进行微分,与对进行微分所得结果是相同的。只有当的变化越过复平面负半虚轴时,两个微分结果才会有所不同。换句话说,可以去掉图1中“去卷绕”模块,或者说将“去卷绕”、“微分”两个模块合二为一,直接利用得到微分结果,以减少运算量。该算法用离散形式表示如下:
(8)
4.3. FIR滤波方面的改进
通常情况下,在计算机中,两个浮点数相乘比它们相加需要更多的处理器时间,因此这里采用浮点数乘法次数衡量算法的运算量。易知前面式(5)涉及的乘法次数是MN。对于线性相位FIR滤波器h来说,其系数具有对称性 [12] :
(9)
利用h系数的对称性设计的FIR滤波器的结构如图3所示,图3(a)表示M为奇数(M = 5)的情形,图3(b)表示M为偶数(M = 6)的情形。x(n)为滤波器输入序列,y(n)为滤波器输出序列。利用式(9),FIR滤波操作乘法次数可减少到原来的一半左右。
Figure 3. The improved FIR filter structure where (a) M = 5, and (b) M = 6
图3. 改进后FIR滤波器结构:(a) M = 5,(b) M = 6
5. 性能评估
图4为采用本文提出的改进方法后,笔者项目中软件无线电接收机对FM广播信号解调过程界面截图,从图中可以看出软件无线电前端接收机天线接收到的射频信号的中心频率是98.5 MHz (即98,500,000 Hz)。图中“频谱图”显示的是零中频信号s(t)的幅频关系,从“瀑布图”可以浏览历史频谱信息,“音频”部分显示的是解调出的基带音频信号m(t)的时域波形。此外由于处理的是模拟调制信号,图4中专用于数字信号解调功能的“星座图”、“I通道”眼图、“Q通道”眼图没有显示信息。
Figure 4. The FM communication signal demodulation interface using the improved method
图4. 采用改进方法后的FM信号解调界面
在图4所示的性能评估实验中,首先采用原来的解调方法。当收听本地城市商业FM广播时,发现由于计算机处理速度不足,从扬声器听到的解调声音在时间上不断滞后。接下来前端接收机设置不变,修改软件代码,采用本文的改进方法对FM广播信号解调,收听的声音变得流畅、自然。最后在其它条件不改变的情况下,将软件无线电前端接收机的采样频率变成原来的两倍,以使单位时间要处理的数据量达到原来的两倍,测试结果表明这种情况下听到的声音仍然流利。这表明,采用改进方法后,软件无线电FM信号解调速度提高到约原来的两倍,证明了新方法的有效性。
6. 结束语
软件无线电以通用硬件为平台,大部分信号处理工作均交给软件去实现,因此优化软件代码直接关系着信号处理速度。为提高软件无线电FM信号处理速度,对现有FM解调方法进行了改进:使用快速反正切算法替代传统的函数提取复信号的相位,该算法的特点是代码运行速度快,且提取的相位的精度较高(相对误差不大于0.9%)。将相位去卷绕运算和微分运算合二为一,进一步减小运算量。利用线性相位FIR滤波器系数的对称性优化低通滤波操作,使滤波过程乘法次数减小到约原来的一半。实践证明采用本文提出的改进方法后,FM信号的解调速度可提高到约原来的两倍,证明了新方法的有效性。