年度归档: 2022 年

28 篇文章

模数转换的应用
AD的概念及性能指标 AD概念:将连续的模拟信号转换为离散的数字信号的器件。 转换时间:AD完成一次转换所需要的时间,其倒数为转换速率。 分辨率 输出模拟量最小变化程度的指标(32上的为12位)。12位,满量程5v分辨率为:5 /(2^12)=1.22mv 量化误差 量化过程引起的误差 理论上规定为一个单位分辨率的-1/2 --- +1/2LSB …
STM32学习笔记
32简介 32的内核是ARM 32位的Cortex-M3。 启动模式 内置flash:主闪存,对应着烧写到flash的用户程序 系统存储器:对应着系统的启动代码,将采用串口1下载代码到flash。使用串口下载代码时使用 内置SRAM:访问SRAM GPIO 一个GPIO端口至少需要两个寄存器,一个做控制用的“通用I/O端口控制寄存器”,还有一个是存…
SVD,PCA,ICA的分析
奇异值分解(SVD) 奇异值分解是将矩阵分解为奇异向量(singular vector)和奇异值(singular value)。奇异值分解将原矩阵$A$分解为三个矩阵的乘积: $$A{mn}=U{mm}D{mn}V{nn}^{T}$$ 其中矩阵$U$和$V$为正交矩阵,$D$为对角矩阵。$D$对角线上的元素称为$A$的奇异值,$U$的列向量被称为…
简单的波形发生器
同相加法电路 求和电路分为同相和反相。反相需要再加一个负号。图中未反相加法电路,其计算公式为:$-v{\mathrm{o}}=\frac{R{3}}{R{1}} v{\mathrm{i} 1}+\frac{R{3}}{R{2}} v_{\mathrm{i} 2}$因此要计算两个波形相叠加,需要改变电路中阻抗的阻值。 同相放大电路 根据虚短 Vp=V…
算法笔记·5-排序与查找
查找 线性(顺序)关系:数据项保存在列表这样的集合中。 顺序查找:按照顺序来访问和查找数据项;针对无序表当所要找的数据不在表中时查找需要遍历整个列表,而对于有序表可以设置一个提前结束标志减少计算量。但无论是有序表还是无序表其算法复杂度都为O(n)。 二分查找(binary search):对于有序表可以从中间项开始匹配,不断缩小表的规模知道找到数据…
算法笔记·6-树
非线性数据结构; 包括根,枝,叶三部分;也可以说由节点(node)和边(edge)组成; 层次化,各个子节点之间独立每个叶节点具有唯一性; 树中所有节点的最大曾经称为树的高度根节点所在的层级为0。 树的实现 嵌套列表实现 子树结构与树相同,是一种递归数据结构。 atree=['a',['left',[],[]…
算法笔记·4-递归
开头的碎碎念 个人认为,递归算法是一种十分优美的算法。它总是能够用十分短小的代码长度来解决许多复杂的问题。前端实际,在看快速傅里叶变换(FFT)时,看到递归算法仅用极小的代码量即可实现复杂的理论,内心感到十分的震撼。 将一个分问题不断拆分成更小的相同问题,其在算法上的特点就是调用自身。 结束条件 减小规模 调用自身 递归调用的实现:函数每次调用将现…
算法笔记·3
队列(queue) 队列的特征:先进先出(FIFO) 队列仅有一个入口和出口。添加数据处为尾端,移除数据处为首端。 队列的操作 如果将list的首端作为队列尾端,list的末端作为队列的首端。enqueue()的复杂度为O(n),dequeue()的复杂度为O(1)。 首位倒过来时复杂度也倒过来 双端队列(deque):队首和队尾都可以进行加入和移…
算法笔记·2
基本数据结构 线性结构(linear structure) 有序数据项的集合 每个数据项都有唯一的前驱和后继(第一个和最后一个除外) 根据数据项增减的方式构成了数据结构 栈(Stack)--仅在表尾进行插入和删除操作的线性表 队列(Queue)--只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作 双端队列(Deque…
算法笔记·1
抽象数据类型(ADT) 是对数据进行处理的一种逻辑描述,并不设计如何实现这些处理。 递归 编写递归代码要注意的三点: 递归总有一个最简单的情况---方法的第一条语句总是包含 return 的条件语句。 递归调用总是去尝试解决一个规模更小的子问题,这样递归才能收敛到最简单的情况。 递归调用的父问题和尝试解决的子问题之间不应该有交集。 算法分析 算法和…