基于传真调制解调建议V.21的FSK解调方法转让专利

申请号 : CN200810225026.0

文献号 : CN101404634B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王波涛张美娜

申请人 : 北京工业大学

摘要 :

本发明是一种基于传真调制解调建议V.21的FSK解调方法,属于通信调制解调技术领域。本方法采用戈泽尔计算方法进行频域变换并计算FSK中相应有效频点的能量,利用相应有效频点能量值的不同大小来判断出调制信号所代表的数字信号0或1,从而完成解调。该方法将时域信号转换为频域信号,不需要考虑频域信号的相位信息,只关心频域信号的幅度,就避免了相位的不同步问题。

权利要求 :

1.一种基于传真调制解调建议V.21的FSK解调方法,其特征在于:该方法通过频域信号的幅度信息,计算出频域信号的能量,通过该能量的比较检测出需要的FSK信号频率,进一步解调出相应的数字码流,具体步骤如下:

1)读入已调制传真控制信号的样点值,每N个样点值进行能量计算;能量计算的方法如下:V. 21调制解调建议中的两个有效载波频率点为1850Hz、1650Hz,分别计算各有效频点能量值;计算相应有效频点能量的方法具体为非归一化离散傅立叶变换的戈泽尔计算方法:戈泽尔计算方法的公式为:

采样点长度或数目为N的输入时域信号x(n)的离散傅里叶变换X(k)定义为:上式中:n=0,1,……,N-1;k=0,1,……,N-1;x(N)=0;

j(2π/N)kN

由于e =1,故(1)式能够表示为:

设采样点长度为N的方程yk(n)为如下等式:

(3)式中,m=0,1,……,n;n=0,1,……,N-1;k=0,1,……,N-1;x(N)=0;根据(1)和(2)式,当n=N时,yk(N)的值与x(n)的离散傅里叶变换表达式(2)相同;也就是说,离散傅里叶变换值X(k)能够表示为:当n为N 时,x(n)经过线性滤波器即一阶极点滤波器后的输出值yk(N);考虑到实际应用的需要,对应于上式(3)进一步变为差分形式:yk(n)=ej(2π/N)kyk(n-1)+x(n) (4)这里(4)式也是一个离散的时间系统模型,yk(n)表示系统当前的输出值,yk(n-1)表示系统在前一个时刻的输出值,而x(n)表示系统当前的输入值,n=0,1,……,N-1;k=

0,1,……,N-1;这里有y(-1)=0,即n<0时的yk(n)值全部为0;

对以上(4)式进行Z变换如下:

Yk(z)=Yk(z)z-1ej(2π/N)k+X(z), (5)其中Yk(z)=Z[yk(n)],X(z)=Z[x(n)],从(5)式可以得到

利用二阶复共轭极点 滤波器取代上式(4),得到构造式如下:从(7)式进行反Z变换可得到只有一个实系数的差分方程如下:这里(8)式也是一个离散的时间系统方程,其中n=0,1,……,N-1;x(N)=0;k=

0,1,……,N-1;vk(n)是系统当前的输出值,vk(n-1)是系统前一个时刻的输出值,vk(n-2)是系统前两个时刻的输出值,x(n)是系统当前的输入值;其中vk(-1)=0,vk(-2)=0表示在小于0的时刻,系统输出值为0;从以上(6)式和(7)式知道:-1 -j(2π/N)k

Yk(z)=Vk(z)(1-z e ),(9)

这样,在计算X(k)时,仅有一个复系数如下:

进一步处理(11)式,以去掉复系数:

|X(k)|2就是我们需要的相关频点的能量值;将N个待解调信号采样点的时域幅度值x(n)、设置的相关频率点值k这两个参数代入上述公式(8),其中n=0,1,……,N-1,此处k取值为V.21的两个频率f1=1850Hz,f2=1650Hz,通过迭代即可计算出vk(N-1)和vk(N);再将vk(N-1)和vk(N)代入公式(12),从而计算出设置的相关频率点的频域能量;

2)根据步骤1)中计算的有效频点能量值的大小判断该调制信号所代表的二进制数字信号码元是0还是1:如果在1850Hz处的能量E1850大于1650Hz处的能量E1650,则该调制信号判决为0,反之该调制信号判决为1;

3)如果待解调信号的采样点值没有结束就重复步骤1)、步骤2);否则,结束解调。

说明书 :

基于传真调制解调建议V.21的FSK解调方法

技术领域

[0001] 本发明涉及一种频移键控(frequency-shift-key,简称FSK)解调方法,具体为一种基于传真调制解调建议V.21的FSK解调方法,属于通信调制解调技术领域。

