首页> 中国专利> 一种FSK数字解调器

一种FSK数字解调器

摘要

本发明针对相位连续的FSK信号,提出了一种FSK数字解调器,通过比较器转换为方波,再通过波形整形电路整形后输出有2T0的高电平时长的方波,通过乒乓计数器,对整形后的FSK方波周期内采样时钟的计数,得到每个方波的周期的计数值Q,依据该计数值Q在一个为状态机的解调模块中,进行FSK信号的识别、同步、转换和检错,输出数字信号“1”或“0”,从而实现对FSK信号的解调。本发明的FSK数字解调器采用计数器计数,并根据计数值Q在状态机中进行解调,硬件上易于与如FPGA的逻辑电路集成在一起,提高系统集成度。

著录项

  • 公开/公告号CN103346988A

    专利类型发明专利

  • 公开/公告日2013-10-09

    原文格式PDF

  • 申请/专利权人 电子科技大学;

    申请/专利号CN201310231767.0

  • 申请日2013-06-13

  • 分类号H04L27/14(20060101);

  • 代理机构成都行之专利代理事务所(普通合伙);

  • 代理人温利平

  • 地址 611731 四川省成都市高新区(西区)西源大道2006号

  • 入库时间 2024-02-19 20:25:55

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-03-23

    授权

    授权

  • 2013-11-06

    实质审查的生效 IPC(主分类):H04L27/14 申请日:20130613

    实质审查的生效

  • 2013-10-09

    公开

    公开

说明书

技术领域

本发明属于FSK(频移键控)技术领域,更为具体地讲,涉及一种FSK数 字解调器。

背景技术

FSK是频移键控(Frequency-shift keying)的简称,这是一种通过不同的频 率来表示对应的不同信息符号的调制解调方式。由于它的实现方式相对简单, 并且具有较好的抗干扰性能和传输速度,所以在通信中得到了广泛的应用。例 如,在固定电话通信、网络电缆通信、光纤通信还有其他的无线通信领域中。

常用的FSK是二进制FSK,它用两个频率分别表示数字信号‘0’和‘1’。FSK 从相位上分又分为相位连续的和相位不连续的。

针对相位连续的二进制FSK目前有各种方法进行解调,但不便于系统集成。

发明内容

本发明的目的在于克服现有技术的不足,提供一种相位连续的FSK数字解 调器,以提高系统集成度。

为实现以上目的,本发明FSK数字解调器,其特征在于,包括:

一比较器,通过比较器设定比较电平将相位连续的FSK正弦波转换成FSK 方波,并输出到波形整形电路;

一波形整形电路,将输入的FSK方波转换为具有2T0高电平时长的方波, 其中,T0为采样时钟的周期;

一乒乓计数器,乒乓计数器包括计数器切换电路、计数器a、计数器b、分 配器、选择器以及下降沿边沿检测电路;下降沿边沿检测电路对整形后的FSK 方波的下降沿进行检测,当检测到下降沿时,输出一个复位脉冲,这些复位脉 冲构成计数器复位信号;

计数器切换电路输出电平在整形后的FSK方波上升沿每次到来时都翻转一 次,产生计数器切换信号;计数器切换信号为高电平时使得计数器a计数使能, 对采样时钟进行计数,计数器切换信号为低电平时使得计数器b计数使能,对 采样时钟进行计数;同时,计数器切换信号为高电平时,选择器选择计数器b 的计数值作为乒乓计数器计数值Q输出,计数器切换信号为低电平时选择计数 器a的计数值作为乒乓计数器计数值Q输出;并且,计数器切换信号为高电平 时,分配器选择计数器复位信号与计数器b的复位端连接,当复位脉冲到来时, 对计数器b进行复位,计数器切换信号为低电平时,分配器选择计数器复位信 号与计数器a的复位端连接,当复位脉冲到来时,对计数器a进行复位;

