嵌入式linux 移植Imagemagick

项目中遇到图片转换,需要图片另存为功能. 通过查阅资料,Imagemagick 的convert命令工具可以实现图片转换;但是需要把Imagemagick 工具移植到嵌入式linux系统中; libbz2 库的交叉编译及移植 Imagemagick 采用的是ImageMagick-7.0.10-30,依赖libbz2.so.0;所以先在ubuntu 14.0系统上交叉编译libbz2库。 下载bzip2-1.0.6.tar.zip 下载路径 ​ 交叉编译参考 Read More

运放放大器——噪声说明

基于TI《运算放大器电路固有噪声的分析与测量》的分析与理解 运算放大器噪声一般来源于电源噪声、器件噪声、辐射噪声和应力噪声。 对于电源噪声,可以使用PSRR来分析。器件噪声则是运放自身噪声。辐射噪声为外部空间辐射噪声。应力噪声为机械运动造成的扰动。 运放受到的辐射噪声影响往往是串扰,空气中的辐射噪声衰减的很快且需要良好的耦合(天线效应)来接收。串扰一般是高频信号源或脉冲信号源与运放很近,导致信号与运放管脚耦合,引入了干扰。这种情况需要在布板的过程去避免。 应力噪声来自机械振动,造成器件或者管脚的振动,一般情况下不考虑(汽车、航空类需要注意)。 故运放的噪声主要来自电源、器件和运放本身。 Read More

运算放大器——参数说明

以AD8603为例,进行图、表参数解析 AD8603的参数表如下图所示。 输入特性 输入失调电压Vos 源于运放差分输入级两个管子不匹配所致,其结果是差分输入两端电压相同时,输出不为0。输入失调电压有温漂效应,故总的Vos需要加上温漂的结果。 Vos可看作一个共模输入电压,或者正端/负端的电压源,其为直流电压源。 AD8603的输入失调电压如图所示,根据6σ原则,90%分布在±50uV,60%在±12uV,温漂最大在1uV/℃左右。在共模电压为4. Read More

SAR ADC

TBD SAR ADC的另一个显著的特点是:功耗随采样速率而改变。这一点与闪速ADC或流水线ADC不同,后者在不同的采样速率下具有固定的功耗。这种可变功耗特性对于低功耗应用或者不需要连续采集数据的应用非常有利(例如,用于PDA 数字转换器)。 Σ-Δ转换器本质上是一种过采样转换器,总的说来,Σ-Δ转换器是利用分辨率非常低(1位)的ADC以极高采样速率对模拟信号进行数字化处理。但通过将过采样技术与噪声整形和数字滤波技术结合使用,使有效分辨率得以提高。然后,通过抽取过程降低ADC输出端的有效采样速率。 测试表明,要获得与经典PCM相同的品质,Δ调制要求采用非常高的采样速率,通常为最高目标频率的20倍,而非奈奎斯特速率(2倍)。 Reference Read More

为什么差分放大电路要考虑共模电压

上图为标准差分放大电路,差分输入,单端输出。 啥也不说,公式搞起。 可知,V1、V2端都加上了共模电压,如果共模电压很大,则无法实现电压跟随,Vin会被淹没在饱和电平中。V3和V4都会引入Vdc,同样会出现饱和问题。 共模电压会影响输入信号得范围,需要保证共模电压不会导致运放输出饱和。 Read More

ECG信号提取——前置滤波电路

由于ECG信号很微弱,处于mV级别,还有很多干扰信号,所以采集信号时需要进行滤波和放大处理,然后使用模数转换。为了滤波高频干扰和工频噪声,需要使用低通滤波器和陷波器抑制噪声,有时也要使用高通滤波器滤除低频噪声。信号滤除干净后有两种处理方式: 放大后进行ADC处理 使用高精度ADC采样 前者将信号放大几百倍,满足ADC的输入范围,这种情况用于低分辨率的ADC,比如16bit,大部分使用独立器件堆叠电路。 后者直接获取微弱信号,使用高分辨率ADC(一般为∑-ΔADC),比如24bit,精度可达到uV,一般使用集成器件。 在进入ADC之前的处理称为模拟前端。 根据ADI官网介绍,ECG信号的采集方式分为: Read More

运算放大器稳定性分析——零极点设计

根据相位裕度的定义,可知,Aolβ的0dB点的相位变化与180°的差就是相位裕度,此点对应的是Aol与1/β的交点(fcl)。按要求,相位裕度要大于45°,以防止其他原因(如寄生电容)导致增加零极点。如果相位裕度小于45°,出现零极点必然会出现相位变化大于180°。加入相位裕度为50°,即使出现零极点,最后也有5°的裕度,不会出现振荡。 以下图为例。 故1/β曲线只能下降到0dB。 那么1/β的最大值呢?假设1/β> Read More