背景技术

[0002] 根据国际电话与电报咨询委员会(International Telephone andTelegraph Consultative Committee,简称CCITT)建议中的传真调制解调建议V.21(见附图5),它是用来传输二进制码控制信号的,V.21调制解调器是公用电话交换网中使用的传输速率为300波特(Baud)的标准化双工调制解调器。传真三类机(是目前通用的传真机类型,称G3传真机,同样传真二类机简称G2传真机)采用半双工方式通信,用于传输二进制控制信号(信令信号)。使用V.21建议中第二通道的特征频率:传号采用Fa=1650Hz,空号采用Fz=1850Hz。传真三类机的V.21调制解调器采用同步方式工作,不必提供在传输停止时维持同步所需的信号。该调制解调建议采用FSK调制解调的方法。但是V.21建议中只提供了调制方法,没有给出解调方法和具体的解调实现方法,所以要设计能正确解调符合V.21建议的调制信号的解调方法。
[0003] 由于传真调制解调建议V.21中数据传输速率较低,因此应该尽量采用成本低廉、简便易行的方法解调。随着频移键控解调方式的成熟化,目前最常用的方法是相干解调方法,如附图1所示:
[0004] 将接收到的信号首先进行带通滤波,得到按照规定要求的频率范围的信号。这里带宽应设为300HZ~3400HZ,然后和两个相应的同频本地载波(cosw1和cosw2)相乘,再通过低通滤波器滤出两个频率的信号,通过定时脉冲对信号进行抽样判决,从而达到解调的目的。该方法适用于数字信号,也适用于软件的实现,解调方法简单、计算量较小,但是对于同步的要求比较高,这 是由于要能准确的判断出数字信号,就要严格的做到相位同步,这是一个难点。同步问题(载波同步和位同步)是解调技术的难点问题。

发明内容

