两音信令系统毕业设计

上传人:仙*** 文档编号:28687390 上传时间:2021-09-07 格式:DOC 页数:105 大小:1.49MB
收藏 版权申诉 举报 下载
两音信令系统毕业设计_第1页
第1页 / 共105页
两音信令系统毕业设计_第2页
第2页 / 共105页
两音信令系统毕业设计_第3页
第3页 / 共105页
资源描述:

《两音信令系统毕业设计》由会员分享,可在线阅读,更多相关《两音信令系统毕业设计(105页珍藏版)》请在装配图网上搜索。

1、专科生毕业论文(设计)题 目:两音信令系统功能的实现 学生姓名: 蔡海明 学 号: 200916030120 专业班级: 应用电子一班 指导教师: 邵湘怡老师 完成时间: 2012年4月20日 目录摘要I第1章 绪论11.1课题的研究意义及背景11.2课题研究的意义21.3论文内容及结构安排3第2章 TC700对讲机硬件平台42.1控制旋钮和功能键42.2 TC700对讲机原理42.2.1 电源52.2.2锁相环频率合成器 52.2.3 发射部分52.2.4 接收部分52.2.5 基带和信令部分52.2.6 控制部分52.3 对讲机功能术语解释4第3章 两音信令系统软件功能的实现73.1两音信

2、令概要73.1.1 单音帧格式73.1.2 双音帧格式73.2 设计思想93.2.1 两音信令解码部分103.2.2 编码部分123.3编码部分143.3.1 编码程序流程图143.3.2 编码函数设计153.4解码设计223.4.1 解码设计流程图223.4.2 解码函数设计22测试与结论38参考文献39致谢39附录A:两音信令编码程序代码42附录B:两音信令解码程序代码72第1章 绪 论随着无线通信的迅猛发展,在一对一、一对多的近距离通讯要求下日益激烈的对讲机市场慢慢步入了人们的视野当中,引发了人们对这一便捷的通讯工具的关注。在中国高速发展的20多年间,无线通信技术也取得了迅猛的发展。目前

3、在边防哨兵、公安、消防、保安、建筑、工厂、商场、车队、宾馆、饭店等多领域内都能看到对讲机的身影,对于庞大的消费市场也吸引了众多的生产企业对它的关注。1.1课题背景 对讲机通信在1985年以前是我国主要的专用无线通信系统,如今随着公众移动通信的发展对讲机通信已逐步形成为一个重要的专业通信市场。随着我国经济的快速发展,各个行业已广泛而大量地使用对讲机通信,因此,对讲机实际上已成为各个行业重要的无线通信装备。对讲机在美国、欧洲、韩国、新加坡等地深受消费者的欢迎。美国从1998年开放民用对讲机市场后,其销量以每年翻一番的速度增长,2000年销量就达到1000万台,与同年手机销量处于同一个数量级。在德国

4、、日本,大概有30%的家庭拥有对讲机,大概有25%的法国家庭使用对讲机。对讲机家庭拥有量是反映一个国家公众无线通信水平高低的综合性指标之一,也是一个国家国民经济和科学技术发展水平的标志之一。对讲机显示出了其在国民经济中的重要地位。现在,人们对对讲机的认识达到空前的高度,对讲机在国民经济各部门和人们生活各个领域的广泛应用得到了充分的体现,已成为国家安全、公安警察、交通管理、石油化工、建筑施工、机械制造、宾馆酒楼等部门重要的无线通信装备1。对讲机产业是我国移动通信比较重要的一部分,产业布局呈现相应的比较明显的区域性,主要制造企业大部分分布在东南沿海、珠三角一带。近年来,我国对讲机产业在通信产业快速

5、发展的拉动下,超常规高速发展,仅深圳无线电通信制造企业就有近200家,无线电通信设备制造总产值有400亿元之巨,位居全国前列,是全国最重要的对讲机生产基地,也是全球最多生产对讲机企业基地之一,专业从事对讲机生产的企业(包括外销企业)就有四十多家。其中对讲机品牌企业10余家,创造了国内产量最大、在理论和实践上位列世界前五名、服务全球用户的对讲机品牌,抢了洋品牌不少的饭碗。一批起点较高的“中国造”已经向美国、日本、欧盟等世界80多个国家和地区出口,出口贸易呈增长趋势2。由近十年来世界经济的发展可以看出,即使世界经济处于低迷时期,各大经济领域发展缓慢时,移动通信包括专业无线通信和公众低功率民用对讲机

