省级科研论文发表用DFT对连续信号谱分析的误差问题
所属栏目:电子技术论文
发布时间:2014-07-11 15:56:10 更新时间:2014-07-11 15:21:10
连续信号的谱分析是数字信号处理的一个重要内容。对信号进行谱分析,关键是得到信号的傅里叶变换。由于离散傅里叶变换(DFT)有快速算法FFT,因此经常用DFT(FFT)对信号进行谱分析。但是根据傅里叶变换理论,若信号持续时间有限长,则其频谱无限宽;若信号的频谱有限宽,则其持续时间无限长 [1]。因此,用有限长序列的有限点的DFT对连续信号进行谱分析必然是近似的,要明确误差产生的原因,并能够采取合理措施来降低误差。
摘 要: 谱分析是数字信号处理中的一个重要问题,初学者普遍对连续信号谱分析理解不深,尤其是在误差分析时缺乏统一示例,更容易产生困惑。介绍了用离散傅里叶变换(DFT)对连续信号进行谱分析的过程,并详细说明了误差产生的原因和减小误差的方法。而且通过对模拟信号谱分析的实例全面说明了各项误差的影响及解决方案,并应用Matlab直观地进行了分析和对比验证。
关键词:省级科研论文发表,谱分析, 误差分析, DFT, Matlab
Error of continuous signal spectrum analysis based on DFT
QIAO Jian?hua1,2, ZHANG Xue?ying2
(1. College of Electronic & Information Engineering, Taiyuan University of Science & Technology, Taiyuan 030024, China;
2. College of Information Engineering, Taiyuan University of Technology, Taiyuan 030024, China)
Abstract: Spectrum analysis is one of the important missions in digital signal processing. The understanding of most beginners is not deep to continuous signal spectrum analysis, especially lacking of a uniform example in the error analysis, so it is easier to be confused. The process of continuous time signal spectrum analysis using the discrete Fourier transform (DFT) is introduced in this paper. The reasons of generating the errors and the methods of minimizing the errors are illustrated in detail. The influence and solutions of various errors are elaborated through a concrete example of analog signal spectrum analysis. It is verified intuitively through analysis and contrast with Matlab software.
Keywords: spectrum analysis; analysis error; DFT; Matlab
0 引 言
文献[2?5]也以不同的侧重点介绍了DFT在谱分析中的仿真实现,物理实现,具体应用以及针对各种不同信号的谱分析。而对于实际中广泛存在的连续信号,初学者普遍对其应用DFT的谱分析的原理和过程理解不深,尤其对误差产生原因不明确,对减小误差方案不清晰,在具体的应用中不知如何整合这些方案,这都是对整个谱分析过程研究不透彻的缘故。本文从具体的模拟信号谱分析的实例入手,来充分说明这一点,并通过Matlab演示来加深对整个谱分析过程中误差的认识。
1 用DFT对连续信号谱分析
假设模拟信号为[xa(t)],根据Nyquist采样定理,使用模拟信号带宽2倍以上的采样率才能保证频谱不混叠,但实际上理想的带限信号时域上总是无限长的,因此在工程应用时对于带宽外能量占总能量比例很小的信号,可以近似看成是带限信号,认为抽样信号是不失真的。
例如设[xa(t)=e-1 000|t|,]其傅里叶变换为:
[Xa(jΩ)=FT[xa(t)]=-∞∞xa(t)e-jΩtdt=-∞∞e-1 000|t|e-jΩtdt=2 0001 0002+Ω2] (1)
可以看到这个信号不是一个理想带限的信号。但是随着[Ω]增加,[Xa(jΩ)]会逐渐减小,可以规定一个带宽[Ωc,]使得[Xa(jΩc)?1,] 认为当采样频率[fs>Ωcπ]时可以无失真地恢复原模拟信号,如本例中取[fc=Ωc2π=2]kHz,此即造成了误差的产生。[xa(t)]及其幅频特性曲线如图1(a),(b)所示。
对[xa(t)]以采样频率[fs=5 ]kHz采样,即采样间隔[T=][0.2 ]ms,得采样信号[xa(nT)=xa(t)t=nT=x(n),]在式(1)中,由于[t→nT,dt→T,-∞∞dt→n=-∞∞T,]因此得采样信号的频谱:
[Xa(jΩ)≈T?n=-∞∞xa(nT)e-jΩnT] (2)
假设将采样序列[xa(nT)]截取成长度为[M]的有限长序列,此截断即为误差产生之二。若频率用[f]表示,则式(2)写为: [Xa(jf)≈T?n=0M-1xa(nT)e-j2πfnT] (3)
显然[Xa(jf)]仍是[f]的连续周期函数,[xa(nT)]和[Xa(jf)]如图1(c),(d)所示。
为了进行数值运算,频域上也要离散化,因此在频域的一个周期[0, fs]内等间隔采样[N]点,如图1(f)所示。由于间隔采样有可能漏掉重要的频域信息,成为误差产生之三。设频域采样间隔为[F,]则 [F=fsN=1(NT),]将[f=kF]代入式(3)中可得对采样信号频谱[Xa(j f)]的采样:
[Xa(jkF)≈T?n=0M-1xa(nT)e-j2πNkn] (4)
根据频域采样定理[6],如果序列[x(n)]的长度为[M,]只有当频域采样点数[N≥M]时,才可由频域采样[X(k)]恢复原序列[x(n),] 否则会产生时域混叠。因此为简便计算,将序列也以[N]点长度来截取,则式(4) 的求和上限为[N-1,]并令:[Xa(k)=Xa(jkF),x(n)=xa(nT)],则:
[Xa(k)≈T?n=0N-1x(n)e-j2πNkn=T?DFT[x(n)]N, k=0,1,…,N-1] (5)
可见,对近似持续时间有限的带限连续信号,其频谱特性可以通过对连续信号采样[N]点并进行DFT再乘以[T]的近似方法得到。因此用DFT对模拟信号谱分析,产生误差是必然的。其具体分析过程是首先确定模拟信号的最高频率[fc]和频率分辨率[F,]再选取参数,包括采样频率[fs,]采样点数 [N,]记录时间[Tp]等。其取值分别为:
[fs≥2fcN=fsF≥2fcFTp=NT=Nfs≥1F] (6)
然后根据计算的参数,通过采样得到信号序列[x(n)],即可根据式(5)进行运算分析。
图1 DFT对连续信号谱分析过程
下面具体分析误差的影响及其减小误差的措施。
2 误差分析
2.1 频谱混叠
在对模拟信号[xa(t)]进行采样时,必须满足采样定理,即采样频率[fs≥2fc,]而通过上面分析时域有限的信号不可能是锐截止的,并且信号中不可避免地有一些高频杂散信号,因此在采样之前,一般都要对模拟信号进行滤波,滤除高频杂散信号。如本例中,[fc]取2 kHz,当[fs]=5 kHz时,采样信号的频谱混叠很小,见图1(d);但当选[fs]=1 kHz时,其频谱如图1(h)所示,混叠严重。以折叠频率[fs2]处的频谱幅度来比较[T=]0.2 ms和[T=]1 ms时的混叠程度,此处[k=256,]键入Matlab语句,得到:
abs(X1(k))/max(abs(X1))
ans=0.009 4
abs(X2(k))/max(abs(X2))
ans=0.212 6
而在[fc]处,模拟信号的幅度比值为:
abs(Xa(2k))/max(abs(Xa))
ans=0.006 6
可以看出,随着采样频率的减小,混叠现象加大。
因此,要减小混叠,必须满足乃奎斯特采样定理,并且在采样前进行预滤波,滤除高于折叠频率[fs2]的频率成分,一般取采样频率[6][fs≥(3~5)fc。]
2.2 截断效应
对无限长的模拟信号,用DFT进行谱分析时,必须先进行截断,通过采样才能得到有限点的序列,这样必然产生误差。截断可以理解为加窗,即:
[y(n)=x(n)w(n)] (7)
式中:[x(n)]为模拟信号经采样得到的时域离散信号;[w(n)]为窗函数序列。根据频域卷积定理,加窗后的信号频谱为:
[Y(ejω)=12πX(ejω)*W(ejω)] (8)
显然与原序列的频谱是不同的。
文献[7]对常用的五种窗函数的时频域波形有详细的对比,是对窗函数本身的性能做了说明。下面仅以矩形窗和hamming窗为例来从加窗对信号频谱的影响方面来进行分析。图2所示为矩形窗和hamming窗的时域和频域波形。由时域波形可见,矩形窗是对原信号的原样截取,hamming窗是在截取的同时对信号做了加权。由频域波形可见,矩形窗的主瓣窄,其宽度[8]为[4πN,]但旁瓣幅度也高;hamming窗是以主瓣展宽为代价换取了旁瓣幅度的减小,其主瓣宽度[8]为[8πN,]而主瓣宽度影响的就是频率分辨率。可见,通过加窗对信号截断使得对模拟信号的谱分析产生误差,表现为原本离散的谱线展宽(高频泄漏)和谱间干扰等现象,即所谓截断效应。从而降低了谱的分辨率,使频率相近的两个信号不易分清。
图2 矩形窗和hamming窗的时频曲线
因此,为了减小截断效应的影响,一种方法是增大截取长度,通过改变[N,]使窗函数的主瓣变窄,提高频率分辨率。另一种方法是改变截断窗函数的形状。
下面通过一个例子,来更清楚地展示泄漏和谱间干扰的影响,以及通过截取长度和加不同的窗函数对频谱的改善作用[9],设:
[x(n)=cos(2πf1n)+sin(2πf2n)+cos(2πf3n)]
其中[f1]=25 Hz,[f2]=50 Hz,[f3]=100 Hz,可见其最高频率为[f3,]频率分辨率至少为25 Hz,则根据式(6),截取长度[Tp≥1F=]0.04 s,取采样频率[fs]=400 Hz,则最小采样点[N=][Tp?][fs]=16点,图3所示为其加矩形窗和hamming窗以[N,][4N,][8N]点分别截断的频谱效果。由图可以清晰地看到,当截取长度太短的时候,泄漏和谱间干扰都非常严重,25 Hz和50 Hz的两条谱线已无法分辨,只有增加截取长度[N,]才使得主瓣变窄,提高了频率分辨率;而采用hamming窗又降低了旁瓣的影响,减小了谱间干扰。而且可以看出,当[N]一定时,旁瓣越小的窗函数,其主瓣就越宽。增加[N]使主瓣变窄,但旁瓣的相对幅度并不减小。矩形窗的主瓣较窄,但是旁瓣幅度也较高。可见,当截取长度一定时,频率分辨率和谱间干扰是相互抵消的,只能以一种优势来换取另一种性能的降低。