一种信号音的生成方法及其系统的制作方法

文档序号:7778469阅读:237来源:国知局
一种信号音的生成方法及其系统的制作方法
【专利摘要】本发明公开了一种信号音的生成方法,包括:配置信号音数据队列;所述信号音数据队列包括多个信号音所对应的频率数据;提取所述信号音数据队列中的各个信号音对应的频率数据;为各个所述信号音的频率数据分别配置写入地址,并将所述信号音的频率数据存储在所述写入地址所对应的存储空间上;控制产生用户所需的目标信号音的读出地址;根据所述读出地址,控制与所述读出地址对应的频率数据依次顺序读出,以流水线方式生成所述目标信号音;本发明还提供了一种信号音的生成系统。本发明提供的技术方案,具有配置灵活,资料利用率和处理效率高的优点,可灵活产生大容量的数字信号音。
【专利说明】一种信号音的生成方法及其系统
【技术领域】
[0001]本发明涉通信【技术领域】,尤其涉及一种信号音的生成方法及其系统。
【背景技术】
[0002]在通信系统中,各个通信设备之间通过多个端口来实现数据传输;在整个通信系统中,存在着成千上万的端口 ;而根据国际标准,通信设备的各个端口需要输出种类繁多的信号音来表示各种数据的传输状态。例如,在程控交换机、脉冲编码复用(Pulse-codemodulation, PCM)设备和 SDH (Synchronous Digital Hierarchy,同步数字系列)系统中,需要处理电话呼叫双音多频信号(Dual-Tone Mult1-Frequency,DTMF)音、彩铃音、忙音、回铃音、催挂音等。在一些应用场合中,则需要在同一时刻,同时向多个用户进行信号音的发送。
[0003]传统的技术方案采用模拟电路生成模拟信号音,其电路硬件结构较为简单,但分立元件较多,且需要对信号音断续切换进行软件控制,其软件控制原理复杂、成本高且消耗了处理器的资源。
[0004]目前的信号音产生技术方案大多对传统的模拟信号音生成方案进行了改进。如申请号为01126368.7的专利中记载了一种产生电话数字信号音的系统,其通过采用ROM(Read-Only Memory,只读内存)存储和一级交换矩阵技术结合的方式来实现电话系统的数字信号音。其中,每一个信号音源(简称信号音)单独利用ROM单元存储一定字节的信号音频率数据,通过控制频率数据读出的速率,再利用交换矩阵切换来实现需要的信号音输出。
[0005]在现有的这种技术方案中,采用ROM单元具有所存信号音频率数据稳定,断电后所存信号音频率数据不会改变,结构较简单,数据读出方便的优点。但是,由于ROM单元一旦储存资料就无法再将之改变或删除,且每个信号音需要单独的ROM进行存储,当某个信号音的资源有剩余时,并不能将剩余资源提供给其他信号音使用。在现有技术中,一方面,当完成设计以后,产生的信号音是相对固定的,不能根据改变输出的信号音;另一方面也不能充分利用存储资源;此外,现有技术中的这种信号音产生方案的每个信号音的产生都需要一套单独的控制逻辑进行控制,且在庞大的通信系统中,端口容量大、信号音种类繁多,独立的逻辑控制势必占用了 CPU的处理资源和降低了 CPU的处理效率。且申请号为01126368.7的专利所公开的技术方案仅将产生的信号音进行直接输出,因而不能复用信号音,以生成复合信号音。

【发明内容】

[0006]本发明所要解决的技术问题是,提供一种信号音的生成方法及其系统,可灵活地控制信号音的频率数据和频率数据长度,形成信号音数据队列,控制信号音数据队列采用流水线方式处理输出,提高音频数据资源利用率,以生成大容量的数字信号音,便于信号音的设计实现和维护。
[0007]为解决以上技术问题,一方面,本发明提供一种信号音的生成方法,包括: 配置信号音数据队列;所述信号音数据队列包括多个信号音所对应的频率数据;
提取所述信号音数据队列中的各个信号音对应的频率数据;
为各个所述信号音的频率数据分别配置写入地址,并将所述信号音的频率数据存储在所述写入地址所对应的存储空间上;
控制产生用户所需的目标信号音的读出地址;
根据所述读出地址,控制与所述读出地址对应的频率数据依次顺序读出,以流水线方式生成所述目标信号音。
[0008]在一种可实现方式中,所述提取所述信号音数据队列中的各个信号音对应的频率数据,包括:
设置任一信号音的基地址及与所述信号音的频率数据对应的长度;
将所述基地址作为提取所述信号音的频率数据的起始地址,在所述信号音数据队列中读取与所述长度对应的频率数据作为所述信号音的频率数据。
[0009]进一步地,所述信号音数据队列存储在RAM上,则所述设置任一信号音的基地址,具体为:
当所述信号音为第一信号音时,所述第一信号音的基地址为所述RAM的首地址或者为一指定地址;
当所述信号音为第N信号音时,所述第N信号音的基地址为:所述第(N-1)信号音的基地址+所述第(N-1)信号音的频率数据的长度;其中N > 2。
[0010]在一种可实现方式中,所述配置信号音数据队列,具体为:
分别对多个信号音的参数进行设置,所述参数包括信号音的长度和信号音的频率数据;其中,每个所述信号音的长度为组成所述信号音的频率数据的个数,采用16比特的二进制数据表示;每个所述的频率数据采用8比特的二进制数据表示;
将每个所述信号音的频率数据依次排列,形成所述信号音数据队列。
[0011]再进一步地,所述根据所述读出地址,控制与所述读出地址对应的频率数据依次顺序读出,以生成所述目标信号音,具体为:
判断所述目标信号音的类型,所述目标信号音的类型包括单一信号音和复合信号音; 通过时隙控制,提取所述目标信号音进行输出,包括:
当所述目标信号音为单一信号音时,将第一时隙关联至所述读出地址所对应的频率数据,并将所述频率数据输出至所述第一时隙,以在所述第一时隙中生成所述单一信号音;当所述目标信号音为复合信号音时,所述读出地址包括M个读出分地址,将第二时隙在时间间隔T的控制下依次关联至所述M个读出分地址,控制所述M个读出分地址所对应的频率数据在所述时间间隔T切换输出至所述第二时隙,以在所述第二时隙中叠加所述M个读出分地址所对应的信号音频率数据,生成所述复合信号音。
[0012]另一方面,为了解决现有的信号音生成方案的缺陷,本发明还进一步提供了一种信号音的生成系统,包括:
数据产生器,用于配置信号音数据队列;所述信号音数据队列包括多个信号音所对应的频率数据;
主控制器,用于提取所述信号音数据队列中的各个信号音对应的频率数据,并将所述各个信号音对应的频率数据存储在信号音存储器上;以及,时隙控制器,用于为各个所述信号音的频率数据分别配置写入地址,并将所述信号音的频率数据存储在所述写入地址在所述信号音存储器中对应的存储空间上; 所述时隙控制器,还用于控制产生用户所需的目标信号音的读出地址;
所述主控制器,还用于根据所述读出地址,控制与所述读出地址对应的存储在所述信号音存储器上的频率数据依次顺序读出,以流水线方式生成所述目标信号音。
[0013]优选地,所述主控制器为FPGA器件,设有:
基地址设置器,用于设置任一信号音的基地址;
长度控制器,用于设置与所述任一信号音的频率数据对应的长度;
地址偏移器,用于控制在提取所述任一信号音的频率数据时的地址偏移量;
数据提取器,用于将所述基地址作为提取所述信号音的频率数据的起始地址,根据所地址偏移量,逐一提取在所述信号音数据队列中的频率数据,直到所述地址偏移量的大小与所述信号音的频率数据对应的长度相等,以实现在所述信号音数据队列中读取与所述长度对应的频率数据作为所述信号音的频率数据。
[0014]优选地,所述信号音存储器为随机存取存储器RAM,用于存储所述数据提取器所提取的各个信号音的频率数据,且,
当所述信号音为第一信号音时,所述第一信号音的基地址为所述RAM的首地址或者为一指定地址;
当所述信号音为第N信号音时,所述第N信号音的基地址为:所述第(N-1)信号音的基地址+所述第(N-1)信号音的频率数据的长度;其中N > 2。
[0015]进一步地,所述数据产生器包括:
参数设置器,用于分别对多个信号音的参数进行设置,所述参数包括信号音的长度和信号音的频率数据;其中,每个所述信号音的长度为组成所述信号音的频率数据的个数,采用16比特的二进制数据表示;每个所述的频率数据采用8比特的二进制数据表示;
数据排列器,用于将每个所述信号音的频率数据依次排列,形成所述信号音数据队列。
[0016]更进一步地,所述主控制器在控制与所述读出地址对应的频率数据依次顺序读出,以生成所述目标信号音时,还包括:
信号音类型判别器,用于判断所述目标信号音的类型,所述目标信号音的类型包括单一信号音和复合信号音;
单一信号音提取器,用于在所述目标信号音为单一信号音时,将第一时隙关联至所述读出地址所对应的频率数据,并将所述频率数据输出至所述第一时隙,以在所述第一时隙中生成所述单一信号音;
以及,复合信号音提取器,用于在所述目标信号音为复合信号音时,所述读出地址包括M个读出分地址,将第二时隙在时间间隔T的控制下依次关联至所述M个读出分地址,控制所述M个读出分地址所对应的频率数据在所述时间间隔T切换输出至所述第二时隙,以在所述第二时隙中叠加所述M个读出分地址所对应的信号音频率数据,生成所述复合信号音。
[0017]实施本发明提供的技术方案,用户可通过控制信号音的频率数据和频率数据长度来灵活配置不同的信号音,将各个信号音的频率数据进行顺序排列形成信号音数据队列后,可将其中的各个信号音的频率数据分别提取出来,以流水线的方式存储在RAM中,产生大容量的信号音频率数据,便于信号音的设计实现和维护;通过地址与时隙的控制,输出目标信号音,并通过时隙交换控制,灵活地将该目标信号音输出为单一信号音或复合信号音。
【专利附图】