6、通信,仍保持较强的增长势头。目前,中国是移动通信最大的市场,也是世界上对讲机通信最具发展前途的市场之一。对此,我国的对讲机生产企业应加速提高对讲机产品的技术含量和设计水平,朝着智能化、个性化、轻巧型的方向发展,以自主研发、科技创新为主线,把国内的民用对讲机市场培育起来3。1.2课题研究的意义信令(Signaling)是电信网中,在终端和交换机之间,以及交换机与交换机之间传送的一种对话信息。它的作用是控制信道的接续和传递网络管理信息,任何通信网都离不开信令系统3。传统对讲机采用类似广播信道的一呼百应方式;不管是否呼叫你,也不管你是否愿意,都得开机守候。本课题研究的两音信令系统,是一种在对讲机平台

7、上运行,实现对讲机选呼功能,并做出相应预设响应的一种信令系统,该信令系统的应用可以有效提高对讲机的使用价值。1.3论文内容及结构安排1分析对讲机的市场发展状况,了解对讲机的基本工作原理;2对两音信令系统的原理进行深入研究,对编码和解码过程进行详细介绍;3用C语言编写出两音信令系统的程序代码,实现预设的各种功能;4最后在TC700对讲机平台上进行测试。第2章 TC700对讲机硬件平台TC700专业对讲机是HYT(好易通)为各专业用户新推出的一款高端对讲机,采用目前国际先进的技术和世界知名品牌的元器件,囊括了目前几乎所有模拟对讲机的功能,并增加了HYT独创的功能,提供了强大功能和可靠性能的精致体验

8、,它流畅的造型,适中的体积,广泛适用于国内外各行业的中,高端用户4。 TC700专业对讲机具有五大特点: 1声音洪亮:使用大喇叭,直径为400mm声音洪亮。最大音频输出达1W以上;使用户在噪杂的环境中仍可以保持畅通的联系。 2频段宽:的宽频段充分满足了用户对不同频段的使用需求。频率范围: VHF:136-174 MHz ,UHF:350-390400-450420-470440-490 MHz,音频输出功率1W ,信道数16。3提供安全保障:TC700提供了单独工作,安全检测,倒放(可选)三种安全保障功能。符合美国军标MIL-STD-810CDEF及IP54,有自动联系功能,紧急报警。4内置语

9、音加密:不需要增加附件选项板,若通话双方同时加密,可防止其他相同频率的对讲机窃取信息。 5好易通HYT专有信令HDC2400TM:HDC2400TM是好易通提供的专有信令,由它组成的系统可以完成身份识别、呼叫计时和录音、记录查询和统计,并能实现个呼、组呼、广播、遥毙、状态查询、短消息、数据传输等功能4。 2.1控制旋钮和功能键图2.1 TC700 对讲机部件图 各部件的相关名称和功能如下:(1) PTT键(发射按键):该按键式发射与接收的转换键;发射时,按此键,并对着麦克风讲话;接收时,松开此键。(2) SK1键:Side Key1,可编程按键。(3) SK2键:Side Key2,可编程按键

10、。(4) 天线。(5) 麦克风。(6) 扬声器。(7) TK键:Top Key,可编程按键。(8) Channel(频道)选择旋钮:转动旋钮可选择频道116。(9) Power/Volume(电源/音量)开关:按顺时针方向转动时打开对讲机的电源;按逆时针方向转动时关闭对讲机的电源;随意转动时可调节音量大小。(10) 状态指示灯:在发射过程中点亮红灯;在接收到信号时点亮绿灯;在发射过程中电池电压变低时闪烁红灯。(11) 扬声器/麦克风插孔。(12) 皮带夹。(13) 电池。(14) 皮带夹螺钉。(15) 释放扣。52.2 TC700对讲机工作原理对讲机的工作原理:基于电磁波运动学、动力学原理和现

11、在电子技术。2.2.1电源 TC700对讲机的电源由电池经3A保险丝后提供电池电压B,通过电源开关后,电源向3个AVRs提供电压。IC504向控制电路提供5V(M5V)电压,IC523向共用电路提供5V(C5V)电压。IC502向TX电路、RX电路提供电压。在发送过程中, T5C变为低电压,且Q502接通并向TX电路提供5V(T5V)电压;在接收过程中,R5C变为低电压,且Q504接通并向RX电路提供5V(R5V)电压6。 图2.2.1 电源处理电路框图2.2.2锁相环频率合成器锁相环电路产生用于接收的第一本振信号和用于发射的射频载波信号。图2.2.2 锁相环框图1、锁相环电路IC301是分频

12、器。锁相环电路的步进频率为2.5 KHz、5.0KHz或6.25KHz。16.8MHz的参考振荡器信号通过一个固定计数器在IC301中被分频并生成2.5 KHz、5.0KHz或6.25KHz的参考频率。压控振荡器(VCO)输出的信号通过Q301缓冲放大器,然后在IC301中被分频器分频。被分频的信号在带有2.5 KHz、5.0 KHz或6.25KHz参考信号的相位比较器的IC301中被比较。从相位比较器输出的信号进入一个低通滤波器后,并通过压控振荡器来控制振荡频率。2、压控振荡器在发射模式中通过Q302产生操作频率,在接收模式中通过 Q307产生操作频率。操作频率通过相位比较器产生一个控制电压

13、来控制变容二极管,使振荡频率与MCU 预置频率一致(在发射模式中为D301、D302、D303和D304,在接收模式中为D307、D308、D309和D310)。在接收模式中,T/R设置为高电平。在发射模式中,T/R设置为低电平。Q302和Q307的输出通过Q304被放大并被送到缓冲放大器。3、失锁检测器如果IC301的MUXOUT管脚上出现低电平,则产生失锁状态。当微处理器检测到此情况时,禁止发射7。2.2.3发射部分 人的话音通过麦克风转换成音频的电信号,音频信号通过放大电路、预加重电路及带通滤波器进入压控振荡器直接进行调制。 从压控振荡缓冲放大器(Q111)接收到的发送信号通过Q101和

14、Q102被放大。这个放大信号通过功率放大器Q103和Q104(包括一个二级场效应管放大器),并能产生4.0W射频功率。在其到达天线终端之前,射频放大器输出信号通过一个低通滤波器网络和一个发射/接收转换电路。发射/接收转换电路由D102,D103,D104构成。D103和D104在发射模式下开启(通导),在接收模式下关闭(隔离)。自动功率控制(APC)电路,通过检测末级放大器场效应管的漏极电流来稳定发射的输出功率。电压比较电路,IC101(2/2)用设定的参考电压来比较从末级电流所获得的电压。自动功率控制电压与IC101(1/2)输出的自动检测电压和参考电压之间的差值成正比。此输出电压控制场效应

15、管功率放大器,保持发射部分输出功率常数。发射部分输出功率可以通过微处理器进行改变,在微处理器中改变输出电压来控制输出功率8。图2.2.3 自动功率控制系统2.2.4接收部分接收部分为二次变频超外差方式,从天线输入的信号经过收发转换电路和带通滤波器后进行射频放大,在经过带通滤波器,进入一混频,将来自射频的放大信号与来自锁相环频率合成器电路的第一本振信号在第一混频器处混频并生成第一中频信号。第一中频信号通过晶体滤波器进一步消除邻道的杂波信号。滤波后的第一中频信号进入中频处理芯片,与第二本振信号再次混频生成第二中频信号,第二中频信号通过一个陶瓷滤波器滤除无用杂散信号后,被放大和鉴频,产生音频信号。音

16、频信号通过放大、带通滤波器、去加重等电路,进入音量控制电路和功率放大器放大,驱动扬声器,得到人们所需的信息。构成图如下: 图2.2.4 接收部分构成图2.2.5基带和信令部分信令处理部分的电原理框图参见图2.2.5。图2.2.5 音频及信令处理电路1、CTC/CDC发射:CTC_PLL产生的CTC/CDC通过低通滤波器送到VCXO,CTC_OUT产生的CTC/CDC通过低通滤波器与音频信号混合后送到VCO。接收:解调的信号通过IC404、IC405后进入MCU,由MCU判定CTC/CDC是否与设置的值匹配,并根据判定结果用AFMUTE来控制音频输出。2、2Tone、5Tone及DTMF 发射;

