原创 信号初步处理

2009-7-20 11:52 4379 4 4 分类: 工程师职场

                信号的调制与解调<?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)中的最高频率,即fzfm.实际应用中,往往选择载波频率至少数倍甚至数十倍于信号中的最高频率.



 
 


    (3)调幅波通过系统时的失真:调幅波通过系统时,还将受到系统频率特性的影响。


 



5.4 频率调制


    调频是利用信号xt)的幅值调制载波的频率,或者说,调频波是一种随信号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也越小;从而将调频波信号频率的变化转化为电压幅值的变化。
 



 
   
频率调制较之幅度调制的一个重要的优点是改善了信噪比.分析表明,在调幅情况下,若干扰噪声与
载波同频,则有效的调幅波对干扰波的功率比(SN),必须在 35dB以上.但在调频的情况下,在满足上
述调幅情况下的相同性能指标时,有效的调频波对干扰波的功率比只要 6dB即可.调频波之所以改善了信号传输过程中的信噪比,是因为调频信号所携带的信息包含在频率变化之中,并非振幅之中,而干扰波的干扰作用则主要表现在振幅之中.这种由干扰引起的幅度变化,往往可以通过限幅器而有效地消除掉.


    调频方法也存在着严重缺点:调频波通常要求很宽的频带,甚至为调幅所要求带宽的20倍;调频系统较之调幅系统复杂,因为频率调制足一种非线性调制,它不能运用叠加原理.因此,分析调频波要比分析调幅波困难,实际上,对调频波的分析是近似的.
  



6.1 数字信号处理概述


 
一、数字信号处理的主要研究内容
  数字信号处理主要研究用数字序列或符号序列表示信号,并用数字计算方法对这些序列进行处理,以便把信号变换成符合某种需要的形式。数字信号处理的主要内容包括频谱分析与数字滤波及信号的识别等。
 
  数字信号处理中常用的运算有:差分方程计算、相关系数计算、离散傅里叶变换计算、功率谱密度计算、矩阵运算、对数和指数运算、复频率变换及模数和数值转换等。很多数字信号处理问题,都可以用这些或加上其它的基本运算,经过适当的组合来实现。
 
二、测试信号数字化处理的基本步骤
  随着微电子技术和信号处理技术的发展,在工程测试中,数字信号处理方法得到广泛的应用,已成为测试系统中的重要部分。从传感器获取的测试信号中大多数为模拟信号,进行数字信号处理之前,一般先要对信号作预处理和数字化处理。而数字式传感器则可直接通过接口与计算机联接,将数字信号送给计算机(或数字信号处理器)进行处理。测试中的数字信号处理系统如图所示。


 


 
    1
.预处理预处理是指在数字处理之前,对信号用模拟方法进行的处理。把信号变成适于数字处理的形式,以减小数字处理的困难。如对输人信号的幅值进行处理,使信号幅值与AD转换器的动态范围相适应;衰减信号中不感兴趣的高频成分,减小频混的影响;隔离被分析信号中的直流分量,消除趋势项及直流分量的干扰等项处理。
 
    2
AD转换是将预处理以后的模拟信号变为数字信号,存人到指定的地方。其核心是A/V转换器。信号处理系统的性能指标与其有密切关系。
 
    3
.分析计算对采集到的数字信号进行分析和计算,可用数字运算器件组成信号处理器完成,也可用通用计算机。目前分析计算速度很快,已近乎达到实时
 
    4
.结果显示一般采用数据和图形显示结果。
 
三、数字信号处理的优势
1
、可以用数学计算和计算机显示代替代替复杂的电路和机械结构


。。
2
、计算机软硬件技术发展的推动
a)多种多样的工业用计算机



。。
b)尺寸小巧,功能强大的嵌入式计算机
 



 


 
c)灵活、方便的计算机虚拟仪器开发软件
 




6.2 模数转换(A/D转换)


一、A/D转换
1.A/D转换过程
   
