分页: 前一页 1 2 3 4 后一页

深入理解低功耗无线传感器网络标准

蓝牙、Wi-Fi和ZigBee在无线通信领域都有一席之地。但基于不同原因,上述几种技术都不太适合无线传感器网络应用。用于传感和控制应用的无线产品和技术正迅速变为现实。无线技术的大规模普及只是时间早晚的问题,但标准化组织和技术供应商在解决竞争方案和技术混乱等方面的工作尚未做到位。具体地讲,就是许多方案和技术对其适用范围语焉不详,从而造成了整个无序的局面。

最终用户和系统开发商有多种理由急需标准化,这些理由包括:符合全球管制的要求、各种供应商产品间互操作性的需要、有备用的第二个货源渠道、能进行货比三家式的砍价以及与大量知识接轨的可能等。但还有其他一些。一些技术的开发成本非常高,以至于必须通过大批量生产才能收回成本并盈利。若实现大批量,则全球市场的表现至关重要。标准是实现全球认知的一个极佳载体,是全球市场繁荣的助推剂。

无线传感器系统架构

无线传感器系统的基本架构包括三层,如图1所示。最底层的是无线收发器。在发射端,它负责将数字信息转换为无线电磁信号并经发射器传送出去;在接收端,它将接收到的电磁信号恢复成数字信号。在以往的无线技术中,发射器只管发射,接收器也仅能接收。现在,为了提高可靠性和性能,许多技术已将发射和接收设备整合在一起。

 0807A_SL2_F1
图1:无线传感器设备的基本架构。

芯片厂商需要通过大批量销售来获得盈利,而大批量需要涉及到全球市场。要想让全球性技术市场腾飞,历史证明,标准至关重要。上述判断对Wi-Fi无线网络 (技术上称为IEEE 802.11 a/b/g/n/)和蓝牙(基于IEEE 802.15.1规范中定义的标准)都适用。被无线个人局域工作组在2003年制定的IEEE 802.15.4 (a/b)标准统治的传感器网络也不例外。

上述三种技术定位于不同应用。Wi-Fi被认为是有线以太网PC通信的替代技术,即中心有个基站、PC就在中心附近的高数据速率网络(也即星型网络结构)。为了实现局部区域的高数据速率,Wi-Fi的功耗相当大,一般需要采用笔记本电脑的电池供电。

数据速率将随着与基站距离的增加而显著降低。蓝牙被认为与手机一起构成了众人注目的中心:它能把手机与耳机、GPS设备和笔记本电脑连在一起。1Mbps的蓝牙数据速率对传送音频是绰绰有余了,但它比Wi-Fi的数据速率起码低一个数量级。

但另一方面,蓝牙的功耗低,通常采用手机电池供电。一般来说,蓝牙的通信距离也比Wi-Fi短,当然,它也反映了手机一般就与耳机、笔记本电脑和GPS设备一起使用这个事实。

传感器应用有截然不同的需求,特别是在功耗方面:在采用钮扣电池或太阳能电池及振动发电采集器等环境能源的场合,传感器一般必须要工作发好几年,而传感器所用的电池无法象笔记本电脑或手机电池那样充电。

其他一些传感器特有的要求是由以下因素决定的,如可靠性、通信距离、在单一网络中所需支持的最大节点数以及自动网络组织需求等。不过较低的数据速率一般即可满足传感器网络要求,因为大多传感器产生的数据量并不大,而且一般并非连续输出。

对无线传感器收发器而言,IEEE 802.15.4规范可能是主要且可能唯一的实用标准。2003年批准了该规范的第一版,2006年进行了升级。目前有多家公司提供这方面的收发器芯片。其中一些芯片仅实现了该标准的很少部分。另一些芯片提供对某些应用来说有用的附加功能。例如,GreenPeak公司的GP-2000收发器就具有许多特别适用于钮扣电池和低电能应用的低功耗特性。

表1列举了IEEE 802.15.4标准的一些主要参数,并与蓝牙进行了比较。一直有人尝试着把Wi-Fi和蓝牙应用于传感器应用。在这两种场合,蓝牙和Wi-Fi都以非标准方式加以利用,从而过迂回实现了IEEE 802.15.4的基本原理。人们普遍承认,IEEE 802.15.4能为无线传感器应用提供最佳方案。

 0807A_SL2_T1
表1: IEEE 802.15.4标准及蓝牙的一些主要参数比较。

并非所有技术供应商都遵循IEEE 802.15.4标准。一些公司出于降低复杂性和成本的考虑,自己研制专用收发器。但这些专用方案是否能达到足以真正降低成本的批量尚待观察。另外,降低复杂性一般以牺牲性能为代价,因此限制了这些方案的使用范围。

网络堆栈

网络堆栈有两个职责。首先,它构成并维持该网络。特别是无线网络堆栈必须要能应对节点间的无线链接通信质量的频繁变化。例如,在建筑自动化应用中,走来走去的人(即一个人站在两个节点之间)会对链接质量带来很大影响。因此,网络堆栈必须考虑到链接随时都可能消失进而造成一个节点甚至整个网络分支被隔绝的情况。

 0807A_SL2_F2
图2:最主要的传感器网络堆栈标准示意图。

为防范干扰,网络堆栈必须能重新路由通信路径并建立新连接,以便为网络内所有部分提供不被打扰的连通性。网络堆栈的第二个职能是确保讯息可靠高效地从源节点发送到目标节点。高效意味着延时要求—消息的传输时间—应被满足,而且应避免在信息的路由行程中出现瓶颈。

无线传感器应用的范围很广,要求差异也很大,因此通信技术要有一定的灵活性。单靠硬件无法提供这种灵活性。它需要一个可编程堆栈,借此来减少前期投入并支持供应商以较低批量获得可观回报。目前,已出现了一些标准网络堆栈,另有一些在开发中,它们全都以IEEE 802.15.4为基础。