一解调模块,为一个状态机,在解调未开始时,状态机处于‘0000’状态, 在整形后的FSK方波高电平未到来时,状态保持不变;当整形后的FSK方波高 电平到来时,读取乒乓计数器计数值Q,若计数值Q为无效值即计数值Q不等 于z*n或者z*m,跳转到‘0111’状态,空一拍(一个采样时钟)回到‘0000’ 状态;如果整形后的FSK方波高电平到来且Q值有效,则将当前计数值Q存入 寄存器last_Q,状态转换成‘0001’,空一拍再转换到‘0010’状态;

在‘0010’状态,若整形后的FSK方波高电平未到来,则‘0010’状态保 持不变;若整形后的FSK方波高电平到来,如果存入寄存器last_Q中的上一个 计数值Q等于当前计数值Q,则‘0010’状态保持不变;若整形后的FSK方波 高电平到来,寄存器last_Q中的上一个计数值Q不等于当前计数值Q,则说明 找到了一个完整的数字信号‘1’或‘0’的开头,即找到了同步点,状态转到 ‘0011’状态,空一拍后转到‘0100’状态;

在‘0100’状态记录计数值Q和个数,然后转到‘0101’状态做判断并对 寄存器中的数据进行处理,决定是否达到数字信号‘1’或‘0’达到输出条件, 即如果计数值Q为z*n,并达到m个,则输出数字信号‘1’或如果计数值Q为 z*m,并达到n个,则输出数字信号‘0’;如果达到输出条件,则输出相应的 数字信号,并将寄存器last_Q清零后转入‘0100’状态,继续记录计数值Q和 个数,如果没有达到输出条件,则直接返回‘0100’状态;

与此同时在‘0100’态中,在计数值Q连续等于有效值z*n或者z*m的次 数未达到可以产生一个数字信号‘1’或‘0’的次数m或n之前,当前计数值Q 与寄存器last_Q中的上一个计数值Q不相等且寄存器last_Q中的上一个计数值 Q不为0,则视为出错,从‘0100’状态转到‘1000’状态,产生全局复位信号, 空一拍回到‘0000’态,重新开始解调过程;

其中,m为FSK信号中代表数字信号‘1’的周期为T1的周期信号个数,n为 FSK信号中代表数字信号‘0’的周期T2的周期信号个数,采样时钟的周期为T0, 则采样时钟频率满足这样的关系:

T=z×m×n×T0  z=1,2,3…          (1)

式(1)中,z为整数,根据具体的电路选择,T为一个数字信号的周期; 并且采样时钟与整形后的FSK方波具有一定的相位差。

本发明的目的是这样实现的:

本发明针对相位连续的FSK信号,提出了一种FSK数字解调器,通过比较 器转换为方波,再通过波形整形电路整形后输出有2T0的高电平时长的方波,通 过乒乓计数器,对整形后的FSK方波周期内采样时钟的计数,得到每个方波的 周期的计数值Q,依据该计数值Q在一个为状态机的解调模块中,进行FSK信 号的识别、同步、转换和检错,输出数字信号‘1’或‘0’,从而实现对FSK 信号的解调。

本发明的FSK数字解调器采用计数器计数,并根据计数值Q在状态机中进 行解调,硬件上易于与如FPGA的逻辑电路集成在一起,提高系统集成度。

附图说明

图1是本发明FSK数字解调器中高低频识别原理;

图2是本发明FSK数字解调器的原理框图;

图3是图2所示解调模块即状态机状态转换图;

图4是图2所示波形整形电路的原理图;

图5是图4所示图波形整形电路的输入输出波形图;

图6是图2所示乒乓计数器的原理框图;

图7是图6所示乒乓计数器的时序图;

图8是图2所示解调模块的工作流程图;

图9是解调同步测试波形图;

图10是解调过程波形图;

图11是解调出错时的波形图;

图12是不同占空比的FSK方波测试波形图。

具体实施方式

下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员 更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和 设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

一、解调器原理和结构

1、原理

解调是一个信息转化的过程,在这个过程中最需要解决的问题就是如何识 别二进制FSK信号的高低频以及对FSK信号进行同步、转换和检错。