把连续时间信号转换为与其相对应的数字信号的过程称之为模数(AD)转换过程,反之则称为数模(DA)转换过程,它们是数字信号处理的必要程序.一般在进行A/D转换之前,需要将模拟信号经抗频混滤波器预处理,变成带限信号,再经AD转换成为数字信号,最后送入数字信号分析仪或数字计算机完成信号处理.如果需要,再由DA转换器将数字信号转换成模拟信号,去驱动计算机外围执行元件或模拟式显示、记录仪等.
 
    A
D转换包括了采样、量化、编码等过程,其工作原理如图所示.
 



    1)采样——或称为抽样,是利用采样脉冲序列p(t),从连续时间信号x(t)中抽取一系列离散样值,使之成为采样信号xnTs)的过程.n= 01…Tst称为采样间隔,或采样周期,1Ts = fs称为采样频率.


    由于后续的量化过程需要一定的时间τ,对于随时间变化的模拟输入信号,要求瞬时采样值在时间τ内保持不变,这样才能保证转换的正确性和转换精度,这个过程就是采样保持。正是有了采样保持,实际上采样后的信号是阶梯形的连续函数。


    2)量化——又称幅值量化,把采样信号xnTs)经过舍入或截尾的方法变为只有有限个有效数字的数,这一过程称为量化.
 



信号的6等份量化过程
 


    若取信号xt)可能出现的最大值A,令其分为D个间隔,则每个间隔长度为R=ADR称为量化增量或量化步长.当采样信号xnTs)落在某一小间隔内,经过舍入或截尾方法而变为有限值时,则产生量化误差,如上图所示.
  一般又把量化误差看成是模拟信号作数字处理时的可加噪声,故而又称之为舍入噪声或截尾噪声.量化增量D愈大,则量化误差愈大,量化增量大小,一般取决于计算机A/D卡的位数.例如,8位二进制为28=256,即量化电平R为所测信号最大电压幅值的1256
  
3)编码——将离散幅值经过量化以后变为二进制数字的过程。


  信号x(t)经过上述变换以后,即变成了时间上离散、幅值上量化的数字信号.
  
2AD转换器的技术指标
1
.分辨力
    A
D转换器的分辨力用其输出二进制数码的位数来表示。位数越多,则量化增量越小,量化误差越小,分辨力也就越高。常用的有8位、10位、12位、16位、24位、32位等。
  例如,某 AD转换器输入模拟电压的变化范围为-10V+10V,转换器为 8位,若第一位用来表示正、负符号,其余 7位表示信号幅值,则最末一位数字可代表80mV模拟电压(10V×127≈80mV),即转换器可以分辨的最小模拟电压为80mV。而同样情况用一个 10位转换器能分辨的最小模拟电压为20mV10V×129≈80mV)。
 
2
.转换精度
   
具有某种分辨力的转换器在量化过程中由于采用了四舍五入的方法,因此最大量化误差应为分辨力数值的一半。如上例8位转换器最大量化误差应为40mV80mV×O5 = 40mV),全量程的相对误差则为04%(40mV10V×100%)。可见,AD转换器数字转换的精度由最大量化误差决定。实际上,许多转换器末位数字并不可靠,实际精度还要低一些。
   
由于含有AD转换器的模数转换模块通常包括有模拟处理和数字转换两部分,因此整个转换器的精度还应考虑模拟处理部分(如积分器、比较器等)的误差。一般转换器的模拟处理误差与数字转换误差应尽量处在同一数量级,总误差则是这些误差的累加和。例如,一个10AD转换器用其中 9位计数时的最大相对量化误差为29×0. 5≈ 0. l%,若模拟部分精度也能达到 0 l%,则转换器总精度可接近02%。
 
3
.转换速度
   
