随着信息全球化的发展,计算机的运用越来越普及。在企业方面管理和培训方面,计算机软件技术发挥了不可替代的作用。下面是我为大家整理的计算机专业 毕业 论文,供大家参考。
摘要:本文从“软件技术基础”课程的特点出发,分析和 总结 了该课程教学过程中出现的各种问题,综合其他学校该课程的教学内容和 教学 方法 ,结合我校教学环境和学生学习的实际情况,对课程教学进行了一些改革探索和实践,并取得了一定的成绩。
关键词:软件技术基础;教学改革;教学研究;
一、引言
随着科学技术的飞速发展,计算机应用已经深入到社会生活的各个领域中。熟练的操作和使用各种计算机应用软件,成为我们工作和生活的必备技能。越来越多的应用软件的设计与开发是由非计算机专业人员完成,开发出的各种软件,也大部分由非计算机专业人员操作和使用。吉林医药学院针对本校生物医学工程专业的学生,开设了“软件技术基础”课程。但由于该课程教学内容多样,教学学时有限,学生程序设计水平参差不齐等原因,给教师和学生的教学带来一定的难度。针对该课程的特点,综合其他学校的教学方式,结合吉林医药学院实际情况,对“软件技术基础”课程教学进行了一些改革探索和实践。
二、“软件技术基础”课程教学现状
第一,课程内容多,覆盖范围广。吉林医药学院的“软件技术基础”课程,是在基础课程“计算机应用基础”、“C语言程序设计”、“VB数据库程序设计”课程后开设的课程,其教学内容涵盖了四门计算机专业的课程:“数据结构”、“数据库系统”、“ 操作系统 ”和“软件工程”。在有限的学时中完成该课程的教学,教师与学生都面临很大的挑战。[1]
第二,课程学时有限。吉林医药学院“软件技术基础”课程教学有50学时,其中理论32学时。将这有限的学时分配后,各部分教学内容的教学时间更加受限,在短时间内学好该课程,对老师和学生都是极大的挑战。受课时限制,在教学中,教师对枯燥和抽象的知识无法深入讲解,没有时间通过更多的实例对概念和算法演示和说明;学生缺少足够的程序设计 经验 和调试能力,对所学内容无法融会贯通。以“软件技术基础”课程的数据结构部分内容讲授为例,对于顺序表、链表、栈、队列、树、图、排序和查找等知识,课堂的大部分时间,只能集中讲解相关知识的概念、思想及算法实现,学生练习操作时也只能是将算法在机器上实现,但具体的应用、程序设计以及调试等技巧课堂上无法细致讲解,同样,对于大部分学生,具体的应用在练习操作时练习不到。[2]
第三,学生学习目的不明确。学生在学习时,需要了解所学内容在其未来工作和生活中的目的和意义。但是,由于“软件技术基础”课程涵盖教学内容多,授课学时少,导致学生学到的知识浮于表面,课堂讲授以概念和理论为主,缺少解决实际问题经验,学生对所学内容的重要性、实用性了解不深。学生学习“软件技术基础”课程后,只掌握了一些基本概念和算法,但无法将所学应用于实践。[3]
第四,学生的程序设计水平参差不齐。吉林医药学院“软件技术基础”课程开设于学生大二下学期,学生在学习该课程前,已经学习了“C语言程序设计”,但C语言课程对于第一次接触程序设计的学生来说,概念抽象且规则繁多,掌握困难。对于C语言中数据的存储、算法编写、程序设计及调试等尤其畏惧、困惑,加深了接下来数据结构部分学习的难度。又由于“软件技术基础”课程与“C语言程序设计”课程之间间隔一个学期,这让学生本就不牢固的C编程知识在学习新的内容时更加困难。
第五,注重培养学生的应用能力。学生学习“软件技术基础”课程是为了用所学知识解决实际问题,学生的实践能力的培养是本课程教学的重中之重,如何更好的提高学生的学习兴趣,加深学生对知识的理解,同样是该课程的教学难点。以上是吉林医药学院“软件基础基础”课程面临的主要问题,各个问题相互影响和制约,进一步影响到“软基”课程的教学效果和学生学习该课程的兴趣和效果。针对以上问题,考查其他院校的教学方法和教学手段,吉林医药学院的“软件技术基础”在教学和实践环节进行了改革探索,取得了一定的成果。
三、课程教学改革探索
第一,利用现代 教育 技术,实例化教学。教材是学生获取知识的直接方法,在选择教材方面,选取案例详细的教材,弥补教学学时的不足。理论课教学是学生获取知识的重要手段,我校的教学环境优秀,每一个教室都配备有多媒体等现代化设备辅助教学,利用先进的教学设备,制作优秀的教学课件,增加动画等元素,将晦涩难懂的理论知识,通过直观的例子和生动的讲解展示给学生。如讲解数据结构中栈的存储结构、定义及算法时,利用学生熟知的手枪中的弹夹讲解;讲队列相关知识的时候,利用学生最经常使用的车站买票等生动形象的例子。再如,讲解数据库中范式概念的时候,利用学生熟悉的班级学生作为对象,分别解释各个范式的区别……
第二,对比归纳,强调总结。受到课时等客观条件限制,经多轮授课发现,学生在学习“软件技术基础”课程知识时,会有囫囵吞枣的感觉,知识无法吸收透彻并应用,已经开始下一部分知识的学习。教师需要利用自己的教学经验,在讲授过程中对知识进行凝练,对相似知识多进行归纳总结,用尽量少的语言复习与对比相关内容,让学生做到温故而知新。
第三,强化实践教学,提高动手能力。授人鱼不如授人以渔,相对于教师,学生才是学习的主体,学生学习的主动性和积极性直接影响着学习的效果。勤能补拙,督促学生利用课余时间复习C语言等学过的知识,利用实验课程序调试的机会,让学生自己讲解程序并引导学生对程序跟踪,仔细观察程序变量的变化,总结经验,对程序进行优化,打下良好的程序设计基础。吉林医药学院软件技术基础课程的实验有18学时,实验课上除了验证课堂讲授的内容,学生无法更进一步的学习深入的内容,为更好的培养学生独立操作能力和实际应用能力,我校为生工的学生开放实验室,提供自主上机练习环境。对有进一步学习需要的学生,在每周三下午开设第二课堂,由有经验的老师对学生有针对性的讲解程序设计和软件开发的方法和技巧。
第四,采用课程设计,督促学生自主学习。为更好的激发学生学习的积极性和主动性,在数据结构和数据库部分基础知识学习后,分别要求学生进行课程设计。在数据结构部分,为每一位学生提供不同的设计题目,限定提交作业时间。为解决学生可能是网络下载或他人协作帮助完成作业的情况,需要学生对程序进行注释,要求学生能读懂程序。针对数据库部分,采用学生分组完成数据库题目的方式,数据库题目可采用教师命题和学生选题的方式,学生分组采用学生自主分组,要求每组5-6成员,每位成员负责数据库的不同部分,最后根据每人负责的设计难易程度评价学生的成绩。采用课程设计的方式,给与学生学习的紧迫感和压力,对于程序设计能力稍差的学生,适当降低要求,达到锻炼学生实际动手能力、培养学生团队合作意识和协同操作能力,为学生的工作打下基础。
四、结束语
教学是一项永无止境的工作,在教学过程中,教师要根据学生的专业情况和个人学习情况及特点,有针对性的进行教学方式和教学内容的改革,运用适当的教学模式,把知识传递给学生,培养学生独立分析问题、解决问题、将所学知识综合应用于实践的实践和创新能力。
参考文献:
[1]张小瑞,孙伟,张自嘉,杨双翼.《计算机软件技术基础》教学改革探索与研究[J].中国科技信息.2012(04):129~135.
[2]陈帝伊,马孝义,辛全才.“计算机软件技术基础”课程教学方法探析[J].计算机教育2009(22):68~69.
[3]伦向敏,门洪,兰建军.《软件技术基础》教学改革探析[J].课程教育研究,2014(27)
摘要:作为一门新兴学科,计算机软件在短短的十几年中实现了跨越式发展,当今时代计算机软件技术依旧保持着旺盛的发展潜力,为人类的前进做出了巨大贡献。该文主要从计算机软件开发技术的现状、主要方式、应用以及发展趋势等方面论述了计算机软件开发技术的应用及发展趋势。
关键词:新时期;计算机开发技术;应用;趋势
1计算机软件开发技术概述
一般来说,计算机软件主要包括两大部分:应用软件和系统软件。计算机应用软件指的是为了帮助用户解决使用过程中的具体问题而设计的软件,比如娱乐、管理、文档等方面的软件;系统软件则指的是计算机本身所携带的软件,主要用于保障计算机的运行、维护等等。计算机应用软件和计算机系统软件的作用是相同的,都旨在为用户提供更好的上网体验和实用环境。从本质上来看,人们在使用计算机时运行的最为频繁的是计算机的软件系统而非计算机本身,可以说,没有计算机软件,计算机就无法正常使用。20世纪中期,世界范围内的计算机软件开发技术较为落后,仅仅停留在手工软件开发阶段,工作效率低下,远远不能满足人们日益增长的需求。伴随着全球经济的飞速发展以及第三次科技革命浪潮的开始,计算机软件开发技术也取得了长足发展,人们对其的认识也发生了变化,软件开发一词重新被定义:为了实现计算机的程序运行而采用的规则以及方法等相关的文档等都属于计算机软件的范畴。发展到当今时代,计算机软件开发技术大致经历了程序设计过程、软件过程、软件工程三个时期,随着时间的变化,计算机软件开发技术已经日趋成熟。
2计算机软件开发技术现状
计算机软件开发技术现状
当今时代无所不在的网络给人们的工作生活方式带来了翻天覆地的变化,而支撑着互联网发展的正是计算机软件技术的开发和运行。随着计算机在全球范围内的普及,国内的计算机软件开发技术也迅速成长,为适应市场人才需求,各大高等院校设立了与计算机软件技术相关的专业及方向,无论是高职院校还是重点院校的专业人数比重都呈上升趋势,从事于软件开发行业的人才不断增多。
计算机软件开发技术重要性
正是有了软件开发技术的不断改革创新,才推动了整个互联网行业的飞速发展,可以说计算机软件开发技术对当代信息社会的发展有举足轻重的作用,作为整个信息网络的核心部分,计算机软件技术开发将网络信息传输和远程控制变为了现实,为人们的生活、工作提供了极大地便利。计算机软件开发技术的应用大大提升了信息网络环境的安全性、隐私性,保证人们在畅想网络所带来的自由时不会受到其他因素的干扰,大大提升了人们的体验感。此外,软件技术的开发和应用可以促进计算机使用和软件技术之间的问题,实现两者有机融合,从而拓展了计算机的适用范围和适用领域,推动人类社会向前发展。
计算机软件开发技术问题
首先,信用值计算问题。这是计算机软件技术开发过程中的重要问题之一,其关键在于信用机制,由于没有统一的信用机制,因此,会导致计算方法的不同。多数情况下,采取的是乘性减、加性增的方法,加性增主要是用来处理信誉度增加的问题,这样可以对恶意节点形成约束作用。其次,是数据安全问题。虽然现阶段的计算机软件开发技术应经十分成熟,但是在面对数据传送过程中的数据丢失等问题时,还是无法有效遏止,很容易造成机密文件被窃取泄露的问题,这对相关人员、机构都带来了极大的损失。最后,是版权问题。这是计算机软件开发技术中最严重最泛滥的一个问题。由于我国版权保护法规还没有完全形成体系,再加上网络资源的共享性等因素,软件技术开发的成果很容易被窃取,这大大降低了软件人员的工作效率和积极性,也会对我国的软件行业发展带来消极影响。
3计算机软件开发技术主要方式
经过几十年的发展,计算机软件开发技术的方式已经进入了成熟阶段,各方面理论知识也日臻完善,总的来说,现阶段最主要的软件开发方式主要包括计算机软件生命周期法、原型化方法和自动形式的系统开发法三种方式:计算机软件生命周期法该软件开发方式亦被称为结构化系统开发方法。是三种方式中最为普遍的一种使用手段,计算机软件生命周期法着眼于软件的整体性和全局性,主要用于复杂的系统开发阶段。这种方式将软件的开发阶段划分为若干个子阶段,降低了原有软件系统的难度,便于更好的操作和维护。计算机软件生命周期法的缺点在于开发耗时长,各阶段之间缺乏独立性,前后联系密切增大了工作量。原形化方法这种开发方式主要指的是相关的技术人员在商讨决定一个统一的软件模型之后进入开发阶段并不断修改调整,直到达到用户的要求即可。这也是一种较为普遍的开发手法,其优点在于以用户的需求为导向目标性强,可以降低不必要的成本和技术浪费,缺点在于适用范围较小,只可用于小型简易的软件系统开发。自动形式的软件开发方法主要特点是在软件开发过程中对软件的开发目的和内容详细说明,对开发过程则不过多赘述,其优点在于可以根据软件的要求自主设计编码。
4计算机软件开发技术应用
任何一种技术的发明和应用都是为了更好地服务于人类,提升人类的生活方式和工作方式。因此,开发计算机软件就是为了给人们带来更多的便捷性、高效性,满足人们的各种需求。举例来说,在对两个不同的软件系统和Web+_ml+Active 进 行应用时,就要根据软件本身的特点来满足用户的不同需求。由于第一个软件的版本与微软的版本相同,因此在安装时就可以直接在电脑上运行,无需其他辅助的系统软件,安装成功后,该系统在使用时操作流畅快捷,使用方便,并且没有其他多余的附加产品影响用户的使用,因此,该软件的用户需求就会不断提升,可能会因为用户过多而对使用体验造成影响,这就需要人工进行调整。而第二种软件在安装时由于受到自身条件的限制,在安装时会在一定程度上降低用户使用量。这就说明在进行计算机软件技术开发时要坚持以人为本,将用户的需求放在首位,最大程度的满足用户的体验,唯有如此,才能获取更多的使用率和利润。
5结束语
计算机软件开发技术的发展趋势主要表现在以下几个方面:
1)网络化。
网络化是计算机软件开发技术的主要目标,其网络化的发展方向势必会为人类的生活生产方式产生巨大影响,人与物之间相互连接物联网将会是以后计算机软件开发技术的主要研究内容。
2)服务性。
计算机软件在开发应用之前就是为了解决人们处理问题时的难题,未来的计算机软件开发技术将借助先进的开发理念更全面、更细致的满足用户的体验和需求,所以服务性是其最根本的特征,也是今后不断向前发展的动力。
3)智能化。
计算机软件开发技术随着社会的发展逐步向智能化方向迈进,随着技术的不断进步,计算机软件开发技术会更加趋向人性化,智能化发展方向是人类计算机软件的重要进步,是高科技的一次突破性进展。
4)开放化。
计算机软件开发技术的开放化主要体现在技术开发人员之间的技术交流和共享,在技术上则指的是软件源代码的开放和软件产品的标准化,从业人员之间的相互学习可以打破行业之间的壁垒,碰撞出更多的思维火花,从根本上提高软件产品的质量,实现整个软件行业繁荣发展。
参考文献:
[1]范伟.浅论新时期计算机软件开发技术的应用及发展趋势[J].计算机光盘软件与应用,2014(13):80-80+82.
[2]刘芳.新时期计算机软件开发技术的应用及发展趋向[J].中国新通信,2015(13):89-89.
[3]左岑.试析计算机软件开发技术的应用及发展展望[J].才智,2013(12):384-384.
[4]刘凯英.浅谈计算机软件开发技术的应用及发展[J].无线互联科技,2013(1):69.
[5]潘其琳.计算机软件开发技术的现状及应用探究[J].信息技术与信息化,2015(3):249-251.
计算机专业毕业论文——软件技术相关 文章 :
1.计算机专业毕业论文范本
2.计算机专业毕业论文大全参考
3.计算机软件技术专业论文
4.计算机软件技术的毕业论文
5.关于计算机技术应用专业毕业论文
6.计算机软件本科毕业论文
毕业论文一般都会先选题的,根据导师提供的可选题目选一个感兴趣的课题,然后就是根据所选的题目在百度学术或中国知网等一些学术网站上查阅一些近期的相关论文,通过对大量论文的阅读对相关理论等方面的知识进行学习和认识,一般有些计算机专业毕业论文会涉及到相关算法或在某些特定应用场景中的设计实现,相关编程仿真实验就会成为毕业论文的一部分,这时就可以将实验设计、实验过程、实验结果与分析以及前面的一些理论介绍部分整合形成一篇毕业论文。如果没有相关仿真实验的话,一般可能就会涉及到对一些相关算法的对比分析等等。以本科毕业论文为例,字数要求不同学校会有一些差距,一般都在八千到一万二千字之间,查重率一般都要求在百分之二三十以内。如有问题可追问,望采纳。
学号:20000300055 姓名:王铎澎 嵌牛导读:文章对DOA算法进行了简单的介绍。 嵌牛正文: DOA估计算法 DOA(Direction Of Arrival)波达方向定位技术主要有ARMA谱分析、最大似然法、熵谱分析法和特征分解法,特征分解法主要有MUSIC算法、ESPRIT算法WSF算法等。 MUSIC (Multiple Signal Classification)算法,即多信号分类算法,由Schmidt等人于1979年提出。MUSIC算法是一种基于子空间分解的算法,它利用信号子空间和噪声子空间的正交性,构建空间谱函数,通过谱峰搜索,估计信号的参数。对于声源定位来说,需要估计信号的DOA。MUSIC算法对DOA的估计有很高的分辨率,且对麦克风阵列的形状没有特殊要求,因此应用十分广泛。 运用矩阵的定义,可得到更为简洁的表达式: X = A S + N X=AS+NX=AS+N 式中 X = [ x 1 ( t ) , x 2 ( t ) , . . . x M ( t ) ] T X=[x_1(t),x_2(t),...x_M(t)]^TX=[x1(t),x2(t),...xM(t)]T, S = [ S 1 ( t ) , S 2 ( t ) , . . . S D ( t ) ] T S=[S_1(t),S_2(t),...S_D(t)]^TS=[S1(t),S2(t),...SD(t)]T, A = [ a ( θ 1 ) , a ( θ 2 ) , . . . a ( θ D ) ] T A=[a(\theta_1),a(\theta_2),...a(\theta_D)]^TA=[a(θ1),a(θ2),...a(θD)]T, N = [ n 1 ( t ) , n 2 ( t ) , . . . n M ( t ) ] T N=[n_1(t),n_2(t),...n_M(t)]^TN=[n1(t),n2(t),...nM(t)]T。 X XX为阵元的输出,A AA为方向响应向量,S SS是入射信号,N NN表示阵列噪声。 其中 φ k = 2 π d λ s i n θ k \varphi_k=\frac{2\pi d}{\lambda}sin\theta_kφk=λ2πdsinθk有 A = [ a ( θ 1 ) , a ( θ 2 ) , . . . a ( θ D ) ] T = [ 1 1 ⋯ 1 e − j φ 1 e − j φ 2 ⋯ e − j φ D ⋮ ⋮ ⋱ ⋮ e − j ( M − 1 ) φ 1 e − j ( M − 1 ) φ 2 ⋯ e − j ( M − 1 ) φ D ] A=[a(\theta_1),a(\theta_2),...a(\theta_D)]^T=\left[ 1e−jφ1⋮e−j(M−1)φ11e−jφ2⋮e−j(M−1)φ2⋯⋯⋱⋯1e−jφD⋮e−j(M−1)φD11⋯1e−jφ1e−jφ2⋯e−jφD⋮⋮⋱⋮e−j(M−1)φ1e−j(M−1)φ2⋯e−j(M−1)φD \right]A=[a(θ1),a(θ2),...a(θD)]T=⎣⎢⎢⎢⎡1e−jφ1⋮e−j(M−1)φ11e−jφ2⋮e−j(M−1)φ2⋯⋯⋱⋯1e−jφD⋮e−j(M−1)φD⎦⎥⎥⎥⎤ 对x m ( t ) x_m(t)xm(t)进行N点采样,要处理的问题就变成了通过输出信号x m ( t ) x_m(t)xm(t)的采样{ x m ( i ) = 1 , 2 , . . . , M } \{ x_m (i)=1,2,...,M\}{xm(i)=1,2,...,M}估计信号源的波达方向角θ 1 , θ 2 . . . θ D \theta_1,\theta_2...\theta_Dθ1,θ2...θD,由此可以很自然的将阵列信号看作是噪声干扰的若干空间谐波的叠加,从而将波达方向估计问题与谱估计联系起来。 对阵列输出X做相关处理,得到其协方差矩阵 R x = E [ X X H ] R_x=E[XX^H]Rx=E[XXH] 其中H HH表示矩阵的共轭转置。 根据已假设信号与噪声互不相关、噪声为零均值白噪声,因此可得到: R x = E [ ( A S + N ) ( A S + N ) H ] = A E [ S S H ] A H + E [ N N H ] = A R S A H + R N R_x=E[(AS+N)(AS+N)^H] =AE[SS^H]A^H+E[NN^H]=AR_SA^H+R_NRx=E[(AS+N)(AS+N)H]=AE[SSH]AH+E[NNH]=ARSAH+RN 其中R s = E [ S S H ] R_s=E[SS^H]Rs=E[SSH]称为信号相关矩阵 R N = σ 2 I R_N=\sigma^2IRN=σ2I是噪声相关阵 σ 2 \sigma^2σ2是噪声功率 I II是M × M M\times MM×M阶的单位矩阵 在实际应用中通常无法直接得到R x R_xRx,能使用的只有样本的协方差矩阵: R x ^ = 1 N ∑ i = 1 N X ( i ) X H ( i ) \hat{R_x}=\frac{1}{N} \sum_{i=1}^{N}X(i)X^H (i)Rx^=N1∑i=1NX(i)XH(i),R x ^ \hat{R_x}Rx^是R x R_xRx的最大似然估计。 当采样数N → ∞ N\to\inftyN→∞,他们是一致的,但实际情况将由于样本数有限而造成误差。根据矩阵特征分解的理论,可对阵列协方差矩阵进行特征分解,首先考虑理想情况,即无噪声的情况:R x = A R s A H R_x=AR_sA^HRx=ARsAH,对均匀线阵,矩阵A由 A = [ a ( θ 1 ) , a ( θ 2 ) , . . . a ( θ D ) ] T = [ 1 1 ⋯ 1 e − j φ 1 e − j φ 2 ⋯ e − j φ D ⋮ ⋮ ⋱ ⋮ e − j ( M − 1 ) φ 1 e − j ( M − 1 ) φ 2 ⋯ e − j ( M − 1 ) φ D ] A=[a(\theta_1),a(\theta_2),...a(\theta_D)]^T=\left[ 1e−jφ1⋮e−j(M−1)φ11e−jφ2⋮e−j(M−1)φ2⋯⋯⋱⋯1e−jφD⋮e−j(M−1)φD11⋯1e−jφ1e−jφ2⋯e−jφD⋮⋮⋱⋮e−j(M−1)φ1e−j(M−1)φ2⋯e−j(M−1)φD \right]A=[a(θ1),a(θ2),...a(θD)]T=⎣⎢⎢⎢⎡1e−jφ1⋮e−j(M−1)φ11e−jφ2⋮e−j(M−1)φ2⋯⋯⋱⋯1e−jφD⋮e−j(M−1)φD⎦⎥⎥⎥⎤ 所定义的范德蒙德矩阵,只要满足θ i ≠ θ j , i ≠ j \theta_i\neq \theta_j,i\neq jθi=θj,i=j,则他的各列相互独立。 若R s R_sRs为非奇异矩阵R a n k ( R s ) = D Rank(R_s)=DRank(Rs)=D,各信号源两两不相干,且M > D M>DM>D,则r a n d ( A R s A H ) = D rand(AR_sA^H)=Drand(ARsAH)=D, 由于R x = E [ X X H ] R_x=E[XX^H]Rx=E[XXH],有: R s H = R x R_s^H=R_xRsH=Rx 即R s R_sRs为Hermite矩阵,它的特性是都是实数,又由于R s R_sRs为正定的,因此A R s A … … H AR_sA……HARsA……H为半正定的,它有D个正特征值和M − D M-DM−D个零特征值。 再考虑有噪声存在的情况 R x = A R s A H + σ 2 I R_x=AR_sA^H+\sigma^2IRx=ARsAH+σ2I 由于σ 2 > 0 \sigma^2>0σ2>0,R x R_xRx为满秩阵,所以R x R_xRx有M个正实特征值λ 1 , λ 2 . . . λ M \lambda_1,\lambda_2...\lambda_Mλ1,λ2...λM 分别对应于M个特征向量v 1 , v 2 . . . v M v_1,v_2...v_Mv1,v2...vM。又由于R x R_xRx为Hermite矩阵,所以各特征向量是正交的,即:v i H v j = 0 , i ≠ j v_i^Hv_j=0,i\neq jviHvj=0,i=j与信号有关的特征值只有D个,分别等于矩阵A R s A H AR_sA^HARsAH的各特征值与σ 2 \sigma^2σ2之和,其余M − D M-DM−D个特征值为σ 2 \sigma^2σ2,即σ 2 \sigma^2σ2为R RR的最小特征值,它是M − D M-DM−D维的,对应的特征向量v i , i = 1 , 2 , . . . , M v_i,i=1,2,...,Mvi,i=1,2,...,M中,也有D个是与信号有关的,另外M − D M-DM−D个是与噪声有关的,可利用特征分解的性质求出信号源的波达方向θ k \theta_kθk。 MUSIC算法的原理及实现 通过对协方差矩阵的特征值分解,可得到如下结论: 将矩阵R x R_xRx的特征值进行从小到大的排序,即λ 1 ≥ λ 2 ≥ . . . ≥ λ M > 0 \lambda_1 \geq \lambda_2\geq...\geq\lambda_M>0λ1≥λ2≥...≥λM>0,其中D个较大的特征值对应于信号,M − D M-DM−D个较小的特征值对应于噪声。 矩阵R x R_xRx的属于这些特征值的特征向量也分别对应于各个信号和噪声,因此可把R x R_xRx的特征值(特征向量)划分为信号特征(特征向量)与噪声特征(特征向量)。 设λ i \lambda_iλi为R x R_xRx的第i ii个特征值,v i v_ivi是与λ i \lambda_iλi个相对应的特征向量,有: R x v i = λ i v i R_xv_i=\lambda_iv_iRxvi=λivi 再设λ i = σ 2 \lambda_i=\sigma^2λi=σ2是R x R_xRx的最小特征值R x v i = σ 2 v i i = D + 1 , D + 2... M R_xv_i=\sigma^2v_i i=D+1,D+2...MRxvi=σ2vii=D+1,D+2...M, 将R x = A R s A H + σ 2 I R_x=AR_sA^H+\sigma^2IRx=ARsAH+σ2I代入可得σ 2 v i = ( A R s A H + σ 2 I ) v i \sigma^2v_i=(AR_sA^H+\sigma^2I)v_iσ2vi=(ARsAH+σ2I)vi, 将其右边展开与左边比较得: A R s A H v i = 0 AR_sA^Hv_i=0ARsAHvi=0 因A H A A^HAAHA是D ∗ D D*DD∗D维的满秩矩阵,( A H A ) − 1 (A^HA)^{-1}(AHA)−1存在; 而R s − 1 R_s^{-1}Rs−1同样存在,则上式两边同乘以R s − 1 ( A H A ) − 1 A H R_s^{-1}(A^HA)^{-1}A^HRs−1(AHA)−1AH, 有: R s − 1 ( A H A ) − 1 A H A R s A H v i = 0 R_s^{-1}(A^HA)^{-1}A^HAR_sA^Hv_i=0Rs−1(AHA)−1AHARsAHvi=0 于是有 A H v i = 0 , i = D + 1 , D + 2 , . . . , M A^Hv_i=0,i=D+1,D+2,...,MAHvi=0,i=D+1,D+2,...,M 上式表明:噪声特征值所对应的特征向量(称为噪声特征向量)v i v_ivi,与矩阵A AA的列向量正交,而A AA的各列是与信号源的方向相对应的,这就是利用噪声特征向量求解信号源方向的出发点。 用各噪声特征向量为例,构造一个噪声矩阵E n E_nEn: E n = [ v D + 1 , v D + 2 , . . . v M ] E_n=[v_{D+1},v_{D+2},...v_{M}]En=[vD+1,vD+2,...vM] 定义空间谱P m u ( θ ) P_{mu}(\theta)Pmu(θ): P m u ( θ ) = 1 a H ( θ ) E n E n H a ( θ ) = 1 ∥ E n H a ( θ ) ∥ 2 P_{mu}(\theta)=\frac{1}{{a^H}(\theta)}E_nE_n^Ha(\theta)=\frac{1}{\Vert E_n^Ha(\theta)\Vert^2}Pmu(θ)=aH(θ)1EnEnHa(θ)=∥EnHa(θ)∥21 该式中分母是信号向量和噪声矩阵的内积,当a ( θ ) a(\theta)a(θ)和E n E_nEn的各列正交时,该分母为零,但由于噪声的存在,它实际上为一最小值,因此P m u ( θ ) P_{mu}(\theta)Pmu(θ)有一尖峰值,由该式,使θ \thetaθ变化,通过寻找波峰来估计到达角。 MUSIC算法实现的步骤 1.根据N个接收信号矢量得到下面协方差矩阵的估计值: R x = 1 N ∑ i = 1 N X ( i ) X H ( i ) R_x=\frac{1}{N} \sum_{i=1}^NX(i)X^H(i)Rx=N1∑i=1NX(i)XH(i) 对上面得到的协方差矩阵进行特征分解 R x = A R s A H + σ 2 I R_x=AR_sA^H+\sigma^2IRx=ARsAH+σ2I 2.按特征值的大小排序 将与信号个数D DD相等的特征值和对应的特征向量看做信号部分空间,将剩下的M − D M-DM−D个特征值和特征向量看做噪声部分空间,得到噪声矩阵E n E_nEn: A H v i = 0 , i = D + 1 , D + 2 , . . . , M A^Hv_i=0,i=D+1,D+2,...,MAHvi=0,i=D+1,D+2,...,M E n = [ v D + 1 , v D + 2 , . . . v M ] E_n=[v_{D+1},v_{D+2},...v_{M}]En=[vD+1,vD+2,...vM] 3.使θ \thetaθ变化 ,按照式 P m u ( θ ) = 1 a H ( θ ) E n E n H a ( θ ) P_{mu}(\theta)=\frac{1}{{a^H}(\theta)E_nE_n^Ha(\theta)}Pmu(θ)=aH(θ)EnEnHa(θ)1 来计算谱函数,通过寻求峰值来得到波达方向的估计值。 clear; close all; %%%%%%%% MUSIC for Uniform Linear Array%%%%%%%% derad = pi/180; %角度->弧度 N = 8; % 阵元个数 M = 3; % 信源数目 theta = [-30 0 60]; % 待估计角度 snr = 10; % 信噪比 K = 512; % 快拍数 dd = ; % 阵元间距 d=0:dd:(N-1)*dd; A=exp(-1i*2*pi*d.'*sin(theta*derad)); %方向矢量 %%%%构建信号模型%%%%% S=randn(M,K); %信源信号,入射信号 X=A*S; %构造接收信号 X1=awgn(X,snr,'measured'); %将白色高斯噪声添加到信号中 % 计算协方差矩阵 Rxx=X1*X1'/K; % 特征值分解 [EV,D]=eig(Rxx); %特征值分解 EVA=diag(D)'; %将特征值矩阵对角线提取并转为一行 [EVA,I]=sort(EVA); %将特征值排序 从小到大 EV=fliplr(EV(:,I)); % 对应特征矢量排序% 遍历每个角度,计算空间谱 for iang = 1:361 angle(iang)=(iang-181)/2; phim=derad*angle(iang); a=exp(-1i*2*pi*d*sin(phim)).'; En=EV(:,M+1:N); % 取矩阵的第M+1到N列组成噪声子空间 Pmusic(iang)=1/(a'*En*En'*a); end Pmusic=abs(Pmusic); Pmmax=max(Pmusic) Pmusic=10*log10(Pmusic/Pmmax); % 归一化处理 h=plot(angle,Pmusic); set(h,'Linewidth',2); xlabel('入射角/(degree)'); ylabel('空间谱/(dB)'); set(gca, 'XTick',[-90:30:90]); grid on;实现结果
354 浏览 3 回答
331 浏览 3 回答
120 浏览 4 回答
288 浏览 3 回答
291 浏览 3 回答
266 浏览 3 回答
124 浏览 2 回答
112 浏览 5 回答
163 浏览 2 回答
229 浏览 3 回答
199 浏览 10 回答
230 浏览 8 回答
171 浏览 4 回答
121 浏览 3 回答
207 浏览 3 回答