基于声卡的2FSK信号的实时解调(图)

时间:2007-04-16
摘 要: 本文提出了一种以PC机声卡作为采集卡,以PC的CPU代替DSP器件的2FSK信号的数字化解调方法。介绍了载波频率估计、码元速率估计、码元恢复算法,并结合RTTY信号给出了实时译报算法,以及整个系统的测试结果。
关键词: 2FSK;RTTY;数字化实时解调;声卡
 

  

  近几年来,PC的各项技术得到了迅速发展。CPU的计算速度、内存容量都大幅度提高,已经完全可以满足对常规通信信号的实时解调。本文正是基于这种思想,抛开DSP器件,以多媒体电脑为硬件平台,实现对2FSK信号的实时解调,  系统框图如所示。
  接收机输出的基带信号经PC声卡采样后得到离散化的数字序列,对信号的采样可调用Windows API函数对声卡进行控制,包括抽样频率、缓存大小、每次读入的字节数等。解调软件是本文讨论的重点,它完成对信号的数字化实时解调和译报等功能。其数字化解调模型如所示。

载波频率估计
  载波频率估计有频域和时域两种方法,本文采用频域估计法。首先,对输入的离散数字序列x(k)进行FFT(k=0,1,2,...,N-1),得到频谱序列X(n)(这里n=0,1,2,...,N-1),由于实信号的FFT具有对称性,取X(n)的左半边(n=0,1,2,...,N/2-1),其频谱如3图所示,2FSK信号有两个载波频率f1,f2。显然,可以从频谱中求出一个值作为对其中一个载频的估计,假设为f1,但无法确定f2,因为它不一定是次大值。故进一步将频谱序列X(n)离散化,即
X(n)=X(n), X(n)≥VT;
X(n)=0,X(n)<VT
其中,VT为离散化时的门限值。离散化后的频谱如所示。在f1与f2之间存在若干个0值,因此,可以利用这若干个0值将f1、f2划分在不同的区间内,分别在各自的区间内求出值,即为对载频的估计。

                


码元速率估计

  码元速率的估计也有频域估计和时域估计两种方法,本文采用频域估计法。从频谱上分析,数字调制信号的功率谱一般都具有滚降的特点,如所示。令ω1=ω-ω0,则 P(ω1)=P0Sa2(ω/2fB)
  当ω1=±2πfB时,P(ω1)=0,两过零点的宽度B=ω0 +2πfB-(ω0-2πfB),码元速率为fB=B/4π。这是理想情况,但由于实际信号受躁声等影响,两过零点的宽度值同上面的分析值有很大的误差,因而需要对以上方法进行改进。引起误差的主要原因在于噪声对两个零点附近低幅值频率的影响相对于ω0附近高幅值频率来讲太显著,故可以把频谱宽度向ω0附近集中。当ω1=±πfB时,P(ω1)=≈0.4P0,此式表明,在信号功率谱上,由点的0.4倍所对应的频谱宽度 ω0+πfB-(ω0-πfB)=2πfB,若用Hz作单位,其数值等于码元速率fB,此即为对码元速率的估计。


带通滤波器

  对于2FSK信号,本文采用二阶无限冲激响应滤波器。为提高运算速度和实时性能,滤波器采用迭代算法。设滤波器的输出序列为y(k), 其中k=0,1,2,...,N-1,则:wwwwwwwww

式中,a=1/2tg(ω0/2fS),ω0为带通滤波器的中心频率,fS为声卡的抽样频率,Q为带通滤波器的品质因数,用来调整滤波器的通带宽度。
包络检波器
  包络检波器实际上由平方器接低通滤波器,再接相减器组成。由带通滤波器出来的两路信号,经平方后加到两个低通滤波器上,并将其输出送到相减器,相减后的信号变成一路双极性信号,然后送到码元恢复模块进行判决。这里,低通滤波器仍然采用二阶无限冲激响应滤波器,其迭代算法如下:


码元恢复
  本文采用数字锁相环软件算法实现对码元的恢复。对包络检波器输出的每个样点记数,记数长度由码元速率和抽样频率决定,即记数长度=抽样频率/码元速率。当样点计数达到计数长度时,输出该码元(1或0)。为使输出码元时刻在码元宽度的中间,该算法应有反馈机制。我们定义一个计数变量,当包络检波器输出的样点值发生变化时(由正到负,或由负到正),如果计数变量不处于码元宽度的中间位置(计数宽度的一半),则调整计数变量。若计数变量大于计数长度的一半,则计数变量减小某个值;若计数变量小于计数长度的一半,则计数变量增加某个值,这样就能保证在码元宽度的中间时刻输出码元。设计数变量为V,计数长度为C,反馈量为a,前一个样点为X0,其算法流程图如。


实时译报

  码元恢复模块输出的信号再经实时译报软件就可以正确译出报文内容。这里以RTTY信号为例,给出其译报算法。
RTTY信号是异步串行传输信号,其编码实际上是国际二号码,即五单位码。5位代表一个字符,其前后封装分别用1位(逻辑“0”)起始位和1位或2位(逻辑“1”)停止位。在译码时,首先等待一个下降沿,然后再等待0.5位,并检测此刻样点值是否依然为0,以确定起始位。如果不成功,则重新等待下降沿。检测到一个有效的起始位后就可以读连续5位的符号位,检测停止位(连续一个或2位的高电平),如果停止位检测失败,则放弃此字符,等待一个新的起始位。其算法流程图如所示。

实验测试结果
  测试系统框图参见上文系统框图。这里接收机输出的RTTY信号的两个载频分别为2040Hz和2850Hz,码元速率为50波特,声卡的抽样频率为8000Hz。测试波形图及输出报文如所示,其中a为接收机输出RTTY信号经声卡抽样后的波形,b、c分别为两路带通滤波器的输出波形,d为包络检波器的输出波形,e为输出的码元,f为输出的报文内容。

参考文献
1 Werter M J.FSK Demodulation using an Adaptive Recursive Digital Filter
[J].IEEE Trans on Signal Processing,1996,44(7):1 822-1 825
2 Wannsarnmaytha A,Hara S,Morinaga N.New Short-Time DFT FSK Demodulation
Method for LEO Satellite Communications Systems[J].IEICE Trans on
Communications,1996,E79-B(10):1 592-1 597
3 Lee S Y,Yoon C G,Lee C W.Incoherent Direct-conversion Receiver with a
Full Digital Logic FSK Demodulator[J].IEICE Trans on Communication,1996,E79-
B(7):978-981


  
上一篇:DC-DC转换器架构提升并联操作(图)
下一篇:开放式的量测与组态软件(图)

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料