ZigBee联盟的影响

ZigBee联盟是由众多技术供应商和OEM支持的独立标准组织。该组织最近里程碑式的工作是 2007年底完成了对两个网络堆栈规范的定稿,这两个网络栈是:ZigBee和ZigBee PRO。从使用角度看,ZigBee堆栈很适合一般包含十到几百个设备的住宅“家庭”网络。ZigBee PRO是ZigBee的超集,它增加了一些功能,可对网络进行扩展并更好地应对来自其他技术的无线干扰。

这些特性使 ZigBee PRO很适合诸如商用建筑等大规模应用。目前来说,该功能需要越来越大的程序存储器空间,从而增加了成本,进而限制了ZigBee PRO在许多消费市场的应用。但归功于芯片成本的不断下降 ,我们预计,ZigBee和ZigBee PRO间的成本差异不久就会变得微不足道,届时,许多应用将采用ZigBee PRO。

ZigBee联盟并没明确要把工业应用排除在外。但若干大的工业自动化企业已经确认需要一些额外功能,而这些功能并不在ZigBee联盟考虑的要事之列。两个最主要的“工业”特性是确定的延时和确定的可靠性。

延时是信息从源到目的地所需时间。如果源是PLC、目的地是机器,则严谨地控制延时就很重要。这就是为什么明确以工业自动化为目标的那些标准在研发一种称为 “保证时隙”的IEEE 802.15.4特性,这一特性可以确保最坏情况下的信息延时。目前,ZigBee并没有使用保证时隙功能。确定的可靠性指的是在两个无线节点间提供有保证的通信信道的能力。

可靠性的主要敌人是来自相同无线频段其他用户的无线干扰。就工作在2.4GHz频段的IEEE 802.15.4设备来说,最主要的干扰源是Wi-Fi收发器。大多数干扰源并不彻底阻断IEEE 802.15.4设备。

但无论设备采用哪种网络堆,干扰确实会造成无线数据的丢失。为缓解数据丢失造成的影响,工业设备采用的无线标准提供了一种允许数据丢失按时间均匀分布的机制,从而令传输更具预见性也更可靠。

ISA-100和无线HART

ISA-100和无线HART是两个具有强劲推动力的工业无线自动化标准。ISA-100是专注于工业自动化的非盈利技术机构—仪器仪表、系统与自动化协会(ISA)开发的。ISA-100将在2008-2009年度推出一个标准规范。

无线HART不是一个完整工业传感器协议,而是用于工业自动化的历史悠久但很流行的HART工业(有线)总线标准的补充。本质上,无线HART是有线信息传输协议HART的替代技术。因ISA-100和无线HART本质上解决的问题相同,最近,它们联合起来检讨两个标准是否能合二为一。最初版本很可能不具互操作性且需要网络桥接(即两个系统间的转换器)。后续版本或许定义一种公共语言。

工业标准的性能增强也能转换为商业建筑自动化领域中的优势,但一般不是主要的。而且这种改进也增加了不菲的成本,从而限制了其在住宅和商业应用方面的使用前景。表2列出了上述一些商业和工业标准的特性。

0807A_SL2_T2
表2:部分商业和工业标准的特性比较。

专用无线技术

除标准无线传感器技术外,一些公司还有自己特有的专用技术。专用技术规范并非一定就是封闭的。它意味着一家公司控制了技术的方向,并将顺理成章地导致垄断。专用标准一般是为满足单一或有限应用而制定。实际上,专用技术的开发速度比标准技术快得多,因为它不必象标准技术那样要在不同公司间达成共识。

对一些特定应用来说,专用技术可能比标准技术更有优势。Zensys公司的Z-Wave和Cornis公司的Wavenis就是两种最著名的无线传感器专用技术。Z-Wave定位于住宅自动化,它最大支持237个节点就是例证。该节点数对家用而言是足够了,但无法满足诸如饭店和写字楼等大的商业机构的需求。 Wavenis虽然也面向其他应用,但主要还是应用于自动抄表系统。

即使在标准范围内,也存在许多技术差异化机会。例如, GreenPeak公司提供的兼容IEEE 802.15.4的收发器和堆栈,它们增加了非常适合超低功耗应用的功能特性。该技术支持无线系统以钮扣电池甚至环境能源(如太阳能电池、振动发电采集器或其他环境能源转换器)为工作电源。

GreenPeak还开发出了低功耗路由(LPR)技术,该技术有可能在不远的将来成为标准。在LPR网络内,电池供电设备可接收来自附近设备的信息并将其沿更长通信链路转发下去。目前的标准仅能在向主电源供电的设备提供这种功能。这是因为这些标准要求设备处在连续监听状态,因此功耗相当高。与此不同,LPR网络内的设备并不一直工作,它增加了一种时间同步机制,该机制可以把各个设备同时唤醒并启动通信,从而降低了功耗。

作者:Niek Van Dierdonck

策略与产品管理副总裁

Greenpeak公司

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

五个ADC/DAC基础教程PDF文档

来源:美国模拟器件公司

本系列文章分为5个部分,第一部分介绍采样的概念以及奈奎斯特(Nyquist)采样准则。第5部分同样也说明了如何运用欠采样和抗混叠滤波器。

第二部分解释ADC和DAC如何通过均衡误差、偏移误差和其它的直流误差而引入噪声。

第三部分,介绍实际ADC中的失真和噪声。

第四篇,介绍抖动、延迟和其它ADC中的误差。

第5部分,介绍DAC的性能,包括毛刺脉冲和滚降。

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

ADC/DAC设计经典问答五十六条

来源:美国国家半导体公司

1. 什么是小信号带宽(SSBW)?

小信号带宽(Small Signal Bandwidth (SSBW))是指在指定的幅值输入信号及特定的频率下,它的输出幅值比低频时的输出幅值下降指定值时,该特定频率为小信号带宽。

