第 5 章 信源 信源(source)是产生信息的实体。在物联网无线节点中,传感器是一种信 源。物联网无线节点使用无线通信技术,把信源产生的信息传送到一个或多个 目的地。 传感器种类繁多,其输出既有数字信号,1所示, 也有模拟信号。如图5.对 于传感器输出的模拟信号,需要先经过数字化过程转换成数字信号,以便于后 续的处理与传输。为了抑制信号中的某些频率分量,可以对信号进行进一步处 理,例如滤波。在发送端传输数字信号之前,还可以对数字信号进行数据压缩 编码,以减小传输的数据量。在接收端进行相反过程,即解码,也可对信号进行 滤波等处理。 图5.传感器信号与处理 1 本章首先讲述传感器的分类与特性,其次讲述信号的概念、模拟信号数字 化过程以及信源编码方法,最后讲述频域与滤波的概念,并通过两个仿真实验 加深读者对采样频率、频域、噪声、滤波的理解。 5.传感器 1 物联网中使用的无线节点,从供电角度看,大致可以分为无源节点和有源 节点两类。无源节点多基于RFID 技术,由读写器天线发射的磁场或电磁场通 过无线节点(标签)的天线来为节点提供工作时所需的能量。有些无源节点上 也配有传感器和处理器。有源节点多使用无线传感器网络等技术,通常具备传 感器、处理器、无线收发器等部件,通过自带电池等方式供电,可以支持更远距 离的无线数据传输。不论物联网无线节点使用RFID 技术,还是使用无线传感 器网络等技术,都是使用无线通信技术进行无线数据传输,只不过侧重点与技 术复杂度略有不同。 第5章信源71 不论是无源节点还是有源节点,在采集客观世界的数据时,都离不开传感器。本书 3.1节从硬件与应用的角度对传感器做了初步讲解,本节将进一步从分类与特性指标的 角度讲解传感器。由于节点自身的特点,物联网无线节点中倾向于使用能耗较低、尺寸不 大、数据传输率不高的传感器。 5.1.1传感器的分类 可被测量的客观世界变量多种多样,相应地,传感器也种类繁多。从不同的角度,传 感器可被划分为不同的类别。从被测量的角度,传感器可分为物理量传感器、化学量传感 器以及生物量传感器。物理量传感器的分类趋于成熟,化学量传感器和生物量传感器的 新产品不断涌现。国家标准GB/T36378.1—2018 中给出了物理量传感器的分类,如 表5.1所示。化学量传感器和生物量传感器包括气体、氧气、湿度、结露、露点、水分、离 子、氢离子浓度、pH值、DNA 、葡萄糖、尿素、胆固醇、血脂、谷丙转氨酶、血型、生化需氧 量、谷氨酸、血气、血液pH、血氧、血液二氧化碳、血液电解质、血钾、血钠、血氯、血钙、血 压、食道压力、膀胱压力、胃肠内压、颅内压、心音、体温、皮温、血流、呼吸、呼吸流量、呼吸 频率、细胞膜电压、细胞膜电容等传感器。 表5.1物理量传感器的分类 被测量类别具体被测量被测量详细划分 力学量传感器 压力传感器 绝压传感器 表压传感器 差压传感器 重力传感器 张力传感器 应力传感器 应变传感器 力矩传感器 扭矩传感器 转矩传感器 位移传感器 线位移传感器 角位移传感器 速度传感器 线速度传感器 角速度传感器 转速传感器 流速传感器 加速度传感器 线加速度传感器 角加速度传感器 振动传感器 冲击传感器 72 物联网无线通信原理与实践 续表 被测量类别具体被测量被测量详细划分 流量传感器 质量流量传感器 体积流量传感器 位置传感器 物位传感器 姿态传感器 测距传感器 力学量传感器 尺度传感器 厚度传感器 角度传感器 倾角传感器 表面粗糙传感器 密度传感器 黏度传感器 硬度传感器 温度传感器 热学量传感器 热流传感器 热导率传感器 热扩散率传感器 激光传感器 可见光传感器 红外光传感器 紫外光传感器 照度传感器 光学量传感器亮度传感器 色度传感器 光谱传感器 图像传感器 能见度传感器 浊度传感器 磁学量传感器 磁场传感器 磁通量传感器 第5章信源73 续表 被测量类别具体被测量被测量详细划分 电流传感器 电学量传感器电压传感器 电场传感器 超声波传感器 声学量传感器声压传感器 噪声传感器 微波传感器 X射线感光器 α射线传感器 射线传感器β射线感光器 γ射线传感器 射线剂量传感器 从转换原理的角度,传感器可分为物理传感器(包括电阻式、电容式、电感式、压电式、 磁电式、热电式、光电式、谐振式、声波式、辐射式等)、化学传感器和生物传感器三大类。 从是否需要外部电源的角度,可分为无源传感器(例如热电偶、电磁麦克风、压电传感器、 光电二极管等)和有源传感器(例如碳麦克风、热敏电阻、应变计、电容式和电感式传感器 等)。从绝对与相对测量的角度,可分为绝对传感器(例如热敏电阻测量绝对温度)和相对 传感器(例如热电偶测量温度差)。从输出信号类型的角度,可分为模拟传感器(输出为模 拟信号)和数字传感器(输出为数字信号)。 5.2 传感器的基本指标 1. 理想的传感器应具有以下特点。 (1)仅对被测量敏感。 (2)输出与输入之间具有唯一的、稳定的对应关系。 (3)输出可实时反映输入的变化。 实际中,传感器本身结构、电子电路器件、电路系统结构以及各种环境因素都可能会 影响传感器的整体性能。 如果传感器的输入与输出之间存在某种对应关系,且对应关系不随时间发生变化,则 可用传递函数来描述这个对应关系:y=f()。其中, x 为传感器的输入, xy 为传感器的 输出。大多数传感器具有线性传递函数: y=a0+a1x (5-1) 式中,a1 为实数。线性传递函数的斜率a1 被称为传感器的灵敏度(sensitivity a0,)。对 于一些复杂的传感器,其非线性的传递函数不易求得,需做近似计算,例如用代数多项式 74物联网无线通信原理与实践 逼近,即 y=a0+a1x+a2x2+a3x3+…+anxn(5-2) 式中,a0,a1,…,an为实数。在许多情况下,n可以取2或3。也可使用线性分段逼近做 近似计算,即把非线性传递函数分解为多个部分,每个部分视为线性。在n≥3时,可使 用样条插值做近似计算。对于非线性传递函数,灵敏度定义为传递函数的一阶导数。当 传感器的输出取决于多个输入时,传递函数可能是多个变量的函数。例如湿度传感器,其 输出取决于相对湿度和温度两个输入变量。 不会引起不可接受的较大误差的传感器输入x的范围称为满量程(FullScale,FS )。 在最大输入和最小输入下测得的传感器输出y之间的代数差,称为满量程输出(Full- ScaleOutput,FSO )。传感器在测量范围内可以检测到的输入的最小变化量,称为分辨 力(resolution)。分辨力可以用最小变化量的典型值、平均值或最大值来表示。能使传感 器的输出产生可测变化量的最小输入值,即零点附近的分辨力,被称为阈值(threshold)。 传感器的一个重要技术指标是准确度(accuracy),这实际上意味着不准确度。不准 确度是指传感器的输出值与真实值之间的最大偏差。不准确度可用多种方式衡量,例如 绝对误差和相对误差。绝对误差为测量值与真实值的差。当误差独立于输入信号振幅 时,常用此形式。相对误差为绝对误差与真实值的比。精度(precision)是指在相同的条 件下反复测量相同的输入时,传感器给出相同输出的能力。精度描述这些测量读数之间 的一致性,而这些读数不一定接近真实值。精度是准确度的必要条件,但不是充分条件。 实际中,真实值具有不确定性,因为无法完全确定真实值是多少。每个传感器都不是 理想的,其性能也存在不确定性。无论单次测量的准确度有多高,即测量值与真实值有多 接近,都无法保证测量值确实是准确的。由于实际传感器无法实现理想的传递函数,因此 会产生一些类型的偏差,这些偏差会影响传感器的准确度,具体偏差如下。 (1)滞后(hysteresis)误差。滞后是指传感器的输出因其输入是在增大过程中还是 减小过程中达到同一输入值而有所不同。由此产生的传感器输出偏差称为滞后误差。 产生滞后现象的主要原因是传感器机械部分存在不可避免的缺陷,包括材料结构变 化等 ( 。 2)非线性误差。传感器的实际传递函数与理想的线性传递函数之间存在偏差,由 此产生的传感器输出偏差称为非线性误差。 (3)灵敏度误差。实际传感器的灵敏度可能与理想值有所不同,由此产生的传感器 输出偏差称为灵敏度误差。 (4)偏移量误差。如果传感器的输出值与真实值相差一个常数,则传感器存在偏移 量误差。 (5)动态误差。由被测量随时间的快速变化而引起的传感器输出偏差称为动态 误差。 此外,传感器输出还会受到噪声等随机误差的影响。传感器也会受到漂移(drift)的 影响。传感器的输出发生与被测量无关的、不需要的缓慢变化,称为漂移。它通常与传感 器材料的老化有关,即材料某些方面的性能发生不可逆的变化。环境温度的变化也可能 引起漂移。漂移表现为传感器的灵敏度、零点等特性随时间或温度发生变化。 第5章信源75 当传感器的输入随时间快速变化时,传感器通常不能始终立即做出响应。传感器的 这种与时间有关的特性,被称为动态特性。在控制系统理论中,通常通过常系数线性微分 方程来研究传感器的动态特性。 5.2信号 传感器输出的模拟电压信号、脉宽调制(Pulse-WidthModulation,PWM)信号、串行 数字信号都是信号。 信号是信息的一种物理表示方式,是数据的传输载体。信号按物理属性分为电信号 和非电信号。本书中提及的信号指的是电信号。电信号的基本形式是随时间变化的电压 或电流。信号可以分为确定信号、随机信号、连续信号、离散信号、模拟信号、数字信号、周 期信号、非周期信号等。在数学上,信号可表示为一个或多个自变量的函数。 在任意给定时刻t,都有确定的函数值f(t),这样的信号称为确定信号。反之,在任 意给定时刻t都具有随机值的信号,称为随机信号。 在连续的时间范围内有定义的信号,称为连续信号。这里的连续是指函数的定义域 (时间变量)是连续的,其值域可以连续也可以不连续。若仅在一些离散的时间点才有定 义的信号,则称为离散信号或序列。离散点的时间间隔Tn=tn+1-tn可以相等也可以不 相等,在通信中通常取等间隔,即Tn=T,n∈ZZ。离散信号可表示为f(nT),简写为 n∈ Z 。 函数值也是连续值的连续信号称为模拟信号。函数值是连续值的离散信号称为采样 信号。函数值为离散值的离散信号称为数字信号。 定义在(-∞,∞)区间,每隔一定时间T(或整数 N ),按相同规律重复变化的信号, 称为周期信号。不具有周期性的信号称为非周期信号。对于连续的周期信号,满足式(5-3) 的最小 T 称为该连续周期信号的周期。 f(=f(m=0,±1,±2… 53) t) t)t+mT) 的周期为1/f, ( f(n),其中 n 是序号, 例如,正弦信号f(=Asin(2πft+φ) f 为其频率, A 为振幅, φ 为 初始相位。同样,对于离散的周期信号,满足式(5-4)的最小整数 N 称为该离散周期信号 的周期,即 f(n)=n+mN ) 0,±1,±2… ( f(m=54) 例如,正弦序列f(=iπ的周期为2。 n)sn(n) 由法国数学家、物理学家傅里叶(Fourier)发起的研究发现,任何周期函数都可以用 由正弦函数和余弦函数构成的无穷级数来表示。周期为1/ f 的周期信号f(的傅里叶 t) 级数分解为 ∞∞ f(= c ancs(nft) + Σbnsi2πft) 55) t)o2πn(n( n=1 n=1 式中、bn ———傅里叶系数 2; + Σ c/2(n) (a) ———周期信号的直流分量。 例如,周期为1/ f 的方波(即在每个周期的前半个周期内函数值为1,后半个周期内 76物联网无线通信原理与实践 函数值为-1)的傅里叶级数为 f(t)=4 πsin(2πft)+4 3πsin(6πft)+4 5πsin(10πft)+… (5-6) 式(5-5)表明,构造任意周期信号需要无限多个正弦函数和余弦函数叠加,这些函数 (即谐波)的频率随n的增加而增高,并且都是基频f的倍数。对于通信而言,若要在发 送端和接收端之间传输任意的周期信号,则需要在信道中传输无限多个频率任意高的正 弦波信号,这就要求信道的带宽无限大。而实际上,任何介质,包括空气、电缆以及发射机 的带宽都是有限的,无法支持传输无限多个频率任意高的正弦波信号。这也是为何数字 信号(方波)不能直接通过无线信道传输的原因。 因此在实际中,人们仅使用有限个正弦函数和余弦函数来构造信道中传输的周期信 号(也是模拟信号)。可以将传输信号视为一个正弦波信号或多个不同频率正弦波信号的 叠加。 5.3模拟信号数字化 由于物联网无线节点的处理子系统一般使用处理器处理数据,因此传感器输出的模 拟信号须先经过ADC转换为数字信号后再输入处理器。从数学上看,模拟信号转换为 数字信号的过程有3个步骤,即采样、量化和编码,如图5.2所示。 图5.模拟信号数字化 2 (1)采样。模拟信号被采样,成为采样信号。采样是指在一系列离散的时刻,对模拟 信号采集其样值,得到一系列模拟信号在这些时刻的函数值。在通信中,通常采样的时间 间隔相等,这个时间间隔记作Ts。近些年发展起来的压缩感知(compresedsensing)技 术支持不等时间间隔采样。 通过采样所得到的模拟信号在一系列离散时刻上的采样值,显然与输入的被采样模 拟信号不一样,只包含该模拟信号波形中的一部分值。那么,这是否意味着仅通过采样后 第5章 信源 77 得到的一系列离散时刻上的采样值,无法准确恢复出被采样的模拟信号? 实际上,在采样时间间隔Ts 满足一定条件时,可以由采样后得到的采样值准确恢复 出被采样的模拟信号。奈奎斯特-香农采样定理(Nyquist-Shannonsamplingtheorem)指 出:若模拟信号f(t)的最高频率不超过fH赫兹,则当以采样时间间隔Ts≤1/2fH(即采 样速率fs≥2fH)对其采样时,模拟信号f(t)将被这些采样值完全确定。这个最低的采 样频率2fH 被称奈奎斯特速率,与此对应最大的采样时间间隔1/2fH 被称为奈奎斯特间 隔。在满足这个条件时,可以用一个截止频率为fH 的理想低通滤波器(也称重建滤波 器)从采样信号中恢复出被采样的模拟信号。由于理想低通滤波器不可实现,实际的采样 频率通常比奈奎斯特速率大一些,甚至数倍于奈奎斯特速率。 (2)量化。采样值仍是一个取值连续的变量,即它可以有无数个可能的连续取值。 如果用N 个二进制位来表示采样值的大小,则最多可表示M =2N 个不同的数值。为了 能够用这N 个二进制位来表示所有的采样值,把采样值的取值范围划分成M 个不重叠 的区间,将落在每个区间内的采样值用同一个数值qi 来表示,i=0,1,…,M -1。这个过 程称为量化,这些区间称为量化区间。量化有多种方式,包括均匀量化(即均匀划分每个 量化区间)和非均匀量化(即每个量化区间的划分并不均匀)、标量量化(即每次量化一个 采样值)和矢量量化(即每次量化多个采样值)等。常见的标量均匀量化器包括中线(midtread) 量化器和中升(mid-riser)量化器,前者的输入输出关系式为 Q(f(kTs))= f(kTs) Δ +12 ·Δ =i·Δ (5-7) 式中 f(kTs)———模拟信号f(t)在第k 个采样时刻的采样值,k∈Z,Ts 为采样时间 间隔; i———M 个量化区间的索引,i=0,1,…,M -1; Δ———均匀量化的量化步长,也称为量化间隔; .·.———向下取整,.x+1/2.表示对x 四舍五入。 该式表明,采样值被与其距离最近的量化步长的整数倍(即量化值)所替代,如图5.2 所示。从图5.2可以看出,采样值与其量化值之间通常存在一定的差异,这个差被称为量 化误差。显然,对于同一输入信号,量化区间越多,即M 越大,量化误差越小。 (3)编码。即把量化后的每个量化值都映射为一个二进制数值。在图5.2中,采样 信号经过中线量化器量化后,量化值i·Δ 被编码为量化区间索引i 的二进制数值,这种 码被称为自然二进制码。上述将模拟信号转换为二进制数字信号的方法称为脉冲编码调 制(Pulse-CodeModulation,PCM)。PCM 通常在ADC上实现。 至此,模拟信号被转换为数字信号。 5.4 信源编码 在物联网无线节点中,减少无线传输的数据量有助于降低节点与网络的能耗(见3.2 节)。如能减少传感器产生的数据量,则可减少无线节点通过无线传输的数据量。因此, 可以对5.3节中模数转换后的数字信号做进一步编码(即数据压缩),以减少冗余。数据 78物联网无线通信原理与实践 压缩是减少数据量的过程。当然,编码与解码过程也会给处理器带来一些运算量,从而增 加物联网无线节点的能耗,是否做数据压缩是一个时空复杂度与能耗的折中考虑。 信源编码,是将信源产生的消息编码为二进制码字的过程。信源是产生信息的实体, 在物联网无线节点中,传感器是一种信源。消息是信息的具体体现形式,信息是消息中所 包含的有效内容。信源编码有两个目的:①将任意信源消息唯一地映射为一个二进制码 字,包括将信源产生的模拟信号转换成数字信号(见5.3节);②有效地将信源消息映射 为最紧凑的二进制码字,即数据压缩。与信源编码对应的相反过程,称为信源解码。信源 编码与信源解码之间的部分,即编码后数据的传送通道,称为编码信道,如图5.3所示。 其中,信宿(sink)是接收信息的实体。 图5.3编码信道 先考虑一个数学问题。假如甲同学每次从1、2、3、4四个数字中随机抽出一个,且每 个数字每次被抽到的概率都相等(即每个数字被抽到的概率都是0.25 ) 。乙同学不知道甲 同学每次抽到的数字,只能通过向甲同学提问的方式获取有关数字大小的线索,而甲同学 对乙同学的提问只能回答“是”或者“否”。那么,乙同学为了完全确定甲同学每次抽出的 数字,需要针对每次抽出的数字平均至少提问几次? 显然,乙同学在提问时可以把这四个数字平均分成两组,从甲同学回答的“是”或“否” 中,获知甲同学抽到的数字在哪一组中,然后再向甲同学提问这组两个数字中的一个是否 为甲同学抽到的数字,从而总是可以通过两次提问完全确定甲同学抽到的数字。 5、 如果这四个数字被甲同学抽到的概率不完全相等,例如1被抽到的概率为0.2被 抽到的概率为0.3和4被抽到的概率为0.乙同学需要平均至 25 、125,那么在这种情况下, 少提问几次,才能完全确定甲同学每次抽出的数字? 由于1被抽到的概率最大,如果乙同学第一次提问的问题是“抽到的数字是否为1,(”) 则乙同学有0.5的概率提问一次就可确定这个数字为1;如果抽到的数字不是1,乙同学 的第二个问题可以问是否为剩下的数字中被抽到概率最大的数字,即“抽到的数字是否为 225/(0.125+0.=0.如果经 ,(”) 这时乙同学有0.25+0.125)5的概率可确定这个数字为2; 过两次提问都无法确定这个数字,那么通过第三次提问就可以确定这个数字具体为余下 两个数字中的哪一个。采用这种方法提问,乙同学需要多至3次提问才能完全确定甲同 学抽出的数字。但是,平均下来只需要1×0.25+3×0.=75 次提问,比之前 5+2×0.251. 等概率抽取情况下的平均提问次数还要少。 这个最少的平均提问次数,即为信息熵,常称作熵(entropy), 用来衡量随机变量可能 取值(抽出的数字)的不确定性。熵也可以解释为信源产生信息的平均速率。一般地,如 果随机变量 S 的取值为si s则 S 的熵 H (S)为 的概率是p(i), H (S)=-Σ(m) p(i)op(i)) (58) slg(s = 其中, S 的可能取值为s1,sm 。如果(i) 式(1) 则熵 H (S)的单位为比 s2,…,中对数的底取为2, 第5章信源79 特(b)。 1】 ADC输出二进制数值“000”“001”“010”“011”“100”“101”“110”“111”的概率分别是 【例5.某传感器输出的模拟信号经分辨率为3b的ADC转换成数字信号。 01 、04 、15 、3、3、15 、04 、01 。求该随机变量的熵 。 【解】根据式(5-8)计算其熵 H (S) 为 0.0.0.0.0.0.0.0. H (S)p(i)l2(p(i)) =-Σ(m) sogs =1 =-((i) 0.og01+2×0.og04 2×01×l20.04×l20. +2×0.15×lo20.3×lg3) g15+2×0.o20.b ≈2. 37b 例5.1中ADC的输出存在平均3b-37b0. 2.=63b的冗余。可以对传感器或ADC 输出的数据进行数据压缩编码以减少其中的冗余。数据压缩分为有损压缩和无损压缩, 前者在压缩过程中会丢弃掉一些细节信息,常用于压缩语音、图像、音视频等数据。对于 传感器数据,通常人们不希望对其压缩时丢失任何信息,因此这里使用无损压缩方法。数 据压缩方法的选择需要权衡压缩程度、压缩和解压缩所需的运算量等因素。无损数据压 缩方法包括赫夫曼编码(Hufmancoding)、行程编码(Run-LengthEncoding,RLE )、算术 编码(arithmeticcoding)、非对称数字系统(AsymmetricNumeralSystems,ANS)等。 编码本质上是一种映射过程,即把输入的一组二进制比特(被称为符号),映射为输出 的另一组二进制比特(即码字)。赫夫曼编码是一种变长码,即每个码字的长度并不完全 相等。虽然赫夫曼编码并不总是最优的无损数据压缩方法,但其可以被有效实现。 赫夫曼编码的基本思想:把输入中出现概率较低的符号用较长的码字来表示,把输 入中出现概率较高的符号用较短的码字来表示,从而减小输出码字的平均长度。编码的 主要工作是找出输入符号与输出码字之间的最佳映射关系。 赫夫曼编码的基本做法:创建一棵二叉树,其各个叶节点为编码器输入中可能出现 的符号,并且出现概率越小的符号所在的叶节点越可能位于二叉树的更深层。从二叉树 根节点出发到某个符号所在的叶节点所经过的路径即为该符号编码后的输出。创建二叉 树的算法如下,其中算法的输入为符号s的出现概率p(i=1,m, 的二叉树。 i si),2,…,输出为创建 (1)创建 m 棵二叉树的集合A={T1,T2,…,Tm }。其中每棵二叉树Ti 只有一个带 有概率值p(si)的根节点,其左、右子树均为空。 (2)在 A 中选取根节点所带概率值最小的两棵树,分别作为左子树和右子树构造一 棵新的二叉树。新二叉树根节点所带的概率值为其左、右两棵子树根节点所带的概率值 之和。在 A 中删除选取的这两棵树,并将新的二叉树加入到 A 中。 (3)重复上一步,直到 A 中只剩下一棵树为止。这棵树就是该算法创建的二叉树。 如果不知道符号s的出现概率p(i),可以使用自适应赫夫曼编码(dapiveHua satfmn coding)、自适应算术编(i) 码(adaptivearithmeticcoding)等方法。