[0005] 本发明的主要目的在于克服以往实现的FSK解调中同步难以实现的缺点,本发明提出了一种简单易于实现的符合V.21建议的FSK解调方法,本解调方法避免了载波同步和位同步,大大的简化了解调的实现方法。
[0006] 本发明采用了离散傅立叶变换(Digital Fourier transformation,简称DFT)并计算频率域的所有频点的能量值的方法,其中的离散傅立叶变换用非归一化离散傅立叶变换(Non-unity Digital Fourier transformation,简称NDFT)中的戈泽尔(Goertzel)计算方法,这是离散傅立叶变换的一个改进的方法。本发明所提出的FSK解调方法既可以用硬件电路或集成芯片来实现,也可以用软件来实现,软件实现一般要比硬件实现灵活、成本低。
[0007] 本发明的基本思路:
[0008] V.21的解调器采用非归一化离散傅立叶变换的戈泽尔(Goertzel)计算方法进行频域变换并计算FSK中相应有效频点的能量,利用相应有效频点能量值的不同大小来判断出调制信号所代表的数字信号0或1,从而完成解调。该方法将时域信号转换为频域信号,不需要考虑频域信号的相位信息,只关心频域信号的幅度,就避免了相位的不同步问题。 [0009] 本发明采取的具体技术方案如下:
[0010] 一种基于传真调制解调建议V.21的FSK解调方法,是把接收到的已调制的信号码流作为输入,进行解调处理,它符合V.21传真调制解调建议的解调部分,这里的信号码流实际是信令码流。其方法步骤为:接收端将收到的信令码流进行解调,根据解调出来的信令内容,产生相应的信令,并将该信令进行调制和传输,以完成传真信号的握手工作。本发明的特征在于,解调方法中采用了非归一化离散傅立叶变换(Non-unity Digital Fouriertransformation,简称NDFT)的戈泽尔(Goertzel)计算方法来计算相应频 点的能量,通过相应频点的能量来判断出相应的数字码流中的数字信号0和1。本发明中,NDFT的戈泽尔计算方法把输入的时域信号转换为频域信号,不考虑频域信号的相位信息,避免了涉及相位不同步的问题。只通过频域信号的幅度信息,计算出频域信号的能量,通过该能量的比较检测出需要的FSK信号频率,进一步解调出相应的数字码流。
[0011] 具体为:通过频域信号的幅度信息,计算出频域信号的能量,通过该能量的比较检测出需要的FSK信号频率,进一步解调出相应的数字码流,该方法具体包括以下步骤: [0012] 1)读入已调制传真控制信号的样点值,每N个样点值进行能量计算;能量计算的步骤和方法为:
[0013] V.21调制解调建议中的两个有效载波频率点为1850Hz、1650Hz,分别计算各有效频点能量值。所述的计算相应有效频点能量的方法具体为非归一化离散傅立叶变换的戈泽尔计算方法:
[0014] 戈泽尔计算方法的公式为:
[0015] 采样点长度(或数目)为N的输入时域信号x(n)的离散傅里叶变换X(k)定义为:
[0016]
[0017] 上式中:n=0,1,……,N-1;k=0,1,……,N-1;x(N)=0;
[0018] 因为ej(2π/N)kN=1,故(1)式也可以写成
[0019]
[0020] 为计算方便,设采样点长度为N的方程yk(n)为如下等式:
[0021]
[0022] (3)式中,m=0,1,……,n;n=0,1,……,N-1;k=0,1,……,N-1;x(N)=0;根据(1)和(2)式,当n=N时,yk(N)的值与x(n)的离散傅里叶变换表达式(2)相同;也就是说,离散傅里叶变换值X(k)可以表示为:当n为N时,x(n)经过线性滤波器即一阶极点滤波器后的输出值yk(N);考虑到实际应用的需要,对应于上式(3)进一步变为差分形式: j(2π/N)k
[0023] yk(n)=e yk(n-1)+x(n) (4)
[0024] 这里(4)式也是一个离散的时间系统模型,yk(n)表示系统当前的输出值,yk(n-1)表示系统在前一个时刻的输出值,而x(n)表示系统当前的输入值,n=O,1,……,N-1;k=0,1,……,N-1;这里有y(-1)=0,即n<0时的yk(n)值全部为0。对以上(4)式进行Z变换如下:
[0025] Yk(z)=Yk(z)z-1ej(2π/N)k+X(z), (5)
[0026] 其中Yk(z)=Z[yk(n)],X(z)=Z[x(n)],
[0027] 从(5)式可以得到
[0028] 在(6)式中有极点位置 包含了一个复系数,在实现时很不方便。因此,利用二阶复共轭极点 滤波器取代上式(4),得到构造式如下:
[0029] Vk(z)=z[vk(n)] (7)
[0030] 从(7)式进行反Z变换可得到只有一个实系数的差分方程如下:
[0031]
[0032] 这里(8)式也是一个离散的时间系统方程,其中n=0,1,……,N-1;x(N)=0;k:O,1,……,N-1;vk(n)是系统当前的输出值,vk(n-1)是系统前一 个时刻的输出值,vk(n-2)是系统前两个时刻的输出值,x(n)是系统当前的输入值;其中vk(-1)=0,vk(-2)=0表示在小于0的时刻,系统输出值为0;从以上(6)式和(7)式可以知道:
-1 -j(2π/N)k
[0033] Yk(z)=Vk(z)(1-z e ),(9)
[0034]
[0035] 这样,在计算X(k)时,仅有一个复系数如下:
[0036]
[0037] 在本方法中仅需要考虑离散傅里叶变换的幅度信息,而不必考虑其相位信息;可以进一步处理(11)式,以去掉复系数:
[0038]
[0039] |X(k)|2就是我们需要的相关频点的能量值。将N个待解调信号采样点的时域幅度值x(n)(其中n=0,1,……,N-1)、设置的相关频率点值k(k代表V.21的两个频率f1=1850Hz,f2=1650Hz)这两个参数代入上述公式(8),通过迭代即可计算出vk(N-1)和vk(N)。再将vk(N-1)和vk(N)代入公式(12),从而计算出设置的相关频率点的频域能量;使用上式(8)和(12),就能从输入时域信号x(n)中提取出相关频点的频谱能量信息。 [0040] 2)根据已计算的频域能量值的大小判断该调制信号所代表的二进制数字信号码元是0还是1;如果在1850Hz处的能量(E1850)大于1650Hz处的能量(E1650),则该调制信号判决为0,反之该调制信号判决为1;
[0041] 3)如果待解调信号的采样点值没有结束就重复步骤1)、步骤2);否则,结束解调。 [0042] 本发明的解调方法的优点:
[0043] 1)本发明克服了解调中的同步问题,同步是通信系统中一个重要的实际问题,也是一个难题。信号传输中的同步一般包括位同步和载波同步。当采用相干检测法解调时接收端需要提供一个与发射端调制载波同频同相的相干载波,这个相干载波的获取就称作载波同步。又因为信号往往是一串信号码元序列,解调时需要知道每个码元的起止时刻,这样在抽样判决的时候,接收端就能产生一个用作抽样判决的定时脉冲,它和接收码元的终止时刻应该对齐,这个过程就是位同步的过程,只有完成了载波同步和位同步才能正确地解调出数字信号。然而,在我们的解调方法中没有采用相干解调法,也不采用抽样判决脉冲的方法,因此避免了载波同步和位同步,大大的简化了解调的实现方法。
[0044] 2)本发明的解调方法用软件实现起来简单灵活、适应性强、成本低。该解调方法也可以用硬件实现。
[0045] 附图说明
[0046] 图1:FSK相干解调法
[0047] 图2:基于V.21的FSK解调算法流程图
[0048] 图3:高级数据链路控制(HDLC)帧结构
[0049] 图4:FSK实际数据(在信道中实际接收到的数据)
[0050] 图5:V.21建议的参数。
[0051] 具体实施方式
[0052] 下面结合附图详细说明本实施例:
[0053] 数字信号检测往往采用离散傅立叶变换方法,把输入的时域信号转换成频域信号。非归一化离散傅立叶变换的戈泽尔计算方法有优点:第一,它输入一个数据就可计算一个参数,这样便节约了大量的数据存储空间。第二,它允许采用任意长度的采样窗,来计算频率域的任意点的傅立叶变换。因此,戈泽尔计算方法具有更好的灵活性来适应频率的要求。利用戈泽尔计算方法计算相应频点能量值的不同大小来判断出调制信号所代表的数字信号0或1,从而完成了解调。具体的方法流程见说明书附图中的附图2。
[0054] 戈泽尔计算方法的公式为:
[0055] 采样点长度(或数目)为N的输入时域信号x(n)的离散傅里叶变换X(k)定义为:
[0056]
[0057] 上式中:n=0,1,……,N-1;k=0,1,……,N-1;x(N)=0;
[0058] 因为ej(2π/N)kN=1,故(1)式也可以写成
[0059]
[0060] 为计算方便,设采样点长度为N的方程yk(n)为如下等式:
[0061]
[0062] (3)式中,m=0,1,……,n;n=0,1,……,N-1;k=0,1,……,N-1;x(N)=0;根据(1)和(2)式,当n=N时,yk(N)的值与x(n)的离散傅里叶变换表达式(2)相同;
也就是说,离散傅里叶变换值X(k)可以表示为:当n为N时,x(n)经过线性滤波器即一阶极点滤波器后的输出值yk(N);考虑到实际应用的需要,对应于上式(3)进一步变为差分形式:
[0063] yk(n)=ej(2π/N)kyk(n-1)+x(n)(4)
[0064] 这里(4)式也是一个离散的时间系统模型,yk(n)表示系统当前的输出值,yk(n-1)表示系统在前一个时刻的输出值,而x(n)表示系统当前的输入值,n=0,1,……,N-1;k=0,1,……,N-1;这里有y(-1)=0,即n<0时的yk(n)值全部为0。对以上(4)式进行Z变换如下:
[0065] Yk(z)=Yk(z)z-1ej(2π/N)k+X(z),(5)
[0066] 其中Yk(z)=Z[yk(n)],X(z)=Z[x(n)],
[0067] 从(5)式可以得到
[0068] 在(6)式中有极点位置 包含了一个复系数,在实现时很不方便。因此,利用二阶复共轭极点 滤波器取代上式(4),得到构造式如下:
[0069]
[0070] 从(7)式进行反Z变换可得到只有一个实系数的差分方程如下:
[0071]
[0072] 这里(8)式也是一个离散的时间系统方程,其中n=0,1,……,N-1;x(N)=0;k=0,1,……,N-1;vk(n)是系统当前的输出值,vk(n-1)是系统前一个时刻的输出值,vk(n-2)是系统前两个时刻的输出值,x(n)是系统当前的输入值;其中vk(-1)=0,vk(-2)=0表示在小于0的时刻,系统输出值为0;从以上(6)式和(7)式可以知道:
[0073] Yk(z)=Vk(z)(1-z-1e-j(2π/N)k),(9)
[0074]
[0075] 这样,在计算X(k)时,仅有一个复系数如下:
[0076]
[0077] 在本方法中仅需要考虑离散傅里叶变换的幅度信息,而不必考虑其相位信息;可以进一步处理(11)式,以去掉复系数:
[0078]
[0079] |X(k)|2就是我们需要的相关频点的能量值。使用上式(8)和(12),就能从输入时域信号x(n)中提取出相关频点的频谱能量信息。
[0080] 本实施例解调方法的具体流如附图2所示:
[0081] 1)读入已调制传真控制信号的样点值,每N个样点值进行能量计算;能量计算的步骤和方法为:
[0082] V.21调制解调建议中的两个有效载波频率点为1850Hz、1650Hz,分别计算各有效频点能量值。所述的计算相应有效频点能量的方法具体为非归一化离散傅立叶变换的戈泽尔计算方法。将N个待解调信号采样点的时域幅度值x(n)(其中n=0,1,……,N-1)、设置的相关频率点值k(k代表V.21的两个频率f1=1850Hz,f2=1650Hz)这两个参数代入上述公式(8),通过迭代即可计算出vk(N-1)和vk(N)。再将vk(N-1)和vk(N)代入公式(12),从而计算出设置的相关频率点的频域能量;使用上式(8)和(12),就能从输入时域信号x(n)中提取出相关频点的频谱能量信息。
[0083] 2)根据已计算的频域能量值的大小判断该调制信号所代表的二进制数字信号码元是0还是1;如果在1850Hz处的能量(E1850)大于1650Hz处的能量(E1650),则该调制信号判决为0,反之该调制信号判决为1;
[0084] 3)如果待解调信号的采样点值没有结束就重复步骤1)、步骤2);否则,结束解调。 [0085] 测试结果:
[0086] V.21调制解调建议用于调制解调传真过程的二进制控制信令。二进制代码的传真控制过程都采用高级数据链路控制(High level Data Link Control,简称HDLC)帧结构(如附图3,注:HDLC帧结构的标志位为0x7E,地址位为0xFF,而控制、传真控制、传真信息、帧校验序列都是不确定的,要根据实际的传真通信来确定)。HDLC规程是一种面向比特的链路控制规程,该规程使通信双方的监控功能通过双方各自向对方发出的一定比特组合来表示命令和 响应,能很好的适应交互操作。基本的HDLC结构由多个帧组成,每帧分为若干字段,这种结构为帧提供标志、差错校验和正确收到信息的证实。
[0087] 附图3给出了一个HDLC帧结构,它是由先导序列、标志序列、地址字段、控制字段、信息字段(分为传真控制字段和传真信息字段)、帧校验序列等组成。
[0088] 当输入一段从实际信道上接收的典型的符合V.21建议的FSK调制数据(图形如附图4)。该段数据是一段截取的数据,从附图4很明显可以看到该数据的各部分的疏密程度不一样,经频率检测可知疏的部分的频率是1650Hz,密的部分的频率是1850Hz。 [0089] 该数据经过本解调方法解调的结果如下:
[0090] 01111110011111100111111001111110011111100111111001111110011111100111111001111110011111100111111001111110011111100111111001111110011111100111111001
11111001111110011111100111111001111110011111100111111001111110011111100111111
00111111001111110011111100111111001111110011111100111111001111110011111100111
11100111111001111110011111101111111111000000110000100000010000000100000001000
00001000000010000000100000001000000010000000100000001000000010000000100000001
00000001000000010000000100000001000001111010000110011000100111110001010001011
111100111111001111110
[0091] 进一步采用十六进制表示如下:
[0092] 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E [0093] 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E
[0094] FF
[0095] C0 C2 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 1E 86 62 7C [0096] 51
[0097] 7E 7E 7E
[0098] 根据CCITT建议中的传真通信规程T.30,以上数据序列中前端是若干个0x7E(01111110)为标志位(不同品牌的G3传真机解调获得的0x7E的数目以及同一品牌的G3传真机多次重复呼叫时解调获得的0x7E的数目会略微不同,本段数据中0x7E的数目为41个),接下来的0xFF(11111111)为地址位,中间依次是控制字段0xC0(11000000、
0xC2(11000010),信息字段0x04(00000100)等,中间的信令每次是不一样的,要根据具体的传真过程(例如,传真机的号码不同,所用的传真速率不同等都会造成解调出来的码流的不同)来定,最后又出现标志为0x7E(01111110),这完全符合CCITT建议的T.30通信规程规定的二进制HDLC帧结构,这是一段典型的具有代表性的数据。采用截取的其它符合V.21建议的FSK调制数据用本方法解调后也有类似结果,因此可以说明本解调方法的正确性和有效性。
[0099] 将上述二进制信号采用现有的调制方法进行调制后得到调制信号,发送到G3传真机进行解调验证,G3传真机反馈结果正确。
[0100] 经过验证,对在不同品牌的传真机上多次重复呼叫所获取的不同数据序列进行以上解调和调制处理,结果都正确并符合以上特点。
[0101] 此外,根据本解调方法设计的软件在CDMA移动通信基站系统上进行V.21信令解调测试,结果正确。