2. 什么是共模电压(VCM)?

共模电压(Common Mode Voltage (VCM ))是差动输入的两个引脚上相同的直流输入电压。

3. 什么是MSB(最高有效位)?

MSB(最高有效位(Most Significant Bit)),是具有最大的值或权重的位。它的值是满量程的一半。

4. 什么是采样(孔径)延时?

采样(孔径)延时(Sampling (Aperture) Delay)是时钟输入的后边缘到采样开关打开所需的时间。采样/保持电路有效地停止输入信号捕获,并进入“保持”模式,确定时钟延时后的采样。

5. 什么是满量程(FS)输入范围?

满量程输入范围(Full Scale Input Range),是指模数转换器上数字化的输入电压的输入范围,既不低于这个范围也不超过这个范围。比如 V REF + = 3.5V 和 VREF – = 1.5V, FS = (VREF + )-(VREF – ) = 2.0V。

6. 什么是时钟占空比?

时钟占空比(Clock Duty Cycle)是时钟波形高电平时间和一个时钟周期总时间的比值。

7. 什么是位的有效数(ENOB ,或有效位)?

位的有效数(ENOB ,或有效位)(Effective Number of Bits (ENOB, 或Effective Bits))是信噪比和失真的比率,或SINAD的另一种表达方法。 ENOB定义为(SINAD -1.76)/ 6.02,这个位数(ENOB)表示转换器是与理想的模数转换器等效。

8. 什么是增益误差?

增益误差是在第一个代码和最后一个代码发生转换时,实际输人电压与理想输人电压之差。即,这个差值是:满量程 – 2 LSB。

9. 许多模数转换器在数据手册中提供的应用,在Va, Vd 和Vref引脚上出现了三个电容。这三个电容器都是必须的吗?

根据特定器件和电路板的布局,一个或两个电容可能就足够了。较大的电容,通常是5到10?F的,提供了低阻抗大容量存储,在转换期间保证了电压的稳定性。较小值的电容器吸收较高频率的噪音尖峰。如果印制电路板具有非常好的布局用于低噪声工作,而且不包含一个微控制器或其他的嘈杂的数字逻辑,可能需要更少的电容器。但是为使ADC工作电平精度获得保证,一般情况下最好是遵循数据手册的推荐。

10. 什么是零误差?

ADC双级输出的零误差是理论的输入电压(典型的是中心值加1/2LSB)和实际输入电压之间的差异,这个实际输入电压引起了输出从0到1的转换。

11. 什么是输出保持时间?

输出保持时间是指在输入时钟边缘后输出有效数据的时间长度。

12. 什么是分辨率?

分辨率是模拟增量,相当于1 LSB转换器代码的变化。分辨率也被定义为转换器位数(n)的个数。数字代码的个数等于2^n,其中“n”是位的个数。举一个例子,一个12位转换器模拟信号和2 ^ 12 = 4096数字编码的映射关系。12位模数转换器的分辨率,是输入电压的满量程除以2^12,或4096,不会引起输出代码超出范围。

13. 什么是微分相位误差?

微分相位误差(Differential Phase Error)是指,小信号正弦波在两个不同的直流(DC)输入电平重构下,输出相位的差。

14. 什么是模/数转换器的动态指标?

模/ 数转换器的动态指标(Dynamic Specifications)涉及到那些交流(AC)输入信号。这些包括信/噪比(SNR),SINAD(信号噪声+失真),ENOB(有效位数),THD(总谐波失真),IMD(互调失真) ,FPBW(全功率带宽),SSBW(小信号带宽)。

15. 什么是互调失真(IMD)?

互调失真 (Intermodulation Distortion),是指没有出现在输入端,作为两个正弦曲线的频率同时作用于模数转换器的输入,而形成的额外的频谱成分。它被定义为在互调积中的能量和原始频率中的总能量比值。互调失真(IMD)通常用分贝(dB)来表示。

16. 什么是增益温度系数(满量程温度系数)?

增益温度系数(满量程温度系数)是指增益误差变化量和温度变化量的比值。通常用每百万分之/ 摄氏度(ppm/°C)表示 。

17. 什么是总谐波失真(THD)?

总谐波失真(THD),用dB或dBc表示,是指总的谐波电平( 美国国家半导体模数转换器是9个谐波段 )和输入信号的倍频出现在输出的电平。总谐波失真(THD)计算方法如下: THD=sqrt[ ( f2xf2 + f3xf3 + f4xf4 + f5xf5 + f6xf6 + f7xf7 + f8xf8 + f9xf9 + f10xf10) / (f1xf1) ] f1是输入信号的基频,f2 到f10这9个谐波频率是基频的倍频。

18. 什么是零刻度偏移误差?

单极输出模数转换器的零刻度偏移误差是指理想的输入电压(1/2 LSB) 和实际输入电压之间的差,引起输出代码由0到输出代码1的转换。

19. 什么是全功率带宽(FPBW)?

全功率带宽(FPBW)是指满量程输入在重构的输出基频下降到3分贝时低于其低频值的频率。

20. 什么LSB(最低有效位)?

LSB(最低有效位),是指所有位中最小的值或权值。这个值是m*VREF/2 n,其中:“ m ”为主,是基准量程因子(这是最常见的单位),其中“n”是模数转换器的分辨率。

21. 怎样才能消除模数转换器时钟线和控制线上的超调量和/或欠调量?

超调量和/或欠调量,是由高速信号边缘和不匹配信号终端混合引起的。增加一个47至100Ω电阻串联到输入,电阻要尽可能的靠近时钟源。目的是为了和时钟线上的信号阻抗匹配,输电线路也应该这样考虑。串联的终端用一个小的附加电源,为减少摆动效应通常是足够了。

22. 什么是输出延时?

输出延时是指输入时钟的后边缘到数据更新出现在输出引脚的延迟时间。

23. 什么是孔径抖动?

孔径抖动是指采样值间孔径延时的变化。孔径抖动作为输入噪声出现。

24. 什么是信号噪声及失真比(S/(N+D) 或 SINAD) ?

信号噪声及失真比(S/(N+D) 或 SINAD),用分贝表示(dB),出现在输出的输入信号的有效值和所有其他光谱成分的有效值的比值,频谱成分包括低于时钟频率一半频谱的谐波,但不包括直流。

25. 什么是满量程阶跃响应?

满量程阶跃响应,定义为VIN从VREF-变化到VREF+,或从VREF+变化到 VREF-,为转换器设定足够的恢复,并满足其额定精度的转换所需的时间。

26. 什么是通道延时(潜伏期)?

通道延时(潜伏期),是指转换启动到转换的数据出现在输出驱动级时之间的时钟周期的数量。数据对于任何给定的采样是可利用通道延时加上输出延迟后进行采样。每隔一个时钟周期,可得到新的数据,但数据落后于通道延时加上输出延时。

27. 什么是模拟 /数字转换器的静态指标?

静态指标是关于模数转换器的直流(DC )信号输入的指标。这些包括增益误差,偏移误差,以及微分与积分线性误差。

28. 什么是总不可调整误差(TUE)?

总不可调整误差(Total Unadjusted Error(TUE)),是指理想的情况下数字代码的中心和输入电压范围相关的电压的最大偏差。总未调整误差包括偏移误差,增益误差,以及微分与积分非线性误差。

29. 什么是满量程误差?

满量程误差,是最后代码的转换离理想的1个 1/2 LSB 以下VREF +到多大范围的测量,并定义为:VFSE =Vmax + 1.5 LSB – VREF + ,其中Vmax是转换为最大代码时的电压,可以用伏特表示,最低有效位或满量程范围的百分数。

30. 什么是孔径(Aperture)延时?

光圈延时: 请看采样(Aperture)延时。

31. 什么是微分非线性(DNL)?

微分非线性(DNL)是衡量1 LSB的理想步长最大偏差。 DNL常见的测量是基于带斜波的额定时钟频率的输入。

32. 什么是超过额定值的恢复时间?

超过额定值的恢复时间是指规定VIN从一个指定的正常输入范围外的电压到正常输入范围内的电压,并带有其转换额定精度转换器所需要的转换时间。

33. 什么是最低偏移?

最低偏移是指刚好引起输出代码转换为首代码的输入电压和负基准参考电压之差。最低偏移定义为EOB=VZT-VRB,其中,VZT是使首代码转换的输入电压,VRB是负的基准参考电压。注意,这和正常的最低偏移误差是有区别的。

34. 什么是量化误差?

量化误差是指在所有的模/数转换器中固有的误差。即使是一个“理想”转换器因只有有限的分辨率,在两个相邻的输出码之间的任何模拟电压,导致在输出的代码是不精确的,最高达1/2 LSB。这就是量化误差。

35. 什么是无杂散信号动态范围(SFDR)?

无杂散信号动态范围(SFDR)是一个差值,用分贝(dB)表示,是指在输出的输入信号有效值和最大杂散信号的差,其中杂散信号是指没有出现在输入端的频谱,却出现在输出中的任何信号。

36. 什么是比例运放?

比例运放使用基准参考电压是用于模数转换器(ADC)驱动信号源,就是信号源输出和独立的基准参考电压的比例。当驱动电压也被用来作为模数转换器的基准参考电压的一个来源时,模数转换器输出代码是信号源输出和基准参考电压的比例的一个函数,为了限制基准参考电压范围,模数转换器输出代码独立于基准参考电压的值。

37. 什么是最高偏移?

最高偏移是指正的参考电压和刚好引起输出代码转换到满量程的输入电压之间的差,定义为 EOT = VFT – VREF+,其中,VFT是满量程转换的输入电压,VREF+是正的参考电压。注意,这和满量程误差或满量程增益误差是有区别的。

38. 什么是差分增益误差?

差分增益误差(Differential Gain Error ),是指定的小信号,高频正弦波输入向两个不同的直流电平输入的输出振幅之间差的百分比。

39. 什么是转换延时?

转换延时: 请看通道延时。

40. 什么是积分非线性(INL) ?

积分非线性(Integral Non-Linearity (INL)) 是单个代码的最大偏差的测量,该单个代码来自于一条描述从零刻度或负满刻度(在首代码转换的1/2LSB以下)到正的满刻度(在最后一个代码转换的1个1/2 LSB)的线。通过运用重点测试方法,这个直线能够衡量任何给定代码和代码值中心的偏差。积分非线性是对斜波输入的额定时钟频率进行的普通测量。

41. 什么是转换时间?

转换时间是指模数转换器完全一个转换所需的时间。转换时间不包括采样时间,多路复用器设置时间,或完成一个转换周期的其他部分,转换时间可能少于吞吐量时间。

42. 什么是电源抑制比(PSRR) ?

电源抑制比(Power Supply Rejection Ratio),可分为两种规格。直流电源抑制比(DC PSRR )是特定参数的变化量(例如,满量程误差)和一个电源电压指定变化量的比值。交流电源抑制比(AC PSRR)是衡量一个电源上叠加的特定频率和振幅的信号,这个信号在输出上的输出振幅,和它在电源引脚上的振幅的比值。电源抑制比(PSRR)通常用分贝表示。

43. 什么是遗漏码?

遗漏码,是那些输出码被忽略的,或将永远不会出现在模数转换器输出的。这些码不能通过任何输入值。

44. 什么是吞吐量率?

吞吐率是模数转换器最高的连续转换率。

45. 什么是信噪比(SNR)?