【附图说明】
[0018]图1是本发明提供的信号音的生成方法的第一实施例的步骤流程图;
图2是本发明第二实施例提供的提取信号音数据队列的频率数据的步骤流程图;
图3是本发明第二实施例提供的读取目标信号音的一种实现方式的步骤流程图;
图4是本发明提供的信号音的生成系统的一个实施例的结构示意图;
图5是本发明提供的信号音的生成系统的又一结构示意图;
图6是本发明提供的信号音的生成系统的数据传输过程示意图;
图7是本发明提供的信号音的产生系统生成目标信号音的实现原理图。
【具体实施方式】
[0019]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0020]参见图1,是本发明提供的信号音的生成方法的第一实施例的步骤流程图。
[0021]在本实施例中,所述的信号音的生成方法包括以下步骤:
步骤SlOl:配置信号音数据队列;所述信号音数据队列包括多个信号音所对应的频率数据。
[0022]在一种可实现方式中,所述步骤S101,具体包括步骤A和步骤B:
步骤A:分别对多个信号音的参数进行设置,所述参数包括信号音的长度和信号音的频率数据;其中,每个所述信号音的长度为组成所述信号音的频率数据的个数,采用16比特的二进制数据表示;每个所述的频率数据采用8比特的二进制数据表示;
步骤B:将每个所述信号音的频率数据依次排列,形成所述信号音数据队列。
[0023]在本实施例中,优选采用现场可编辑逻辑门阵列(Field Programmable GateArray),简称FPGA,以实现对所述信号数据队列的配置。具体地,利用FPGA内部中的块随机存储器(Block RAM),确定实际应用环境中所需的各个信号音的长度和各个信号音所对应的频率数据。
[0024]例如,可以通过FPGA例化一个64K byte (千字节)的功能模块来配置256个信号音的参数,具体地:
首先配置该256个信号音的频率数据的长度,每个信号音的频率数据长度用16比特的二进制数据表示,如静音的数据长度为16,用二进制数据表示为“0000 0000 0001 0000”,写成16进制后为“0x0010”,则各个信号音的频率数据长度将形成由256个长度值组成的信号音频率数据长度队列(简称信号音长度队列)。用户可根据实际应用需要决定所产生的信号音的频率数据的长度。特别地,当某一信号音为周期性信号音时,其频率数据的长度应为该信号音在一个周期所需要的频率数据长度的整数倍。
[0025]然后根据信号音长度队列中的各个信号音的长度,对每个信号音中的各个频率数据进行配置,其中,每一个频率数据采用8比特的二进制数据表示,如,可将第一个信号音设为静音,其16个频率数据均为“0101 0100”,采用16进制改写为“0x54”;第二个信号音为450Hz正弦波,信号音长度为“0x0047”,其频率数据分别为:“0x96,0x87,0x8D,0x8E,0χ8Ε, 0x82,0x84,0x94,0x46,0x10,0x06,OxOCj 0x09,OxOEj 0x02,0x05,0x68,0xF6, 0x9D, 0x81,0x8C, 0x89,0x8E, 0x83,0x9B, OxEDj 0x78,OxlFj 0x00,OxOFj0x09,OxOFj 0x00,0x19,0x66,0xE6, 0x99,0x80,0x8F, 0x89,0x8F, 0x80,0x9F,0xF8, 0x6D, OxlBj 0x03,OxOEj 0x09,OxOCj 0x01,OxlDj 0x76,0xE8, 0x85,0x82,0x8E, 0x89,0x8C, 0x86,0x90,0xC6, 0x14,0x04,0x02,OxOEj OxOEj OxODj 0x07,0x16, 0xD5”,如此类推根据用户的需要对信号音的频率数据进行配置,因此可构造大容量、多种类的信号音。
[0026]最后将256个信号音的频率数据均配置完毕之后,将全部信号音的频率数据进行排列:依次将第二个信号音的频率数据排列在第一个信号音的频率数据之后,将第三个信号音的频率数据排列在第二个信号音的频率数据之后,如此类推,即执行顺序排列,并将所有信号音的频率数据和控制映射到连续的内存空间RAM (Random Access Memory,随机存储器)上,以形成所述的信号音数据队列,可充分利用RAM中的资源和提高数据存取的效率。需要说明的是,本发明提供的信号音的生成方法包括但不限于构造256个或256种信号音。
[0027]由于FPGA作为可编程逻辑器件之一,既解决了全定制电路的不足,又克服了原有可编程逻辑器件门电路数有限的缺点,而且与传统的可编程逻辑器件,如PAL(Programmable Array Logic,可编程化阵列逻辑)、GAL (Generic Array Logic,通用阵列逻辑)、CPLD (Complex Programmable Logic Device,复杂可编程逻辑器件)相比,FPGA 还具有可快速成品,内部逻辑可以被设计者反复修改与调试以及成本低的优点,且其内部的Block RAM可构造数据高速缓冲存储器、深的FIF0(First Input First Output,先进先出)和缓冲器等,因此,在本实施例中,优选采用FPGA实现对所述信号数据队列的配置,大大提高对大量信号音频率数据的处理效率。
[0028]在本实施例中,所述的步骤SlOl就为根据实际需要控制调用任一个信号音进行输出而提供了数据基础。
[0029]步骤S102:提取所述信号音数据队列中的各个信号音对应的频率数据。在接收到所述信号音数据队列的输入时,需要将信号音数据队列中所包含的各个信号音的频率数据进行提取和合理存储,以便于控制信号音的输出调用。
[0030]步骤S103:为各个所述信号音的频率数据分别配置写入地址,并将所述信号音的频率数据存储在所述写入地址所对应的存储空间上。具体地,信号音数据队列中的频率数据以一个时隙间隔依次顺序写入RAM中,如将信号音数据队列中的第32个频率数据“0x23”,控制写入RAM中的第32个时隙地址中。特别地,在PCM(Pulse-Code Modulation),即脉冲编码调制中,通过用户接口输入信号音数据队列时,每一个PCM时隙中携带着一个频率数据,将各个频率数据对应存储在RAM中的相应位置上。
[0031]步骤S104:控制产生用户所需的目标信号音的读出地址。
[0032]步骤S105:根据所述读出地址,控制与所述读出地址对应的频率数据依次顺序读出,以流水线方式生成所述目标信号音。在控制输出某一指定信号音时,需要设置该信号音的频率数据在RAM中的存储位置。具体地,可根据该指定信号音所在的输出时隙位置,查找FPGA中的地址控制器在所述输出时隙位置所对应的读出地址,根据该读出地址再搜索RAM中的频率数据。如,用户输出接口中的目标信号音需要在第32个时隙里面输出某一信号音,因此,通过查找地址控制器中的地址32,可获得地址32中所存储的一读出地址,如30,则根据读出地址30查找RAM在位置30中存储的频率数据,如“0x54”,并将该频率数据“0x54”输送到用户输出接口的第32个时隙上进行输出播放,完成“控制读出”的过程。
[0033]计算机中的流水线指在CPU中由多个不同功能的电路单元组成一条指令处理流水线,然后将一条指令分成多个步骤后再由这些电路单元分别执行,从而实现在一个CPU时钟周期完成一条指令,因此提高CPU的运算速度。常用的流水线处理过程包括指令预取、译码、执行、写回结果。在本实施例中采用流水线方式控制生成所述目标信号音,可有效利用CPU的资源,提高CPU的处理效率。
[0034]本发明还提供了信号音的生成方法的又一实施例。在第一实施例的基础上,第二实施例提供了提取信号音数据队列中的频率数据的一种可实现方式,并可控制所述目标信
号音输出为单一信号音或复合信号音。
[0035]参见图2,是本发明第二实施例提供的提取信号音数据队列的频率数据的步骤流程图。
[0036]在本实施例中,进一步地,所述提取所述信号音数据队列中的各个信号音对应的频率数据,具体包括以下步骤:
步骤S201:设置任一信号音的基地址及与所述信号音的频率数据对应的长度。
[0037]步骤S202:将所述基地址作为提取所述信号音的频率数据的起始地址,在所述信号音数据队列中读取与所述长度对应的频率数据作为所述信号音的频率数据。并根据预先为各个信号音的频率数据配置的写入地址,将所述信号音的频率数据依次存储在所述写入地址所对应的存储空间上。
[0038]具体地,FPGA通过总线进行信号音数据队列的写入,仅在上电初始化的过程配置一次;如信号音数据队列未发生改变时,则不需要进行再次配置。在对其进行存储时,需要正确读出频率数据。在所述步骤S201中,所述信号音数据队列存储在RAM上,所述设置任一信号音的基地址,具体为:
当所述信号音为第一信号音时,所述第一信号音的基地址为所述RAM的首地址或者为一指定地址;在本实施例中,基地址为在信号音数据队列提取的某一信号音的第一个频率数据的位置;
当所述信号音为第N信号音时,所述第N信号音的基地址为:所述第(N-1)信号音的基地址+所述第(N-1)信号音的频率数据的长度;其中N > 2。
[0039]具体地,所述信号音数据队列中包含多个信号音,在提取各个信号音时需要清楚获得各个信号音的频率数据的界线。
[0040]在本实施例中,在所述信号音频率数据中提取各个信号音的频率数据时,其主要工作过程为:
a.读取预先配置的第一信号音ToneO的频率数据的长度LengthO;
b.设定第一信号音ToneO在信号音数据队列中的基地址BaseAddressO;具体地,所述第一信号音的基地址为所述RAM的首地址;
c.设置一个地址偏移量Offset,通过控制地址偏移量Offset从O到LengthO的逐一递增;所述地址偏移量Offset的初始值为零,且当地址偏移量Offset等于长度LengthO时,地址偏移量Offset恢复为零值; d.将地址BaseAddressO?BaseAddressO+LengthO作为第一信号音ToneO在信号音数据队列中的频率数据的存储地址,逐一读出地址BaseAddressO?BaseAddressO+LengthO所指向的频率数据,完成第一信号音ToneO的频率数据的提取;
e.读取预先配置的第二信号音Tonel频率数据的长度Lengthl;
f.设定第二信号音Tonel在信号音数据队列中的基地址BaseAddressl;具体地,第二信号音Tonel的基地址为第一信号音ToneO的基地址BaseAddressO与第一信号音ToneO的频率数据长度值 LengthO 之和,即 BaseAddressl= BaseAddressO+LengthO ;
g.控制地址偏移量Offset从O到Lengthl的逐一递增;所述地址偏移量Offset的初始值为零,且当地址偏移量Offset等于长度LengthO时,地址偏移量Offset恢复为零值;
h.将地址BaseAddressl?BaseAddressl+Lengthl作为第二信号音Tonel在信号音数据队列中的频率数据的存储地址,逐一读出地址BaseAddressI?BaseAddressl+Lengthl所指向的频率数据,完成第二信号音Tonel的频率数据的提取;
如此类推,可将信号音数据队列的所有信号音的频率数据分别提取出来,以将各个信号音的频率数据写入信号音存储器中,便于控制目标信号音的输出播放。
[0041]在本实施例中,通过执行以上步骤,可以将信号音数据队列中的各个信号音的频率数据顺序写入一 RAM中,进一步地,为了获得目标信号音,需要根据所述读出地址,控制与所述读出地址对应的频率数据依次顺序读出,以生成所述目标信号音,具体地,判断所述目标信号音的类型,所述目标信号音的类型包括单一信号音和复合信号音;通过时隙控制,提取所述目标信号音进行输出。
[0042]参看图3,是本发明第二实施例提供的读取目标信号音的一种实现方式的步骤流程图。
[0043]具体实施时,控制输出目标信号音时包括以下步骤:
步骤S301:判断所述目标信号音的类型,当所述目标信号音的类型为单一信号音时,执行步骤S302 ;当所述目标信号音的类型为复合信号音时,执行步骤S304。
[0044]步骤S302:将第一时隙关联至所述读出地址所对应的频率数据,继续执行步骤S303。
[0045]步骤S303:将所述频率数据输出至所述第一时隙,以在所述第一时隙中生成所述
单一信号音。
[0046]步骤S304:所述读出地址包括M个读出分地址,将第二时隙在时间间隔T的控制下依次关联至所述M个读出分地址;继续执行步骤S305。
[0047]步骤S305:控制所述M个读出分地址所对应的频率数据在所述时间间隔T切换输出至所述第二时隙,以在所述第二时隙中叠加所述M个读出分地址所对应的信号音频率数据,生成所述复合信号音。
[0048]其中,复合信号音是指由2种或2种以上的单一信号音产生的信号音。其产生原理可通过控制在不同的时间内向固定的时隙中输出不同的单一信号音的频率数据而叠加得到。例如,当需要在输出信号的时隙I中固定产生的单一信号音“静音”时,则控制时隙I与“静音”所在的地址上,以在时隙I中固定输出“静音”的频率数据;当需要在输出信号的时隙2中固定产生复合信号音“忙音”时,即在一个周期内,第I秒播放450Hz正弦波,后4秒播放静音,则复合信号音“忙音”的读出地址包括单一信号音“450Hz正弦波”的读出地址和单一信号音“静音”的读出地址,并在时间间隔T=I秒中对以上两个单一信号音的读出地址进行切换。具体地,可控制在第I秒时配置读出分地址1,将时隙2关联到“450Hz正弦波”的频率数据;在第2秒时配置读出分地址2,将时隙2关联到“静音”的频率数据;经过5秒的时间则完成一个“忙音”的频率数据的读出;在第6秒时又写控制读出分地址,将时隙2关联到“450Hz正弦波”的频率数据,如此循环,则可实现在时隙2中固定产生复合信号音“忙音”。由此可知,产生目标信号音的过程为“控制读出”过程。
[0049]参看图4,是本发明提供的信号音的生成系统的一个实施例的结构示意图。
[0050]在本实施例中,所述的信号音的生成系统的工作原理与第一实施例和第二实施例所提供的信号音的生成方法的基本原理相同,具体地,本实施例提供的信号音的生成系统包括:
数据产生器401,用于配置信号音数据队列;所述信号音数据队列包括多个信号音所对应的频率数据,为生成任意一个信号音并进行输出播放而提供了数据基础。
[0051]主控制器402,用于提取所述信号音数据队列中的各个信号音对应的频率数据,并将所述各个信号音对应的频率数据存储在信号音存储器403上。
[0052]以及,时隙控制器404,用于为各个所述信号音的频率数据分别配置写入地址,并将所述信号音的频率数据存储在所述写入地址在所述信号音存储器403中对应的存储空间上。
[0053]所述时隙控制器404,还用于控制产生用户所需的目标信号音的读出地址。
[0054]所述主控制器402,还用于根据所述读出地址,控制与所述读出地址对应的存储在所述信号音存储器403上的频率数据依次顺序读出,以流水线方式生成所述目标信号音。具体地,时隙控制器404包括时隙计数器4041和读出地址存储器4042 ;时隙计数器4041用于产生写入地址与查找读出地址存储器4042中的所需要的读出地址,即:既可通过控制写入地址的跳变,在主控制402将信号音数据队列中的各个信号音频率数据顺序写入信号音存储器403 ;也可在读出地址存储器4042查找出目标信号音的频率数据所在的地址,从而根据该地址找到目标信号音的频率数据,将其输出至用户输出接口。
[0055]参看图5,是本发明提供的信号音的生成系统的又一结构示意图。
[0056]如图5所示,在一种可实现方式中,本发明提供的信号音的生成系统可进一步细分为多个模块。
[0057]其中,所述数据产生器401包括:
参数设置器4011,用于分别对多个信号音的参数进行设置,所述参数包括信号音的长度和信号音的频率数据;其中,每个所述信号音的长度为组成所述信号音的频率数据的个数,采用16比特的二进制数据表示;每个所述的频率数据采用8比特的二进制数据表示。
[0058]数据排列器4012,用于将每个所述信号音的频率数据依次排列,形成所述信号音数据队列。
[0059]例如,首先,参数设置器4011配置该256个信号音的频率数据的长度,每个信号音的频率数据长度用16比特的二进制数据表示,如静音的数据长度为16,用二进制数据表示为“0000 0000 0001 0000”,写成16进制后为“0x0010”,则各个信号音的频率数据长度将形成由256个长度值组成的信号音频率数据长度队列(简称信号音长度队列)。在本实施例中,用户可根据实际应用需要决定所产生的信号音的频率数据的长度。特别地,当某一信号音为周期性信号音时,其频率数据的长度应为该信号音在一个周期所需要的频率数据长度的整数倍。
[0060]然后,参数设置器4011根据信号音长度队列中的各个信号音的长度,对每个信号音中的各个频率数据进行配置,其中,每一个频率数据采用8比特的二进制数据表示,如,可将第一个信号音设为静音,其16个频率数据均为“0101 0100”,采用16进制改写为“0x54”;第二个信号音为450Hz正弦波,信号音长度为“0x0047”,其频率数据分别为:“0x96,0x87,0x8D,0χ8Ε, 0χ8Ε, 0x82,0x84,0x94,0x46,0x10,0x06,OxOCj0x09,OxOEj 0x02,0x05,0x68,0xF6, 0x9D, 0x81,0x8C, 0x89,0x8E, 0x83,0x9B,OxEDj 0x78,OxIFj 0x00,OxOFj 0x09,OxOFj 0x00,0x19,0x66,0xE6, 0x99,0x80,0x8F, 0x89,0x8F, 0x80,0x9F, 0xF8, 0x6D, OxlBj 0x03,OxOEj 0x09,OxOCj 0x01,OxlDj 0x76,0xE8, 0x85,0x82,0x8E, 0x89,0x8C, 0x86,0x90,0xC6, 0x14,0x04,0x02, OxOE, OxOE, OxOD, 0x07, 0x16, 0xD5”,如此类推,根据用户的需要对信号音的频率数据进行配置,因此可构造大容量、多种类的信号音。
[0061]最后,在参数设置器4011将256个信号音的频率数据均配置完毕之后,数据排列器4012将全部信号音的频率数据进行排列:依次将第二个信号音的频率数据排列在第一个信号音的频率数据之后,将第三个信号音的频率数据排列在第二个信号音的频率数据之后,如此类推,以形成所述的信号音数据队列,依次为第一信号音Tone(T第256信号音Tone255,可充分利用存储器中的资源和提高数据存取的效率。需要说明的是,本发明提供的信号音的生成方法包括但不限于构造256个或256种信号音。
[0062]在本实施例中,优选地,所述主控制器402为FPGA器件,设有:
基地址设置器4021,用于设置任一信号音的基地址;
长度控制器4022,用于设置与所述任一信号音的频率数据对应的长度;
地址偏移器4023,用于控制在提取所述任一信号音的频率数据时的地址偏移量;
数据提取器4024,用于将所述基地址作为提取所述信号音的频率数据的起始地址,根据所地址偏移量,逐一提取在所述信号音数据队列中的频率数据,直到所述地址偏移量的大小与所述信号音的频率数据对应的长度相等,以实现在所述信号音数据队列中读取与所述长度对应的频率数据作为所述信号音的频率数据。
[0063]由于FPGA作为可编程逻辑器件之一,既解决了全定制电路的不足,又克服了原有可编程逻辑器件门电路数有限的缺点,而且与传统的可编程逻辑器件,如PAL(Programmable Array Logic,可编程化阵列逻辑)、GAL (Generic Array Logic,通用阵列逻辑)、CPLD (Complex Programmable Logic Device,复杂可编程逻辑器件)相比,FPGA 还具有可快速成品,内部逻辑可以被设计者反复修改与调试以及成本低的优点,且其内部的Block RAM可构造数据高速缓冲存储器、深的FIF0(First Input First Output,先进先出)和缓冲器等,因此,在本实施例中,优选采用FPGA实现对所述信号音数据队列的配置,构建多个系统功能模块实现对信号音的频率数据的提取,大大提高对大量信号音频率数据的处理效率。
[0064]进一步地,所述信号音存储器403为随机存取存储器RAM,用于存储所述数据提取器4024所提取的各个信号音的频率数据,且,当所述信号音为第一信号音时,所述第一信号音的基地址为所述RAM的首地址或者为一指定地址;
当所述信号音为第N信号音时,所述第N信号音的基地址为:所述第(N-1)信号音的基地址+所述第(N-1)信号音的频率数据的长度;其中N > 2。
[0065]参看图6,是本发明提供的信号音的生成系统的数据传输过程示意图。
[0066]在本实施例中,所述信号音数据队列中包含多个信号音,在提取各个信号音时需要清楚获得各个信号音的频率数据的界线。数据提取器4024通过控制总线向数据产生器301、时隙计数器4041等功能模块发出相应的控制指令,产生了信号音数据队列、信号音频率数据长度队列(简称长度队列)和地址偏移量队列(简称偏移队列),通过控制以上三个参量的变化而控制各个信号音的频率数据顺序写入信号音存储器403中。 [0067]具体地,数据提取器4024在执行提取信号音数据队列中的各个信号音的频率数据,并将其依次存储在信号音存储器403中的主要工作过程与第一实施例所记载的步骤a^h等步骤基本相同,在此不再赘述。
[0068]进一步地,本实施例主控制器402在控制与所述读出地址对应的频率数据依次顺序读出,以生成所述目标信号音时,还包括:
信号音类型判别器,用于判断所述目标信号音的类型,所述目标信号音的类型包括单一信号音和复合信号音;
单一信号音提取器,用于在所述目标信号音为单一信号音时,将第一时隙关联至所述读出地址所对应的频率数据,并将所述频率数据输出至所述第一时隙,以在所述第一时隙中生成所述单一信号音;
以及,复合信号音提取器,用于在所述目标信号音为复合信号音时,所述读出地址包括M个读出分地址,将第二时隙在时间间隔T的控制下依次关联至所述M个读出分地址,控制所述M个读出分地址所对应的频率数据在所述时间间隔T切换输出至所述第二时隙,以在所述第二时隙中叠加所述M个读出分地址所对应的信号音频率数据,生成所述复合信号
曰?
[0069]其中,复合信号音的产生原理与第二实施例所记载的相应内容相同,在此不再赘述。
[0070]参看图7,是本发明提供的信号音的产生系统生成目标信号音的实现原理图。
[0071]具体地,不管目标信号音为单一信号音或复合信号音,主控制器402通过对时隙计数器4041的控制,通过写入地址总线输出写入地址,从而将信号音数据队列中的各个信号音的频率数据顺序写入信号音存储器403中;在提取目标信号音时,通过对时隙计数器4041的控制,输出对读出地址存储器4042进行查找的地址,从而控制读出地址存储器4042输出各个读出地址或读出分地址(对复合信号音而言),再根据相应的读出地址或读出分地址读取在信号音存储器403中的频率数据,将其输出给用户输出接口的输出信号的相应时隙中。其中,在对信号音频率数据队列顺序写入信号音存储器403时,时隙计数器4041的输出值为用户输入接口将要写入的频率数据所在的时隙值;在读取信号音存储器403的频率数据时,时隙计数器4041的输出值为目标信号音将要输出至用户输出接口的相应时隙位置。
[0072]实施本发明提供的信号音的生成方法及其系统,用户可通过控制信号音的频率数据和频率数据长度来灵活配置不同的信号音,将各个信号音的频率数据进行顺序排列形成信号音数据队列后,可将其中的各个信号音的频率数据分别提取出来,以流水线的方式存储在RAM中,产生大容量的信号音频率数据,便于信号音的设计实现和维护,提高数据的处理效率;通过地址与时隙的控制,输出目标信号音,并通过时隙交换控制,灵活地将该目标
信号音输出为单一信号音或复合信号音。
[0073]以上所述是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
【权利要求】
1.一种信号音的生成方法,其特征在于,包括: 配置信号音数据队列;所述信号音数据队列包括多个信号音所对应的频率数据; 提取所述信号音数据队列中的各个信号音对应的频率数据; 为各个所述信号音的频率数据分别配置写入地址,并将所述信号音的频率数据存储在所述写入地址所对应的存储空间上; 控制产生用户所需的目标信号音的读出地址; 根据所述读出地址,控制与所述读出地址对应的频率数据依次顺序读出,以流水线方式生成所述目标信号音。
2.如权利要求1所述的信号音的生成方法,其特征在于,所述提取所述信号音数据队列中的各个信号音对应的频率数据,包括: 设置任一信号音的基地址及与所述信号音的频率数据对应的长度; 将所述基地址作为提取所述信号音的频率数据的起始地址,在所述信号音数据队列中读取与所述长度对应的频率数据作为所述信号音的频率数据。
3.如权利要求2所述的信号音的生成方法,其特征在于,所述信号音数据队列存储在RAM上,则所述设置任一 信号音的基地址,具体为: 当所述信号音为第一信号音时,所述第一信号音的基地址为所述RAM的首地址或者为一指定地址; 当所述信号音为第N信号音时,所述第N信号音的基地址为:所述第(N-1)信号音的基地址+所述第(N-1)信号音的频率数据的长度;其中N > 2。
4.如权利要求f3任一项所述的信号音的生成方法,其特征在于,所述配置信号音数据队列,具体为: 分别对多个信号音的参数进行设置,所述参数包括信号音的长度和信号音的频率数据;其中,每个所述信号音的长度为组成所述信号音的频率数据的个数,采用16比特的二进制数据表示;每个所述的频率数据采用8比特的二进制数据表示; 将每个所述信号音的频率数据依次排列,形成所述信号音数据队列。
5.如权利要求4所述的信号音的生成方法,其特征在于,所述根据所述读出地址,控制与所述读出地址对应的频率数据依次顺序读出,以生成所述目标信号音,具体为: 判断所述目标信号音的类型,所述目标信号音的类型包括单一信号音和复合信号音; 通过时隙控制,提取所述目标信号音进行输出,包括: 当所述目标信号音为单一信号音时,将第一时隙关联至所述读出地址所对应的频率数据,并将所述频率数据输出至所述第一时隙,以在所述第一时隙中生成所述单一信号音; 当所述目标信号音为复合信号音时,所述读出地址包括M个读出分地址,将第二时隙在时间间隔T的控制下依次关联至所述M个读出分地址,控制所述M个读出分地址所对应的频率数据在所述时间间隔T切换输出至所述第二时隙,以在所述第二时隙中叠加所述M个读出分地址所对应的信号音频率数据,生成所述复合信号音。
6.一种信号音的生成系统,其特征在于,包括: 数据产生器,用于配置信号音数据队列;所述信号音数据队列包括多个信号音所对应的频率数据; 主控制器,用于提取所述信号音数据队列中的各个信号音对应的频率数据,并将所述各个信号音对应的频率数据存储在信号音存储器上; 以及,时隙控制器,用于为各个所述信号音的频率数据分别配置写入地址,并将所述信号音的频率数据存储在所述写入地址在所述信号音存储器中对应的存储空间上; 所述时隙控制器,还用于控制产生用户所需的目标信号音的读出地址; 所述主控制器,还用于根据所述读出地址,控制与所述读出地址对应的存储在所述信号音存储器上的频率数据依次顺序读出,以流水线方式生成所述目标信号音。
7.如权利要求6所述的信号音的生成系统,其特征在于,所述主控制器为FPGA器件,设有: 基地址设置器,用于设置任一信号音的基地址; 长度控制器,用于设置与所述任一信号音的频率数据对应的长度; 地址偏移器,用于控制在提取所述任一信号音的频率数据时的地址偏移量; 数据提取器,用于将所述基地址作为提取所述信号音的频率数据的起始地址,根据所地址偏移量,逐一提取在所述信号音数据队列中的频率数据,直到所述地址偏移量的大小与所述信号音的频率数据对应的长度相等,以实现在所述信号音数据队列中读取与所述长度对应的频率数据作为所述信号音的频率数据。
8.如权利要求7所述的信号音的生成系统,其特征在于,所述信号音存储器为随机存取存储器RAM,用于存储所述数据提取器所提取的各个信号音的频率数据,且, 当所述信号音为第一信号音时,所述第一信号音的基地址为所述RAM的首地址或者为一指定地址; 当所述信号音为第N信号音时,所述第N信号音的基地址为:所述第(N-1)信号音的基地址+所述第(N-1)信号音的频率数据的长度;其中N > 2。
9.如权利要求61任一项所述的信号音的生成系统,其特征在于,所述数据产生器包括: 参数设置器,用于分别对多个信号音的参数进行设置,所述参数包括信号音的长度和信号音的频率数据;其中,每个所述信号音的长度为组成所述信号音的频率数据的个数,采用16比特的二进制数据表示;每个所述的频率数据采用8比特的二进制数据表示; 数据排列器,用于将每个所述信号音的频率数据依次排列,形成所述信号音数据队列。
10.如权利要求9所述的信号音的生成系统,其特征在于,所述主控制器在控制与所述读出地址对应的频率数据依次顺序读出,以生成所述目标信号音时,还包括: 信号音类型判别器,用于判断所述目标信号音的类型,所述目标信号音的类型包括单一信号音和复合信号音; 单一信号音提取器,用于在所述目标信号音为单一信号音时,将第一时隙关联至所述读出地址所对应的频率数据,并将所述频率数据输出至所述第一时隙,以在所述第一时隙中生成所述单一信号音; 以及,复合信号音提取器,用于在所述目标信号音为复合信号音时,所述读出地址包括M个读出分地址,将第二时隙在时间间隔T的控制下依次关联至所述M个读出分地址,控制所述M个读出分地址所对应的频率数据在所述时间间隔T切换输出至所述第二时隙,以在所述第二时隙中叠加所述M个读出分地址所对应的信号音频率数据,生成所述复合信号曰?
【文档编号】H04M1/253GK103647864SQ201310630754
【公开日】2014年3月19日 申请日期:2013年12月2日 优先权日:2013年12月2日
【发明者】曾熙璘, 李宝勋, 方辉, 孙业全, 李敏 申请人:广州广哈通信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1