CN102209161A - 电话pos的来电显示消息解码方法 - Google Patents
电话pos的来电显示消息解码方法 Download PDFInfo
- Publication number
- CN102209161A CN102209161A CN2011101421216A CN201110142121A CN102209161A CN 102209161 A CN102209161 A CN 102209161A CN 2011101421216 A CN2011101421216 A CN 2011101421216A CN 201110142121 A CN201110142121 A CN 201110142121A CN 102209161 A CN102209161 A CN 102209161A
- Authority
- CN
- China
- Prior art keywords
- cid
- decoder
- dma
- telephone
- telephone pos
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明提供一种电话POS的来电显示消息解码方法,具体步骤为:步骤10、电话POS程序初始化,并获取电话POS机一硬件定时器,初始化电话POS的ADC模拟数字转换器以及DMA,配置DMA为Half中断以及Full中断两种方式;步骤20、所述硬件定时器中断服务程序按照一预设的频率启动ADC模拟数字转换器对电话线路上的电压信号进行采样,并通过ADC模拟数字转换器将采样的电压信号进行转换;步骤30、通过DMA将步骤20中电压信号转换后的数据传送到电话POS的缓冲区中;步骤40、DMA中断服务程序根据缓冲区中的数据启动FSK解码器或DTMF解码器进行解码。本发明无需用户手动调整解码灵敏度便可自适应解码,且降低了生产成本,提高了电话POS的工作效率。
Description
【技术领域】
本发明涉及电话POS机技术领域,尤其涉及一种电话POS的来电显示消息解码方法。
【背景技术】
CID是电话POS的来电显示消息,其CID分为两类,分别是自动识别DTMF(双音多频)制式CID和FSK(频移键控)制式的CID。
传统的DTMF制式的CID(来电显示消息)的解码方法主要是采用DFT、FFT或者Goertzel(是递归方法之一)算法计算时域信号的频谱信息。
其中DFT是离散傅里叶变换,是连续傅里叶变换在时域和频域上都离散的形式,将时域信号的采样变换为在离散时间傅里叶变换(DTFT)频域的采样。在形式上,变换两端(时域和频域上)的序列是有限长的,而实际上这两组序列都应当被认为是离散周期信号的主值序列。即使对有限长的离散信号作DFT,也应当将其看作经过周期延拓成为周期信号再作变换。在实际应用中常采用FFT(快速傅氏变换)算法,它根据DFT的奇、偶、虚、实等特性,将原DFT时间复杂度从N2降至Nlog2N。在计算机系统或数字系统中应用快速离散傅立叶变换,可以说是进了一大步。Goertzel算法也是DFT的改进算法,采用递归运算,对每次采样计算一次,可实时采样计算,且节省内存。
在本POS系统中,对于DTMF的解码,实际上不需要全部的频谱信息,而只关心8点频率的能量。由于采用DMA方式,Goertzel算法优势也不明显。故此处采用8点DFT算法即可,此时运算量为8N。在计算8种频率的能量值后,经过比对分别得出高频组和低频组的最相似频率,从而得到两个高低频组的频率值,继而得到某种DTMF码。
FSK制式的CID(来电显示消息)解调方法常采用移位相关、2点DFT、跳变沿统计等解调方案。
目前电话POS的CID解码方案是直接采用CMX865芯片解码,解码时需要通过软件判别CID出现的时机,再根据国标规定的时序分别启动FSK解码器或者DTMF解码器进行解码,其中FSK解码和DTMF解码不可以同时解码。其一次的CID消息要采集多组频率的电压信号;采用CMX865芯片解码,该方法有如下缺陷:不具备自适应解析DTMF/FSK制式的能力;芯片的成本较高;对于比较差的线路,解码效果比较差,需要外界介入调整解码参数才可以完成解码。这不仅仅是影响到解码的实际效果,重要的是导致客户对电话POS产生反感情绪,甚至影响市场业务的进行;同时还要派送研发人员出差维护,其成本比较高。
【发明内容】
本发明要解决的技术问题,在于提供一种电话POS的来电显示消息解码方法,实现了CID自适应解码。
本发明是这样实现的:一种电话POS的来电显示消息解码方法,包括如下步骤:
步骤10、电话POS程序初始化,并获取电话POS机一硬件定时器,初始化电话POS的ADC模拟数字转换器以及DMA,配置DMA为Half中断以及Full中断两种方式;
步骤20、所述硬件定时器中断服务程序按照一预设的频率启动ADC模拟数字转换器对电话线路上的电压信号进行采样,并通过ADC模拟数字转换器将采样的电压信号进行转换;
步骤30、通过DMA将步骤20中电压信号转换后的数据传送到电话POS的缓冲区中;
步骤40、DMA中断服务程序根据缓冲区中的数据启动FSK解码器或DTMF解码器进行解码。
进一步的,所述步骤40启动FSK解码器或DTMF解码器进行解码具体包括如下:
步骤41、定义一CID类型变量,解码开始时,CID类型变量为未知,则DMA中断服务程序同时启动两解码器进行解码;
步骤42、当两解码器中的某一解码器确认了CID制式时,将所述CID类型变量赋值为该CID制式,下次进行解码时,DMA中断服务程序将关闭另一解码器;当两解码器均确认其CID制式时,则FSK解码器优先进行解码,将所述CID类型变量赋值为FSK类型,下次进行解码时,DMA中断服务程序将关闭DTMF解码器,当FSK制式的CID一次的所有数据解码完成后,再启动DTMF解码器进行解码;
步骤43、当一次的CID消息所有数据都解码完成,则复位CID类型变量为未知。
本发明具有如下优点:本发明通过硬件定时器中断服务程序按照一预设的频率启动ADC模拟数字转换器对电话线路上的电压信号进行采样,并通过ADC模拟数字转换器将采样的电压信号进行转换后传送到电话POS的缓冲区中,电话POS的DMA中断服务程序根据缓冲区中的数据启动FSK解码器或DTMF解码器进行解码;其解码过程中通过CID类型变量,来确定哪种制式的CID,并启动对应的制式的解码器,关闭另一制式解码器;从而实现无需用户手动调整解码灵敏度便可自适应解码,且降低了生产成本,提高了电话POS的工作效率。
【附图说明】
图1为本发明方法流程示意图。
【具体实施方式】
下面参照附图结合实施例对本发明作进一步的说明。
请参照图1所示,一种电话POS的来电显示消息解码方法,包括如下步骤:
步骤10、电话POS程序初始化,并获取电话POS机一硬件定时器,初始化电话POS的ADC模拟数字转换器以及DMA,配置DMA为Half中断以及Full中断两种方式;
步骤20、所述硬件定时器中断服务程序按照一预设的频率启动ADC模拟数字转换器对电话线路上的电压信号进行采样,并通过ADC模拟数字转换器将采样的电压信号进行转换;
步骤30、通过DMA将步骤20中电压信号转换后的数据传送到电话POS的缓冲区中;
步骤40、DMA中断服务程序根据缓冲区中的数据启动FSK解码器或DTMF解码器进行解码。
其中,所述步骤40启动FSK解码器或DTMF解码器进行解码具体包括如下:
步骤41、定义一CID类型变量,解码开始时,CID类型变量为未知,则DMA中断服务程序同时启动两解码器进行解码;
步骤42、当两解码器中的某一解码器确认了CID制式时,将所述CID类型变量赋值为该CID制式,下次进行解码时,DMA中断服务程序将关闭另一解码器;当两解码器均确认其CID制式时,则FSK解码器优先进行解码,将所述CID类型变量赋值为FSK类型,下次进行解码时,DMA中断服务程序将关闭DTMF解码器,当FSK制式的CID一次的所有数据解码完成后,再启动DTMF解码器进行解码;
步骤43、当一次的CID消息所有数据都解码完成,则复位CID类型变量为未知。
在这里要说明的是,本实施例的POS系统的CID消息,其信息流向依次为信道信号、ADC口线信号、ADC模拟数字转换器采样数据、解码器(FSK/DTMF)、最后是电话POS应用层。
本发明的FSK解码器进行解码的方法在现有技术中有很多种,在本实施例中FSK解码器是采用背景技术中2点DFT(离散傅里叶变换)的算法,主要有以下步骤:
1.根据ADC采样数据,计算电压信号中的两频率点(fc+fm)和(fc-fm)的能量差;fc及fm的值,根据不同的协议进行设置,如bell202协议规范规定,fc=1700Hz,fm=500Hz;对算得的能量差,可将其作为基带信号,送往步骤2;
2.上步所算得的基带信号,含有较多毛刺(高频噪声),将会影响其过零点位置,故根据配置,将其通过一个IIR滤波器或均值滤波器,进行滤波。基带信号的过零点,即表示比特的跳变点,可利用跳变位置,调整其为比特的起始点,进行相位调整;从比特起始点开始,至比特半宽处进行判决,将是最佳判决时间,而最佳判决阈值为0;此步,相位同步与比特判决同时进行,得出比特流,送往步骤3;
3.根据上步送来的比特流,进行寻找同步码、字节合成、CRC校验处理;当找到同步码(010101...连续50个以上)时,可确认当前CID为FSK制式,设置CID类型变量;按照FSK链路协议进行字节合成,完成后进行CRC校验;若校验通过,则提取出消息字节,送往电话POS应用层。若校验错误,则进行错误处理。
本发明的DTMF解码器进行解码的方法在现有技术中有很多种,在本实施例中DTMF解码器是采用背景技术中DFT(离散傅里叶变换)的算法,主要有以下步骤:
1.DTMF制式的CID是两组频率信号的叠加。其中低频组频率为697、770、852、941,高频组为1209、1336、1477、1633,单位Hz。故可根据ADC采样数据,计算信号总能量值及以上8频点能量值,查找各组能量最大频率点,计算其所占总能量比例,将比例值送往步骤2。根据配置,还可计算各频点二次谐波能量,及带通滤波后的信号总能量,供步骤2判决使用。
2.对于上步算得的两个最大值比例,进行判决。若二者均大于所设定阈值(如80%),则认为是DTMF字符;若不满足,则认为是静音。根据配置,可进行谐波判决及带内带外能量判决,可减少误判。判决所得的字符流或静音流,送往步骤3;
3.对步骤2送来的字符流或静音流,进行重复确认。重复次数依据所使采样数据时长及所使用数据时间间隔,进行设置。然后判决所得字符,送往电话POS应用层。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (2)
1.一种电话POS的来电显示消息解码方法,其特征在于:包括如下步骤:
步骤10、电话POS程序初始化,并获取电话POS机一硬件定时器,初始化电话POS的ADC模拟数字转换器以及DMA,配置DMA为Half中断以及Full中断两种方式;
步骤20、所述硬件定时器中断服务程序按照一预设的频率启动ADC模拟数字转换器对电话线路上的电压信号进行采样,并通过ADC模数转换器将采样的电压信号进行转换;
步骤30、通过DMA将步骤20中电压信号转换后的数据传送到电话POS的缓冲区中;
步骤40、DMA中断服务程序根据缓冲区中的数据启动FSK解码器或DTMF解码器进行解码。
2.根据权利要求1所述的电话POS的来电显示消息解码方法,其特征在于:所述步骤40启动FSK解码器或DTMF解码器进行解码具体包括如下:
步骤41、定义一CID类型变量,解码开始时,CID类型变量为未知,则DMA中断服务程序同时启动两解码器进行解码;
步骤42、当两解码器中的某一解码器确认了CID制式时,将所述CID类型变量赋值为该CID制式,下次进行解码时,DMA中断服务程序将关闭另一解码器;当两解码器均确认其CID制式时,则FSK解码器优先进行解码,将所述CID类型变量赋值为FSK类型,下次进行解码时,DMA中断服务程序将关闭DTMF解码器,当FSK制式的CID一次的所有数据解码完成后,再启动DTMF解码器进行解码;
步骤43、当一次的CID消息所有数据都解码完成,则复位CID类型变量为未知。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101421216A CN102209161B (zh) | 2011-05-27 | 2011-05-27 | 电话pos的来电显示消息解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101421216A CN102209161B (zh) | 2011-05-27 | 2011-05-27 | 电话pos的来电显示消息解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102209161A true CN102209161A (zh) | 2011-10-05 |
CN102209161B CN102209161B (zh) | 2013-11-20 |
Family
ID=44697811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101421216A Active CN102209161B (zh) | 2011-05-27 | 2011-05-27 | 电话pos的来电显示消息解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102209161B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447660A (zh) * | 2011-11-08 | 2012-05-09 | 福建联迪商用设备有限公司 | 电话pos fsk通信软件调制解调的实现方法 |
CN103236826A (zh) * | 2013-03-19 | 2013-08-07 | 福建联迪商用设备有限公司 | 一种在m3平台上实现低功耗输出dtmf信号的方法 |
CN114184848A (zh) * | 2021-12-03 | 2022-03-15 | 中国科学院国家空间科学中心 | 基于Goertzel算法的星载VHF瞬态信号逐点扫描实时处理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1331541A (zh) * | 2000-06-30 | 2002-01-16 | 凌阳科技股份有限公司 | 可达成双制式来方电话显示的预先自动判别装置 |
CN1438796A (zh) * | 2002-02-10 | 2003-08-27 | 谷振宇 | 数字电话银行pos系统 |
US6683948B1 (en) * | 2000-08-09 | 2004-01-27 | Sunplus Technology Co., Ltd. | Device for automatically identifying DTMF and FSK for caller ID |
CN201467217U (zh) * | 2008-11-19 | 2010-05-12 | 无锡华润矽科微电子有限公司 | 一种双制式来电显示的微控制器 |
-
2011
- 2011-05-27 CN CN2011101421216A patent/CN102209161B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1331541A (zh) * | 2000-06-30 | 2002-01-16 | 凌阳科技股份有限公司 | 可达成双制式来方电话显示的预先自动判别装置 |
US6683948B1 (en) * | 2000-08-09 | 2004-01-27 | Sunplus Technology Co., Ltd. | Device for automatically identifying DTMF and FSK for caller ID |
CN1438796A (zh) * | 2002-02-10 | 2003-08-27 | 谷振宇 | 数字电话银行pos系统 |
CN201467217U (zh) * | 2008-11-19 | 2010-05-12 | 无锡华润矽科微电子有限公司 | 一种双制式来电显示的微控制器 |
Non-Patent Citations (1)
Title |
---|
刘光明 等: "单片机实现DTMF或FSK来电显示", 《现代电子技术》, no. 3, 31 December 2005 (2005-12-31) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447660A (zh) * | 2011-11-08 | 2012-05-09 | 福建联迪商用设备有限公司 | 电话pos fsk通信软件调制解调的实现方法 |
CN102447660B (zh) * | 2011-11-08 | 2015-03-11 | 福建联迪商用设备有限公司 | 电话pos fsk通信软件调制解调的实现方法 |
CN103236826A (zh) * | 2013-03-19 | 2013-08-07 | 福建联迪商用设备有限公司 | 一种在m3平台上实现低功耗输出dtmf信号的方法 |
CN103236826B (zh) * | 2013-03-19 | 2016-05-25 | 福建联迪商用设备有限公司 | 一种在m3平台上实现低功耗输出dtmf信号的方法 |
CN114184848A (zh) * | 2021-12-03 | 2022-03-15 | 中国科学院国家空间科学中心 | 基于Goertzel算法的星载VHF瞬态信号逐点扫描实时处理方法 |
CN114184848B (zh) * | 2021-12-03 | 2023-09-26 | 中国科学院国家空间科学中心 | 基于Goertzel算法的星载VHF瞬态信号逐点扫描实时处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102209161B (zh) | 2013-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102256339B (zh) | 业务数据传输方法、接收机、移动终端、发射机以及基站 | |
CN103117066B (zh) | 基于时频瞬时能量谱的低信噪比语音端点检测方法 | |
JP2011176864A (ja) | 無線周波数妨害低減を伴うマルチキャリア方式送受信器のためのシステムおよび方法 | |
CN102209161B (zh) | 电话pos的来电显示消息解码方法 | |
CN101478525B (zh) | 一种多载波分离的方法及多载波分离装置 | |
JP6720266B2 (ja) | 高帯域励起信号を予測するための方法および装置 | |
CN106708990A (zh) | 一种音乐片段提取方法和设备 | |
CN102610267B (zh) | 一种改善播放系统音频播放质量的方法 | |
CN113612808B (zh) | 音频处理方法、相关设备、存储介质及程序产品 | |
CN104301521B (zh) | 一种基于手机音频接口的调制方式、通信电路及其通信方法 | |
CN102447660B (zh) | 电话pos fsk通信软件调制解调的实现方法 | |
CN103701492A (zh) | 线性调频信号调制解调的水声跳频通信方法 | |
US20130151260A1 (en) | Apparatus and method for audio encoding | |
CN105846909A (zh) | 声波信号发送接收方法、装置及其系统 | |
CN101605001B (zh) | 一种mfsk水声通信的多普勒测量与修正方法 | |
CN101197576A (zh) | 一种音频信号编码、解码方法 | |
CN113473522A (zh) | 小区搜索中同步信息检测方法、相关装置及存储介质 | |
CN101937679A (zh) | 音频数据帧的错误掩盖方法及音频解码端 | |
CN108988957B (zh) | 一种基于线性调频的空气声波通信编码方法 | |
CN104394255A (zh) | 一种添加好友的方法及装置 | |
CN102421163A (zh) | Lte系统频点排序的方法及装置 | |
CN109451254A (zh) | 一种智能电视数字接收机 | |
CN1505883A (zh) | 基于dmt线路编码的vdsl系统和利用该系统确定循环前缀采样的长度的方法 | |
CN109996236A (zh) | 一种用于机器人的网络接入方法、装置及机器人 | |
CN109168186B (zh) | 一种实现lte系统中搜索频点的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |