为了在LabVIEW平台下更方便的处理非均匀采样的心电信号,文中研究了心电信号的时域和频域插值算法。首先采用了拉格朗日插值法、牛顿插值法、埃尔米特插值法和三次样条插值法等四种时域插值方法,从算法精度、内存消耗和时间消耗三个方面做比较,得出埃尔米特插值法最为合适。最后又提出一种频域插值法:补零傅里叶频域插值法,来弥补原始心电信号频域分辨率不足的缺点。
上传时间: 2013-11-05
上传用户:qitiand
在选矿分析过程中,矿浆浓度和细度检测是重要的工艺因素,直接影响着选矿的技术经济指标。用C8051F350单片机控制高精度5 kg、分辨率1 g的称重传感器,根据所测得的质量、浓度壶的体积及矿石的比重,经过运算得到矿浆的浓度,筛分后再根据浓度进一步测算出矿浆的细度,用2.5英寸高亮度OLED汉字显示所有的测量参数,菜单程序自校准,能保证较高的精度,软、硬件设计采用模块化设计思想,系统可靠性高。
上传时间: 2013-11-19
上传用户:hustfanenze
阐述了目前三维成像在其常见应用领域中的研究,主要致力于研究高分辨率三维成像系统。三维激光成像是一项可以应用于探测隐藏目标、地形测绘、构建虚拟环境、城市建模、目标识别等领域中的技术。在区域成像技术中,除了如立体视觉和结构化灯光等更常规的技术,实时三维传感也具有现实可操作性。当前三维激光成像技术已经发展到有能力提供厘米级波长的高分辨率三维成像,这将给许多领域提供方便,包括法律的实施和法医调查。与CCD和红外技术等传统的被动成像系统相比,激光成像技术不仅能提供强度和范围信息,还能穿透植被和窗户等特定情景元素。这意味着激光三维成像系统在目标识别与辨认等方面具备新的潜力。结果表明,激光三维成像系统可以在许多情况下得到应用。
上传时间: 2013-10-31
上传用户:wushengwu
PCM-8506BS是一款基于PC/104总线的高性能同步采样多功能数据采集卡,它完全遵循PC/104总线规范。该采集卡采用了每通道专用的模数转换器(ADC)和信号处理电路的硬件架构,每个通道都有强大的处理能力和出色的精准度,可同步采样多路模拟信号,可以实现直流和动态信号测量的高度准确性。PCM-8506BS具有每通道600kSPS的同步采样速率,16位分辨率,2路模拟量输出、8路数字I/O和2个定时/计数器。其每个模拟量输入通道均有抗混叠滤波器以改善频域分析性能,有丰富的触发采集模式和触发源供选择,适用于多种高要求的数据采集场合,包括:电网监测、多相电机控制、高瞬变信号采集等。
上传时间: 2013-10-17
上传用户:bnfm
检测系统的基本特性 2.1 检测系统的静态特性及指标2.1.1检测系统的静态特性 一、静态测量和静态特性静态测量:测量过程中被测量保持恒定不变(即dx/dt=0系统处于稳定状态)时的测量。静态特性(标度特性):在静态测量中,检测系统的输出-输入特性。 例如:理想的线性检测系统: 如图2-1-1(a)所示带有零位值的线性检测系统: 如图2-1-1(b)所示 二、静态特性的校准(标定)条件――静态标准条件。 2.1.2检测系统的静态性能指标一、 测量范围和量程1、 测量范围:(xmin,xmax)xmin――检测系统所能测量到的最小被测输入量(下限)xmax――检测系统所能测量到的最大被测输入量(上限)。2、量程: 二、灵敏度S 串接系统的总灵敏度为各组成环节灵敏度的连乘积 三、 分辨力与分辨率1、分辨力:能引起输出量发生变化时输入量的最小变化量 。2、分辨率:全量程中最大的 即 与满量程L之比的百分数。四、精度(见第三章)
上传时间: 2013-11-15
上传用户:yy_cn
近年来电脑虚拟仪器的发展很快。在飞速发展的计算机技术支持下,“软件即仪器”的理念得到了充分的发挥。计算机加软件配合合适的AD/DA界面和传感器/控制器,就可以完成形形色色的传统仪器的所有功能,应用领域遍及现代科技的各个方面,大有星火燎原之势。而且由于其成本较低,升级容易换代快,维护简单,特别是数据的采集、分析、管理做到了智能化,大大提高了工作效率,在科研、计量、工控、自控等应用上特别受青睐,发展势头已将传统仪器远远抛在了后面,并将持续下去。但是一般的虚拟仪器对于普通电子爱好者来说仍然是太昂贵了,而且由于通用的虚拟仪器要考虑高速信号,往往采用高速低分辨率的AD/DA芯片,一般分辨率只能达到8至12位,这对于电子爱好者常用的音频领域恰恰不够精确。在现代多媒体电脑上,声卡已经成为一个必不可少的重要组成部分,它给我们提供了丰富多彩的视听娱乐和有声交流功能,使“多媒体”的名称名副其实。但是你是否知道,利用声卡高精度的AD/DA变换界面,加上合适的软件,就可以构成功能十分强大的音频(超音频)虚拟仪器呢?并且,如果使用足够好的声卡,配合比较简单的扩展设备和传声器/放大器,再选用本文介绍的软件,将是目前音频虚拟仪器的最强、最佳选择。限于篇幅和时间,本文主要介绍一些原则性的测试方法,期望起到抛砖引玉的作用,给有兴趣的爱好者引个路。具体的应用还需要大家不断学习、探索,详细的软件应用方法将在2004年《无线电》杂志以及本站连续刊登介绍。1.声卡的选择声卡担负着模拟信号进出大门的重任,其性能如何,对虚拟仪器的精度有着最直接的影响,因此选择合适的声卡是非常有必要的。从分辨率看,一般电脑多媒体声卡为16位,取样频率为44.1/48KHz,而现在的主流中高档声卡大多具备了96KHz/24bit的取样精度,好的专业声卡甚至能达到输入/输出兼备的192KHz/24bit取样精度。从音频处理的技术指标看,许多质量良好的廉价声卡已经超越了一般模拟仪器,而高档的专业声卡更是具有极其优异的指标。这也不奇怪,因为专业声卡本身就是为专业的录音、监听、音频处理而设计的,是音频传播的门槛,理应具有良好的素质。例如,顶级的专业声卡频率响应可以从几Hz平坦地延伸到数十KHz至接近100 KHz,波动在正负0.1dB以下,噪声水平在-110dB以下,动态范围大于110dB,总谐波失真和互调失真远小于万分之一,通道分离度能达到100dB……这样的声卡已经超越了绝大多数模拟设备的指标,足以应付最苛刻的应用要求,也足以胜任高精度电脑音频虚拟仪器的要求,乃至于数十KHz的超声波研究。当然了,顶级的专业声卡价格昂贵,一般相当于一套主流电脑的价格,大多数业余爱好者不能或不愿承受,但比起模拟测试仪器来说还是便宜很多,而且软件升级没有限制。不过近来电脑音频设备市场看好,许多专业声卡厂家推出了“准专业”声卡进军多媒体市场,素质良好,支持多声道,价格也便宜很多,用途广泛,很适合业余爱好者选用。如果再“抠门”一点,精选百元级优质声卡也是可以应付一般的声学测量的,因为我们知道声学测量的瓶颈一般在于传声器而不是电路。当然这时最好对声卡模拟电路进行“打摩”如更换运放和输出电容等,以得到更好的效果。介绍一些具体的声卡品牌。顶级声卡首选Lynx Two/Lynx 22,据笔者所知是目前世界上指标最优秀的声卡,价格一千美元左右。类似的其它专业声卡有RME,比Lynx还贵(主要因为支持的声道数多)。另外如果单为测试用,一些专业的测试用AD/DA界面设备也可用(例如Sound Technology公司的产品),不过可能更昂贵,而且功能少,指标也未必更强,但好处是可以找到USB接口型的,可配合笔记本电脑使用。这类声卡可以进行精确的电路测试,如作为其它声卡、碟机、功放等设备的输入输出参考标准进行测量,声学测试更是不在话下。
上传时间: 2013-10-13
上传用户:zhengjian
超声波传感器适用于对大幅的平面进行静止测距。普通的超声波传感器测距范围大概是 2cm~450cm,分辨率3mm(淘宝卖家说的,笔者测试环境没那么好,个人实测比较稳定的 距离10cm~2m 左右,超过此距离就经常有偶然不准确的情况发生了,当然不排除笔者技术 问题。) 测试对象是淘宝上面最便宜的SRF-04 超声波传感器,有四个脚:5v 电源脚(Vcc),触发控制端(Trig),接收端(Echo),地端(GND) 附:SRF 系列超声波传感器参数比较 模块工作原理: 采用IO 触发测距,给至少10us 的高电平信号; 模块自动发送8个40KHz 的方波,自动检测是否有信号返回; 有信号返回,通过IO 输出一高电平,高电平持续的时间就是超声波从发射到返回的时间.测试距离=(高电平时间*声速(340m/s))/2; 电路连接方法 Arduino 程序例子: constintTrigPin = 2; constintEchoPin = 3; floatcm; voidsetup() { Serial.begin(9600); pinMode(TrigPin, OUTPUT); pinMode(EchoPin, INPUT); } voidloop() { digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去TrigPin delayMicroseconds(2); digitalWrite(TrigPin, HIGH); delayMicroseconds(10); digitalWrite(TrigPin, LOW); cm = pulseIn(EchoPin, HIGH) / 58.0; //将回波时间换算成cm cm = (int(cm * 100.0)) / 100.0; //保留两位小数 Serial.print(cm); Serial.print("cm"); Serial.println(); delay(1000); }
上传时间: 2013-11-01
上传用户:xiaoyuer
注:1.这篇文章断断续续写了很久,画图技术也不精,难免错漏,大家凑合看.有问题可以留言. 2.论坛排版把我的代码缩进全弄没了,大家将代码粘贴到arduino编译器,然后按ctrl+T重新格式化代码格式即可看的舒服. 一、什么是PWM PWM 即Pulse Wavelength Modulation 脉宽调制波,通过调整输出信号占空比,从而达到改 变输出平均电压的目的。相信Arduino 的PWM 大家都不陌生,在Arduino Duemilanove 2009 中,有6 个8 位精度PWM 引脚,分别是3, 5, 6, 9, 10, 11 脚。我们可以使用analogWrite()控 制PWM 脚输出频率大概在500Hz 的左右的PWM 调制波。分辨率8 位即2 的8 次方等于 256 级精度。但是有时候我们会觉得6 个PWM 引脚不够用。比如我们做一个10 路灯调光, 就需要有10 个PWM 脚。Arduino Duemilanove 2009 有13 个数字输出脚,如果它们都可以 PWM 的话,就能满足条件了。于是本文介绍用软件模拟PWM。 二、Arduino 软件模拟PWM Arduino PWM 调压原理:PWM 有好几种方法。而Arduino 因为电源和实现难度限制,一般 使用周期恒定,占空比变化的单极性PWM。 通过调整一个周期里面输出脚高/低电平的时间比(即是占空比)去获得给一个用电器不同 的平均功率。 如图所示,假设PWM 波形周期1ms(即1kHz),分辨率1000 级。那么需要一个信号时间 精度1ms/1000=1us 的信号源,即1MHz。所以说,PWM 的实现难点在于需要使用很高频的 信号源,才能获得快速与高精度。下面先由一个简单的PWM 程序开始: const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { if((bright++) == 255) bright = 0; for(int i = 0; i < 255; i++) { if(i < bright) { digitalWrite(PWMPin, HIGH); delayMicroseconds(30); } else { digitalWrite(PWMPin, LOW); delayMicroseconds(30); } } } 这是一个软件PWM 控制Arduino D13 引脚的例子。只需要一块Arduino 即可测试此代码。 程序解析:由for 循环可以看出,完成一个PWM 周期,共循环255 次。 假设bright=100 时候,在第0~100 次循环中,i 等于1 到99 均小于bright,于是输出PWMPin 高电平; 然后第100 到255 次循环里面,i 等于100~255 大于bright,于是输出PWMPin 低电平。无 论输出高低电平都保持30us。 那么说,如果bright=100 的话,就有100 次循环是高电平,155 次循环是低电平。 如果忽略指令执行时间的话,这次的PWM 波形占空比为100/255,如果调整bright 的值, 就能改变接在D13 的LED 的亮度。 这里设置了每次for 循环之后,将bright 加一,并且当bright 加到255 时归0。所以,我们 看到的最终效果就是LED 慢慢变亮,到顶之后然后突然暗回去重新变亮。 这是最基本的PWM 方法,也应该是大家想的比较多的想法。 然后介绍一个简单一点的。思维风格完全不同。不过对于驱动一个LED 来说,效果与上面 的程序一样。 const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { digitalWrite(PWMPin, HIGH); delayMicroseconds(bright*30); digitalWrite(PWMPin, LOW); delayMicroseconds((255 - bright)*30); if((bright++) == 255) bright = 0; } 可以看出,这段代码少了一个For 循环。它先输出一个高电平,然后维持(bright*30)us。然 后输出一个低电平,维持时间((255-bright)*30)us。这样两次高低就能完成一个PWM 周期。 分辨率也是255。 三、多引脚PWM Arduino 本身已有PWM 引脚并且运行起来不占CPU 时间,所以软件模拟一个引脚的PWM 完全没有实用意义。我们软件模拟的价值在于:他能将任意的数字IO 口变成PWM 引脚。 当一片Arduino 要同时控制多个PWM,并且没有其他重任务的时候,就要用软件PWM 了。 多引脚PWM 有一种下面的方式: int brights[14] = {0}; //定义14个引脚的初始亮度,可以随意设置 int StartPWMPin = 0, EndPWMPin = 13; //设置D0~D13为PWM 引脚 int PWMResolution = 255; //设置PWM 占空比分辨率 void setup() { //定义所有IO 端输出 for(int i = StartPWMPin; i <= EndPWMPin; i++) { pinMode(i, OUTPUT); //随便定义个初始亮度,便于观察 brights[ i ] = random(0, 255); } } void loop() { //这for 循环是为14盏灯做渐亮的。每次Arduino loop()循环, //brights 自增一次。直到brights=255时候,将brights 置零重新计数。 for(int i = StartPWMPin; i <= EndPWMPin; i++) { if((brights[i]++) == PWMResolution) brights[i] = 0; } for(int i = 0; i <= PWMResolution; i++) //i 是计数一个PWM 周期 { for(int j = StartPWMPin; j <= EndPWMPin; j++) //每个PWM 周期均遍历所有引脚 { if(i < brights[j])\ 所以我们要更改PWM 周期的话,我们将精度(代码里面的变量:PWMResolution)降低就行,比如一般调整LED 亮度的话,我们用64 级精度就行。这样速度就是2x32x64=4ms。就不会闪了。
上传时间: 2013-10-23
上传用户:mqien
由于开发时间创促,未对分辨率进行分类考虑,所以强烈推荐1024X768下面运行。 (对于winXP操作系统,可以正常运行,但是会发现速度很慢,具体问题有待解决。对于 其他操作系统有可能出现不可预料的问题) 控制键 1P:方向键 w s a d 开火: j 2P:方向键 上 下 左 右 开火: 小键盘0 本游戏内置15种彩蛋,具有一定趣味性,但需要慢慢体会。 由于为了节约空间,所以去掉了背景图,并把一些图片地效果改低,唯一优点就是小
标签:
上传时间: 2015-01-14
上传用户:kytqcool
列出所有的显示模式并列表出来,通过单击列表来改变显示分辨率。
标签: 模式
上传时间: 2015-01-22
上传用户:exxxds