在本发明FSK数字解调器中,识别FSK信号的高低频采用的是时钟计数的 方法。即通过采样时钟采样计数,测量前一个FSK方波i上升沿与第i+1个FSK 方波上升沿之间的时间即计数值Q,以计数值Q来判断是高频段FSK或是低频 段FSK。

同步、转换和检错均基于这样的识别原理。在同步过程中,通过高低频的 识别原理,判断接收二进制FSK信号时所在的该信号中的位置,等待下一个完 整的二进制信号到来时,找到某一个频段开头。这样就可以从一个完整的二进 制‘1’或者‘0’开头了。

FSK正弦波信号经过比较器以后成为方波,这些方波可任意占空比,然后 在波形整形电路中转换为具有2T0高电平时长的方波,其中,T0为采样时钟的周 期。在开始对每个方波做周期采样计数。在前一个FSK方波i结束、第i+1个FSK 方波到来的时刻,完成对第i个FSK方波的周期采样计数并在第i+1个FSK方波 期间对第i个FSK方波的计数值记录处理。与此同时开始对第i+1个FSK方波采 样计数。由于采样计数的过程是连续不间断的,所以需要作乒乓操作来实现。 采样时钟与FSK信号的关系图1示。

在本实施例中,在解调模块中,使用整形后的FSK方波作为D触发器时钟 端,整形后的FSK方波的上升沿来触发D触发器,D触发器输入端接高电平, 从而使得D触发器在方波上升沿到来时将输出端置为高电平。这个高电平信号 将会启动解调模块同步电路,而同步是进行转化和纠错的必要条件。图1中, 数据传输码率是1/T bps,每个周期为T的数字信号‘1’有m个周期为T1方波,数 字信号‘0’有n个周期为T2方波,采样时钟的周期为T0,则采样频率应满足这样 的关系:

T=z×m×n×T0  z=1,2,3…          (1)

即采样时钟频率

fs=z×m×nT,z=1,2,3...(2)

这样的采样率可以保证在每个T1有z*n个T0,每个T2有z*m个T0,二者都满 足整数个T0,保证了不会产生相位偏移。

对于高频段来说每一个方波周期T1为:

T1=z×n×T0  z=1,2,3…          (3)

对于低频段来说每一个方波周期T2为:

T2=z×m×T0  z=1,2,3…(4)所以,一个低频方波比一个 高频方波相差ΔT:

ΔT=T2-T1=(m-n)×z×T0  m>n       (5)

如果频率fs的采样时钟跳变沿和高低频段方波跳变沿处于同一时刻跳变,则 有可能在FSK方波的跳变沿上升或下降处于亚稳态时作为触发器或计数器的输 入信号,从而导致因电平不稳定导致错误。所以,两者之间应该具有一定的相 位差,尽量避免信号跳变沿和采样时钟沿发生在同一时刻,保证采样过程的建 立时间和保持时间。

2、总体结构

在本实施例中,如图2所示,本发明FSK数字解调器包括比较器1、波形 整形电路2、乒乓计数器3以及解调模块4。

乒乓计数器3、解调模块4需要输入方波,所以对于FSK正弦波首先经过 比较器变换成方波。这个方波的占空比不一定是50%,因为后面的波形整形电 路2会将它变成一个高电平2倍于采样时钟周期T0宽度的脉冲。这样做的目的是, 使得经过比较器1得到的方波的占空比无论是多大(只要高电平时长满足建立 时间和保持时间,能够使得波形整形电路中的触发器正确采集输入端数据),都 可以变成高电平时长为2T0的FSK方波。这段时长2T0的高电平作为解调模块3 即状态机中‘同步’的启动信号,以及对前一个方波计数值开始记录处理的状 态使能信号。2T0的高电平时长可以保证解调模块4即状态机状态稳定切换,不 至于因为FSK高电平时间过短导致解调模块4工作时钟即采样时钟T0未能采集 到FSK高电平,又可以避免高电平时间过长导致该状态多次循环触发。当时长 为2T0的高电平结束后,解调模块3已经获得了前一个FSK方波的周期计数值。 在乒乓计数器中,利用下降沿检测电路对这个时长为2T0的高电平的下降沿做一 个边沿检测,产生一个计数器复位信号,使得刚被保存过计数值的计数器复位 清零,配合计数器切换信号完成乒乓计数过程。解调模块4的功能和工作流程 将会在状态机中作详细介绍。

