编辑推荐
《嵌入式系统软件设计中的常用算法》:嵌入式系统软件设计基础丛书。
目录
第1章 常用线性方程组求解算法1
1.1 主元消去法1
1.1.1 无回代过程的主元消去法1
1.1.2 有回代过程的主元消去法8
1.2 行列式法12
1.2.1 行列式法概述12
1.2.2 三元线性方程组的行列式法13
1.3 应用实例16
1.3.1 数学模型分析16
1.3.2 算法设计18
1.3.3 程序设计20
第2章 常用代数插值和曲线拟合算法24
2.1 线性插值26
2.1.1 算法原理26
2.1.2 应用实例27
2.2 抛物线插值29
2.2.1 算法原理29
2.2.2 应用实例32
2.3 曲线拟合36
2.3.1 线性拟合算法及其应用实例38
2.3.2 抛物线拟合算法及其应用实例47
第3章 常用数值积分算法52
3.1 算法原理52
3.2 应用实例55
第4章 常用能谱处理算法58
4.1 谱曲线平滑58
4.1.1 算法原理58
4.1.2 算法程序60
4.2 谱峰定位61
4.2.1 算法原理62
4.2.2 算法程序62
4.3 能量刻度63
4.3.1 算法原理64
4.3.2 算法程序66
4.4 峰面积计算67
4.4.1 算法原理67
4.4.2 算法程序68
4.5 含量计算69
第5章 常用数字滤波算法70
5.1 程序判断滤波70
5.2 中值滤波74
5.3 算术平均滤波77
5.4 去极值平均滤波78
5.5 滑动平均滤波80
5.6 滑动加权滤波82
5.7 一阶滞后滤波83
5.8 数字滤波算法小结84
第6章 常用数理统计算法86
6.1 数据样品的正态分布86
6.2 均值和均方差的估算88
6.3 用数理统计方法消除粗大误差88
6.4 用数理统计方法计算线性相关系数91
第7章 常用自动控制算法93
7.1 简单阈值控制93
7.1.1 算法原理93
7.1.2 应用实例96
7.2 经典PID控制101
7.2.1 算法原理102
7.2.2 PID控制算法在应用中需要解决的问题106
第8章 常用数据排序算法108
8.1 归并排序108
8.1.1 算法原理108
8.1.2 算法程序109
8.1.3 改进的算法116
8.2 快速排序126
8.2.1 算法原理126
8.2.2 算法程序128
8.2.3 非递归算法程序130
第9章 常用数据压缩算法134
9.1 信源编码概述134
9.2 霍夫曼编码136
9.2.1 变长码136
9.2.2 霍夫曼编码原理139
9.2.3 霍夫曼编码算法程序141
9.3 批量采样数据的压缩编码147
9.3.1 紧凑压缩编码147
9.3.2 增量压缩编码150
9.3.3 预测压缩编码153
第10章 常用检错与纠错算法158
10.1 检错码158
10.1.1 检错原理158
10.1.2 奇偶校验160
10.1.3 和校验164
10.1.4 循环冗余校验(CRC校验)167
10.2 纠错码171
10.2.1 纠错原理171
10.2.2 汉明码171
10.2.3 检二纠一码177
10.2.4 抗突发干扰的措施186
参考文献189
序言
嵌入式系统在各行各业的应用越来越广,我国从事嵌入式系统开发的人员也越来越多,从国内主要的几种电子杂志上可以看出,有关嵌入式系统应用的文章也越来越多。
在开发一种嵌入式系统产品时,主要是做两方面的设计:硬件设计和软件设计。在硬件设计方面,各个半导体公司竞相推出各种高性能、低功耗、低成本的CPU和外围芯片,这使我们在进行硬件设计时可以很快地得到最先进的芯片。在这种情况下,硬件设计的外部条件越来越好,集成度越来越高,在实现相同功能的情况下线路越来越简化。在软件设计方面,虽然开发工具和程序设计语言也在不断提高,但技术人员本身的软件素质无疑起决定作用。因此,软件设计水平在嵌入式系统产品开发的过程中占有重要的地位,直接影响到产品的功能和竞争能力。
我国目前绝大多数从事嵌入式系统开发的技术人员基本上不是计算机专业毕业的,有的可能还没有上过大学,他们未接受过系统的软件基础理论教育,软件设计水平仍不太高。在软件开发过程中,他们只是不自觉地采用了一些规律性的设计方法,或者模仿别人的程序设计方法,而有更多成熟的基本方法没有掌握,开发出来的软件水平不高,致使产品的功能和可靠性受到一定的制约。
软件设计是一门科学,有其自身的规律,也有很多成熟的理论和算法。要学习就要选教材,而目前所能选到的都是专为计算机专业编写的教材。这些教材起点较高,偏重理论叙述,不考虑嵌入式系统的硬件特点,对于广大嵌入式系统开发人员来说不是十分适合,学起来会感到比较抽象和吃力。
出于提高我国广大嵌入式系统开发人员软件素质的愿望,我们决定编写一本适合自学的关于常用算法的书。该书起点要求不高,只要掌握了C语言、学习了“数据结构”有关知识并从事过嵌入式系统开发工作的人员就可以看懂。学完本书后,对软件设计中常用的算法就能初步掌握。在进行软件设计时,可以减少很多盲目性,并为更系统、更深入地学习其他计算机软件设计理论打下良好基础。
文摘
插图:
1.3 应用实例
智能仪器都有较强的数据处理能力,能够将传感器检测到的大量原始数据进行处理,从各种干扰背景中提取有用信息,并通过进一步的计算,按规定的格式直接输出人们需要的结果。在进行数据处理时,输出结果和输入的原始数据之间是一种函数关系,其中有若干个称为仪器系数的常量。由于仪器硬件性能的老化(主要是传感器性能的老化)和环境参数的变化,使得输出结果的精度也会发生变化,为了保持原有的精度,必须对仪器进行校正。校正的方法是对一个或若干个“标准样品”进行检测,看看输出结果的精度是否符合要求,如果误差超标就调整仪器系数,使之达到规定要求,这种通过对标样进行检测来校正仪器的过程称为“仪器的标定”。在过去的模拟电子仪器时代,仪器系数的校正一般是通过调节电位器(改变放大器的增益)来实现。在带单片机的智能仪器中,仪器系数已经数字化,可以通过键盘来修改。在这里,介绍一台便携式256道微机能谱仪的仪器系数自动标定算法,作为一个求解线性方程组的应用实例。这种算法在检测完已知的标样后能自动将仪器系数校正好,不需要人工介入。
喜欢嵌入式系统软件设计中的常用算法 [平装]请与您的朋友分享,由于版权原因,读书人网不提供图书下载服务