C语言技巧

在C程序中,经常会用到结构体,需要获取结构体成员变量的值,获取结构体成员变量一般采用get接口方式,如果结构体成员比较多,就会每个成员对应一个get接口函数,可参考librdkafka的conf配置相关的代码,通过宏获取。 #define GETOFFSET(type,feild) ((size_t)&((type *)0)->feild) #define GETVALUE(value_type,base_ptr, Read More

运算放大器稳定性分析——运放等效电路

开环增益等效电路 由于运放内部由寄生电容,导致运放的相位并不是一直不变的,而是根据频率变化的。OPA364的开环增益如下图所示。 低频极点为25Hz,高频极点为25MHz。使用RC模拟极点,VCVS(压控电压源)隔离。等效电路如下图所示。 可见与Datasheet基本符合,但是在高频80MHz附近不完美,当然可以继续取180°的极点进行优化。这里不在赘述。 运放的输入阻抗 运放的输入阻抗跟结构有关,但是运放内部的阻抗很高,接近几百MΩ。如下图所示。 信号从正向端进入,使用正向放大电路,输入阻抗很高;信号从反相端进入, Read More

运算放大器稳定性分析——分析

前言 为什么极点/零点处增益变化3dB,相位变为90°? 以简单的低通RC电路为例,增益为A=Zc/(Zc+R),Aol=20lgA。 s域中定义了零极点,可见有极点,为-1/RC。 分析幅频特性w:+0->+∞的情况: w=0时,|C|=1=0dB,Θ=-arctang(0) Read More

解读交流耦合和直流耦合ECG电路

来源于ADI的一篇文档,关于交流耦合和直流耦合电路的介绍 心电信号的采集电路,从信号链的架构上可以分为两类:交流耦合、直流耦合。 交流耦合 交流耦合电路使用分立器件,使用电容的隔直功能将心电信号提取出来。基本架构如下图所示。 信号通过抗除颤、抗静电保护,经过低通滤除高频干扰,进入全差分放大电路低倍放大后,使用高通滤除低频干扰,然后经过高倍放大,最后进入低精度ADC转换为数字信号。 由于使用了电容的交流耦合功能,对于低频的肌电干扰、工频干扰和基线漂移抑制作用较低。因为高通的截止频率设置的为心电的最低频率0.1Hz左右,对于50Hz/60Hz、1Hz这种信号无法滤除,电路本身的缺点导致信号的质量不佳。 Read More

极化电压

对ECG测量中电极极化电压的解释 金属表面的离子与溶液中极性水分子相互吸引而发生水化作用便产生了电极电位。 金属离子进入溶液,电子留在表面。当金属溶解速度和金属离子的沉淀速度相等时,达到动态平衡,此时界面上的电位差称为金属电极电位(半电池电位)。 Ag+CL-=AgCl+e-,银与含氯离子的溶液会发生反应,其产生的电极电位比较稳定,约为223mV。 当电极与溶液间的界面形成的双电层在有电流通过时,界面间电位发生变化。变化剧烈的电极称为“高度极化电极”,否则称为“不极化电极”。 人体体内的微弱电流使电极极化,故要使用“不极化电极”,否则会产生极化电压,而这个极化电压不可预测。 Read More

ECG信号

仅用于ECG学习 2020年4月1日 心电信号 心电信号是人体心脏的心脏细胞的细胞膜产生的电势差,心房和心室肌在静止的间歇中,由于细胞内外离子(包括K+,Na+,Ca2+,cl-等)浓度差别很大,处于“极化状态”。一旦受到自搏细胞传来的激动,这极化状态便暂时瓦解,在心电图上称为“除极”(有少数学者称为“去极”),由此产生心电活动。心房肌的除极在心电图上表现为P波,心室肌的除极表现为QRS波群。当然在一次除极后,心肌又会恢复原来的极化状态,此过程称为“复极” Read More

IAR记录

原始文件目录变更 使用TI CC2650 SDK时,经常需要根据版本替换原始文件,导致工作量增大。可以通过使用记事本打开*.dep、*.ewd、*.ewp直接替换版本或者路径名称即可。 Read More

shell命令

获取本地eth0 IP地址和无线网卡wlan0 IP地址: eth0_IP=$(ifconfig eth0 | grep "inet " | awk '{print $2}' | cut -c 1-) wlan0_IP=$(ifconfig wlan0 | grep "inet " | awk '{print Read More