转换速度是指完成一次转换所用的时间,即从发出转换控制信号开始,直到输出端得到稳定的数字输出为止所用的时间。转换时间越长,转换速度就越低。转换速度与转换原理有关,如逐位逼近式AD转换器的转换速度要比双积分式AD转换器高许多。除此以外,转换速度还与转换器的位数有关,一般位数少的(转换精度差)转换器转换速度高。目前常用AD转换器转换位数有810121416位,其转换速度依转换原理和转换位数不同,一般在几微秒至几百毫秒之间。
   
由干转换器必须在采样间隔Ts内完成一次转换工作,因此转换器能处理的最高信号频率就受到转换速度的限制。如50us内完成10AD转换的高速转换器,这样,其采样频率可高达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/210D/A转换器的分辨力为1/1024,约为0.1%,它的精度为0.05%。如果10D/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较小时,ωs2ωm,周期谱图相互分离如图中(b)所示;当Ts较大时,ωs2ωm,周期谱图相互重叠,即谱图之间高频与低频部分发生重叠,如图中(c)所示,此即频混现象,这将使信号复原时丢失原始信号中的高频信息。



 
  下面从时域信号波形来看这种情况。图(a)是频率正确的情况,以及其复原信号;(b)是采样频率过低的情况,复原的是一个虚假的低频信号。
 



        
  当采样信号的频率低于被采样信号的最高频率时,采样所得的信号中混入了虚假的低频分量,这种现象叫做频率混叠。
  
2.采样定理
   
上述情况表明,如果ωs2ωm,就不发生频混现象,因此对采样脉冲序列的间隔Ts须加以限制,即采样频率ωs2πTs)或 fs(1Ts)必须大于或等于信号x(t)中的最高频率ωm的两倍,即ωs2ωm,或 fs2fm
  
  为了保证采样后的信号能真实地保留原始模拟信号的信息,采样信号的频率必须至少为原信号中最高频率成分的2倍。这是采样的基本法则,称为采样定理。
 
  需要注意的是,在对信号进行采样时,满足了采样定理,只能保证不发生频率混叠,只能保证对信号的频谱作逆傅立叶变换时,可以完全变换为原时域采样信号xs(t),而不能保证此时的采样信号能真实地反映原信号x(t)。工程实际中采样频率通常大于信号中最高频率成分的35倍。



6.4 信号的截断、能量泄漏及窗函数


      
一、信号的截断及能量泄漏效应
  数字信号处理的主要数学工具是博里叶变换.应注意到,傅里叶变换是研究整个时间域和频率域的关系.然而,当运用计算机实现工程测试信号处理时,不可能对无限长的信号进行测量和运算,而是取其有限的时间片段进行分析。做法是从信号中截取一个时间片段,然后用观察的信号时间片段进行周期延拓处理,得到虚拟的无限长的信号,然后就可以对信号进行傅里叶变换、相关分析等数学处理。
 


    


      
  周期延拓后的信号与真实信号是不同的,下面我们就从数学的角度来看这种处理带来的误差情况。设有余弦信号xt)在时域分布为无限长(- ∞),当用矩形窗函数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 sinet)型函数之和,而括号中的两项相对于第一个谱窗向左、右各移动了 πT,从而使旁瓣互相抵消,消去高频干扰和漏能。
  
  下图表示汉宁窗与矩形窗的谱图对比,可以看出,汉宁窗主瓣加宽(第一个零点在T处)并降低,旁瓣则显著减小.第一个旁瓣衰减一32dB,而矩形窗第一个旁瓣衰减一13dB.此外,汉宁窗的旁瓣衰减速度也较快,约为60dB/(10oct),而矩形窗为20dB/(10oct)。由以上比较可知,从减小泄漏观点出发,汉宁窗优于矩形窗.但汉宁窗主瓣加宽,相当于分析带宽加宽,频率分辨力下降.
 


    


      
4)海明(Hamming)窗
   