解调模块4的外围电路都是为解调模块服务的,它们共同的作用是为解调 模块提供计数值和工作信号。解调模块是一个状态机,如图3示:

在解调未开始时,状态机处于‘0000’状态,在整形后的FSK方波高电平 (时长2T0的高电平)未到来时,状态保持不变。当整形后的FSK方波高电平 到来时,读取乒乓计数器的计数值Q,若计数值Q为无效值即Q值不等于z*n或 者z*m,跳转到‘0111’状态,空一拍回到‘0000’态,这样做的目的是跳过一 拍工作时钟(采样时钟T0),避免一次FSK高电平多次被采集,后续流程中的某 些状态间的转换需空一拍也是出于这个原因。在本实施例中,z取值为1,m取 值为8,n取值为7,即计数值Q等于代表数字信号‘1’的周期为T1的周期信号 个数8或代表数字信号‘0’的周期T2的周期信号个数7才认为有效。比较器输 出的FSK方波整形转换成高电平时长为2T0的方波而不是T0,是为了避免实际硬 件中时钟T0采集同等时长为T0的脉冲发生数据锁存错误。如果整形后的FSK方 波高电平到来且Q值有效,则将当前计数值Q存入寄存器last_Q,状态转换成 ‘0001’,空一拍再转换到‘0010’状态;

在‘0010’状态,若整形后的FSK方波高电平未到来,则‘0010’状态保 持不变;若整形后的FSK方波高电平到来,如果存入寄存器last_Q中的上一个 计数值Q等于当前计数值Q,则‘0010’状态保持不变;若整形后的FSK方波 高电平到来,寄存器last_Q中的上一个计数值Q不等于当前计数值Q,则说明 找到了一个完整的数字信号‘1’或‘0’的开头,即找到了同步点,状态转到 ‘0011’状态,空一拍后转到‘0100’;

在‘0100’状态记录计数值Q和个数,然后转到‘0101’状态做判断并对 寄存器中的数据进行处理,决定是否达到数字信号‘1’或‘0’达到输出条件, 即如果计数值Q为z*n即7并达到m即8个,则输出数字信号‘1’或如果计数 值Q为z*m即8,并达到n即7个,则输出数字信号‘0’;如果达到输出条件, 则输出相应的数字信号,并将寄存器last_Q清零后转入‘0100’状态,继续记 录计数值Q和个数,如果没有达到输出条件即有效计数值Q出现次数不足,则 直接返回‘0100’状态;

与此同时‘0100’状态中还有个非常重要的作用,那就是转换过程中的检 错功能。等于有效值z*n或者z*m的次数未达到可以产生一个数字信号‘1’或 ‘0’的次数m或n之前,当前计数值Q与寄存器last_Q中的上一个计数值Q不 相等且寄存器last_Q中的上一个计数值Q不为0,则视为出错,从‘0100’状 态转到‘1000’状态,产生全局复位信号,空一拍回到‘0000’态,重新开始 解调过程;在本实施例中,例如计数值Q已经有3次等于‘7’,但是第4次计 数值Q不等于‘7’,而输出一个数字信号‘1’Q需要出现8次‘7’,这种情 况下则视为出错。

二、解调器工作原理

在第一节中从总体上介绍了解调器的结构,主要包括正弦波-方波转换、波 形整形、乒乓计数以及解调。在本节中,将对这些功能的实现方式做详细的阐 述。

1、正弦-方波转换

通过比较器1设定比较电平可以将原始的FSK正弦波转换成FSK方波。在 本发明中对这些方波的占空比并不敏感,因为本发明中采用的是FSK方波的上 升沿作为采样计数的启动与完成信号的。也就是乒乓计数器的切换信号。但是 为了使得后续的波形整形电路能够采集到FSK方波的高电平,这个高电平的时 长至少应该满足建立时间和保持时间的关系,能够使得触发器正确采集输入端 数据。

