信号的调制与解调<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> |
在测试技术中,调制是工程测试信号在传输过程中常用的一种调理方法,主要是为了解决微弱缓变信号的放大以及信号的传输问题。例如,被测物理量,如温度、位移、力等参数,经过传感器交换以后,多为低频缓变的微弱信号,对这样一类信号,直接送入直流放大器或交流放大器放大会遇到困难,因为,采用级间直接耦合式的直流放大器放大,将会受到零点漂移的影响。当漂移信号大小接近或超过被测信号时,经过逐级放大后,被测信号会被零点漂移淹没;为了很好地解决缓变信号的放大问题,信息技术中采用了一种对信号进行调制的方法,即先将微弱的缓变信号加载到高频交流信号中去,然后利用交流放大器进行放大,最后再从放大器的输出信号中取出放大了的缓变信号(如下图所示)。上述信号传输中的变换过程称为调制与解调。在信号分析中,信号的截断、窗函数加权等,亦是一种振幅凋制;对于混响信号,所谓由于回声效应引起的信号的叠加、乘积、卷积等,其中乘积即为调幅现象.
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
信号调制的类型,一般正(余)弦凋制可分为幅度凋制、频率调制、相位调制三种,简称为调幅(AM)、调频(FM)、调相(PM)。
5.4.1 幅度调制 |
一、调制与解调原理
调幅是将一个高频正弦信号(或称仅波)与测试信号相乘,使载波信号幅值随测试信号的变化而变化.现以频率为fz的余弦信号Z(t)作为载波进行讨论.
由傅里叶变换的性质知,在时域中两个信号相乘,则对应在频域中这两个信号进行卷积,即
余弦函数的频域图形是一对脉冲谐线,即
一个函数与单位脉冲函数卷积的结果,就是将其图形由坐标原点平移至该脉冲函数处.所以,若以高频余弦信号作载波,把信号x(t)和载波信号z(t)相乘,其结果
就相当于把原信号频谱图形由原点平移至载波频率人处,其幅值减半,如图所示,所以调幅过程就相当于频率“搬移”过程.
若把调幅波xm(t)再次与载波z(t)信号相乘,则频域图形将再一次进行“搬移”,即xm(t)与z(t)相乘积的傅里叶交换为:
这一结果如图所示.若用一个低通滤波器滤除中心频率为2fz的高频成分,那末将可以复现原信号的频谱(只是其幅值减少了一半,这可用放大处理来补偿),这一过程称为同步解调.“同步”指解调时所乘的信号与调制时的载波信号具有相同的频率和相位.
上述的调制方法,是将调制信号x(t)直接与载波信号z(t)相乘.这种调幅波具有极性变化,即在信号过零线时,其幅值发生由正到负(或山负到正)的突然变化,此时调幅波的相位(相对于载波)也相应地发生180。的相位变化.此种调制方法称为抑制调幅.抑制调幅波须采用同步解调或相敏检波解调的方法,方能反映出原信号的幅值和极性.
若把调制信号z(t)进行偏置,叠加一个直流分量A,使偏置后的信号都具有正电压,此时调幅波表达式为:
xm(t)=[A+x(t)]cos2πfzt
这种调制方法称为非抑制调幅,或偏置调幅.其调幅波的包络线具有原信号形状,如图(a)所示.对于非抑制调幅波,一般采用整流、滤波(或称包络法检波)以后,就可以恢复原信号.
二、调幅波的波形失真
信号经过调制以后,有下列情况可能出现波形失真现象.
(l)过调失真:对于非抑制调幅,要求其直流偏置必须足够大,否则x(t)的相位将发生180。倒相,如上图(b)所示,此称为过调.此时,如果采用包络法检波,则检出的信号就会产生失真,而不能恢复出原信号.
(2)重叠失真:调幅波是由一对每边为fm的双边带信号组成.当载波频率fz较低时,正频端的下边带将与负频端的下边带相重叠,这类似于采样频率较低时所发生的频率混叠效应.因此,要求载波频率fz必须大
于调制信号x(t)中的最高频率,即fz>fm.实际应用中,往往选择载波频率至少数倍甚至数十倍于信号中的最高频率.
(3)调幅波通过系统时的失真:调幅波通过系统时,还将受到系统频率特性的影响。
5.4 频率调制 |
调频是利用信号x(t)的幅值调制载波的频率,或者说,调频波是一种随信号x(t)的电压幅值而变化的疏密度不同的等幅波,如图所示.
调频波:(a)锯齿波调频 (b)正弦波调频
调频波的瞬时频率可表示为:
f=f0+df
式中f0为载波信号频率;df为频率偏移,与调制信号x(t)的幅值成正比。
常用的频率调制法有直接调频法和间接调频法。直接调频法就是用调制信号x(t)对压控振荡器(VCO)进行电压控制,利用其振荡频率与控制电压成线性变化的特性,改变压控振荡器的输出频率,从而达到频率调制的目的。
鉴频就是对调频波进行解调,将信号的频率变化再变换为电压幅值的变化。鉴频的方法也有许多,常用的有变压器耦合的谐振回路法。如图所示。图中L1,L2是变压器耦合的原、副线圈,它们和C1,C2组成并联谐振回路。ef为输入的调频信号,在回路的谐振频率fn处,线圈L1,L2的耦合电流最大,副边输出电压ea也最大;ef频率离fn越远,线圈L1,L2的耦合电流越小,副边输出电压ea也越小;从而将调频波信号频率的变化转化为电压幅值的变化。
频率调制较之幅度调制的一个重要的优点是改善了信噪比.分析表明,在调幅情况下,若干扰噪声与
载波同频,则有效的调幅波对干扰波的功率比(S/N),必须在 35dB以上.但在调频的情况下,在满足上
述调幅情况下的相同性能指标时,有效的调频波对干扰波的功率比只要 6dB即可.调频波之所以改善了信号传输过程中的信噪比,是因为调频信号所携带的信息包含在频率变化之中,并非振幅之中,而干扰波的干扰作用则主要表现在振幅之中.这种由干扰引起的幅度变化,往往可以通过限幅器而有效地消除掉.
调频方法也存在着严重缺点:调频波通常要求很宽的频带,甚至为调幅所要求带宽的20倍;调频系统较之调幅系统复杂,因为频率调制足一种非线性调制,它不能运用叠加原理.因此,分析调频波要比分析调幅波困难,实际上,对调频波的分析是近似的.
6.1 数字信号处理概述 |
一、数字信号处理的主要研究内容
数字信号处理主要研究用数字序列或符号序列表示信号,并用数字计算方法对这些序列进行处理,以便把信号变换成符合某种需要的形式。数字信号处理的主要内容包括频谱分析与数字滤波及信号的识别等。
数字信号处理中常用的运算有:差分方程计算、相关系数计算、离散傅里叶变换计算、功率谱密度计算、矩阵运算、对数和指数运算、复频率变换及模数和数值转换等。很多数字信号处理问题,都可以用这些或加上其它的基本运算,经过适当的组合来实现。
二、测试信号数字化处理的基本步骤
随着微电子技术和信号处理技术的发展,在工程测试中,数字信号处理方法得到广泛的应用,已成为测试系统中的重要部分。从传感器获取的测试信号中大多数为模拟信号,进行数字信号处理之前,一般先要对信号作预处理和数字化处理。而数字式传感器则可直接通过接口与计算机联接,将数字信号送给计算机(或数字信号处理器)进行处理。测试中的数字信号处理系统如图所示。
1.预处理预处理是指在数字处理之前,对信号用模拟方法进行的处理。把信号变成适于数字处理的形式,以减小数字处理的困难。如对输人信号的幅值进行处理,使信号幅值与A/D转换器的动态范围相适应;衰减信号中不感兴趣的高频成分,减小频混的影响;隔离被分析信号中的直流分量,消除趋势项及直流分量的干扰等项处理。
2.A/D转换是将预处理以后的模拟信号变为数字信号,存人到指定的地方。其核心是A/V转换器。信号处理系统的性能指标与其有密切关系。
3.分析计算对采集到的数字信号进行分析和计算,可用数字运算器件组成信号处理器完成,也可用通用计算机。目前分析计算速度很快,已近乎达到“实时”。
4.结果显示一般采用数据和图形显示结果。
三、数字信号处理的优势
1、可以用数学计算和计算机显示代替代替复杂的电路和机械结构
。
。。
2、计算机软硬件技术发展的推动
a)多种多样的工业用计算机
。。
b)尺寸小巧,功能强大的嵌入式计算机
c)灵活、方便的计算机虚拟仪器开发软件
6.2 模数转换(A/D转换) |
一、A/D转换
1.A/D转换过程
把连续时间信号转换为与其相对应的数字信号的过程称之为模—数(A/D)转换过程,反之则称为数—模(D/A)转换过程,它们是数字信号处理的必要程序.一般在进行A/D转换之前,需要将模拟信号经抗频混滤波器预处理,变成带限信号,再经A/D转换成为数字信号,最后送入数字信号分析仪或数字计算机完成信号处理.如果需要,再由D/A转换器将数字信号转换成模拟信号,去驱动计算机外围执行元件或模拟式显示、记录仪等.
A/D转换包括了采样、量化、编码等过程,其工作原理如图所示.
(1)采样——或称为抽样,是利用采样脉冲序列p(t),从连续时间信号x(t)中抽取一系列离散样值,使之成为采样信号x(nTs)的过程.n= 0,1….Tst称为采样间隔,或采样周期,1/Ts = fs称为采样频率.
由于后续的量化过程需要一定的时间τ,对于随时间变化的模拟输入信号,要求瞬时采样值在时间τ内保持不变,这样才能保证转换的正确性和转换精度,这个过程就是采样保持。正是有了采样保持,实际上采样后的信号是阶梯形的连续函数。
(2)量化——又称幅值量化,把采样信号x(nTs)经过舍入或截尾的方法变为只有有限个有效数字的数,这一过程称为量化.
信号的6等份量化过程
若取信号x(t)可能出现的最大值A,令其分为D个间隔,则每个间隔长度为R=A/D,R称为量化增量或量化步长.当采样信号x(nTs)落在某一小间隔内,经过舍入或截尾方法而变为有限值时,则产生量化误差,如上图所示.
一般又把量化误差看成是模拟信号作数字处理时的可加噪声,故而又称之为舍入噪声或截尾噪声.量化增量D愈大,则量化误差愈大,量化增量大小,一般取决于计算机A/D卡的位数.例如,8位二进制为28=256,即量化电平R为所测信号最大电压幅值的1/256.
(3)编码——将离散幅值经过量化以后变为二进制数字的过程。
信号x(t)经过上述变换以后,即变成了时间上离散、幅值上量化的数字信号.
2、AD转换器的技术指标
1.分辨力
A/D转换器的分辨力用其输出二进制数码的位数来表示。位数越多,则量化增量越小,量化误差越小,分辨力也就越高。常用的有8位、10位、12位、16位、24位、32位等。
例如,某 A/D转换器输入模拟电压的变化范围为-10V~+10V,转换器为 8位,若第一位用来表示正、负符号,其余 7位表示信号幅值,则最末一位数字可代表80mV模拟电压(10V×1/27≈80mV),即转换器可以分辨的最小模拟电压为80mV。而同样情况用一个 10位转换器能分辨的最小模拟电压为20mV(10V×1/29≈80mV)。
2.转换精度
具有某种分辨力的转换器在量化过程中由于采用了四舍五入的方法,因此最大量化误差应为分辨力数值的一半。如上例8位转换器最大量化误差应为40mV(80mV×O.5 = 40mV),全量程的相对误差则为0.4%(40mV/10V×100%)。可见,A/D转换器数字转换的精度由最大量化误差决定。实际上,许多转换器末位数字并不可靠,实际精度还要低一些。
由于含有A/D转换器的模数转换模块通常包括有模拟处理和数字转换两部分,因此整个转换器的精度还应考虑模拟处理部分(如积分器、比较器等)的误差。一般转换器的模拟处理误差与数字转换误差应尽量处在同一数量级,总误差则是这些误差的累加和。例如,一个10位A/D转换器用其中 9位计数时的最大相对量化误差为29×0. 5≈ 0. l%,若模拟部分精度也能达到 0. l%,则转换器总精度可接近0.2%。
3.转换速度
转换速度是指完成一次转换所用的时间,即从发出转换控制信号开始,直到输出端得到稳定的数字输出为止所用的时间。转换时间越长,转换速度就越低。转换速度与转换原理有关,如逐位逼近式A/D转换器的转换速度要比双积分式A/D转换器高许多。除此以外,转换速度还与转换器的位数有关,一般位数少的(转换精度差)转换器转换速度高。目前常用A/D转换器转换位数有8、10、12、14、16位,其转换速度依转换原理和转换位数不同,一般在几微秒至几百毫秒之间。
由干转换器必须在采样间隔Ts内完成一次转换工作,因此转换器能处理的最高信号频率就受到转换速度的限制。如50us内完成10位A/D转换的高速转换器,这样,其采样频率可高达20KHZ。
二、D/A转换过程和原理
1.D/A转换过程
D/A转换器是把数字信号转换为电压或电流信号的装置。其过程如下图所示:
D/A转换器一般先通过T型电阻网络将数字信号转换为模拟电脉冲信号,然后通过零阶保持电路将其转换为阶梯壮的连续电信号。只要采样间隔足够密,就可以精确的复现原信号。为减小零阶保持电路带来的电噪声,还可以在其后接一个低通滤波器。
。
2. D/A转换器的主要技术指标
1.分辨力
D/A转换器的分辨力用可用输入的二进制数码的位数来表示。位数越多,则分辨力也就越高。常用的有8位、10位、12位、16位、24位、32位等。12D/A转换器的分辨力为1/212=0.024%.
2.转换精度
转换精度定义为实际输出与期望输出之比。以全程的百分比或最大输出电压的百分比表示。理论上D/A转换器的最大误差为最低位的1/2,10位D/A转换器的分辨力为1/1024,约为0.1%,它的精度为0.05%。如果10位D/A转换器的满程输出为10V,则它的最大输出误差为10V*0.0005=5mV。
3.转换速度
转换速度是指完成一次D/A转换所用的时间.转换时间越长,转换速度就越低。
6.3 采样定理 |
一、采样信号的频谱
采样过程是通过采样脉冲序列p(t)与连续时间信号x(t)相乘来完成的.理想脉冲采样过程如图所示:
其采样脉冲序列:
采样信号:
xs(t)=x(t)p(t)
如果:
F[x(t)]=X(ω) F[p(t)]=P(ω)
那么,根据频域卷积定理,有:
Xs(ω)=X(ω)*P(ω)/2π
可以证明,采样脉冲序列 p(t) 的频谱是间隔为ωs的周期延拓,所以,可以进一步证明:
此式表明,一个连续信号经过理想采样以后,它的频谱将沿着频率轴每隔一个采样频率ωs ,重复出现一次,即其频谱产生了周期延拓,其幅值被采样脉冲序列的傅立叶系数(Cn=1/Ts)所加权,其频谱形状不变。
二、采样定理
采样定理说明了一个问题,即当对时域模拟信号采样时,应以多大的采样周期(或称采样时间间隔)采样,方不致丢失原始信号的信息,或者说,可由采样信号无失真地恢复出原始信号。
1.频混现象
频混现象又称频谱混叠效应,它是由于采样信号频谱发生变化,而出现高、低频成分发生混淆的一种现象,如右图所示.信号x(t)的傅里叶变换为X(ω),其频带范围为-ωm~ωm;采样信号x(t)的傅里叶变换是一个周期谱图,其周期为ωs,并且:
ωs=2π/Ts
Ts为时域采样周期.当采样周期Ts较小时,ωs>2ωm,周期谱图相互分离如图中(b)所示;当Ts较大时,ωs<2ωm,周期谱图相互重叠,即谱图之间高频与低频部分发生重叠,如图中(c)所示,此即频混现象,这将使信号复原时丢失原始信号中的高频信息。
下面从时域信号波形来看这种情况。图(a)是频率正确的情况,以及其复原信号;(b)是采样频率过低的情况,复原的是一个虚假的低频信号。
当采样信号的频率低于被采样信号的最高频率时,采样所得的信号中混入了虚假的低频分量,这种现象叫做频率混叠。
2.采样定理
上述情况表明,如果ωs>2ωm,就不发生频混现象,因此对采样脉冲序列的间隔Ts须加以限制,即采样频率ωs(2π/Ts)或 fs(1/Ts)必须大于或等于信号x(t)中的最高频率ωm的两倍,即ωs>2ωm,或 fs>2fm。
为了保证采样后的信号能真实地保留原始模拟信号的信息,采样信号的频率必须至少为原信号中最高频率成分的2倍。这是采样的基本法则,称为采样定理。
需要注意的是,在对信号进行采样时,满足了采样定理,只能保证不发生频率混叠,只能保证对信号的频谱作逆傅立叶变换时,可以完全变换为原时域采样信号xs(t),而不能保证此时的采样信号能真实地反映原信号x(t)。工程实际中采样频率通常大于信号中最高频率成分的3到5倍。
6.4 信号的截断、能量泄漏及窗函数 |
一、信号的截断及能量泄漏效应
数字信号处理的主要数学工具是博里叶变换.应注意到,傅里叶变换是研究整个时间域和频率域的关系.然而,当运用计算机实现工程测试信号处理时,不可能对无限长的信号进行测量和运算,而是取其有限的时间片段进行分析。做法是从信号中截取一个时间片段,然后用观察的信号时间片段进行周期延拓处理,得到虚拟的无限长的信号,然后就可以对信号进行傅里叶变换、相关分析等数学处理。
周期延拓后的信号与真实信号是不同的,下面我们就从数学的角度来看这种处理带来的误差情况。设有余弦信号x(t)在时域分布为无限长(- ∞,∞),当用矩形窗函数w(t)与其相乘时,得到截断信号xT(t) =x(t)w(t)。根据博里叶变换关系,余弦信号的频谱X(ω)是位于ω。处的δ函数,而矩形窗函数w(t)的谱为sinc(ω)函数,按照频域卷积定理,则截断信号xT(t) 的谱XT(ω) 应为:
将截断信号的谱 XT(ω)与原始信号的谱X(ω)相比较可知,它已不是原来的两条谱线,而是两段振荡的连续谱.这表明原来的信号被截断以后,其频谱发生了畸变,原来集中在f0处的能量被分散到两个较宽的频带中去了,这种现象称之为频谱能量泄漏(Leakage)。
信号截断以后产生的能量泄漏现象是必然的,因为窗函数w(t)是一个频带无限的函数,所以即使原信号x(t)是限带宽信号,而在截断以后也必然成为无限带宽的函数,即信号在频域的能量与分布被扩展了.又从采样定理可知,无论采样频率多高,只要信号一经截断,就不可避免地引起混叠,因此信号截断必然导致一些误差,这是信号分析中不容忽视的问题.
如果增大截断长度T,即矩形窗口加宽,则窗谱 W(ω)将被压缩变窄(π/T减小).虽然理论上讲,其频谱范围仍为无限宽,但实际上中心频率以外的频率分量衰减较快,因而泄漏误差将减小.当窗口宽度T趋于无穷大时,则谱窗W(ω)将变为δ(ω)函数,而δ(ω)与X(ω)的卷积仍为X(ω),这说明,如果窗口无限宽,即不截断,就不存在泄漏误差.
为了减少频谱能量泄漏,可采用不同的截取函数对信号进行截断,截断函数称为窗函数,简称为窗。泄漏与窗函数频谱的两侧旁瓣有关,如果两侧瓣的高度趋于零,而使能量相对集中在主瓣,就可以较为接近于真实的频谱,为此,在时间域中可采用不同的窗函数来截断信号。
二、常用窗函数
实际应用的窗函数,可分为以下主要类型:
(1)幂窗——采用时间变量某种幂次的函数,如矩形、三角形、梯形或其它时间(t)的高次幂;
(2)三角函数窗——应用三角函数,即正弦或余弦函数等组合成复合函数,例如汉宁窗、海明窗等;
(3)指数窗——采用指数时间函数,如e-st形式,例如高斯窗等.
下面介绍几种常用窗函数的性质和特点.
(l)矩形窗
矩形窗属于时间变量的零次幂窗,函数形式为
相应的窗谱为:
矩形窗使用最多,习惯上不加窗就是使信号通过了矩形窗.这种窗的优点是主瓣比较集中,缺点是旁瓣较高,并有负旁瓣(下图),导致变换中带进了高频干扰和泄漏,甚至出现负谱现象.
(2)三角窗
三角窗亦称费杰(Fejer)窗,是幂窗的一次方形式,其定义为:
相应的窗谱为:
三角窗与矩形窗比较,主瓣宽约等于矩形窗的两倍,但旁瓣小,而且无负旁瓣,如图所示.
(3)汉宁(Hanning)窗
汉宁窗又称升余弦窗,其时域表达式为:
相应的窗谱为:
由此式可以看出,汉宁窗可以看作是3个矩形时间窗的频谱之和,或者说是 3个 sine(t)型函数之和,而括号中的两项相对于第一个谱窗向左、右各移动了 π/T,从而使旁瓣互相抵消,消去高频干扰和漏能。
下图表示汉宁窗与矩形窗的谱图对比,可以看出,汉宁窗主瓣加宽(第一个零点在2π/T处)并降低,旁瓣则显著减小.第一个旁瓣衰减一32dB,而矩形窗第一个旁瓣衰减一13dB.此外,汉宁窗的旁瓣衰减速度也较快,约为60dB/(10oct),而矩形窗为20dB/(10oct)。由以上比较可知,从减小泄漏观点出发,汉宁窗优于矩形窗.但汉宁窗主瓣加宽,相当于分析带宽加宽,频率分辨力下降.
(4)海明(Hamming)窗
海明窗也是余弦窗的一种,又称改进的升余弦窗,其时间函数表达式为:
其窗谱为:
海明窗与汉宁窗都是余弦窗,只是加权系数不同。海明窗加权的系数能使旁瓣达到更小。分析表明,海明窗的第一旁瓣衰减为一42dB.海明窗的频谱也是由3个矩形时窗的频谱合成,但其旁瓣衰减速度为20dB/(10oct),这比汉宁窗衰减速度慢。海明窗与汉宁窗都是很有用的窗函数.
(5)高斯窗
高斯窗是一种指数窗.其时域函数为:
式中a为常数,决定了函数曲线衰减的快慢。a值如果选取适当,可以使截断点(T为有限值)处的函数值比较小,则截断造成的影响就比较小。高斯窗谱无负的旁瓣,第一旁瓣衰减达一55dB。高斯富谱的主瓣较宽,故而频率分辨力低.高斯窗函数常被用来截断一些非周期信号,如指数衰减信号等.
除了以上几种常用窗函数以外,尚有多种窗函数,如平顶窗、帕仁(Parzen)窗、布拉克曼(Blackman)窗、凯塞(kaiser)窗等.
对于窗函数的选择,应考虑被分析信号的性质与处理要求.如果仅要求精确读出主瓣频率,而不考虑幅值精度,则可选用主瓣宽度比较窄而便于分辨的矩形窗,例如测量物体的自振频率等;如果分析窄带信号,且有较强的干扰噪声,则应选用旁瓣幅度小的窗函数,如汉宁窗、三角窗等;对于随时间按指数衰减的函数,可采用指数窗来提高信噪比.
6.5 DFT与FFT |
一、离散傅立叶变换
离散傅里叶变换(Discrete Fourier Transform)一词是为适应计算机作傅里叶变换运算而引出的一个
专用名词,这是因为,对信号X(L)进行博里叶变换(FT)或逆傅里叶变换(IFT)运算时,无论在时域或在
频域都需要进行包括(-∞,+∞)区间的积分运算,若在计算机上实现这一运算,则必须做到:(l)把连
续信号(包括时域、频域)改造为离散数据;(2)把计算范围收缩到一个有限区间;(3)实现正、逆博里
叶变换运算.在这种条件下所构成的变换对称为离散傅里叶变换对.其特点是,在时域和频域中都只取有限
个离散数据,这些数据分别构成周期性的离散时间函数和频率函数.
连续时间信号x(t)经过加窗截断后在区间[0,T]上经过A/D转换离散化,采样间隔Δt按采样频率确定为:
Δt=1/fs
在时间点{0,Δt,2Δt,3Δt,....}进行取样,得到长度为N(N=T/Δt)的时间序列{x(n)}。
经加窗和周期延拓处理后的信号是一个周期信号,其傅立叶积分式为:
A/D采样离散化后的计算公式为:
Δt
周期信号的频谱是线谱和离散谱,X(f)只能离散取值,频率取样间隔为:
Δf=fs/N
频率取样点为{0,Δf,2Δf,3Δf,....},有:
Δt k=0,1,2,...N-1
这就是离散傅立叶变换计算公式。为便于计算,写为三角函数形式:
k=0,1,2......
计算出实部HR(kΔf)和虚部HR(kΔf)后,可按下式转换为信号在kΔf频率点的幅值与相位:
|X(kΔf)|=Sqrt(XR2(kΔf)+XI2(kΔf))
Q(kΔf)=arctg(XI(kΔf)/XR(kΔf))
如不考虑计算效率,用计算机编程是很容易实现的。例如,用Signal VBScript编程计算4Δf频率点的幅值与相位的程序代码为:
pi=3.1415926
k=4
DF=Fs/N
XR=0
XI=0
For i="0" To N-1
XR="XR"+x(i)*cos(2*pi*k*i/N)
XI="XI"+x(i)*sin(2*pi*k*i/N)
Next
XR=(T/N)*XR
XI=(T/N)*XI
A=sqrt(XR*XR+XI*XI)
Q=atn(XI/XR)
将k作为变量,就可以计算出信号在整个频带上的频谱。
二、 快速傅立叶变换(FFT)
快速傅立叶变换(FFT)是实施离散傅立叶变换的一种及其迅速而有效的算法。FFT算法通过仔细选择和重新排列中间结果,在速度上较之离散傅立叶变换有明显的优点。忽略数学计算中精度的影响时,无论采用的是FFT还是DFT,结果都一样。
如果直接应用上式计算离散傅立叶变换,将花费很多时间,因此很长的一段时间里DFT的使用受到了限制。直到1965年美国的J.W.Cooley和J.W.Turkey提出了一种离散的傅立叶变换的快速算法,即FFT(Fast Fourier Transformation),才使得DFT的计算工作量大为减少。
为简化表达,且不失一般性,将离散傅立叶变换公式简写成
由于 ,所以
X(k+N)=X(k)
表明X(k)是以N为周期的序列和频谱。
若令旋转因子 ,则上式又可写成
对计算的各频率点进行展开,有:
用矩阵表示可写成
或
由于 是复数,x(n)也可能是复数形式,这样,要完成上面矩阵运算共需N2次复数乘法和N(N-1)复数加法。可见,计算量与N2成正比,随着的增加,总运算次数将会急剧增加。
设N=2B,于是可将[W]分解成B个矩阵的连乘,即
其中每个矩阵的各行元素都包含有两个非零项。例如,对于N=64的情况有:
注意这里利用了关系, ,因此W4=W0,W6=W2,将[W]分解成
由于上式在分解时充分利用了旋转因子 具有周期性及合理分解的特点,从而使总的计算次数从N2量级减少到Nlog2N量级,极大地提高了运算速度,故形成了快速傅立叶变换。
最常见的FFT算法要求N是2的幂次。假定信号分析仪中的采样点数为1024点,DFT要求一百万次以上的计算工作量,而FFT则只要求10240次计算。显然,FFT可大大节约计算量,故在信号处理中中广泛采用FFT算法。目前FFT算法已有专用硬件芯片和软件模块,使用中直接选用就可以了。
三、FFT算法的应用
1. 信号的谐波分析
信号的频谱X(f)代表了信号在不同频率分量处信号成分的大小,在许多场合,它能够提供比信号波形更直观,丰富的信息。例如,有一受噪声干扰的多频率成分周期信号,如图,从信号波形上很难看出其特征,但从信号的功率谱上却可以判断出信号中有四个很明显的周期分量。
用FFT计算信号频谱的过程是,将采样信号
x(k), k="0",1,2,3,...N-1
经FFT变换转换到频域:
X(k), k="0",1,2,3,...N-1
X(k)为复数,可按下式转换为信号的幅值与相位:
|X(k)|=Sqrt(XR2(k)+XI2(k))
Q(k)=arctg(XI(k)/XR(k))
得到在频率点KΔf的信号频率成分值。
2.快速卷积运算
用FFT算法可以实现离散卷积运算过程.离散卷积与连续时间系统的卷积具有相同的含义,当描述离散时间系统的输出、输入关系时,输出y(n)是输入x(n)与系统单位样值响应h(n)的卷积,即
或
其运算过程包括了反折、平移、乘积、取和四个步骤。可见,卷积运算过程也是很繁琐的.当序列x(n)与h(n)的样本点数分别为N1、N2时,其乘法的运算次数为N1×N2。显然,当二个样本的采样点数相同时,与DFT一样,其乘法的运算次数为N2次。
同样,依据连续傅里叶交换的时域卷积定理有,两个周期为N的时域采样函数,它们的卷积的离散傅里叶变换等于它们的离散傅里叶交换的乘积,即
运用这一定理,可以对两个时城周期序列x(n)与h(n)分别计算离散傅里叶变换,再将结果相乘,然后计算乘积的离散傅里叶逆变换,即可得到两个时城周期序列的卷积。这一定理为用快速博里叶变换计算时域卷积提供了依据.
对于采样点数相同(设为N)的二个样本,用FFT的方法作卷积,其乘法的运算次数为N(1+log2N)次。随着N值增大,此数字比N2显著减少,因此,卷积运算可以用FFT方法实现.
需要注意的是,实现快速卷积算法中,由于利用了DFT分析,即时域和频域都是周期性离散数据,当对它们作周期卷积(或称圆卷积)运算时,将出现一种周期数据之间的迭代求和的现象,这给计算结果带来一种所谓环绕误差.避免环绕误差的方法是对x(n)与h(n)分别在尾部填补零值点,即使其周期加倍.如果x(n)与h(n)长度相等,则都加长N点。
快速卷积过程可按如下步骤进行:
(a)用补零的方法修正x(n)与h(n),以避免环绕误差的出现;
(b)利用FFT算法计算两个修正后的函数的DFT,得到X(k)与H(k);
(c)将X(k)与H(k)相乘,得到Y(k)= X(k)H(k)
(d)利用FFT算法,计算出Y(k)的IDFT,即:h(n) = IDFT[Y(k)]
此即为所求的 x(n)与h(n) 的卷积。
与快速卷积计算的方法相类似,也可以利用FFT作快速的相关运算。
6.6 常用数字信号处理算法 |
在第二章中介绍了信号分析的基本方法、原理和作用,这里介绍如何用计算机数字计算来实现这些方法。
一、信号的时域参数
1.均值
均值E[x(t)]表示集合平均值或数学期望值.
E[x(t)]=x(n)/N
均值E[x(t)]计算机编程实现很简单,用Signal VBScript实现的程序代码为:
E=0
For i="0" To N-1
E="E"+x(i)
Next
E=E/N
2.均方值
信号x(t)的均方值E[x2(t)](),或称为平均功率,其表达式为:
E[x2(t)]=x2(n)/N
均方值表达了信号的强度,其正平方根值,又称为有效值,也是信号的平均能量的一种表达。在工程信号测量中一般仪器的表头示值显示的就是信号的均方值。均值E[x(t)]计算机编程实现很简单,用Signal VBScript实现的程序代码为:
RMS=0
For i="0" To N-1
RMS="RMS"+x(i)*x(i)
Next
E=sqrt(E)/N
二、信号的相关函数
在离散情况下,信号x(n)和y(n)的相关函数定义为:
R(k)=[x(n)y(k+i)]/N,k=0,1,2,....
在不考虑计算效率的情况下计算也很容易:
For i="0" To N/2
R(i)=0
For j="0" To N/2
R(i)=R(i)+x(j)*x(j+i)
Next
R(i)=R(i)/N
Next
三、数字滤波
数字滤波器的作用是利用离散时间系统的特性对输入信号波形(或频谱)进行加工处理,或者说利用数字方法按预定的要求对信号进行变换。把输入序列 x(n) 变换成一定的输出序列 y(n) 从而达到改变信号频谱的目的。从广义讲,数字滤波是由计算机程序来实现的,是具有某种算法的数字处理过程。
数字滤波主要分为有限冲击响应滤波器(FIR)和无限冲击响应滤波器两种,FIR滤波器的滤波计算公式为:
y(k)=a0x(k)+a1x(k+1)+a2x(k+2)+...+amx(k+m),k=0,1,.........N-m
式中N为信号采样长度,m为数字滤波器长度,{a0,a1,a2,...am}为滤波器系数。
FIR数字滤波器和IIR数字滤波器都有专用的设计软件,给出数字滤波器的频率特性就可以求出滤波器的系数。下面是一个低通滤波器和一个高通滤波器的实例:
低通滤波器 | 高通滤波器 |
M=7 | N=7 |
数字低通滤波的实现代码为:
For i="0" To N-7
Y(i)=-0.02216042X(0)-0.05067773X(1)+0.26974228X(2)+0.58996165X(3)
+0.26974228X(4)-0.05067773X(5)-0.02216042X(6)
Next
文章评论(0条评论)
登录后参与讨论