船舶组合导航系统课程设计-VHF无线信号侧向单元设计.doc_第1页
船舶组合导航系统课程设计-VHF无线信号侧向单元设计.doc_第2页
船舶组合导航系统课程设计-VHF无线信号侧向单元设计.doc_第3页
船舶组合导航系统课程设计-VHF无线信号侧向单元设计.doc_第4页
船舶组合导航系统课程设计-VHF无线信号侧向单元设计.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

课程设计成果说明书题 目: vhf无线信号侧向单元设计 学生姓名: 学 号: 学 院: 机电工程学院 班 级: 08电信 指导教师: 浙江海洋学院教务处2011年12月27日浙江海洋学院课程设计成绩评定表20112012学年 第 1 学期学院 机电工程学院 班级 08电信 专业 电子信息工程 学生姓名(学 号) 课程设计 名 称船舶组合导航系统课程设计题 目vhf无线信号测向单元设计指导教师评语指导教师签名: 年 月 日答辩评语及成绩答辩小组教师签名: 年 月 日24电子与信息工程专业课程设计浙江海洋学院课程设计任务书2011 2012学年 第 1 学期 学院 机电工程 班级 08电信 专业 电子信息工程 学生姓名(学号)沈丹/柯祖勇张裕霖/陈岱任涢涢/ 课程名称船舶组合导航系统课程设计设计题目vhf无线信号测向单元设计完成期限自 2011 年 12 月 22 日至 2011 年 12 月 31日 共 2 周设计依据本次设计所需知识1. 无线电基础知识2. 现代导航信息系统中第七章船舶交通服务系统3. c语言编程技术设计要求及主要内容1 熟悉无线电在空间传播的特点2 熟练使用c语言编程3 假设二维空间中有一点a,在任意时刻向外连续发送频率为fa的vhf正弦信号;在二维空间另有一点b接收a点发送的信号。设计要求:(1)在a点设计一个二维平面内的vhf天线排列方式;(2)设计b点的测向定位算法。4 完成课程设计说明书的撰写。5 同步完成课程设计日志记录。参考资料1. 吴建华.现代导航信息系统.武汉理工大学出版社.2007年.2. 周毅.ais信息解码和显示.航海技术.2006(2).3. nmea-0183协议解析. 上海华测导航技术有限公司.4. 王公仆等.计算机与单片机的串口通讯程序设计.轻工机械j.vol25(3).20075. 丁振国.ais 信息解析的计算机实现研究. 中国水运j.vol.8(10).20086. ftp资源:1在/船舶组合导航目录下。7. 丁英强,孙雨耕,李婷雪.基于多维校正的无线传感器网络多维标度定位算法.仪器仪表学报,20098. 马震,刘云,沈波.分布式无线传感器网络定位算法mds一map(d).通信学报,20089. 肖玲,李仁发,罗娟.基于非度量多维标度的无线传感器网络节点定位算法.计算机研究与发展,200710. 戴晴,黄纪军,莫锦军.现代微波与天线测量技术m.北京:电子工业出版社,2008指导教师签字赵秋亮日期2011年12月vhf无线信号测向单元设计 沈 丹,a08电信2班,0800403237 柯祖勇,a08电信2班,0800403214 张裕霖,c08电信1班,081311114 陈 岱,a08电信2班,0800403206任涢涢,a08电信1班,0800403137摘 要无线电测向技术已经在民用和军用得到了极大的应用,随着技术的不断成熟,如今的无线信号测向已具备功能极其强大,且测向速度快、灵敏度高、动态范围大、可靠性强,计算机自动控制,界面友好、直观,操作使用极为方便,大大提高了无线电技术人员测定无线电辐射源或无线电干扰的能力。为了能够研究在二维空间内,vhf天线通过发射信号对远处接收点进行定位导航我们特地设计了这个实验来进行定位测向。本文通过运用位置线法:通过测量几何参量与几何位置之间的数学关系进行定位,导航几何参量通常都是空间坐标的标量函数u(x,y),代表空间的标量场。在二维空间中,他们分别对应各种类型的曲面,无线电导航中测得的电参数所对应的几何参量往往为一个固定的数据,对应于标量场中的某一个等位面u= u(x,y),称为位置面,如角位置面,距离位置面和距离差位置面等。位置线:两个位置面的交线,位置线与另一个位置线或者位置面相交就可以得到用户的坐标;若测量的是物理距离,则位置面为一球面,因为此时我们假设是二维空间内,所以位置面可以假设为一个圆面,通过圆相交确定接收点的位置。 这次课程设计我们得出了以下结论:此次实验使我们对无线电的传播方式以及其存在的一些优势有了具体的了解。同时对运用数学中的几何位置来模拟空间之间的定位有了更加深刻以及直观的了解。在此基础上,使我们有了c语言与真正的数学建模结合在一起的初步概念;于此同时,我们通过本次实验学会了在二维空间内,我们可以通过改变天线的排列方式这种方法来实现对远处一点实行测向定位。 关键字:无线电信号;测向定位;位置线法;c语言目 录前言5一 绪论61.1 无线信号测向的发展61.2 课题研究的意义和应用价值6二 无线信号测向原理及设计方案72.1 无线信号测向原理72.2 无线信号侧向设计方案72.3无线信号侧向天线排列方式8三 无线信号测向的定位数学理论算法9四 无线信号测向的编程与解析104.1 代码解析104.1.1 模块1 两圆交点的求法104.1.2 模块2 三圆交点的求法154.2 运行结果解析17五 设计过程中所遇问题的解析22六 结论心得23参考文献24前言早期无线电通信中,天线发射的电磁波传向四面八方。而朝通信方向以外辐射的电磁波都“浪费”掉了。为了节省电台功率,保证预定方向通信可靠,人们致力于研究电磁波的定向发射和定向接收。无线电定位装置具有以下特点:第一,结构简单,造价较低,工作可靠。第二,对发射电台没有特殊的要求。第三,到目前为止仍然是唯一能测定无线电发射台方向的一种设备。无线电最大的优势无疑是摆脱了接口与线缆的束缚。特别是通讯方面,相对于有线通讯,无线电传输通讯的时候不需要架设价格昂贵的长距离线缆,主要架设一定数量的无线中继站,从而节省了大量的人力物力。同时无线电传输也能自动解决由于环境因素等导致有线线缆无法架设等问题。无线信号主要用于如今的一些无线网络等,特别在船舶导航运用方面进行某一点的测向定位。无线电信号以其具有多频段,多功能通讯能力和很强的灵活性等优点正在应用在越来越多的场合。本文运用无线电测向,运用位置线法:通过测量几何参量与几何位置之间的数学关系进行定位。通过假设在二维空间内,对vhf天线进行三个位置的架设,并以各自架设天线的发射点为圆心做圆,求它们公共交点的方法确定接收点的具体位置。一 绪论1.1 无线信号测向的发展 天线一词最早源于大自然中的动物,代指昆虫、禽鸟等的触觉器官。 从1873年麦克斯韦提出了电磁波的存在后,天线就有了连接无线通信系统和外部空间的新涵义。天线是构成无线通信系统的重要前端部件,其基本功能是辐射和接收电磁波。图1是最简单的无线电通信系统原理图,发射天线将发射机输出的电流能量转换成电磁波后发射出去,接收天线再将电波信号转换成电流能量回传给接收机。图1 无线电通信系统原理图1.2 课题研究的意义和应用价值 随着无线电事业的飞速发展,无线信号测向技术在民用和军用得到了很大的应用,但依靠传统仪器设备组成的无线电监测测向系统已不能满足当前各种新型、密集的无线电信号的监测和测向的要求,尤其是在电子作战中,无线电测向技术更是大显身手,要将干扰功率最大化加载在敌方的通信设备上,首先的要求是测出敌方的通信所在地。从军用微波通信的特点天线波速窄,电波方向性强看,与军用战术电台广播发射的电波与军用战术截然不同。所以高度数字化、集成化、自动化、智能化、网络化和小型化、多信道的信号监测和测向就成为发展的潮流。因此,许多公司都研发或集成了较为先进的测向设备,比如固定、车载、移动及手持式。有的公司可根据用户对设备性能及经济能力的要求进行相应设计,可组成单信道、双信道及多信道的相关干涉仪或其他体制的监测测向系统。如今无线信号测向运动是竞技体育项目之一,它类似于众所周知的捉迷藏游戏,但它是寻找能发射无线电波的小型信号源(即发射机),是无线电捉迷藏,是现代无线电通讯技术与传统捉迷藏游戏的结合。无线侧向运动是在空旷的丛林或近郊、公园等优美的自然环境中,事先隐藏好多部信号源,发出规定的信号。参加者手持无线电测向机,测出隐藏的信号源的所在方向,采用徒步方式,奔跑一定距离,迅速、准确地逐个寻找出这些信号源。以在规定时间内,找满指定台数、实用时间少者为优胜。通常,我们把实现巧妙隐藏起来的信号源比喻成狡猾的狐狸,故此项运动又称无线电“猎狐”或抓“狐狸”。本课程设计主要是在二维空间另有一点b接收a点发送的信号,在二维平面内设计vhf天线排列方式,从而设计b点的测向定位算法。二 无线信号测向原理及设计方案2.1 无线信号测向原理无线电系统的目的是由发射台向接收用户传递消息,其构成原理体现了一般无线电系统的特点,主要是由发射台和接收用户两部分:信息源、调制、高频功放、载波震荡器、高频放大、调解、放大、终端、发射台、接收用户。无线电波的工作频率可以从几hz到3000ghz,对应的波长从几万km到0.1mm。不同波段的无线电波,其传播特性有很大的差别。而对于导航定位而言,空间极坐标是方便和合理的,通过测量的无线电参量建立对应关系,然后利用几何参量与待求导航参数之间的数学关系,利用方程,作图等等效法来模拟以及求得所需要的导航参数。对于距离原理主要是通过测量矢径长度,距离差或者距离和。测量原理都是运用电磁波在均匀介质空间内传播的直线性和等速性。无线电导航定位是通过无线电信号参量所测量到的几何、物理参量来确定用户的方位、距离、位置、姿态等。其中,方位、距离、姿态等导航参量可以直接的有无线电参量测量得到,而位置参量则需要比较复杂的运算。2.2 无线信号侧向设计方案设计方案:首先我们在网上查询了一些具体的无线测向原理的具体方法:() 角测量法:要完成方位角参量的测量,需要在导航台发射一定的无线电信号,由安装在载体上的接收设备完成角度的测量,振幅法和相位法是方位角测量的两种常用方法。由于实验中考虑到对方位角的测量比较困难且不易操作,因此讨论决定不使用此方法。() 无线电相位测量法:通过测量电磁波在运载体和导航台之间信号相位的变化来确定距离或者距离。对于此方法,我们对此显得比较生疏,还是决定放弃此方法。() 距离测量法:距离测量一般包括测量矢径长度、距离差或者距离和,测量原理都是利用电磁波在均匀介质空间中传播的直线性和等速性,测量方法主要有相位、频率和脉冲。通过测量矢量长度、距离差或者距离和等数据,推算出接收点的具体位置。() 无线导航定位法:1) 位置线法:通过测量几何参量与几何位置之间的数学 关系进行定位。 2) 推航定位法:通过测量的物理参量(如加速度、速度等)与几何位置之间的运动学关系进行定位。位置线:两个位置面的交线,位置线与另一个位置线或者位置面相交就可以得到用户的坐标。距离位置面:若测量的是物理距离,则位置面为一球面,通过球面相交确定用户的位置。定位解算:利用几何参量获得导航参数的估计方法主要有比和形式解,迭代最小二乘解,最优估值解(如卡尔曼滤波,神经网络,小波变换)等。迭代法的过程: 1)确定初始值; 2)利用函数关系进行一次迭代,计算出第一次迭代的位置参数; 3)将上一次迭代得到的位置参数作为初始值代入方程,进行第二次迭代,计算第二次迭代的位置参数; 4)比较两次迭代的位置参数的差别,当两次迭代的解在一定程度上很接近时,则可以停止迭代。经过总结,距离测量法结合无线电导航定位法最符合此次实验的实验目标,而且容易操作,因此本次实验决定以此作为我们设计的突破口,以此方法来进行我们接下去的实验设计。最终确定的方案:通过a点发射出三个信号,接收各点反馈的信号,计算出该过程的传输时间,已知传输信号的频率和传输速度,可分别测出各点到达接收点b的距离,再以发射点为圆心,距离为半径,得到三个圆,三个圆的交点即为该接受点的位置,完成测向。2.3无线信号侧向天线排列方式 在我们的设计中,没有一个固定的天线排列方式,只要在二维平面内发射信号的天线排列方式是一个拥有三个分支的天线结构即可。如图2为天线设计结构框图,其中假设a点为发射点,b点为接收点,在a点的三个分支上分别向外发射信号,我们试想它们将会交于一点,而这点就是同时能接收这三个信号的b点。图2 设计结构的框图发射点a接收点b 三 无线信号测向的定位数学理论算法假设在a点三个分支发出的信号为三个平面圆。圆的参数方程, 圆心 , 半径为的圆的参数方程是: (1)首先求出两个园的交点: 假设现在其中两圆参数, 设交点为 , 代入其中一个圆中的参数方程有 且 代入另一圆的标准方程, 得到 关于正余弦二次项, 展开合并同类项之后: 左边 右边 把 转移到等式右边, 令: 那么方程便成为: 用 表示, 令: 便化为一个一元二次方程, 解得: 将三角方程转化为二次方程时, 等式两边平方了一次, 如果直接这样求对应角的正弦值, 符号总会为正。为了将纵坐标正确解出, 必须变角。那么如何变角?方法当然很多, 诱导公式, 或者反过头去把方程变一下, 以正弦作为未知数, 但是这些方法都比较复杂。 在这里可以选择另一种方案, 那就是用验证代替求解: 验证所得的解是不是根, 如果不是, 将纵坐标反号便可以了。最后注意一下两解的横坐标相同的情况, 这样要先输出正的再输出负的。(2)求出三个园的交点:得到两个圆的交点后,把两个圆的交点分别代入第三个圆,如果有交点在圆上,则该交点是这三个圆的共同交点,如果都不在的话,就说明不存在三圆的共同交点。(该唯一交点就是所要求的接收点) 四 无线信号测向的编程与解析4.1 代码解析4.1.1 模块1 两圆交点的求法/以下是编程思路:/首先编写求两圆交点的代码,分四种情况#include#include / 点struct point_t double x, y;/ 圆struct circle_t struct point_t center; double r;/ 浮点数判同int double_equals(double const a, double const b) static const double zero = 1e-9; return fabs(a - b) x - b-x) * (a-x - b-x) + (a-y - b-y) * (a-y - b-y);/ 两点之间的距离double distance(struct point_t const* a, struct point_t const* b) return sqrt(distance_sqr(a, b);/* 两圆相交函数* 参数:* circles0 和 circles1 分别是两个圆。* points0 和 points1 用来存放交点数值, 虽然有些情况下两个不都会用上;* 如果用到了两个交点, 那么返回后, 横坐标大的在前, 如果横坐标一样, 则纵坐标大的在前。* 返回值:* -1 如果两个圆一模一样;* 其它整数值: 交点个数。*/int insect(struct circle_t circles, struct point_t points) double d, a, b, c, p, q, r; / a, b, c, p, q, r 与上面分析中的量一致 double cos_value2, sin_value2; / 交点的在 circles0 上对应的正余弦取值 / 余弦值 cos_value 就是分析中的 cos if (double_equals(circles0.center.x, circles1.center.x) & double_equals(circles0.center.y, circles1.center.y) & double_equals(circles0.r, circles1.r) return -1; d = distance(&circles0.center, &circles1.center); / 圆心距离 if (d circles0.r + circles1.r | d 0) points1.y = -points1.y; else points0.y = -points0.y; return 2; /测试函数int main() struct circle_t circles3; struct point_t points2; int i;printf(课程设计第六组题目:vhf无线信号测向单元设计n);printf(该程序主要实现了如何在二维平面内,利用三圆求出它们的唯一交点n); printf(课程设计第六组组员信息:n); printf(沈 丹,a08电信2班,0800403237n); printf(柯祖勇,a08电信2班,0800403214n); printf(张裕霖,c08电信1班,081311114n); printf(陈 岱,a08电信2班,0800403206n); printf(任涢涢,a08电信1班,0800403137n); for(i=0;i=1;i+) /执行循环输入两个圆的参数 printf(input circle ); printf(%d,i+1); printf( (x,y,r) :); scanf(%lf%lf%lf,&circlesi.center.x, &circlesi.center.y, &circlesi.r); switch (insect(circles, points) /执行insect方法得到两个圆的相交情况 case -1: /两个相同的圆 printf (the circles are the samen); break ; case 0: /没有交点 printf (no intersectionn); break ; case 1: /只有一个交点 printf (%.3lf %.3lf)n, points0.x, points0.y); break ; case 2: /有两个交点 printf (%.3lf %.3lf) (%.3lf %.3lf)n, points0.x, points0.y, points1.x, points1.y); getch(); return 0; /以下结果是运行示例(经过画图工具反色后得到的图)1) 执行case -1的情况:如图3所示,输入第一个圆的圆心(1,1),半径为1,输入第二个圆的圆心(1,1),半径为1,得到的是相同的圆。图3 相同圆2) 执行case 0的情况: 如图4所示,输入第一个圆的圆心(1,1),半径为1,输入第二个圆的圆心(4,4),半径为1,得到的是两圆无交点。图4 两圆无交点3) 执行case 1的情况:如图5所示,输入第一个圆的圆心(1,1),半径为1,输入第二个圆的圆心(1,-1),半径为1,得到的是相交两圆有一个交点。图5 两圆有一个交点4) 执行case 2的情况: 如图6所示,输入第一个圆的圆心(1,1),半径为1,输入第二个圆的圆心(0,0),半径为1,得到的是相交两圆有两个交点。图6 两圆有两个交点4.1.2 模块2 三圆交点的求法/然后判断这些交点是否在第三个圆上,如果有,并获得该交点 if(points0.x-circles2.center.x)*(points0.x-circles2.center.x)+(points0.y-circles2.center.y)*(points0.y-circles2.center.y)=circles2.r*circles2.r) /判断得到的第一个交点是否在第三个圆上 printf (%.3lf %.3lf)n, points0.x, points0.y);else if(points1.x-circles2.center.x)*(points1.x-circles2.center.x)+(points1.y-circles2.center.y)*(points1.y-circles2.center.y)=circles2.r*circles2.r) /判断得到的第二个交点是否在第三个圆上 printf (%.3lf %.3lf)n, points1.x, points1.y);else printf(not find);/最后main函数的程序为int main() struct circle_t circles3;/用来储存输入的三个圆的圆对象的数组 struct point_t points2;/用来储存得到的公共交点的点对象的数组 int i;printf(课程设计第六组题目:vhf无线信号测向单元设计n);printf(该程序主要实现了如何在二维平面内,利用三圆求出它们的唯一交点n); printf(课程设计第六组组员信息:n); printf(沈 丹,a08电信2班,0800403237n); printf(柯祖勇,a08电信2班,0800403214n); printf(张裕霖,c08电信1班,081311114n); printf(陈 岱,a08电信2班,0800403206n);printf(任涢涢,a08电信1班,0800403137n);for(i=0;i=2;i+)/执行循环输入三个圆的参数 printf(input circle ); printf(%d,i+1); printf( (x,y,r) :); scanf(%lf%lf%lf,&circlesi.center.x, &circlesi.center.y, &circlesi.r); switch (insect(circles, /执行insect方法得到两个圆的相交情况points) case -1: /两个相同的圆 printf (the circles are the samen); break ; case 0: /没有交点 printf (no intersectionn); break ; case 1: /只有一个交点 printf (%.3lf %.3lf)n, points0.x, points0.y); break ; case 2: /有两个交点 printf (%.3lf %.3lf) (%.3lf %.3lf)n, points0.x, points0.y, points1.x, points1.y); if(points0.x-circles2.center.x)*(points0.x-circles2.center.x) +(points0.y-circles2.center.y)*(points0.y-circles2.center.y)= circles2.r*circles2.r) /判断得到的第一个交点是否在第三个圆上 printf (%.3lf %.3lf)n, points0.x, points0.y); else if(points1.x-circles2.center.x)*(points1.x-circles2.center.x) +(points1.y-circles2.center.y)*(points1.y-circles2.center.y)= circles2.r*circles2.r) /判断得到的第二个交点是否在第三个圆上 printf (%.3lf %.3lf)n, points1.x, points1.y); else printf(not find); getch(); return 0; 4.2 运行结果解析运行该程序的完整c语言代码:#include#include struct point_t double x, y; ; struct circle_t struct point_t center; double r; ; int double_equals(double const a, double const b) static const double zero = 1e-9; return fabs (a - b) x - b-x) * (a-x - b-x) + (a-y - b-y) * (a-y - b-y); double distance(struct point_t const* a, struct point_t const* b) return sqrt (distance_sqr(a, b); int insect(struct circle_t circles, struct point_t points) double d, a, b, c, p, q, r; double cos_value2, sin_value2; if (double_equals(circles0.center.x, circles1.center.x) & double_equals(circles0.center.y, circles1.center.y) & double_equals(circles0.r, circles1.r) return -1; d = distance(&circles0.center, &circles1.center); if (d circles0.r + circles1.r | d 0) points1.y = -points1.y; else points0.y = -points0.y; return 2; int main() struct circle_t circles3; struct point_t points2; int i;printf(课程设计第六组题目:vhf无线信号测向单元设计n);printf(该程序主要实现了如何在二维平面内,利用三圆求出它们的唯一交点n); printf(课程设计第六组组员信息:n); printf(沈 丹,a08电信2班,0800403237n); printf(柯祖勇,a08电信2班,0800403214n); printf(张裕霖,c08电信1班,081311114n); printf(陈 岱,a08电信2班,0800403206n); printf(任涢涢,a08电信

温馨提示

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

评论

0/150

提交评论