2、波形整形

对于经过比较器1转换而来的占空比不确定的FSK方波而言,是不能直接被 解调模块4使用的,因为解调模块4所使用的方波规格需要使得方波具有2T0的 高电平时长。虽然1个T0的高电平时长也能被解调模块4的工作时钟即采样时钟 所采集,但是在实际的硬件运行中,这个时长等于工作时钟周期T0的高电平会因 为二者之间的相位差关系成为不能稳定采集的因素,所以2T0的高电平时长是比 较可靠的,可以有效的加强电路的健壮性。

波形整形电路的原理图如图4所示,来自比较器的FSK方波的上升沿将D 触发器置1,经过2T0的延时将D触发器复位清零。这样就产生了高电平时长为 2T0的方波。

波形整形情况如图5所示,不管输入的FSK方波的占空比是多少,都可以 转化为高电平时长为2T0的方波。

3、乒乓计数器

解调模块4所需要的FSK方波宽度的计数值来自乒乓计数器,乒乓计数器 的原理如图6所示。乒乓计数器包括计数器切换电路301、计数器a302、计数 器b303、分配器304、选择器305以及下降沿边沿检测电路306。

如图6所示,计数器切换电路301为一JK触发器,将其J端、K端接逻辑 1,JK触发器在每一个FSK上升沿到来时翻转一次,产生计数器切换信号,输 出高电平时使得计数器a302计数使能,输出低电平时使得计数器b303计数使 能,每次只有一个计数器处于计数状态。

JK触发器产生的这个计数器切换信号配合分配器304将下降沿边沿检测电 路产生的计数器复位信号准确的发送到不在计数状态的那个计数器,将其清零 复位。

在计数器切换信号下,选择器305将应该被读取计数器计数值Q输出,即 从计数值a和b之中选择已完成计数的那个,这个值将被作为计数值Q,被解调 模块4读取。以上各个控制信号之间的时序关系如图7所示。

需要说明的是,在计数器处于‘保持’状态时,也就是在一个FSK上升沿 到来后的高电平期间,解调模块4采集其计数值Q,这个计数值Q就代表了用 采样时钟衡量的FSK方波的宽度。

4.、解调模块与全局复位

解调模块就是一个状态机,其状态转换在前面已经进行了详细描述。它的 工作原理用流程图如图8所示:

同步的主要任务就是找到一个完整的数字信号‘0’或‘1’在FSK信号中起始位 置。对T1和T2用fs进行计数,计数值Q分别是z*n和z*m在电路启动以后,会有 两种可能。第一种是起始点在数字信号‘1’区段,即FSK的高频段,这时候得到 的计数值是z*n,即第1个计数值到第i个计数值均为z*n,直到第i+1个计数值 变成z*m,则判定找到了第一个完整的数字信号‘0’的开头,便认为是找到了同 步点,同步点为第i+1个方波;同理,第二种是起始点在数字信号‘0’区段,即 FSK的低频段,这时候得到的计数值是z*m,即第1个计数值到第i个计数值均 为z*m,直到第i+1个计数值变成z*n,则判定找到了第一个完整的数字信号‘1’ 的开头,便认为是找到了同步点,同步点为第i+1个方波。

在完成了同步以后便可以进行转换。不管是数字信号‘0’,还是数字信号‘1’, 它们的宽度都是T,也就是说码率固定为1/T bps。但是每个T内,数字信号‘0’ 和‘1’由于频率不同所以方波数量不同。在这里数字信号‘0’有n个周期为T2方波, 所以在转换的过程中如果计数值z*m的个数未达到n个便出又得到了一个非 z*m的计数值即当前计数值Q与寄存器last_Q中的上一个计数值Q不相等且寄 存器last_Q中的上一个计数值Q不为0,则视为出错;同理,数字信号‘1’有m 个周期为T1方波,所以在转换的过程中如果计数值z*n的个数未达到m个便出又 得到了一个非z*n的计数值,则视为出错。出错以后,会导致电路全局复位,使 得解调器重新进入解调流程。