海明窗也是余弦窗的一种,又称改进的升余弦窗,其时间函数表达式为:


    


     其窗谱为:


    


      
  海明窗与汉宁窗都是余弦窗,只是加权系数不同。海明窗加权的系数能使旁瓣达到更小。分析表明,海明窗的第一旁瓣衰减为一42dB.海明窗的频谱也是由3个矩形时窗的频谱合成,但其旁瓣衰减速度为20dB/(10oct),这比汉宁窗衰减速度慢。海明窗与汉宁窗都是很有用的窗函数.
 
5)高斯窗
   
高斯窗是一种指数窗.其时域函数为:


    


     式中a为常数,决定了函数曲线衰减的快慢。a值如果选取适当,可以使截断点(T为有限值)处的函数值比较小,则截断造成的影响就比较小。高斯窗谱无负的旁瓣,第一旁瓣衰减达一55dB。高斯富谱的主瓣较宽,故而频率分辨力低.高斯窗函数常被用来截断一些非周期信号,如指数衰减信号等.
 
   
除了以上几种常用窗函数以外,尚有多种窗函数,如平顶窗、帕仁(Parzen)窗、布拉克曼(Blackman)窗、凯塞(kaiser)窗等.
 
   
对于窗函数的选择,应考虑被分析信号的性质与处理要求.如果仅要求精确读出主瓣频率,而不考虑幅值精度,则可选用主瓣宽度比较窄而便于分辨的矩形窗,例如测量物体的自振频率等;如果分析窄带信号,且有较强的干扰噪声,则应选用旁瓣幅度小的窗函数,如汉宁窗、三角窗等;对于随时间按指数衰减的函数,可采用指数窗来提高信噪比.



6.5 DFTFFT


     一、离散傅立叶变换
  离散傅里叶变换(Discrete Fourier Transform)一词是为适应计算机作傅里叶变换运算而引出的一个
专用名词,这是因为,对信号XL)进行博里叶变换(FT)或逆傅里叶变换(IFT)运算时,无论在时域或在
频域都需要进行包括(-∞,+)区间的积分运算,若在计算机上实现这一运算,则必须做到:(l)把连
续信号(包括时域、频域)改造为离散数据;(2)把计算范围收缩到一个有限区间;(3)实现正、逆博里
叶变换运算.在这种条件下所构成的变换对称为离散傅里叶变换对.其特点是,在时域和频域中都只取有限
个离散数据,这些数据分别构成周期性的离散时间函数和频率函数.
 
  连续时间信号x(t)经过加窗截断后在区间[0,T]上经过A/D转换离散化,采样间隔Δt按采样频率确定为:
 


     Δt=1/fs
    


     在时间点{0,Δt,2Δt,3Δt,....}进行取样,得到长度为NN=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.CooleyJ.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=W0W6=W2,将[W]分解成


    


     由于上式在分解时充分利用了旋转因子 具有周期性及合理分解的特点,从而使总的计算次数从N2量级减少到Nlog2N量级,极大地提高了运算速度,故形成了快速傅立叶变换。


       最常见的FFT算法要求N2的幂次。假定信号分析仪中的采样点数为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)的样本点数分别为N1N2时,其乘法的运算次数为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,得到XkHk
  
c)将XkHk相乘,得到Yk= XkHk
  
d)利用FFT算法,计算出YkIDFT,即:h(n) = IDFT[Yk]
此即为所求 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)]/Nk=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
-0.02216042
-0.05067773
0.26974228
0.58996165
0.26974228
-0.05067773
-0.02216042


N=7
0.02211721
-0.0509717
-0.26960272
0.5903648
-0.26960272
-0.0509717
0.02211721


数字低通滤波的实现代码为:


For i="0" To N7
  Y(i)=-0.02216042X(0)-0.05067773X(1)+0.26974228X(2)+0.58996165X(3)
    +0.26974228X(4)-0.05067773X(5)-0.02216042X(6)
Next

十分简单,但作用却与一个RC低通滤波器相当。
 
  本课件中提供了一个
FIR数字滤波器设计工具,可根据需要自己设计滤数字波器。   

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /2 下一条