信噪比(SNR)是一个比率,用分贝(dB)表示,出现在输出的输入信号的有效值和所有其他频谱成分(低于采样频率的一半,除谐波分量和直流分量外)总和的有效值的比率。信噪比 (SNR)是信号电平的有效值与各种噪声(包括量化噪声、热噪声、白噪声等)有效值之比的分贝数。其中信号是指基波分量的有效值,噪声指奈奎斯特频率以下的全部非基波分量的有效值(除谐波分量和直流分量外)。

46. 什么是吞吐时间?

吞吐时间是指转换器完成一次转换所花的时间。吞吐时间包括任何多路复用器的建立时间,采样时间,转换时间,输出显示时间。

47. 什么是直流共模误差?

直流共模误差(DC Common-Mode Error)是用于模数转换器的差分输入的一个规格。当两个输入上的模拟电压被改变相同的值时,发生输出代码的变化量。它通常用LSBs表示。

48. 什么是偏置误差?

ADC的偏置误差定义为使最低位被置成“1”状态时ADC的输人电压,与理论上使最低位被置成“1”状态时的输人电压之差。

49. 印制电路板的电源地是否应作为数字和模拟的共同地?

是的,他们应该是一样的。但是重要的是,要慎重给所有电源和信号布线以使地电流与电源和信号分开。

50. 印制电路板的多个地层应该如何被连接?

不推荐使用多个地层。最好是用单个、统一的地层。请参阅存档在线研讨会,标题为 http://www.national.com/AU/design/0,4706,0_15_,00.html “在混合信号和数字系统中控制噪声和辐射”。

51. 在印制电路板上没有电源层会有什么影响?

没有电源层降低了电源和地之间的耦合电容。这是这种办法的缺点。不过您仍可以为电源线使用大区域(极其宽的铜箔走线) ,但是如果要尽量最小化噪声,重要的一点就是让电路板上的模拟和数字电流在他们各自的区域里,这就是为什么我们建议电源走线,而不是电源层。

52. 在设计一个印制电路板时,把地层和电源层分开好吗?

如果你非常细心,把地层和电源层分开也是能够工作的。在不合适的地上布一个信号线,可引起噪音和电磁干扰问题。其中一个问题是,任何特定的路线可能有数字和模拟电流混合连接在一起。

53. 对于低频设计(低于1兆赫),印制电路板上的单个地层是否有优势?

答案是肯定的,单个地层有助于最大限度地减少电磁干扰的问题,而且对于低频用分割的地层,是比较容易做布局的。然而,使用单个地层要仔细注意电流流动,从而使你得到极好的性能效果,而最大限度地减少电磁干扰。

54. 当设计一个多层印制电路板时,对于和模拟电路相关的电源层和地层,一个好的放置顺序是怎样的?

对于四层板,好的顺序是信号走线在顶层和底层,地层在第二层(或第三层),电源布线(有时是其他布线)在第三层(或第二层)。对于六层板,第一层至第六层将按这个顺序:信号、地、电源(或信号)、信号(或电源),地、信号。

55. 许多模数转换器有一个大的输入尖峰信号。当试图用一个大的电容器去虑除它时,却得不到期望的转换结果。这是为什么呢?

当今大多数的模数转换器是采样输入的,当模数转换器在采样模式时,开关接通给一个输入电容器充电。在保持模式下,输入开关断开,这个输入电容器向内部的保持电容器转移电荷。当输入开关再次闭合时,输入电容器上的电荷已不是开关断开之前的值了,所以输入电流脉冲需要重新给那个输入电容器充电。结果在模数转换器的输入上就看到一个电压脉冲。不要试图完全过滤掉这个看作电流平均值的脉冲,否则可能因提供一个不准确的采样电压而有错误的转换结果。

56. "ppm"代表什么意思?我怎样才能把它转换成那些我们所熟悉的单位?

PPM是指"百万分之",或1/1,000,000,或 0.000001。它也等于0.0001%。 1ppm等价于1V分之1uV

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

IEEE计算机学会南京分会学术报告会转帖

IEEE计算机学会南京分会近期将举行2次学术报告会,信息如下。欢迎参加。

IEEE CS Nanjing Chapter

**************************************************************************************

3月5日(星期五) 15:00-16:15,  南京大学蒙民伟楼404会议室

题目: Reconstruction from Randomized Graph via Low Rank Approximation

报告人: Xintao Wu

              Associate Professor, University of North Carolina at Charlotte

摘要:The privacy concerns associated with data analysis over social networks have spurred recent research on privacy-preserving social network analysis, particularly on privacy-preserving publishing of social network data. In this talk, we focus on whether we can reconstruct a graph  from the edge randomized graph such that accurate feature values can be recovered. In particular, we present a low rank approximation based reconstruction algorithm. We exploit spectral properties of the graph data and show why noise could be separated from the perturbed graph using low rank approximation. We also show key differences from previous findings of point-wise reconstruction methods on numerical data through empirical evaluations and theoretical justifications.

报告人简介:Dr. Xintao Wu is an Associate Professor of Software and Information Systems Department at University of North Carolina at Charlotte. He got his Ph.D. in Information Technology from George Mason University in August 2001, an ME degree in Computer Engineering from the Chinese Academy of Space Technology in 1997, and an BS degree in Information Science from the University of Science and Technology of China in 1994.  His major research interests include data mining, data privacy and security, and social network analysis. Dr. Wu is an editor of Springer’s Journal of Intelligent Information Systems and Spanish Higher Research Council’s Transaction on Data Privacy, and serves on program committees of many international conferences, including KDD, ICDM, SDM, PKDD, and PAKDD. He is serving as the program co-chair of the 2nd International Symposium on Data, Privacy and E-Commerce (ISDPE’10). Dr. Wu is a recipient of NSF CAREER Award.

**************************************************************************************

3月8日(星期一) 10:30-11:45,  南京大学蒙民伟楼404会议室

题目: Spectrum based Fraud Detection in Social Networks