如果,FSK信号发送完毕即相位连续的FSK正弦波输入时,乒乓结构的中 的某个计数器的计数值会失去复位信号,导致计数值超过合法值,同样会导致 解调器全局复位,如果没有新的FSK信号到来,解调器一直处于非工作状态, 待新的新的FSK信号到来时,重新启动解调器。

四、测试结果

在测试中,分别对同步、不同占空比FSK方波、检错复位做了测试,均达 到了预期的结果。由于Quartus自带的waveform不容易产生精确的信号,故而 FSK的仿真都在ModelSim下通过编写TestBench进行,频率等参数都符合ETCS 查询应答系统的FSK标准。

在本发明FSK解调器的设计中,除了比较器是FPGA外围器件,其他逻辑 电路均在FPGA芯片内部生成。设计中,采用31.61088MHz采样时钟,FSK高 频4.51584MHz,低频3.95136MHz,所以每个数字信号‘1’为8个计数值7,每 个数字信号‘0’为7个计数值8,采样频率31.61088MHz是FSK数据传说速率的 56倍。下面几个小节中将通过实验分别介绍和验证。

在开始介绍前,先对主要引脚作说明:

CLK:工作时钟,即采样时钟

FSK_IN:经过比较器处理后的FSK信号

new_FSK_pulse:经过波形整形模块后的FSK信号

FSK_negedge_check:FSK下降沿边沿检测信号

CNT_SELECT:计数器切换信号,高电平计数器1计数,低电平计数器0 计数

Q0,Q1:分别是计数器0的输出、计数器1的输出

cnt_ret0,cnt_ret1:分别是计数器0、计数器1的复位信号,高电平有效

DATA:解调结果输出

ERROR:解调出错信号,高电平有效

RET:全局复位信号,低电平有效

1、解调同步

首先,在TestBench中,设置激励信号为数字信号‘0101010111’的FSK调制 信号FSK_IN,FSK同步如图9所示:

图9中,CLK采样时钟频率为31.61088MHz。可以看出在同步前的计数值是 ‘8’,周期为253ns,即低频段FSK,频率3.95136MHz。这说明FSK解调电路启 动时在低频段‘0’区。随后进入了FSK高频段,即数字信号‘1’区段,计数值为‘7’, 两个计数器交替记录了8个‘7’之后,‘DATA’引脚输出解调结果,第一个有 效的数字信号‘1’输出,解调器在数字信号‘0’变到数字信号‘1’得时刻找 到了同步沿。

2、解调转换

在上一节中已经同步成功,下面图10中展示对于‘0101010111’的解调过 程和结果。

可以在图10中看到,这段信号被正确的解调出来了,还原成了原始的数字 ‘0101010111’。也可以看到两个复位信号cnt_ret0和cnt_ret1交替产生高电平 乒乓计数器复位信号。

3.解调检错

在本发明中,不管是解调中出现错误,还是FSK信号结束,都会使得ERROR 信号启动,ERROR产生一个高电平脉冲会使得全局复位启动,使得不管上述两 种原因的哪一种,当前解调过程都应当被终止并且解调电路全局复位。如图11 所示:

在图11中可以看到,解调电路刚解调出一个数字信号‘1’,准备对下一个数 字信号‘0’进行解调,但是在这下一个‘0’的第而个方波T2的高电平由于某种意 外错误致使它的高电平时间变短,计数值只能达到6,此时解调器发现了解调中 的错误,使ERROR引脚发出全局复位信号。然后,在经过ERROR脉冲信号对 解调器复位之后,解调器重新同步,再次开始解调。

4.不同占空比的FSK测试

如下图11所示,FSK_IN出现了不同占空比的方波(但周期不变),可以看 到new_FSK_pulse仍然正确的产生了2个CLK的高电平脉冲,解调过程并未出 错,这说明解调器对FSK方波信号的占空比不敏感,具有较强的信号兼容能力。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的 技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本 技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的 本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明 创造均在保护之列。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号