17、由MCU产生的信号通过提供TX/SP输出音频,并输入到基带处理IC,信号与音频混合后送到VCO。接收:解调出来的信号进入基带处理IC后经滤波送入MCU解码。3、MSK发射:由基带处理IC产生的MSK信号与音频解调信号混合后送到VCO调制。接收:解调IC的MSK输入被放大后送到AK2346进行解调,被解调后的信号送到MCU解码。4、AF发射:来自MIC的语音信号经过放大后送到基带处理IC进行放大、预加重等处理后送到VCO调制。接收:解调出来的音频信号放大后被送到基带处理IC进行放大、去加重等处理后送到音频功放驱动扬声器。基带处理芯片AK2346对信号具有放大、滤波、加重、扰频、压扩、限幅处理功能

18、9。2.2.6控制系统IC500中央处理器在9.8304MHz的情况下运行。MCU控制部分的原理框图如下: 图2.2.6 MCU框图在该部分,电路主要由MCU、E2PROM等组成。MCU控制部分电路主要完成的功能是:按照整机的编程功能完成开机的复位初始化;检测按键信号及监测电池电压状况并进行处理;依据信道的编码情况传送给PLL所需的频率数据;依据输入的PTT信号对接收和发射进行切换和控制;依据输入的信令解码信号和静噪电平信号控制静音电路的开启和关闭;输出控制信号控制LED的点亮与闪烁,控制信令处理IC完成所需的工作。2.3对讲机功能术语解释1监听(MONITOR): 为接受弱小信号而采用的一种

19、收听方式。通过按专用键强制接通接收信号通道,操作者用耳朵辨别扬声器中的微弱声音,达到收听的目的。 2扫描(SCAN):为了听到所有信道的通话,而采用的一种收听方式。 通过按专用键,使接收电路按一定顺序逐个信道接收一段时间,以收听到信道中的信号。若每个信道接收时间为100ms,则每秒可扫描过十个信道,即扫描速度为10ch/s 。 3优先信道扫描功能 (Priority Channel Scan):在扫描过程中优先扫描所设定的优先信道。 4删除/添加扫描信道 (Delete/Add Scan Channel):将某一信道从扫描列表中删除或添加到扫描列表中。 5声控(VOX):当该功能被激活后,不必

20、按PTT键,可直接通过语音启动发射操作。 6发射限时功能 (TOT: Time Out Timer) :该功能用于限制用户在一信道上超时间发射,同时也避免对讲机因长时间发射而造成损坏。 7省电功能 (Battery Save) :为节约用电,延长待机时间,对讲机在一段时间内无发射接受和按键操作,将以一段时间关机、一段时间开机的方式工作,这种方式叫省电方式。开关机时间长度比大约是1:4。当收到信号或有按键操作时,对讲机立即退出省电状态,进入正常状态。 8高低功率选择功能 (High/Low power):该功能可让用户根据实际情况选择高功率或低功率。 9禁发功能 (Busy Channel Lo

21、ckout):当使用该功能时,用户禁止在繁忙信道上发射信号。 10静噪级数 (Squelch Level) :接收信号中噪声的强弱与信号的强弱呈对应关系,信号越强噪声越弱。把最大噪声和最小噪声之间分成若干档,每一档称为一级。分成的档数叫静噪级数。用户可根据实际情况进行选择。 11CTCSS/CDCSS功能:使用该功能可以避免接收不相干的呼叫。122-TONE/DTMF选呼功能 :利用2-TONE或DTMF信令选择呼叫相应的对讲机。 13倒频功能 (Reverse Frequency):使用倒频功能时,对讲机的发射频率和接收频率将互换,并且所设定的信令也进行互换。 14脱网功能 (Talk Ar

22、ound):使用脱网功能时,对讲机的发射频率变得与接收频率相同;发射信令也转成与接收信令相同。 15自动应答功能 (Auto-Transpond):当对讲机收到一个正确编码呼叫时,向呼叫方发出一个信号以响应呼叫。 16紧急报警(Emergency Alarm):按下报警专用键,对讲机以最大声音发出报警声或发出预定报警码给其他的手持机或基台。 17巡逻登记(Patrol Record):巡逻人员到达巡逻点时,对讲机将收到巡逻登记器发出的查询信号,然后自动启动登记操作,把自身的身份码等信息发给巡逻登记器予以登记,表明某巡逻人员已到达该地。 18锁键功能 (Keylock):使用该功能可以防止键的误

23、操作。 19电量指示(Battery Indicator):显示电池电量。 20照明功能 (Backlight):用于在夜间或昏暗的情况下操作,可看清楚LCD显示和按键。 21复制功能 (Cloning):该功能允许将一台对讲机中的数据复制到型号相同的其他对讲机中。 22调制:用调制信号的某一种或某几种参数控制载波的参数的改变,按照控制参数的不同,调制又可分为调幅、调频和调相。 23音频:Audio,指人说话的声音频率,通常指300Hz-3400Hz的频带。 24载波:话音、数字信号、信令等有用信号的载体,易于传输的高频电磁波。 25信道和信道间隔 :信道指发射接收时占用的频率值。相邻信道之间

24、的频率差值称为信道间隔。规定的信道间隔有25KHz(宽带)、20KHz、12.5KHz(窄带)等。 262-TONE:2-TONE, 两音信令,由两个音频信号组成,A Tone + B Tone。 先发A Tone一段时间,然后间隔一段时间,再发B Tone。利用2-TONE信令可选择呼叫相应的对讲机。 275-TONE:5-TONE, 5 音信令,作用与两音信令相同,区别在于由五种频率组成。 28CTCSS:CTCSS (Continuous Tone Controlled Squelch System) , 连续语音控制静噪系统,俗称亚音频,是一种将低于音频频率的频率(67Hz-250.3

25、Hz)附加在音频信号中一起传输的技术。因其频率范围在标准音频以下,故称为亚音频。当对讲机对接收信号进行中频解调后,亚音频信号经过滤波、整形,输入到CPU中,与本机设定的CTCSS频率进行比较,从而决定是否开启静音。 29CDCSS:CDCSS (Continuous Digital Controlled Squelch System),连续数字控制静噪系统,其作用与CTCSS相同,区别在于它是以数字编码方式来作为静音是否开启的条件。 30DTMF:DTMF(Dual Tone Multi Frequency),双音多频,由高频群和低频群组成,高低频群各包含4个频率。一个高频信号和一个低频信号叠

26、加组成一个组合信号,代表一个数字。DTMF信令有16个编码。利用DTMF信令可选择呼叫相应的对讲机10。第3章 两音信令系统软件功能的实现为了实现无线终端之间通信的简单控制及信息交换,发送方按照一定的规则发送由一个或两个的单音频率构成的序列信号,而接受方则检测接收的音频信号是否与预设定信号参数匹配,并做出预设的功能响应。通常,称这种信号方式为两音信令11。3.1两音信令概要两音信令的传输是借用的语音信号传输的信道,同时为了避免与信道中的亚音频信令产生互扰,所有厂商两音信令的组成单音频率都在2803200Hz的范围内。两音信令的编码格式只有单音帧格式和双音帧格式。3.1.1单音帧格式该格式只含有

27、一个单音频率信号,在实际的发送过程中,单音频率信号调制在载波上,信令信号与载波的时间关系如下图所示。图3.1.1 单音帧格式图其中TTTS_pretime为发送有效音频信号前载波的最小持续时间长度;TTTS_pretime为唯一的单音频信号发送时间长度;TTTS_detime为发送完信号后载波的最小持续时间长度。3.1.2双音帧格式该格式含有顺序两个单音频率信号,信令信号与载波的时间关系如下图所示。图3.1.2 双音帧格式图 其中TTTS_pretime为发送有效音频信号前载波的最小持续时间长度;TTTS_E_1st为第一个单音频信号发送时间长度;TTTS_E_gap为两个单音频信号之间载波的

28、持续时间长度;TTTS_E_2nd为第二个单音频信号发送时间长度;TTTS_detime为发送完信号后载波的最小持续时间长度。两音信令就是由两个音频信号组成,A Tone + B Tone。 先发A Tone一段时间,然后间隔一段时间,再发B Tone。利用2-TONE信令可选择呼叫相应的对讲机12。3.2设计思想两音信令系统主要包括信令的编码部分与解码部分,对讲机发送方通过信令编码,设置好输入参数,将音频序列信号发送出去,在该频段工作的对讲机将收到的音频信号进行解码,如果与预设的参数匹配,则与发送方进行通话链接。3.2.1两音信令编码部分 因为不同厂商的两音信令的编码具有差异,为了最大限度的

29、保证产品的对各种编码设定的兼容性,在此规定两音信令的编码设定为:1两音信令的组成频率范围为2803106Hz,步进为0.1 Hz;2发送两音单音频信号的频率误差1.5%;3发送两音单音频信号的时间误差5%。在发送两音信令的同时,还设定了其它功能选项,其作用分别如下:编程En_TTS_SideTone使能,选择在两音信令的编码过程中是否打开侧音;编程En_TTS_Beep使能,选择编码完毕后是否发出短哔提示音;编程En_TTS_PL使能,选择在信令发送信道选择了亚音频编码的条件下,编码过程中是否发送亚音频编码。完成上述功能响应后,发送方进入选呼信令匹配状态。3.2.2两音信令解码部分信令解码包括

30、分析检测到的单音频信号参数与预设定的解码音频信号参数的匹配性,分析当前亚音频信令与两音信令的与或逻辑关系,根据最后的解码结果作出预设定的功能响应三部分。其中第一部分衡量参数是否匹配主要是根据以下指标:1信号帧格式,即单音帧格式与双音帧格式不能相互匹配;2频率参数,在该过程中涉及到的参数为接收信号的频率值与预设定信号参数的频率值,当它们的误差超过预设定的门限GFTTS_D_gate值时,认为不匹配,反之,匹配。在此规定好易通两音信令门限GFTTS_D_gate值最大不能超过2%;3时间参数,在该过程中涉及到的参数为接收信号的时间值与预设定信号参数的时间值,当它们的误差超过预设定的门限GTTTS_

31、D_gate值时,认为不匹配,反之,匹配。其次是分析当前亚音频信令与两音信令的与或逻辑关系,如果它们的逻辑关系与设定符合,则判定此次解码成功。最后根据解码结果,接受方做出如下四种之一的预设定功能响应:1不提示同时不回复;2只提示;3只回复;4提示并回复。提示:有三种方法,LED指示、LCD显示、扬声器发提示音(其具体提示方法,将在LED、LCD、提示音的定义中列表给出)。回复:给发送方回复设定的单音频信号,在此规定好易通的回复为发送时间长为2秒,频率为1000 Hz。完成上述功能响应后,接收方进入选呼信令匹配状态13。3.3编码设计3.3.1编码程序流程图根据两音信令的特点,以及所需实现的预设

32、功能,编码设计流程图如下:3.3.2编码函数设计编码也就是按一定的规则把音帧传送出去,并附加一定功能的一个过程,编码设计中的主要函数,以及他们的功能和调用情况如下:1Tone2DataWrite 该函数的功能是,设置一些参数,比如音帧的频率,预载波时间等;运行时调用了FlashWrite函数,在对讲机复位时,该函数设置的这些数据就会被写入到闪存存储器中,在执行Destination 这个函数时也会调用到该函数。2Tone2Call 该函数的功能是,对当前的操作情况做出预设的响应,比如将要发送音帧信号,此时对讲机上相应的按键启动,就会执行该函数,指示灯发出绿光,或者报错等;该函数调用到的函数有F

33、lashRead,TxDispose,Tone2CallErrorDip等,当执TOT这个函数时首先调用该函数;此函数从cTone2Call132, cTone2CallVolum函数的结果中输入相关信息,在bTone2TX,bTone25TXEnd, bTone25TXCode,cTone25Len这些函数中输出结果。3 void Tone2Polling(void) 该函数是完成两音信号的传送,也是整个编码设计的核心,当对讲机启动后就一直在执行这个程序,一步一步的传送音帧信号,当Tone2SendStart 执行时就会调用到这个函数。 4Tone25End 该函数的功能是,当所有的音帧都传

34、送完毕后做出标识,比如发出短哔音,该函数会被Tone2Polling 调用,该函数输入bTone2TX函数结果的相关标识,在bTone2TX,,bTone25TXEnd,cTone25Len 等函数中输出结果。5 Tone25CodeEnd 该函数的功能是,在一个音帧传送完毕后做出一些标识,调用了 SingleBeepEndDispose,被2ms interrupt 调用,输入bTone2TX ,bTone2TranpondTx函数结果的相关标识信息,在bTone25TXCode, bTone2TranpondTxEnd函数中有相关的输出结果。6 Toneout 该函数的功能是,当一个音帧传

35、送开始前做一些判断,比如频率时间是否合适等,该函数调用到AfcoOpen()这个函数,会被SingleToneOut函数调用,输入的是INT32U lFreq,输出的是s_TABSRta1s 等14。其中void Tone2Polling(void)是编码设计的核心函数,该函数代码如下:void Tone2Polling(void) if (n_TaskTx2Tone) /*if tx Tone2 */ bLed_TXandPLLlock = 1; if (bTone25TXCode = 0) /*当bTone25TXCode=1表示当前有发送任务,bTone25TXCode=0表示当前没有发

36、送任务。 */ switch (cTone25Len) case n_prestep: gBeepTimer = utTone2Info.cPretime/2; /* 发送预载波500ms */ bTone25TXCode = 1; cTone25Len+; break; case n_fststep: /*进入下一步发送第一个音*/ if (bTone25TXSingle) SingleToneOut(stonecall.iFstFreq,utTone2Info.cLongDuration/2,cTone25Volume); cTone25Len =4; /* 如果发送的是单长音,发送完该长

37、音后结束 */ else SingleToneOut(stonecall.iFstFreq,utTone2Info.cFstDuration/2,cTone25Volume); /*发送两音帧的A音 */ cTone25Len+; /*进入下一步*/ bTone25TXCode = 1; break; case n_gapstep: if (utTone2Info.cGapTime) gBeepTimer = utTone2Info.cGapTime/2; /*发送间隔音 */ bTone25TXCode = 1; cTone25Len+; else /*开始传送B音 */ SingleTon

38、eOut(stonecall.iSndFreq,utTone2Info.cSndDuration/2, Tone25Volume); bTone25TXCode = 1; cTone25Len = 4; /* 两音传送完毕,编码结束 */ break; case n_secstep: SingleToneOut(stonecall.iSndFreq, utTone2Info.cSndDuration/2, cTone25Volume); /*开始传送B音 */ cTone25Len+; bTone25TXCode = 1; break; default: /*音帧传送完毕,编码结束 */ To

39、ne25End(); break; 整个编码程序代码见附录A。3.4解码设计3.4.1解码程序流程图 图3.4.1单长音解码流程图 图3.4.2双音帧解码流程图解码就是把接收的音帧信号与对讲机接收方本身设置的参数进行比较,如果参数匹配则建立通信链接,根据编码时发送的音帧格式不同,解码也分为单长音解码和双音帧解码14。 3.4.2解码函数设计无论是单长音解码还是双音帧解码都是将接收到的信号与对讲机接收方本身设置的四个模块参数比较,将判断结果做出相关的标识。本解码设计中包含的主要函数,以及他们的功能调用情况如下:1InitialTonePara 该函数的功能是,初始化各种参数,对讲机在接收音帧信号

40、前,本身设置的参数由该函数来完成,其中这些参数包括音帧的频率,时间间隔等,该函数会被Destination调用。2ResetTTParameter 该函数的功能是,设置一些两音标识,当完成某个指令后,给出相关标志位,列如cFuzzyFreqk = 0,则标识了该音帧不是模糊音。3Tone2DecodeFunctionDo 该函数的功能是,当音帧解码结束后做出一些响应,比如在音帧解码成功匹配后,对讲机会发出哔音,就是由这个函数控制的。在执行时该函数调用到Tone2Tranpond这个函数,LongToneJudge和TwoToneJudge两个函数的执行都会调用到这个函数。4LongToneJu

41、dge 该函数的功能是,对单音帧信号进行解码,如果判断接收的信号是单音帧格式,则执行该函数,它包含了解码的具体过程,该函数会调用到ConditionJudge,Tone2DecodeFunctionDo和ResetTTParameter这三个函数,5TwoToneJudge 该函数的功能是,对双音帧信号进行解码,如果判断接收的信号是双音帧格式,则执行该函数,它包含了解码的具体过程,这个函数执行时会调用ResetTTParameter和Tone2DecodeFunctionDo 等,输出A音匹配计数cMatchedCountAi和B音匹配计数 cMatchedCountBi。 6Conditio

42、nJudge 该函数的功能是,判断亚音频是否匹配,如果对讲机发送的音帧信号中,需要判断亚音频,则解码时会执行该函数15。 其中LongToneJudge 和TwoToneJudge是核心函数,它们各自的代码如下:LongToneJudge代码:void LongToneJudge(void) INT8U i, j; INT16U iFrequency_temp; INT8U cTone_temp; INT8U cTTIsDecode = 0; /*增加解码判断条件 */ for (i=0; i= n_LongATone2) /*该语句是判断接收的信号是否符合单长音解码条件*/ if (cTon

43、eAOki = 0) | (cToneAOki = 1) & (cMatchedCountAi 1) cFuzzyFreqi = 0; /*表示A音不是模糊音 */ if(utTone2Info.uCallFormati.cCallFormat=n_LongATone2) iFrequency_temp = utTone2Info.iToneAFre; /*如果接收到的音帧频率的格式与n_LongATone2匹配,则将utTone2Info.iToneAFre 的值赋予iFrequency_temp */ else if (utTone2Info.uCallFormati.cCallForma

44、t = n_LongBTone2) iFrequency_temp = utTone2Info.iToneBFre; else if (utTone2Info.uCallFormati.cCallFormat = n_LongCTone2) iFrequency_temp = utTone2Info.iToneCFre; if (iFrequency_temp = 0) cTTDecoderFlagRegisteri = 0; /*标识解码失败*/ continue; cSingleToneLength = utTone2Info.cLongDuration - (utTone2Info.cL

45、ongDuration + 5) / 10 * 2); /*设置完成判断一个音帧所需的时间长度*/ if (CompareFreAB(uiOutTone2Freq,iFrequency_temp) /*如果接收到的音帧频率与设置的是否匹配*/ cToneAReceivedi = 1; /*标识接收到A音*/ cMatchedCountAi+;/*匹配计数加1*/ if (cMatchedCountAi = cSingleToneLength) /*如果匹配计数达到所设定的时间长度*/ cToneAOki = 1; utTwoToneFlag.bLongToneAOk=1; cTTIsDecod

46、e = ConditionJudge(); /*调用解码的其他条件*/ if(cTTIsDecode) cTTMatchedPointer = i; utTwoToneFlag.bTTGroup = 1; else ResetTTParameter(i); /* 重置初始值*/ if(cMatchedCountAi=utTone2Info.cLongDuration) /*如果时间足够长了,调用以下函数立即回复*/ Tone2DecodeFunctionDo(); break; /* exit since one of four matched.*/ /* end if for c recei

47、ve tone a count*/ else cToneAReceivedi = 0; cMismatchedCountAi+; if(cMismatchedCountAi=TT_MAX_ERROR_COUNT) ResetTTParameter(i); continue; /*当不匹配计数达到预设的值,则返回初始化*/ /* frequency valid */ else if (uiOutTone2Freq = 0) | (uiOutTone2Freq = 1) & (cFuzzyFreqi = 1)/uiOutTone2Freq=1,reset to initial status. cT

48、oneAReceivedi = 0; cToneAOki = 0; cTTDecoderFlagRegisteri = 0; cMatchedCountAi = 0; continue; /* 如果是错误的音或者是第一次接收到模糊音做相关标识*/ else if (uiOutTone2Freq = 1) & (cFuzzyFreqi = 0) cFuzzyFreqi = 1; if(cToneAReceivedi = 1) cMatchedCountAi+; /* 接收到是错误的音*/ /*toneAOk=0;*/ /*分别与四个模块比较 */TwoToneJudge代码如下:void Two

49、ToneJudge(void) INT8U i, j; INT16U iFrequency_temp; INT8U cTone_temp; for (i=0; i4; i+) if (utTone2Info.uCallFormati.cCallFormat 1)/*如果接收到的不是模糊音*/ cFuzzyFreqi = 0; switch (utTone2Info.uCallFormati.cCallFormat) case n_NoneTone2 : iFrequency_temp=0; break; /*以下判断A音的音帧呼叫格式是否与对讲机第一个音的A音的帧格式匹配,并将相关的值赋给iF

50、requency_tem */ case n_AToBTone2 : iFrequency_temp=utTone2Info.iToneAFre; break; case n_AToCTone2 : iFrequency_temp=utTone2Info.iToneAFre; break; case n_AToDTone2 : iFrequency_temp=utTone2Info.iToneAFre; break; /*以下判断A音的音帧呼叫格式是否与对讲机第一个音的B音的帧格式匹配,并将相关的值赋给iFrequency_tem */ case n_BToATone2 : iFrequency_temp=utTone2Info.iToneBFre; break; case n_BToCTone2 : iFrequency_temp=utTone2Info.iToneBFre; break; case n_BToDTone

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!