报告人: Xintao Wu

              Associate Professor, University of North Carolina at Charlotte

摘要:Social networks have reached an important role in people’s lifes. Unfortunately, social networks are vulnerable to various attacks such as spam emails, viral marketing and the such. In this work we develop a spectrum based detection framework to discover the perpetrators of these attacks. In particular, we focus on Random Link Attacks (RLAs) in which the malicious user creates multiple false identities and interactions among those identities to later proceed to attack the regular members of the network. We show that RLA attackers can be filtered by using their spectral coordinate characteristics, which are hard to hide even after the efforts by the attackers of resembling as much as possible the rest of the network. We present an effective algorithm to detect RLAs using the set of suspects filtered by their spectral characteristics.  Experimental results show that our technique is very effective in detecting those attackers and outperforms techniques previously published.

报告人简介:Dr. Xintao Wu is an Associate Professor of Software and Information Systems Department at University of North Carolina at Charlotte. He got his Ph.D. in Information Technology from George Mason University in August 2001, an ME degree in Computer Engineering from the Chinese Academy of Space Technology in 1997, and an BS degree in Information Science from the University of Science and Technology of China in 1994.  His major research interests include data mining, data privacy and security, and social network analysis. Dr. Wu is an editor of Springer’s Journal of Intelligent Information Systems and Spanish Higher Research Council’s Transaction on Data Privacy, and serves on program committees of many international conferences, including KDD, ICDM, SDM, PKDD, and PAKDD. He is serving as the program co-chair of the 2nd International Symposium on Data, Privacy and E-Commerce (ISDPE’10). Dr. Wu is a recipient of NSF CAREER Award.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

USB RS232 串口线驱动安装手记

首先方便搜索引擎:我的Device Instance ID是 USB\VID_058F&PID_9720\5&304642CC&0&1

77_1204361151

器件如上图所示,此图片不是我拍的,是一个Polish语的论坛里的。(可见此器件用的人好多啊)。

这是我N年前买的一根USB转串口线,从杂物堆里翻出来要用的时候,怎么都找不到驱动程序。还是在一个我看不懂的论坛里发现有用信息的,感谢google translator,然后注册了一个国外极多广告的下载站(好危险呀)。获得了如下程序。

驱动程序包 IOGEARS_USB_TO_DP9

本以为安装一下就可以了,怎奈安装程序本身就无法完成,重启N次,折腾N久。如果和我的遭遇相同,请按下述步骤操作,把目录\IOGEARS_USB_TO_DP9\Windows\system32\drivers下面的文件拷贝到对应的操作系统目录C:\WINDOWS\system32\drivers,把\IOGEARS_USB_TO_DP9\Windows\system下的文件也拷到操作系统对应目录,然后在找到新硬件的界面选择驱动程序的inf文件目录为IOGEARS_USB_TO_DP9\Windows\inf,这样驱动程序就可以装载完成了。

虽然只省了十块钱左右,还是很有成就感的,呵呵。

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

ZigBee ISM 频带传输距离估算

转自http://www.eet-china.com/ART_8800599398_617687_TA_64fb7edb.HTM

作者:Shreharsha Rao
德州仪器
900MHz 和2.4GHz 频带的短距无线装置设计人员须能根据公式了解那些参数
会影响及如何影响传输距离,并将这些参数运用在公式中,以便透过统计方
法计算室内和户外环境的路径损耗及传输距离。
随着家庭、建筑和工业应用走向无线化,短距无线装置正成为众人关注的焦
点。这些应用通常采用专属或以标准为基础的做法,例如900MHz 和2.4GHz
ISM(工业,科学和医疗)频带的ZigBee。由于短距无线装置日益流行,终
端系统设计人员也须深入了解无线通讯的传输距离。本文讨论无线讯号传
播,并建立模型来估算短距无线装置在室内环境的路径损耗及传输距离。设
计人员可利用这些模型初步估算无线通讯系统的效能。
在探讨距离估算公式前,设计人员必须了解无线信道和讯号传播环境。无线

电信道是发射机与目标接收机之间的传输路径,它具有随机和时变特性,故
很难建立模型,这与固定和可预测的有线通道极为不同。因此,设计人员必
须使用统计模型来分析这些随机通道。
无线电波传播模型传统的重点是预测发射机外特定距离的平均接收讯号强
度,以及某个位置附近的讯号强度变化。无论发射机与接收机的距离为何,
大尺度传播模型都能预测其平均讯号强度,这对估算发射机的传送距离很有
用。相形之下,小尺度或衰落模型则能分析接收讯号强度在数个波长距离内
的快速变化。本文主要讨论大尺度传播模型,它能用来估算无线传输距离。
当发射机与接收机之间没有任何阻碍,并能直接看到对方时,就能利用自由
空间传播模型来预测接收讯号强度。自由空间传播模型预测接收讯号强度会
随着发射机与接收机之间距离的n 次方而衰减,这个函数关系又称为幂次法
则函数。当接收机天线与发射机天线之间有段距离时,它所接收的自由空间
功率是由下列Friis 自由空间方程式决定:

详细内容参考附件:

转自EETChina的文档EECOL_2010MAR02_RFD_TA_01.pdf

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

模拟电路采集的精度

转自yzhu05的博客http://forum.eet-cn.com/BLOG_ARTICLE_3118.HTM

  这几天翻阅检测技术的时候,发现一个问题,我们在计算模拟电路采集后精度的时候,往往都是按照AD转化后的数值计算的。通常的做法是求出物理量比如电压值单片机采样值的函数:
  ADC=F_transfer(V,p1,p2,p3,p4)
  得出
  采样后的典型值 ADC_nm
  采样后的最大值 ADC_mx
  采样后的最小值 ADC_mn
  求取的精度是按照
  ACC_l=(ADC_mx-ADC_nm)/ADC_nm
  ACC_u=(ADC_mn-ADC_nm)/ADC_nm
  实际上这并不是完全正确的,因为我们知道AD转化后的值,软件是通过一定的算法转化成原物理量的,比如最简单的方法是无误差的反函数:
  V=f_rever(ADC)
  然后将ADC_mx和ADC_mn转化成V_t_mx,和V_t_mn,真正的精度应该是:
  ACC_l=(V_t_mx-Vin)/Vin
  ACC_u=(V_t_mn-Vin)/Vin
这是因为AD的典型值往往并不是无误差的理想函数,而是由电路的典型值所组成的。这就导致了我们用前一种方法计算出来的误差上下边不一致的情况发生。
  值得我们关注的是,软件中可能并不是使用公式来整理的,如果采用查表的方式进行,用ADC的精度就更加无法整理出系统的精度了。因此统一折成原物理量来计算精度是必由之路,这个例子可以用热电阻的精度来表示,因为热电阻本身具有的非线性是很难体现在ADC数值之中的,ADC的值主要反映的是热电阻的调理电路本身的误差。因此这点也是我们需要牢记的。
  在汽车电子上面,模拟量一般有电阻,电压,和电流,这些物理量的控制和检测需要我们小心的去处理的,(一部分诊断的输出口也是占用单片机AD资源的大户,前面已经谈过了HSD诊断的三段线性化,软件拟合的误差也需要反映在整个精度上)

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

[转载]简单蚁群算法的实现

本文转载自http://blog.chinaunix.net/u1/34560/showart_312651.html

引言

蚁群算法(ant colony optimization,ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型技术。它由Marco Dorigo于1992年在他的博士论文中引入,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。蚁群算法是一种模拟进化算法。初步的研究表明该算法具有许多优良的性质。针对PID控制器参数优化设计问题,将蚁群算法设计的结果与遗传算法设计的结果进行了比较,数值仿真结果表明,蚁群算法具有一种新的模拟进化优化方法的有效性和应用价值。蚁群算法是一种求解组合最优化问题的新型通用启发式方法,该方法具有正反馈、分布式计算和富于建设性的贪婪启发式搜索的特点。正因为蚁群算法有这些优点,很多研究者都在致力研究和改过它,本文的目的正是为了介绍蚁群算法,学习如何编写蚁群算法。

蚁群算法的介绍

昆虫世界中,蚂蚁的组成是一种群居的世袭大家庭,我们称之为蚁群。蚂蚁分为世袭制的蚁王(后)和工蚁两种,它们具有高度组织的社会性,彼此沟通不仅可以借助触觉和视觉的联系,在大规模的协调行动中还可以借助外激素(有些书称信息素)之类的信息介质。

首先我们要理解蚂蚁是如何觅食的,蚂蚁平时在巢穴附近作无规则行走,一量发现食物并不立即进食而是将之搬回蚁穴与其它蚂蚁分享,在食物小时则独自搬回蚁穴,否则就回蚁穴搬兵,一路上会留下外激素,食物越大外激素的浓度就越大,越能吸引其它的蚂蚁过去一起搬去食物,这样最终就能将食物全部搬回蚁穴。这个过程用程序实现看似非常复杂,要编写一个“智能”的蚂蚁也看似不太可能,事实上每个蚂蚁只做了非常简单的工作:检查某个范围内有无食物,并逐渐向外激素浓的方向运动。简而言之,蚁群运动无非是同时反复执行多个简单规则而已。下面详细说明蚁群中的这些简单规则:

1、范围:蚂蚁观察到的范围是一个方格世界,蚂蚁有一个参数为速度半径(一般是3),那么它能观察到的范围就是3*3个方格世界,并且能移动的距离也在这个范围之内。

2、环境:蚂蚁所在的环境是一个虚拟的世界,其中有障碍物,有别的蚂蚁,还有外激素,外激素有两种,一种是找到食物的蚂蚁洒下的食物外激素,一种是找到窝的蚂蚁洒下的窝的外激素。每个蚂蚁都仅仅能感知它范围内的环境信息。环境以一定的速率让外激素消失。

3、觅食规则:在每只蚂蚁能感知的范围内寻找是否有食物,如果有就直接过去。否则看是否有外激素,并且比较在能感知的范围内哪一点的外激素最多,这样,它就朝外激素多的地方走,并且每只蚂蚁多会以小概率犯错误,从而并不是往外激素最多的点移动。蚂蚁找窝的规则和上面一样,只不过它对窝的外激素做出反应,而对食物外激素没反应。

4、移动规则: 每只蚂蚁都朝向外激素最多的方向移,并且,当周围没有外激素指引的时候,蚂蚁会按照自己原来运动的方向惯性的运动下去,并且,在运动的方向有一个随机的小的扰动。为了防止蚂蚁原地转圈,它会记住最近刚走过了哪些点,如果发现要走的下一点已经在最近走过了,它就会尽量避开。

5、避障规则:如果蚂蚁要移动的方向有障碍物挡住,它会随机的选择另一个方向,并且有外激素指引的话,它会按照觅食的规则行为。

7、播撒外激素规则:每只蚂蚁在刚找到食物或者窝的时候撒发的外激素最多,并随着它走远的距离,播撒的外激素越来越少。

根据这几条规则,蚂蚁之间并没有直接的关系,但是每只蚂蚁都和环境发生交互,而通过外激素这个纽带,实际上把各个蚂蚁之间关联起来了。比如,当一只蚂蚁找到了食物,它并没有直接告诉其它蚂蚁这儿有食物,而是向环境播撒外激素,当其它的蚂蚁经过它附近的时候,就会感觉到外激素的存在,进而根据外激素的指引找到了食物。成功的觅食算法正是最小化搜索食物的时间。

蚁群算法的实现

理解蚁群算法的实质之后写出一个简单蚁群算法也不是太困难,关键是实现以上介绍的几个规则,下面用JAVA简单讲述一下以上规则的实现。

1、蚂蚁:蚂蚁是蚁群中最小的单位,是所以简单规则应用的最小个体。

 

1
2
3
4
5
6
7
8
9
10
11
12
public class Ant
{
    public Square SQUARE;           //蚂蚁所在方格
    public Food CARRYING = null;    //所搬的食物数
    public int ID;                  //蚂蚁的编号
    public boolean HELPING = false; //是否帮忙搬运食物
 
public void move(int turn)
{
    //蚂蚁移动到下一个方格
}
}

2、范围:蚂蚁所在的方格应该包含附近的方格编号,所含食物数量,蚂蚁数量,外激素的浓度,以及坐标等信息。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class Square
{ public Square NE;            //附近的8个方向的方格
 
     public Square N;
     public Square NW;
     public Square W;
     public Square SW;
     public Square S;
     public Square SE;
     public Square E;
     public LinkedList ANTS;        //本方格中包含的蚂蚁
     public Food FOOD;            //本方格中包含的食物数
     public Nest NEST;                //方格为蚁穴
     public Pheromone_1 PHEROMONE_1;            //本方格中的外激素含量
     public int X;            //本方格的坐标
     public int Y;
     private World WORLD;            //所属的环境
     public boolean WALL;            //是否有障碍物
 
    public Square(int x, int y, World world)
    {
        FOOD = null;
        NEST = null;
        PHEROMONE_1 = null;
        X = x;
        Y = y;
        WORLD = world;
        WALL = false;
        ANTS = new LinkedList();
    }

3、环境:环境是由多个方格组成的,是一个平面的,因此用一个方格的二维数组来表示是最合适不过的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class World
{
    private Square[][] WORLD;        //定义环境二维数组
    private int WIDTH;                //环境的长宽
    private int HEIGHT;
    private Pheromone_1List P1LIST;        //保存所有外激素的列表
 
    public World(Pheromone_1List p1list)
    {
        this.WIDTH = Settings.WIDTH;
        this.HEIGHT = Settings.HEIGHT;
        this.P1LIST = p1list;
        WORLD = new Square[WIDTH][HEIGHT];
    }

     4、觅食规则,移动规则和避障规则:这三种规则全都跟蚂蚁的移动方向有关,并在移动前都要先计算周围方格的外激素浓度,选择外激素浓度最高的方格方向移动。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
private Square chooseBestSquare()
{
     Square[] square_list = {SQUARE.E, SQUARE.NE, SQUARE.N, SQUARE.NW, SQUARE.W, SQUARE.SW, SQUARE.S, SQUARE.SE};
        double current_best_value = 0;
        double value = 0;
        Square square = SQUARE;
        // 选择最好的方格
 
        for(int i=0;i<square_list.length;i++)
        {
            value = calculateSquareValue(square_list[i]);//计算方格值
            if(value > current_best_value)
            {
                current_best_value = value;
                square = square_list[i];
            }
        }
        if(square.ANTS.size() >= Settings.MAXIMUM_NUMBER_OF_ANTS)
        {
          return SQUARE;
        }
        return square;
    }

1
2
3
4
5
6
7
8
9
10
11
12
private double calculateSquareValue(Square s)
{
    double[] thresholds = Settings.THRESHOLDS;
    if(s==null || s.WALL) // 方格有障碍物
    {
        return -100000;
    }
 
    // 计算方格中各项参数的值
    return s.getFood()*thresholds[0]        // 食物
    + s.getPheromone_1() * thresholds[1]    // 外激素
}

5、播撒外激素规则:每只蚂蚁找到食物后会根据食物的数量播撒相应量的外激素,以便其它蚂蚁能够更快得找到这堆食物。

1
2
3
4
5
private void putPheromone_1(double amount)
{
    if(SQUARE.getPheromone_1() < Settings.PHEROMONE_LIMIT)
     SQUARE.addPheromone_1(amount);
}

从以上蚁群算法中各个要素的代码来看,实现蚁群算法并不难。每只蚂蚁并不是像我们想象的需要知道整个环境的信息,它们只关心很小范围内的眼前信息,而且根据这些局部信息利用几条简单的规则进行决策,这样,在蚁群这个集体里,复杂性的行为就会凸现出来。这就是人工生命、复杂性科学解释的规律。

蚁群算法的不足

本文实现的蚁群算法只是简单的大致模拟蚁群的觅食过程,真正的蚂蚁觅食过程远比这个复杂,比如增加蚂蚁搬运食物的距离和数量,蚂蚁在搬运食物发现更大的食物可能会丢弃原有食物,还可以增加蚂蚁搬运食物回蚁穴的最短路径的求解。同时需要注意的是,由于蚁群算法觅食的过程,蚁群算法可能会过早的收敛并陷入局部最优解。

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Birthday Eve.

There are only couple hours before my next year of age.  In retrospect, I wonder if I waste too much life.  Sometimes I did mess. After all, It isn’t that bad. I got a wonderful wife, built an acceptable career. Everything should move on.

There is a dream always in my mind. I can do more, I can do better.

In next year of age, I may gain several great achievement in my life. My wife is planning to become pregnant. So I may become a expecting dad this year. Meantime, I may make some huge progress in my career. And of course, I also planning to contribute more to software community.

Happy birthday to me. :)

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

IE一个有趣的功能-把10进制数转换为IP地址

不小心把一串数字拷贝进了IE地址栏然后回车,发现自动转到了一个IP地址.我想是不是IE自动换算的能? 于是把本站的IP地址98.143.155.188换算为16进制

98 –> 62

143-> 8F

155-> 9B

188-> BC

然后再把0×628F9BBC换算为十进制 1653578684, 输入地址栏,回车,bingo,自动转到了IP地址98.143.155.188.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
分页: 前一页 1 2 3 4 后一页