(信息与通信工程专业论文)dsp软件工程与算法规范研究.pdf_第1页
(信息与通信工程专业论文)dsp软件工程与算法规范研究.pdf_第2页
(信息与通信工程专业论文)dsp软件工程与算法规范研究.pdf_第3页
(信息与通信工程专业论文)dsp软件工程与算法规范研究.pdf_第4页
(信息与通信工程专业论文)dsp软件工程与算法规范研究.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(信息与通信工程专业论文)dsp软件工程与算法规范研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国防科学技术人学研究! e 院学f :论文 摘要 奉沦文根捌“北斗号”指挥型川户机研制屑1 0 1 川艮鲥f | 勺怏迷血接女状技术研究的需 要,对d s p ( d i g i t a ls i g n a lp r o c e s s i n g ) 软件工程与算法舰范进行了研究,并提出了适于卫 星导航领域的d s p 算法模块玎发方法和规范框架。 论文首先阐述了d s p 的概念、应用背景、以及d s p 软件工程与算法标准的涵义,并 对d s p 芯片和d s p 软件工程的研究发展过程及现状进行了简要的说明。 接着,论文结合北斗用户机研制工作中丌发反正切函数、f f t 、广域差分算法、指挥 机电文通信模块等算法模块的设计实例,归纳出算法模块实现的通用方案和实用化规范算 法模块设计方法,并以若干案例说明搭建规范化算法模块的优势。然后,给出工程实践中 总结出的d s p 应用框架通用模型,并对d s p 实时系统中的各种线程硬中断、软中断、 任务和后台线程进行了说明,并在此基础上,针对卫星导航领域的实际特点,提出了 适于卫星导航领域的d s p 框架结构。 最后,论文针对d s p 应用固有的特性,从离线测试和实时监测两个角度说明了适于 d s p 实时系统的调试方法。此外,还从工程管理、版本控制、个人与团队三个方面,分析 了d s p _ 丌发中若干重要的非技术因素的影响。 【关键字l 数字信号处理,软件工程,算法标准,应用框架 国防科学技术人学研究生院学伉论文 a b s t r a c t i na c c o r dw i t ht h ed e v e l o p m e n to fc o m m a n d i n gu s e rr e c e i v e r a n dw i t ht h er e s e a r c ho ff a s t a n dd i r e c ta c q u i s i t i o no fl o n gc y c l ea n dh i g hr a t e p s e u d o r a n d o mc o d e ,t h em e t h o do fd s p ( d i g i t a ls i g n a lp r o c e s s i n g ) s o f t w a r ee n g i n e e r i n ga n da l g o r i t h ms t a n d a r da r ee x p l o i t e d b e s i d e s , d s pa l g o r i t h mm o d u l ea n ds t a n d a r df r a m e w o r ks u i t a b l ef o rs a t e l l i t en a v i g a t i o na n dp o s i t i o n i n g f i e l da r ep r o p o s e di nt h i sp a p e r f i r s t l y ,t h ec o n c e p ta n dt h ea p p l i c a t i o nb a c k g r o u n do fd s p , a n dt h ec o n n o t a t i o no fd s p s o f t w a r ee n g i n e e r i n ga n da l g o r i t h ms t a n d a r da r ed i s c u s s e d t h er e s e a r c ha n dd e v e l o p m e n t s i t u a t i o n so f d s pd e v i c ea n dd s ps o f t w a r ee n g i n e e r i n ga r ea l s ob r i e f l yi n t r o d u c e d t h e n ,c o m b i n e dw i t ht h ei m p l e m e n t a t i o no fa r ct a n g e n tf u n c t i o n ,f f t ( f a s tf o u r i e r t r a n s f o r m ) a l g o r i t h m ,d i f f e r e n t i a lp o s i t i o n i n ga l g o r i t h m ,a n dt e l e c o m m u n i c a t i o nm o d u l e ,t h e g e n e r a lp r o p o s a lo fa l g o r i t h mm o d u l ei m p l e m e n t a t i o ni sp r e s e n t e d ,a n dt h ed e s i g nm e t h o d so f p r a c t i c a la l g o r i t h mm o d u l ei m p l e m e n t a t i o ni sp r o p o s e d ,t o g e t h e rw i t hi n s t a n c e si l l u s t r a t i n gt h e a d v a n t a g eo fs t a n d a r da l g o r i t h mm o d u l e s af t e r w a r d s ,t h ed s pa p p l i c a t i o nf r a m e w o r km o d e l d e r i v e df r o me n g i n e e r i n ga p p l i c a t i o ni sg i v e n ,a n dd i f f e r e n tt y p e so ft h r e a d sa r ei n t r o d u c e d ,s u c h a sh w i ( h a r d w a r ei n t e r r u p t ) ,s w i ( s o f t w a r ei n t e r r u p t ) ,t s k ( t a s k ) ,i d l ( i d l el o o p ) w h e r e a f t e r , i na c c o r dw i t ht h es p e c i a lc h a r a c t e r i s t i c so fs a t e l l i t en a v i g a t i o na n dp o s i t i o n i n gf i e l d ,a n dad s p f r a m e w o r ka r c h i t e c t u r es u i t a b l ef o rt h i sf i e l di sp r o p o s e d a tl a s t ,f r o mt h ea n g l eo fo f f - l i n et e s ta n dr e a l t i m em o n i t o r i n g ,t h ed e b u g g i n gm e t h o d s u i t a b l ef o rd s pr e a l t i m es y s t e mi sd e m o n s t r a t e di nt e r m so ft h ei n h e r e n tc h a r a c t e ro fd s p a p p l i c a t i o n a l s o ,t h ei n f l u e n c eo fs e v e r a li m p o r t a n tn o n - t e c h n i c a le l e m e n t si nd s pd e v e l o p m e n t i sa n a l y z e do na s p e c to f e n g i n e e r i n gm a n a g e m e n t ,v e r s i o nc o n t r o l ,i n d i v i d u a la n dt e a m k e yw o r d s :d i g i t a ls i g n a lp r o c e s s i n g ( d s p ) ,s o f t w a r ee n g i n e e r i n g ,a l g o r i t h ms t a n d a r d , a p p l i c a t i o nf r a m e w o r k i 驾防科。学技术人学t i ) f 究生院学f 口论文 图目录 符合e x p r e s s d s p 的d s p 框架结构 差分进化算法寻求最优逼近多项式的流程 差分进化算法与c h e b y s h e v 级数逼近性能比照陶 反f 切函数实现流程框图 f f t 实现流程框图 差分接收机系统模型 广域差分模块实现流程框图 指挥机电文通信模块实现流程框图 算法模块的通用模型 规范的算法模块的通用模型 d s p 系统实现的通用构架 符合x d a i s 标准的d s p 算法模块的实现模型 符合x d a i s 标准的d s p 算法模块的实现流程1 1 9 i 传统方法与规范方法的比较 应用模块向导生成标准代码 通用的d s p 应用框架模型一 硬中断处理流程 任务调度l l r f 3 框架调度流程图1 3 r f 5 构架l j7 1 h w i + s w i 结构实现串口加载 d s p 功能流图 干扰检测子模块的实现框架 干扰检测子模块的信号处理流程 与显示终端通信的数据处理流程 执行图a 执行图b 统计观测窗口 消息记录窗口 吼l l i 口l 矗他bm他侈协h孔抖巧”弘”粥剪犯北们们:,4,o,0,m他”h巧m他伸加孔坦筋m笛拍”勰四 图图斟图图图图图图图图图图图图图图图图图图图图图图图图图罔 国防科。学技术人学研究生院。学何论文 表目录 表l t id s p :s 片发展比较表( 典型值) 2 1 表2 舳1 州遄近多项式阶数,不刚逼近算法反i l i 切函数值最大以差袭 表3定点d s p 汇编层实现的反正切函数实时性能的分析 4 1 2 1 3 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究3 - 作及取得 的研究成果尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文题目 学位论文作者签名日期:如 ,年月6 l 日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定本人授权 国防科学技术大学可以保留并向国冢有关邵门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题目: 旦旦丝壁三璺墨墨查垫童堑垒 学位论文作者签名:! 至! 坠日期:加争年月中日 作者指导教师签名:圣盟日期:2 。蕾荜年,月犀日 耋l 田防科学技术人学1 1 j i :究生院学位论文 第一章引言 1 1 1d s p 应用背景 1 i课题背景及意义 数字信号处理( d i g i t a ls i g n a lp r o c e s s i n g ,简称d s p ) 是利用计算机或专用处理设备, 以数字形式对信号进行采集、交换、滤波、估值、增强、压缩、识别等处理,以得到符合 人们需要的信号形式”2 1 。 d s p 是围绕d s p 理论、实现和应用等几个方面发展起来的。d s p 在理论上的发展推 动了d s p 应用的发展,d s p 的应用反过来促进了d s p 理论的提高。而d s p 的实现正是理 论和应用之间的桥梁。 数字信号处理器( d i g i t a ls i g n a lp r o c e s s o r 简称d s p 芯片) 是一种特别适合进行数字 信号处理运算的微处理器,用于实时快速地实现各种数字信号处理算法【1 1 。 自从2 0 世纪7 0 年代术d s p 芯片诞生以柬,d s p 芯片得到了飞速的发展。这不仅是因 为集成电路技术的发展,还得益于应用市场上的巨大需求。在2 0 多年的时间罩,d s p 芯 片已经在信号处理、通信、雷达等许多领域得到广泛的应削【3 】: 信号处理如数字滤波、自适应滤波、快速傅晕叶变换、谱分析、卷积、加窗 等 通信如m o d e m ( m o d u l a t o r d e m o d u l a t o r ,调制解调器) 、数捌加密、数拥压缩、 回波抵消、多路复用、扩频通信、纠错编码、可视1 【l 话等 i 舀阿如v o i c ec o d e c ( v o i c ee o d e f f d e e o d c r ,i * 肝编码解码器) 、语哥合成、语 爵识别、谱尚增烈、讯卉存储、讯菏邮件等 ,阁形图像如多维形处川! 、i 矧像f 输、l 矧像爪缩、l 矧像增姒、动、机器人 视觉等 ,1 :粤;如保密通信、饼达处州、f h 纳处川、导j l i c 与定位、甘弹:| j ! j 导等 ,仪器仪表如频晰分射i 、锁川j 4 、地震处州等 , l f 动控:州如t l 擎控i i j l j 、j :叶礼| ,l 动钿驶锋 国防科学技术人学研究生院学位论文 医疗如助听、超声殴备、诊断工具等 家用电器如高保真音响、音乐合成、数码相机摄相机、数字电话、数字电视 等 1 1 2d s p 软件工程与算法规范简介 美国德州仪器公司( t e x a si n s t r u m e n t s ,简称t i 公司) 是目前最具实力的d s p 芯片 厂商之一,其开发出来的c 2 0 0 0 、c 5 0 0 0 、c 6 0 0 0 系列的d s p 芯片已广泛应用于音频处理、 数字媒体、生物测定、数字控制、电话手机制造等各个行业,作为数字处理核心,将嵌入 式实时多任务系统推向了高速处理和精确可控的阶段【3 】。 目前d s p 系统日益庞大,功能日趋完善,如果没有良好的工程规范,系统的稳健性、 程序的可维护性必将大打折扣。基于上述考虑,t i 公司在推出高质量d s p 芯片的同时, 在d s p 工程规范与标准方面也给出了相应的规范: 随着d s p 处理速度和运算能力不断提高,嵌入式实时多任务系统承担更多的工作成为 可能,这就意味着:工程代码的可维护、多人协同工作的规范、成熟算法的有效利用等等 非d s p 技术细节的软件工程规范问题,必须提上同程。为此,t i 公司提出了e x p r e s s d s p 算法标准,该标准的核心思想是代码的可重复利用。目前,支持该算法标准的公司已达到 6 0 0 多家,该算法标准已经成为事实上的业界规范引。 与此同时,d s p 芯片本身面向实际应用,各种应用必然面临需求分析、总体设计、框 架设定等实时系统体系结构的问题。为此,t i 公司针对不同的应用级另4 提出了相应的参考 框架( r e f e r e n c ef r a m e w o r k s ) ,它们支持e x p r e s s d s p 算法标准,包括成熟的r f l 、r f 3 、 r f 5 ,以及下阶段即将提出的r f 6 卜j 1 7 j 。 1 1 3 课题来源及选题 本文的研究内容源于困防科技人学卫星导航定位研究发展r 【) 因防型号研制项目 “北斗一号”指挥型用,二,机研制和“十一i ”困防预研军h j 民码的快速直接捕获技术研 究。 随着g p s 在军事领域的广泛应川,卫l i ! 导航定位系统m 脱代l 西科技- 浅争一l t 的作川越求 越弧篮。i t h t 甘j ! 】庀;e 位系统的,i 叫 心川甘敛丁“导航 k ”的脱1 1 胁“甘航战”l 卡j j 步 国防科学技术人学研究生院学位论文 完成由概念向武器系统的转化,f 成为现代高科技战争的一个重要特征。在“导航战”的 大背景下,我国自主建立了第一代卫星导航定位系统“北斗一号”卫星导航定位系统。 “北斗一号”能为我军提供快速定位、数字短时报文通信和授时等三项服务,可以大大提 高我军的机动作战能力。高速数字信号处理是其关键技术之一,在第一代卫星导航定位系 统中起着举足轻重的作用;随着二代卫星导航定位系统的启动,实时处理任务和数据通道 增多,团队协同工作将取代传统“单兵作战”的工作方式,数字信号处理必将面临更严峻 的挑战,d s p 软件工程与算法规范研究势在必行i3 1 。本课题来源于国防型号研制项目“北 斗一号”指挥型用户机研制和“十五”国防预研项目军用长码的快速直接捕获技术研究, 主要研究卫星导航接收机中的d s p 软件工程与算法规范,其研究成果将为我国卫星导航定 位系统的建设提供工程规范和技术支持。 1 2国内外研究现状 1 2 1d s p 发展过程及现状 世界上第一片单片d s p 芯片是1 9 7 8 年a m i 公司宣布的$ 2 8 1 1 ,1 9 7 9 年美国i n t c l 公 司发靠了商用可编程器件2 9 2 0 。这两款d s p 芯片内部都没有现代d s p 芯片必有的单周期 乘法器。1 9 8 0 年,f 1 本n e c 公司推出的u p d 7 7 2 0 是第一片具有乘法器的商用d s p 芯片【8 】。 最成功的d s p 芯片制造商当属t i 公司。t i 公司在1 9 8 2 年成功推出第一代d s p 芯片 t m s 3 2 0 1 0 及其系列产片t m s 3 2 0 1 1 、t m s 3 2 0 c 1 0 c 1 4 c 1 5 c 1 6 c 1 7 等,之后相继推出了 第二代t m s 3 2 0 2 0 、t m s 3 2 0 c 2 5 c 2 6 c 2 8 ,第三代t m s 3 2 0 c 3 0 c 31 c 3 2 ,第四代 t m s 3 2 0 c 4 0 c 4 4 ,第五代t m s 3 2 0 c 5 x c 5 4 x 及第二代芯片的改进型t m s 3 2 0 c 2 x x 、 t m s 3 2 0 c 8 x ,第六代d s p :占片t m s 3 2 0 c 6 2 x c 6 7 x c 6 叙。t i 公r 司常用的d s p 芯片可以归 纳为三大系列:t m s 3 2 0 c 2 0 0 0 系列( 主要包括t m s 3 2 0 c 2 x x c 2 4 x c 2 8 x ) 、t m s 3 2 0 c 5 0 0 0 系列( 主要包括t m s 3 2 0 c 5 4 x c 5 5 x ) 、t m s 3 2 0 c 6 0 0 0 系歹0 ( 主要包括 t m s 3 2 0 c 6 2 x x c 6 7 x c 6 4 x ) 。如今t i 已成为世界上最大的d s p 芯片供应商,其d s p 市场 占有量占全世界份额的5 0 一j 。 第一个采用c m o s 工艺生产浮量d s p :出片的足r i 本的h i t a c h i 公司,法公,州i1 9 8 2 q - 十f l ! : j 了浮点d s p 芯片。1 9 8 3f i ,ii 小f u j i t s u 公d 推了m b 8 7 6 4 ,j j f f 令川j 】为1 2 0 n s , j f 烈l 邝总线从使处川m o t ;l l l :;l | :发小r 人n 0e 扳。吼 汀r l :能f i , j i t , 、id s p 芯j i 旃3 乱 国防科学技术人学研究生院学何论文 是a t & t 公司于1 9 8 4 年推出的d s p 3 2 1 8 1 。 与其他公司相比,m o t o r o l a 公司在推出d s p 芯片方面相对较晚。1 9 8 6 年,该公司推 出了定点处理器m c 5 6 0 0 1 。1 9 9 0 年,推出了与i e e e 浮点格式兼容的浮点d s p 芯片 m c 9 6 0 0 2 t8 l 。 美国模拟器件公司( a n a l o gd e v i c e s ,简称a d 公司) 在d s p 芯片市场上也占有较大 的份额。该公司相继推出了一系列具有自己特点的d s p 芯片,其定点d s p 芯片有 a d s p 2 1 0 1 2 1 0 3 2 1 0 5 、a d s p 2 1 1 1 2 1 1 5 、a d s p 2 1 6 l 2 1 6 2 2 1 6 4 、a d s p 2 1 7 1 2 1 8 l 等,浮点 d s p 芯片有a d s p 2 1 0 0 0 2 1 0 2 0 、a d s p 2 1 0 6 0 2 1 0 6 2 t 9 i 。 自t 9 8 0 年以来,d s p 芯片得到了突飞猛进的发展。从运算速度来看,执行一个m a c ( m u l t i p l y a c c u m u l a t e s ,次乘法和一次加法) 所需的时问已经从2 0 世纪8 0 年代初的 4 0 0 n s 减少到1 0 n s 以下,目前已有主频1 g h z 的d s p 芯片,处理能力提高了上百倍。从制 造工艺看,1 9 8 0 年采用4 u m 的n 沟道m o s ( n m o s ) i 艺,现在则普遍采用亚微米( m i c r o n ) c m o s 工艺,t i 已经开始使用9 0 n s 工艺。每个m m s ( m i l l i o ni n s t r u c t i o n sp e rs e c o n d ,每 秒钟百万条指令) 对应的功耗也大大降低。下表是t i 公司d s p 芯片发展的部分数据1 0 1 : 表1t i d s p 芯片发展比较表( 典型值) 【2 年份1 9 8 21 9 9 21 9 9 92 0 0 2 制造工艺4 u m n m o s0 8 u mc m o s0 3 u mc m o s 已经设计好、具有许多常见功能的通用程序( 可从t i 或其第三方合作公司获得) ; e x p r e s s d s pr f ( r e f e r e n c ef r a m e w o r k s 参考框架) 可以使设计者更快上手运用 d s p 设计 其中: x d a i s 是t i 公司推出的比较完善的算法规范,其核心思想是代码的可重复利用。实 际应用中,用户通过接口调用模块化的算法,其中的关键包括信息隐匿、内存调度、d m a 实时通道调度等等。 c c s 软件是t i 公司推出的一个集成性d s p 软件丌发工具,其内部集成的软件工具包 括:代码产生工具( 包括c 编译器、汇编优化器、汇编器和连接器) 、软件模拟器( s i m u l a t o r ) 、 实时基础软件d s p b i o s 、主机与目标机之问的实时数据交换软件r t d x 、实时分析和数 据可视化软件1 4 i 。 d s p b i o s 核心是一个较成熟的实时内核,主要用于实时调度和同步以及主机目标系 统通信和实时监测,其基本功能是面向对象的任务管理、定时器管理、存储器管理、资源 管理、事件管理等等,可移植性好i2 | 1 1 6 1 。 许多符合e x p r e s s d s p 算法标准的通川程序可从t i 或其第三方合作公司免费或购买获 得i ”。e x p r e s s d s pr f 足t i 公司针对不同的应f j 级别提h 的参考框架。 符合e x p r e s s d s p 的d s p 框架结构如f h : 国防科学技术人学研究生院学位论文 图1符合e x p r e s s d s p 的d s p 框架结构l ”】 有关x d a i s 算法标准详见文献 1 8 1 9 2 0 2 1 。 卫星导航定位领域中,算法模块化设计又有其自身的特点。本章结合北斗用户机研制 工作中的具体算法设计实例,总结出实用的算法模块化设计方法。2 2 节详细说明若干工 程实例,从中归纳出算法模块实现的通用方案。2 3 节阐明实用的算法模块化的主要思想, 并以若干案例说明搭建标准化算法模块的优势,并给出性能评估。 2 2算法模块实现的通用模型 反难切函数、f f t 、广域差分算法、指挥机电文通信模块是北斗用户机研制工作中的 若干实例。在实现这四个算法模块的过程中,总结出算法模块实现的通用模型。 2 2 1 反正切函数的实现 1 实现方案选择 反证切函数是各科t 工程应用 t - 经常需要的数学函数之一,例n i 卫星导航定位用户机小 进i j :定化运算时,就需要反正切蛹数。m 然ci = 。i 。一t ,1 1 r 以“接州川反i r 切晒数,似使川汀 点j 刊等人人埘川定l id s p 的指令j r ! f i j 。m 爻时r l :。要求l :硼q 场合,需竖采川扩编。奂脱。 国防科学技术人学研究生院学位论文 通常,定点d s p 汇编层只提供加法与乘法两种数学运算指令,所以各种数学函数在汇 编层实现方法一般有查表加内捅和多项式逼近两种。查表法速度较快,但其缺点办是明显 的:若函数定义域、值域范围较大,精度要求较商,表将占用很大的内存数据空问;若函 数非线性度很高,即便对其内插,误差也很大。多项式逼近法在合理系数量化的前提下, 实时性和精度都能得到保证,故采用多项式逼近法。 反正切函数定义域( 一o o ,o o ) ,值域在n 2 附近非线性度极高,故不适于全局多项式逼 近。一种可行的策略是,在反正切函数线性度较好的定义域( 如【- 1 ,1 】) 内用多项式逼近, 其它定义域内的结果由三角关系式从线性度较好的定义域中得到。 多项式逼近方法很多,经典的如t a y l o r 级数、l e g e n d r e 多项式、h e r m i t e 多项式、l a g u e r r e 多项式、c h e b y s h e v 多项式等,都是在最佳平方逼近准则下,使得误差小于某个给定值2 2 1 。 文献【2 3 】给出了如下结论:给定误差限e = 1 0 4 ( 弧度) ,在 一l ,1 】内利用t a y l o r 级数逼近反 正切函数时,需展开约5 0 0 0 项( 最高次幂x 1 0 0 0 1 ) ,用c h e b y s h e v 级数逼近只需展丌4 项( 最 高次幂工7 ) 。文献 2 4 1 提出了实现反正切函数的两种经典方法和一种快速计算方法,精度高 达1 0 ( 弧度) 。其中,经典方法逼近多项式阶数高、计算量大;快速计算方法在线性度良 好的定义域 一0 1 2 5 ,0 1 2 5 上使用3 项c h e b y s h e v 级数( 最高次幂x 5 ) 逼近,其它定义域上 通过多次分段和三角关系式解决。 然而,c h e b y s h e v 级数逼近并非最好的选择,分段过多会增加程序代码量,过多的条 件判断与跳转也会影响程序的实时性。下面基于差分进化算法,对反f 切函数进行多项式 逼近,并在定点d s p 汇编层实现。 2 反正切函数的实现策略 反厄切函数的实现的基本策略是,在线性度较好的定义域内用多项式逼近反正切函 数,其它定义域内的结果由三角关系式从线性度较好的定义域中得到。 待实现的反币切函数为: 0 = a r c t a n ( x ) j ( 一o o ,o 。) ,0 ( - h 2 ,n 2 )( 1 ) ( 1 ) 式中,工( 一一,o ) 对应的函数值可以由奇函数的知谚 得到,下嘶仪考虑工 0 ,o o ) 的情况。 x 0 ,1 时,0 0 ,n 4 】,函数线。陀度较好,川多项通近( 1 ) 式叫t t 。 x ( 1 ,o o ) 时,0 ( 4 ,2 ) ,xu ) ( 值越靠近o o ,函数线性度越箍。令 p :口+ 互 4 ( 2 ) 纰9 叽 围防科学技术人学研究生院学何论文 显然,当0 ( 2 ,4 ) 时,a ( 0 ,4 ) 。这样就把函数转化到线性度较好的区域x ( 0 ,1 ) 上去求解。由正切和角公式,有 x = t a n p ) = 由( 3 ) 式可得 t a n ( 口+ 三) = 而1 + t a 丽n ( c z ) 口一t a n ( 导 ( 3 ) ( 4 ) 1 4 :1 ( 2 ) 、( 3 ) 、( 4 ) 式可见,当工 1 时,可以通过计算( j 1 ) ( 卅1 ) 的反正切函数,然 后加上n 4 得到。所以理论上只需要计算工 0 ,1 1 3 2 的反正切函数即可。但考虑( 4 ) 式, 当x 趋于1 时,求( 工一1 ) ( 卅1 ) 时定点除法误差很大。解决方法是将定义域扩大一点, 跳过除法误差很大的区域。 综上所述,实现反正切函数的详细策略如下。( i n f 为某一个较大的数,根据计算精度 设定) 策略1 :用差分进化算法计算定义域【0 ,1 2 】上反正切函数的逼近多项式系数; 策略2 :当x e ( 1 2 ,i n q 时,利用( 2 ) 、( 3 ) 、( 4 ) 式求解; 策略3 :当x i n f 时,直接给a r c t a n ( x ) 赋值n 2 : 策略4 :当x 实时系统中算法模块如何搭建? 以上就是本节需要解决的问题 2 3 1d s p 算法模块化设计方法 根据所丌发代码通用性的不同,d s p 丌发人员分为算法集成人员和算法设计人员。算 法集成人员完成针对特定应用的专用d s p 程序,通过标准接口调用现成成熟的d s p 算法, 这属于系统层;算法设计人员针对具体的功能开发符合x d a i s 标准的通用算法,他人可 以通过标准接口方便地调用这些算法,这属于实现层。 下面将介绍算法设计人员应该如何设计符合x d a i s 标准的d s p 算法模块,而了解这 一过程,也便于算法集成人员集成现有成熟算法。 1 构架 下图是一个比较完善的d s p 系统实现框图,它包括应用模块、实现模块、调试监测 模块、以及标准接口。 国防科学技术人学研究生院学位论文 图”d s p 系统实现的通用构架 应用模块通过标准接口调用实现模块,完成d s p 系统应该完成的各种任务;另一方面, 通过测试模块和测试接口,可以在显示终端实时监测应用程序的执行,办可对应用程序进 行调试或离线测试。 2 实现模型 要实现一个功能为x x x ( 如f i r 、f f t 、m a t h s 、c o d e c 、m o d e m 等) 的模块,该算法专 利属于v e n ( 可以是拥有该算法专利的公司,也可以是算法设计人员的名字,如t i 、 a d 、y e w 等) ,则算法设计人员可以按照下面的流程设计算法。 罔1 2符合x d a i s 标准的d s p 摊法模块的实现模刑 国舫科学技术人学研究生院学付论文 最上层属于应用层,应用层通过应用接口层,调用隐藏在底层的实现函数。完成具体 的任务。 上图中各个子模块功能说明如下: x x x h : x x xv e n h : i a l g h : a l g _ h : i x x x h : x x xv e i l h : 声明a p p l i c a t i o n 中需用到的所有对象类型、常量、函数 外部声明所有与实现相关的函数 定义算法内存管理方法 声明接口标准中的a l g ? ( ) 函数 定义对象、状态参量 只和算法实现有关的头文件 x x x c -实现x x x h 中的所有函数、常量结构体的定义 i x x x _ c 状态参量赋初值 a l g c t i 标准算法接口实现 x x x _ v e n _ i a l g v t c 算法实现的v t a b l e ,使得用户函数与i a l g h 、i x x x h 中的函 数名对应 x x x v e n _ i a l g c -用户函数实现 这么多的子模块,看似复杂麻烦,其实不然。其可重用性通过下面一个例子来说明。 算法设计者设计了一个符合x d a i s 标准的d s p 算法模块,不妨设其中某个具体功能 的实现对应的函数名为i m p ( ) 。通过v t a b l e 对照表,i m p ( ) 在应用层对应于另一个名字,不 妨设为a p p o 。这样对应用程序而言,只能“看见”a p p ( ) ,却“看不见”i m p ( ) 。 这符合模块化中信息隐匿的思想。对应用层来说,除了接口之外,整个算法模块是一 个黑盒子。这样不仅程序互耦小,而且方便各个模块单独测试,也便于整个系统的调试和 升级。 3 实现流程 一个完善的符合x d a i s 标准的d s p 算法模块的实现流程如下图所示。 国防科学技术人学研究生院学何论文 图1 3符合x d a i s 标准的d s p 算法模块的实现流程1 1 9 l 流程每个部分对应着一个函数,其功能如下: a l g a l l o c : a l g l n i t : a l g a c t i v a t e : p r o c e s s : 返回算法所需的内存记录表 初始化,为算法实体处理数据作准备 初始化实体的临时缓冲区 用户的核心处理程序 a l g d e a c t i v a t e :回收临时缓冲区 a l g m o v e d : 重新初始化 a l g f r e e : 释放内存空间 除了p r o c e s s 是必须的之外,其余函数都是可选的,它们负责实现实时算法模块的初始 化和终止,以及算法模块所需的内存分配、调度和回收等等。合理设计实现流程,是每个 算法设计人员在开始编写代码前必须认真思考的问题。 3 传统方法与规范方法的比较 传统方法针对特定的d s p 系统,应用层直接调用底层函数,程序移植性差、维护困难 随之产生。更糟糕的是,硬件的升级通常经常意味着软件从头来过,即便完成的功能与以 i i i 差别不大。 使用规范方法,肯定会损失定的性能。但足在微处理器技术高速发展的今天,芯片 的处理能力大大提高,任务越来越复杂。通道越多、任务越复杂、数据量越大,模块化、 规范化带来的性能损失就越小;另。方面,也有利于系统的调试、维护和升级。 下图足两嚣之m 的一个比较。 筑2 3 叽 国防科学技术人学研究生院学何论文 图1 4传统方法与规范方法的比较 有关x d a i s 算法模块化设计更详细的内容参见文献【1 9 】【2 0 】【2 1 】。 2 3 2 使用模块向导创建遵循x d a i s 标准的d s p 算法模块 使用模块向导( c o m p o n e n tw i z a r d ) 创建遵循x d a i s 标准的d s p 算法模块,包括新 建、芯片选型和终结方式选择、模块名及开发商信息、模块输入输出参数的选择、算法所 需内存空间的创建、算法底层实现函数的创建、是否支持v a b ( v i s u a l a p p l i c a t i o n b u i l d e r ) 、 生成标准代码等步骤f 2 “。 如下图7 所示,写明模块名( 图中x x x ) 和开发者名( 图中v e n ) ,因为x x x 和 v e n 是算法中许多重要的变量名,它们也是应用程序调用算法模块的接口。其它项如算法 丌发商、版本修正号、算法 醴明等,都属于注释层,写明可以方便以后维护。 吼2 4l “ 国防科学技术人学研究生院学 奇论文 2 3 3 设计案例 图1 5应用模块向导生成标准代码 由前面的分析可见,算法设计人员在实际丌发d s p 算法时,需要注意两点:一是要遵 循一定的规范,这属于基础层;二是算法模块的接口、内部构造应该合理地设计,这属于 设计层。 d s p 算法开发所要遵循的规范,就是2 1 节介绍的x d a l s 算法标准。该标准是d s p 程序能够正确稳定地在实时条件下运行的基础,也是方便程序维护和系统升级的基础。 合理设计算法模块的接口、内部构造的方法,其主要思想在2 3 1 中介绍,其实现工 具和过程2 3 2 中介绍。实际上,c o m p o n e n tw i z a r d 只是一个参考工具,用户可以按照2 3 1 中介绍的思想,结合具体应用,不依赖模块向导。自己生成模块化的代码。不过,使用 c o m p o n e n tw i z a r d 生成代码较方便,而且实现完毕后,只需使用q u a l i t i 和d o s a 工具, 就可以分析自己生成的算法模块是否符合x d a i s 标准,并可以将算法提交至t i 公司测试, 若测试通过即可作为第三办公司售自己丌发的算法。 1 案例1 库( i i b r ar y ) 阼址 ,l = 多j 山能的集合。例! c i | , 个数、j 蝻数阼会也含i 们、反。i 们、求刈数、j l :根l j 、 弛2 5 贝 国防科学技术人学研究生院学位论文 求倒数等基础的数学函数运算:而一个比特流处理库则会包括比特流多位拼接、多位删除、 多位插入、反转、长移位、高低字对齐等比特流处理函数;若是数字信号处理函数库,则 会包括f f t 、f i r 、点积、卷积、数据累加等运算。 下面以c 6 0 0 0 上实现数学函数库中的1 6 b i t 反正切函数为例,对算法模块的性能进行 评估。 、 首先按照x d a i s 标准实现1 6 b i t 反正切函数,经测试,其平均执行指令周期为7 0 ;然 后利用c o m p o n e n tw i z a r d 向导生成数学函数模块,加入算法实现后,经测试,应用层调用 反正切函数的平均执行指令周期为2 0 0 ;模块初始化、配鼍回收内存空间、退出所用指令 周期为2 0 0 0 。 可以看出,专用于模块所需的指令周期近2 0 0 0 ,但一般说来,模块的初始化、配置 回收内存空间、退出等操作,只需在系统任务初期执行一次、结束时执行一次,所耗费的 资源并不多。 专用于函数实现的接口所需的指令周期近2 0 0 ,相对于反正切函数的执行时间,的确 过长,但这种性能损失带来的好处是:接口通用,算法易维护升级。另一方面,并非所有 的算法实现需要的时间都很短,例如实现1 0 2 4 点3 2 b i tf f t ,所需指令周期为4 0 0 0 0 ,此 时接口指令周期的消耗可以忽略不计。 2 案例2 对象( o b j e c t ) 类是程序员通过对现实生活中某一类物体的思考,抽象出来的概念。对象是类的实体。 一个对象有自己的属性,也可以有自己的行为。例如:串口对象的属性包括串口缓冲区首 地址、串口缓冲区首尺寸、串口传输速率等,其行为包括打开、关闭、使能、屏蔽、读操 作、写操作等:差分定位模块对象的属性包括接收数据缓冲区的首地址尺寸、接收数据类 型等,其行为包括模块对象初始化和退出、使能屏蔽、定位计算等。 一个对象可以对应于一个算法模块,以差分定位为例蜕明其优点。 一个导航定位系统,其中可能包含许多功能:定位、通信、授时、差分等等,用户在 粗略定位后,可能需要使用差分功能,以定出更精确的位置,此前,差分模块不占用任何 系统资源。差分定位时,程序进入等分模块运行,经初始化、配置资源( 如内存、数据接 收通道等) 、计算,完毕后释放资源、终止差分模块。此后,差分模块已经释放所有资源, 系统是一个“空闲”的系统,直至其它模块被调用或差分模块再次被调用。 一。打呵,若系统升级,差分模块的移植只需很少的修改即呵,不需重编代码。 3 生成自己的库 吼2 6d 1 国防科学技术人学研究生院学能论文 实例l 中的库是一个抽象的概念,指完成某些功能的集合。具体应用中,算法设计人 员可以将算法模块转换为二进制库文件,保密性强,方便算法应用与出售。 使用c o m p o n e n tw i z a r d 创建算法模块之后,在工作目录的l i b 子目录中有一个 m a k e l i b b a t 批处理文件,利用它可以将设计好的算法模块转化为二进制库文件,方便保密 和使用旧。 2 4小结 本章在介绍了x d a i s 算法标准、算法模块实现通用模型、算法模块化设计实现方案 之后,以若干实例说明了基于x d a i s 标准的算法模块设计的优势,并给出性能评估。 为d s p 编写库函数,针对硬件和应用编写对象,不仅符合信息隐匿和模块化设计的思 想,也便于维护和升级。 国防科学技术人学研究生院学位论文 第三章d s p 应用框架设计 3 1概述 卫星导航定位领域计算量大,实时要求高,合理的应用框架是系统设

温馨提示

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

最新文档

评论

0/150

提交评论