2 单频率信号的数字化:
采样导致信号的数字化:
Tx?t????x?nT????x?n?
x?n?表现为有限数字序列。
根据频谱分析,x?t?由单频率信号ej?t的组合表达;采样后,作为基本单元的单频率
信号会发生什么变化呢?是否还能唯一的表达独立的信息呢?
对单频率信号采样,可以得到:
ej?tT???ej?nT???ej?dn
可以看到,经过采样后,单频率信号任然保持其表观形式;若将其仍然看做单频率信号,与模拟单频率信号对应,则可以定义数字频率?d与模拟频率?的关系如下:
?d???T
根据上述关系,可以得到数字频率的以下特点:
采样过程中,模拟单频率分量与数字单频率分量具有一一对应关系; 对于给定的模拟频率,对应的数字频率与采样周期有关;
模拟频率为有量纲的物理量,数字频率为没有量纲的抽象数据。
模拟单频率信号均为周期信号,具有独立性,可以作为信息的基本单元; 然而容易证明,数字单频率信号通常不为周期信号,也不具有独立性。
例:sin4t与sin4n的周期性表现
例:数字单频率信号在频谱中的周期性
数字单频率信号在频谱中具有周期性,任何单频率信号都可以在?-?,???区间中拥有其代表,因此在考虑信息表达的独立性时,可以将数字频谱只局限于?-?,???之内,该区间内的频谱称为真实频谱,该区域外的频谱可以看做是周期化的镜像频谱,是?-?,???内真实频谱的周期性复制。
当考虑采样过程中模拟频率与数字频率的对应关系时,必须确保数字频率的真实性。
例:当采样周期为T?0.012时,对于模拟频率?1?256和?2?783,对应的数字频率应该为多少? 对于数字频率?3d?2.583和?4d?7.359,对应的模拟频率应该为多少?
3 频谱分析的数字化:DTFT
对于一般信号,计算频谱的关系为连续时间付氏变换CTFT:
X?????x?t??e??N??j?tdt
利用数字技术进行分析时,将上述关系式右边采样,可以得到数字信号的频谱表达:
X??d???x?n??e?j?dn
n?0该关系式称为离散付氏变换表达(DTFT)。该关系式确立了数字信号与数字频谱间的一一对应关系:
DTFTx?n?????X??d?
在DTFT的定义式中,数字序列x?n?为对x?t?进行有限次测量得到的有限数字序列,其中每个数字经过量化归一后表现为纯小数,以x?0?表达第1个测量数据;数字频谱X??d????区间内,该区间外为真实频谱的周期性镜像复制。 的真实值局限于?-?,
例:信号的频谱分析(DTFT)
对给定信号波形,选定不同周期进行采样,得到对应数字序列x?n?和频谱表达:
X??d???x?n??e?j?dn
n?0N
习题:利用DTFT的定义,推导与CTFT对应的时移定理、共轭定理的表达形式。
通过例题分析可以看出,在数字频谱的范围内,采样周期增大可以使频谱细节更丰富;在模拟频谱的范围内,采样周期增大可以使频谱范围更宽广。
4 频谱的数字化计算(DFT)
DTFT频谱为连续频谱,计算只能通过离散频率分量计算来实现; 在标准频谱内采用N点等距采样计算,可以得到N个频率分量; 当计算点足够密集时,将计算结果光滑连接就可以得到连续频谱。
如果在?-?,???区间内进行M点等距计算,可以先将标准区间等分为M份,计算点间距为:?0?2? M若计算从?d?0的点开始,按照上述间距进行计算,则计算点的频率可以表达为: ?dm?m??0?m2? M?j2?mnM 将计算点频率带入到DTFT计算公式中,可以得到: X??dm???x?n??en?0N?X?m?
这一关系式称为离散付氏变换DFT。
DFT利用N个信号测量值计算M个频率分量,为了避免计算过程中可能产生的数据混叠现象,要求N不得大于M;目前典型的DFT计算采用对称计算,即通过N个信号测量值产生N个频率分量,这样的DFT计算称为N点DFT:
X?m???x?n??en?0N?1?j2?mnNm?0,1,2...N?1
注意上式计算的频谱是表现在?0,2??频率区间中的。可以利用数字频谱的周期性将得到的结果转化为?-?,???区间的频谱。
由于计算前后数据量相当,DFT也被看做是对数据的一种变换手段:将数据从一种形式变换到另一种形式;这种变换在数据压缩系统中具有重要意义。
例:对给定信号的DFT计算
由例题看出,对于同一组测量值,计算点数越多,频谱细节就表现得越清楚。
5 频谱的快速算法(FFT)
根据定义关系,N点DFT需要N2次复数乘法和N(N+1)次复数加法;由于数字系统中的乘法复杂度远大于加法,可以采用乘法次数来粗略表达DFT的计算量。
将计算中与测量值相乘的因子称为旋转因子:WmnN?e?j2?mnN
该因子表现为幅度为1的复数,在复平面上分布在单位圆上,表现为单位圆上的N等分点(从相位为0开始)。
旋转因子具有以下特点:
W?eWN/2N0N?j2?0N?1 W?e?j2?2MM?K?e?j2?MM?K?e?j2?K1 ?WK?e?j2?N?N2?W21??1
由以上关系可以看出,并不是每个旋转因子的使用都需要乘法;
例:8点DFT的乘法计算量分析
将上述分析推广到N点DFT,可以得到,当N?2时,实际需要的乘法计算量为: N2??k?1??N
由该关系式可以看出,DFT的点数越少,乘法计算量减少的比例就越大; 为此,需要考虑对N点DFT进行分解运算;
例:当 N?6?2?3时,进行分解运算
分解运算的步骤可以归纳为:
k
将原始数据排列为3行2列;
对每行进行2点DFT,得到3行2列结果;
lk 对每个阵列元素Xlk对应乘以WN;
再对每列进行3点DFT,得到3行2列的最终结果;
考虑到2点旋转因子的使用不需要乘法,若将运算全部分解为2点运算单元,则运算量可以大幅降低:
基于2点分解的FFT架构:
当N?2?K时,可以将原始数据分为2行,先做行DFT,乘以相应的旋转因子后再进行列DFT。此时旋转因子相乘以及列DFT可以表达为标准的蝶形运算架构: