傅里叶变换学习心得体会.docx
《傅里叶变换学习心得体会.docx》由会员分享,可在线阅读,更多相关《傅里叶变换学习心得体会.docx(10页珍藏版)》请在冰豆网上搜索。
![傅里叶变换学习心得体会.docx](https://file1.bdocx.com/fileroot1/2023-2/23/ab250148-f561-48a9-9718-2db7b5d7378e/ab250148-f561-48a9-9718-2db7b5d7378e1.gif)
傅里叶变换学习心得体会
傅里叶变换学习心得体会
篇一:
《随机数字信号处理》学习心得体会
随机数字信号处理是由多种学科知识交叉渗透形成的,在通信、雷达、语音处理、图象处理、声学、地震学、地质勘探、气象学、遥感、生物医学工程、核工程、航天工程等领域中都离不开随机数字信号处理。
随着计算机技术的进步,随机数字信号处理技术得到飞速发展。
本门课主要研究了随机数字信号处理的两个主要问题:
滤波器设计和频谱分析。
在数字信号处理中,滤波技术占有极其重要的地位。
数字滤波是语音和图像处理、模式识别、频谱分析等应用中的一个基本处理算法。
但在许多应用场合,常常要处理一些无法预知的信号、噪声或时变信号,如果采用具有固定滤波系数的数字滤波器则无法实现最优滤波。
在这
种情况下,必须设计自适应滤波器,以使得滤波器的动态特1•生随着信号和噪声的变化而变化,以达到最优的滤波效果。
自适应滤波器(adaptivefilter)是近几十年来发展起来的尖于信号处理方法和技术的滤波器,其设计方法对滤波器的性能影响很大。
自适应滤波器是相对固定滤波器而言的,它是一种能够自动调整本身参数的特殊维纳滤波器。
自适应滤波算法的研究是自适应信号处理中最为活跃的研究课题之一,其中,两种最基本的线性滤波算法为:
最小均方误差(Ims)算法和最小二乘(rls)算法‘由于Ims算法具有初始收敛速度
较慢、执行稳定性差等缺点,本门课着重介绍了rls算法。
rls算法的
初始收敛速度比Ims算法快一个数量级,执行稳定性好。
谱分析是随机数字信号处理另一重要内容,它在频域中研究信号的某些特性如幅值、能量或功率等随频率的分布。
对通常的非时限信号做频谱分析,只能通过对其截取所获得的有限长度的样本来做计算,其
结果是对其真实谱的近似即谱估计。
现代谱估计算法除模型参量法之外,人们还提出了其它一些方法,如capon最大似然谱估计算法、
pisarenk谐波分解法、music算法、esprit算法等利用矩阵的特征分解来实现的谱估计方法。
在实际的谱估计过程中,无论是从样本数据出发
(直接法),或是由样本的自协方差函数出发(间接法),窗函数的引入都是不可避免的,因为数据样本的简单截取本身就意味着通过了矩形窗。
窗效应在谱分析或谱估计中的影响表现在降低谱的频率分辨力和产生能量的泄漏。
本门课介绍了短时傅里叶变换以及由此引申出的一系列谱分析方法,并经验证得到了很好的效果。
综上所述,为我对本门课的理解和认知。
通过本门课的学习,使我对随机数字信号处理的技术和方法有了进一步的了解,加深了对基本理
论和概念的领悟程度,课程所涉及到的很多算法和思想对我个人的研究方向有很大的启发,我将继续钻研相尖理论和算法,争取尽早与科研实际相结合,实现学有所用。
最后,感谢老师孜孜不倦的讲解,为我们引入新的思想,帮助我们更快的成长。
篇二:
算法学习心得班级:
物联网1201姓名:
刘潇学号:
1030612129
、实验内容:
这学期的算法与设计课,老师布置了这四个问题,分别
是货郎担问题,动态生成二维数
组,对话框下拉列表,排序问题。
二、学习掌握:
基本程序描述:
(1)货郎担问题:
货郎担问题属于易于描述但难于解决的著名难题
之一,至今世界上还
有不少人在研究它。
货郎担问题要从图g的所有周游路线中求取具有最
小成本的周游路线5
而由始点出发的周游路线一共有(n—1)!
条,即等于除始结点外的n一1个结点的排列数,
因此货郎担问题是一个排列问题。
货郎担的程序实现了利用穷举法解决
货郎担问题,可以在
城市个数和各地费用给定的情况下利用穷举法逐一计算出每一条路线的
费用,并从中选出费
用最小的路线。
从而求出问题的解
(2)费用矩阵:
费用矩阵的主要内容是动态生成二维数组。
首先由
键盘输入自然数,费
用矩阵的元素由随机数产生,并取整,把生成的矩阵存放在二维数组
中,最后把矩阵内容输
出到文件和屏幕上。
它采用分支界限法,分支限界法的基本思想是对包含具有约束条件的最优化问题的所有可行解的解(数目有限)空间进行搜索。
该算法在具体执行时,把全部可行的解空间不断分割为越来越小的子集,并为每个子集内的解计算一个下界或上界。
动态生成
二维n*n的数组程序利用指针表示数组的行和列,并逐一分配空间,在输入n的数值后>系
统自动分配空间,生成nF的数组,并产生随机数填充数组,最后将结果输入到指定文件中。
三•疑问与总结:
货郎担的问题,我认为穷举法相对比而言是比较初级的方法,费时耗
力,适合在练习时
选用,但是在实际问题中不建议采用。
克鲁斯卡尔或者普里姆算法求取最小生成树的方法来
解决货郎担的问题是更适合现实解决问题的。
我认为程序可以用switch函数来将函数分成几
个部分更人性化,比如分为解决问题的的选项,输出结果选项,退出程序选项等。
再有就是
费用矩阵的值可以从文件中读取,而结果也可以直接放在指定文件
中,这样在实际应用中比
较广泛。
动态生成二维数组的程序我认为如果按照规范性,我的方法是中规中矩的,毕竟再向下
延伸,生成三维的数组,需要三层的指针来实现。
但是就程序的简化程度和计算机处理时间来说,我认为这样双层指针的算法有些太占用内存,毕竟要给行和列各
分配n个空间。
我通
过与同学的交流,我发现可以用1位数组来实现二维的nF的数组。
首先分配n*n的空间,然后通过循环在一行的数据达到n时自动换行。
这样程序得到了一定的简化5并且减少
了一定的内存使用。
我认为这种方法是比较贴合实际的。
四•心得体会
在计算机软件专业中,算法分析与设计是一门非常重要的课程,很多
人为它如痴如醉。
很多问题的解决,程序的编写都要依赖它,在软件还是面向过程的阶
段,就有程序二算法+数
据结构这个公式。
算法的学习对于培养一个人的逻辑思维能力是有极
大帮助的,它可以培养
我们养成思考分析问题,解决问题的能力。
如果一个算法有缺陷,或
不适合某个问题,执行这个算法将不会解决这个问题。
不同的
算法可能用不同的时间、空间或效率来完成同样的任务。
一个算法的
优劣可以用空间复杂性
和时间复杂度来衡量。
算法可以使用自然语言、伪代码、流程图等多
种不同的方法来描述。
计算机系统中的操作系统、语言编译系统、数据库管理系统以及各种各样的计算机应用系统中的软件,都必须使用具体的算法来实现。
算法设计与分析是计算机
科学与技术的一个核心
问题。
因此,学习算法无疑会增强自己的竞争力,提高自己的修为,
为自己增彩。
篇二:
算
算法学习心得:
算法这个词是在我在大学第一次C语言课上听到的,当时老师讲的是
程序=算法+数据结
构,算法是一个程序的灵魂。
当时我什么也不懂,不知道什么叫数据结
构5什么叫算法5它
们是干什么的我也不明白。
然而经历了大学四年的学习,现在的我对算
法有了一个较为清晰
的认识,对于它的作用也有了深刻的体会。
所谓算法简单来说就是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,也就是说算法告诉计算机怎么做,以此来解决问题。
同一个问题存在多种算法来解决它,但
是这些算法存在着优劣之分,好的算法速度快,效率高,占用空间小,差的算法不仅复杂难
懂,而且效率低,对机器要求还高,当然,有时候算法之间存在一种
互补尖系,有些算法效
率高,节省时间,但浪费空间,另外一些算法可能速度上慢些,但是空间比较节约,这时候我们就应该根据实际要求,和具体情况来采取相应的算法来解决问
题。
这学期算法课上我们主要讲了七部分内容.
第一章主要讲的是算法的基本概念,算法时间复杂度分析,算法的渐近
时间复杂度等内
容。
因为算法之间的比较就是通过时间复杂度和空间复杂度来来比较
的,第一章的主要目的
就是让我们学会去分析一个算法的复杂度,以后就可以通过对复杂度的
分析来评价算法的好
坏。
第二章讲的是分治法,任何一个可以用计算机求解的问题所需的计算时间都与其规模有
尖。
问题的规模越小,越容易直接求解,解题所需的计算时间也越少,分治法的设计思想就
是,将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而
治之。
在这一章中我们讲到了寻找第k个元素,矩阵相乘,寻找最近点对等几个使用分治法
的经典例子,最后还将讲到了傅里叶变换的问题。
以前我们学到的归并排序,二分搜索其实
也是基于分治法思想的。
能采用分治法来解决的问题通常有如下几个特征:
1)该问题的规模缩小到一定的程度就可以容易地解决
2)该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质。
3)利用该问题分解出的子问题的解可以合并为该问题的解;
4)该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子子问题。
在用分治法解决实际问题时,我们疑问究竟各个子问题的规模应该怎样才为适当?
从大
量实践中发现,在用分治法设计算法时,最好使子问题的规模大致相
同。
换句话说,将一个
问题分成大小相等的k个子问题的处理方法是行之有效的,这就是一种平衡的思想。
第三章主要讲动态规划问题。
这一章的内容我觉得是算法设计思想中最难,也最有趣的
这部分。
什么叫动态规划,动态规划的思想是什么?
动态规划采用自顶向下的方式分析问题,
自底向上的方式递推求值,将待求解的问题分解成若干个子问题,先求解子问题,并把子问
题的解存储起来以便以后用来计算所需要求的解。
简言之,动态规划的基本思想就是把全局
的问题化为局部的问题,为了全局最优必须局部最优。
多阶段决策问题是根据问题本身的特点,将其求解的过程划分为若干个相互独立又相互联系的阶段,在每一个阶段都需要做出决
策,并且在一个阶段的决策确定以后再转移到下一个阶段,在每一阶段选取其最优决策,从
而实现整个过程总体决策最优的目的”(引用)。
还记得期末考试中的最后一道尖于任意给定
一个数,从所给的牌中用最少的牌组成这个数,这个问题其实就可以用动态规划来解决。
本
科期间,在算法课上老师在动态规划这一章不布置的一个作业跟这个题目类似,当时的题目
是找钱问题,问题是这样描述的:
有n种不同面值的硬币,各硬币面值存于数组t[1:
n],现
用这些面值的钱来找钱,编程计算找钱m的最少硬币数及各个面值。
分析如下:
假设对于僅仁.亦,所需最少的硬币数count(i)已知,那么对于n,
所需的硬币数为min(count(i)+count(n-i)),i=1;于是一个直观的方
法是用递归计算。
但是,递归过程中,每次计算count(i),都会重复
计算count
(1)....count(i-1);这
样时间复杂度就是o(n);我们可以从1开始记录下每个钱数所需的硬币枚数,避免重复计
算,为了能够输出硬币序列,我们还需要记录下每次新加入的硬币。
F面给出用动态规划解决此问题的递推式:
参数说明:
当只用面值为
t[1],t[2],?
t[n]来找出钱j时,所用的硬币的最小个数记
为c(i,j),则c(i,j)的递推方程为:
运用这个递推式,我们可以从下往上
记录各个j所需要的应兵书i,最后当j=m时,所
对应的i就是我们要求的。
第四章讲的是集合算法,这一章的内容是我第一次接触,以前没有学
过。
这一章主要讲
了平摊分析'union-find,findingthedepth,以及2-3树等内容,平摊
分析教会我们如何
从整体的角度去更精确的分析算法的时间复杂度,union-findsets是一种简单的用途广泛
的集合,并查集是若干个不相交集合,能够实现较快的合并和判断元素所在集合的操作,一
般采取树形结构来存储并查集,并利用一个rank数组来存储集合的
深度下界,在查找操作时
进行路径压缩使后续的查找操作加速,findingthedepth确定深度问题。
为了既能求得各
点在原先树中的正确深度、又能使时间复杂度较小,需要使用具有路径压缩功能的
find-depth指令,同时还需要采取一些辅助手段来保证深度计算的正确性。
2-3树具有以下
几个特点:
1'任一内结点(非叶结点)均有2个或3个儿子。
2、从根到每片树叶的路径长度相等。
3、内结点中只存放便于查找的信息,而叶结点中存放原始数据。
第五章主要讲了随机算法。
在随机算法中,我们不要求算法对所有可能的输入均正确计
算,只要求出现错误的可能性小到可以忽略的程度。
另外我们也不要求对同一输入算法每次
执行时给出相同的结果。
我们所尖心的是算法在执行时,是否能够产生真正随机的结果。
有
不少问题,目前只有效率很差的确定性求解算法,但用随机算法去求
解,可以很快地获得相当可信的结果。
随机算法通常分为两大
类:
lasvegas算法、monte
carlo算法。
lasvegas算法总是给出正确的结果,但在少数应用中,可能出现求不出解的情
况。
此时需再次调用算法进行计算,直到获得解为止-montcarlo算法通常不能保证计算出
的结果总是正确,一般只能断定所给解的正确性不小于P(1/2vpv
1)。
通过反复执行算法
(即以增大算法的执行时间为代价),能够使发生错误的概率小到可以忽略的程度。
第五章还
讲到素数测试,其中介绍了相尖定理,重点讲了miller-rabin算法。
第六章介绍了计算模型,这一章主要介绍了有尖计算的一些本质问题,
randomaccess