第三章离散傅立叶变换(DFT)

3.1引言

有限长序列在数字信号处理是很重要的一种序列,当然可以用Z变换和傅里叶变换来研究它,但是,可以导出反映它的"有限长"特点的一种有用工具是离散傅里叶变换(DFT)。离散傅里叶变换除了作为有限长序列的一种傅里叶表示法在理论上相当重要之外,而且由于存在着计算离散傅里叶变换的有效快速算法,因而离散傅里叶变换在各种数字信号处理的算法中起着核心的作用。

有限长序列的离散傅里叶变换(DFT)和周期序列的离散傅里叶级数(DFS)本质上是一样的。为了更好地理解DFT,需要先讨论周期序列的离散傅里叶级数DFS。而为了讨论离散傅里叶级数及离散傅里叶变换,我们首先来回顾并讨论傅里叶变换的几种可能形式。

(连续时间信号:如果在讨论的时间间隔内,除若干不连续点之外,对于任意时间值都可给出确定的函数值,此信号就称为连续时间信号。)

一、连续时间、连续频率——连续傅立叶变换(FT)

设x(t)为连续时间非周期信号,傅里叶变换关系如下图所示:

可以看出时域连续函数造成频域是非周期的谱,而时域的非周期造成频域是连续的谱。

二、连续时间,离散频率------傅里叶级数

设f(t)代表一个周期为T1的周期性连续时间函数,f(t)可展成傅里叶级数,其傅里叶级数的系数为,f(t)和组成变换对,表示为:

()

注意符号:如果是周期性的采样脉冲信号p(t),周期用T表示(采样间隔)。采样脉冲信号的频率为

可以看出时域连续函数造成频域是非周期的谱,而时域的周期造成频域是离散的谱

三、离散时间,连续频率------序列的傅里叶变换

正变换:DTFT[x(n)]=

反变换:DTFT-1

级数收敛条件为||=

可以看出时域离散函数造成频域是周期的谱,而时域的非周期造成频域是连续的谱

四、离散时间,离散频率------离散傅里叶变换

上面讨论的三种傅里叶变换对,都不适用在计算机上运算,因为至少在一个域(时域或频域)中,函数是连续的。因为从数字计算角度,我们感兴趣的是时域及频域都是离散的情况,这就是我们这里要谈到的离散傅里叶变换。

时域抽样间隔T,频域周期Ws=2p/T,

时域周期T1,频域抽样间隔W1=2p/T1

周期序列的离散傅里叶级数(DFS)

是周期为N的一个周期序列,即,r为任意整数。和连续时间周期信号一样,周期序列可用离散傅里叶级数来表示。

离散傅里叶级数(DFS)对:

正变换=DFS[] =  =

反变换=IDFS[]==

式中,均为整数。

观察=是一个周期序列吗?如是,周期为多少?

=

所以。是一个周期序列,周期为N。

,周期为N

,周期也为N。

观察=,与连续时间信号与系统中的傅里叶级数对应,表明将周期序列分解成N个独立谐波分量。第0次谐波序列,基波序列,…,第k次谐波序列,第N-1次谐波序列。谐波频率,k=0,1,2,…,N-1,幅度为。例如:基波分量的频率为2p/N,幅度是。一个周期序列可以用其DFS表示它的频谱分布规律。

例题:如图所示,求的DFS

解:=DFS[] =  =

====

==

||如下图所示。

离散傅立叶变换(DFT)

周期序列实际上只有有限个序列值才有意义,因而它的离散傅里叶级数表示式也适用于有限长序列,这就可以得到有限长序列的傅里叶变换(DFT)。

设x(n)是一个长度为M的有限长序列,

正变换=DFT[] =  =

k=0,1,2,…,N-1(3.1.1)

反变换=IDFT[]==

n=0,1,2,…,N-1(3.1.2)

式中,N称为DFT变换区间长度,N≥M。

例3.1.1:=R4(n),求的8点和16点DFT。

解:(1)DFT变换区间N=8,则:

====

=,k=0,1,…,7

(2)DFT变换区间N=16,则:

==

=,k=0,1,…,15

DFS与DFT的关系

1、有限长序列和周期序列的关系

设x(n)是一个长度为M的有限长序列,以N(N≥M)为周期进行周期延拓得是x(n)的周期延拓。如下图所示:

M=4,N=8,以N=8进行周期延拓。的周期为8。

用式子表示:

=x(n模N)=x((n))N,(n模N)表示n对N取余数

例:设是以N=8周期对有限长序列x(n)(长度M=4)进行周期延拓得到的。=x(3),=x(2)。

有限长序列进行周期延拓得到周期序列。

定义:周期序列中从n=0到N-1的第一个周期为的主值区间,而主值区间上的序列称为的主值序列

周期序列的主值序列是有限长序列

利用前面的矩形序列符号RN(n)

RN(n)=   1,0≤n≤N-1

0,其他n

x(n)= RN(n)

x(n)的周期延拓序列是=x((n))N

的主值序列是x(n);x(n)= RN(n)

同理把频域周期序列也看作是有限长序列X(k)的周期延拓。X(k)是的主值序列

X(k)的周期延拓序列是=X((k))N

的主值序列是X(k);X(k)=  RN(n)

具体而言,我们把时域周期序列看作是有限长序列x(n)的周期延拓;同理把频域周期序列也看作是有限长序列X(k)的周期延拓。这样我们只要把DFS的定义式两边取主值区间,就得到了一个关于有限长序列的时频域对应的变换对。这就是数字信号处理课程里最重要的变换-------离散傅里叶变换(DFT)。

离散傅立叶级数(DFS)对:

正变换=DFS[] =  =

反变换=IDFS[]==

式中,均为整数。

离散傅里叶变换(DFT)

正变换:=DFT[x(n)]= ,0≤k≤N-1

反变换:x(n)=IDFT[]=,0≤n≤N-1

或: RN(k)= RN(k)

x(n)=  RN(n) =

 RN(n)

DFT隐含有周期性。

DFT和Z变换的关系

设序列x(n)的长度为N,其Z变换和DFT分别为:

  

=DFT[x(n)]= ,0≤k≤N-1

比较上面两式可以得到:

|,0≤k≤N-1(3.1.3)

=|,0≤k≤N-1(3.1.4)

(3.1.3)表明序列x(n)的N点DFT是x(n)的Z变换在单位圆上的N点等间隔采样。(3.1.4)表明是x(n)的傅立叶变换在区间[0,2π]上的N点等间隔采样。这就是DFT的物理意义。由此可见,DFT的变换区间长度N不同,表示对在[0,2π]区间上的采样间隔和采样点数不同,所以DFT的变换结果不同。例3.1.1中,= R4(n),DFT变换区间长度N分别取8点和16点,结果不同。下图为R4(n)的傅立叶变换和R4(n)的8点、16点的对应图。

3.2离散傅立叶变换的性质

一、线性

设x1(n)、x2(n)是两个有限长序列,长度分别为N1,N2,且y(n)=a x1(n)+b x2(n),a,b为常数。N=max[N1,N2]。

x1(n)有限长序列,长度为N;

x2(n)有限长序列,长度为N;

y(n)有限长序列,长度为N;

x1(n)的N点DFT为:X1(k)=DFT[x1(n)]=

0≤k≤N-1

x2(n)的N点DFT为:X2(k)=DFT[x2(n)]=

0≤k≤N-1

y(n)的N点DFT为:Y(k)=DFT[y(n)] =

==aX1(k)+b

X2(k)

0≤k≤N-1

二、循环移位定理

1、序列的循环移位

设x(n)为有限长序列,长度为N,则x(n)的循环移位定义为

(3.2.2)

(3.2.2)表明先将x(n)以N为周期进行周期延拓得到序列= x((n))N,再将左移得到,最后取主值区间(n=0到N-1)上的序列值,则得到有限长序列x(n)的循环移位序列

过程如下图所示:

2、时域循环移位定理

设x(n)为有限长序列,长度为N,为x(n)的循环移位序列,即,则

DFT[]=

其中=DFT[x(n)],0≤k≤N-1

证明:

=

令n+m=n’,则有

=

=

由于上式中求和项以N为周期,所以对其在任一周期上的求和结果相同。将上式的求和区间改在主值区间,则得:

=

=

=,0≤k≤N-1

3、频域循环移位定理

如果=DFT[x(n)],0≤k≤N-1

=

则:y(n)=IDFT[]=x(n)

证明:y(n) =IDFT[]=

=

=,则有:

y(n)=

=()

=()

=()

= x(n)

三、循环卷积定理

有限长序列x1(n)和x2(n),长度分别为N1和N2,N=max[N1,N2]。

x1(n)和x2(n)的N点DFT分别为:

X1(k)=DFT[x1(n)]

X2(k)=DFT[x2(n)]

如果X(k)= X1(k) X2(k)

则:x(n)= IDFT[X(k)]=

循环卷积过程:

循环卷积过程中,要求对循环反转,循环移位,特别是两个长度位N的序列的循环卷积长度仍为N。显然与一般的线性卷积不同,故称为循环卷积。记为:x(n)

=

四、复共轭序列的DFT

的复共轭序列,长度为N,

已知=DFT[],

则DFT[]=   0≤k≤N-1

证明:DFT[]= RN(k)

= RN(k)

= RN(k)

= RN(k)

=,0≤k≤N-1

已知=DFT[],

则DFT[]=

证明:∵=DFT[],即

=IDFT[]==

=

=

=[]

=

=IDFT[]

即DFT[]=

五、DFT的共轭对称性

第二章2.2节中已详细讨论了序列傅立叶变换的对称性,那里的对称性是指关于坐标原点的纵坐标对称性。DFT也有对称性,但由于DFT中讨论的序列及其离散傅立叶变换均为有限长序列,且定义区间为0到N-1,所以这里的对称性是指关于N/2点的对称性。下面讨论DFT的共轭对称性质。

1、有限长共轭对称序列和共轭反对称序列

为了区别于序列傅立叶变换中所定义的共轭对称和共轭反对称序列,下面用分别表示有限长共轭对称序列和共轭反对称序列。二者的定义如下:

=,0≤n≤N-1

=-,0≤n≤N-1

(关于N/2点的对称性)

当N为偶数时,将上式的n换成N/2-n,得到

=,0≤n≤N/2-1

当N为奇数时,将上式的n换成(N-1)/2-n,得到

=,0≤n≤(N-1)/2-1

任意有限长序列可表示成共轭对称分量和共轭反对称分量之和。

=+    0≤n≤N-1

将上式中的n换成N-n,并取复共轭,得到:

=+

=-

=(+)

=()

2、DFT的共轭对称性

(1)将有限长序列x(n)分成实部与虚部,即:

=+j

则:

证明:=(+)

DFT[]=(+)

=

j=()

DFT[j]=()

=

(2)将有限长序列x(n)分成共轭对称部分和共轭反对称部分,即

=+,0≤n≤N-1

则:

证明:=(+)

DFT[]=(+)

=

=()

DFT[]=()

=

3.3频率域抽样理论

时域采样定理告诉我们,在一定条件下,可以由时域采样信号恢复原来的连续信号。那么能不能也由频域采样信号恢复频域连续信号?频域采样理论是什么?

已知序列及序列的长度为M。的Z变换为:。因为收敛域包含单位圆,所以其序列傅立叶变换存在。

在区间[0,2π]上进行N点等间隔采样(对X(z)在单位圆上进行N点等间隔采样),得到

|=,0≤k≤N-1

进行IDFS得周期序列,取的主值序列与原序列相等吗?相等的条件是什么?由此导出频域采样定理。

=IDFS[]

=

=

=

=

=,r为整数

=

式中= 1  m=n+rN,r为整数

0其他m

从上式得:X(z)在单位圆上的N点等间隔采样的IDFS,为原序列以N为周期的周期延拓序列。

=RN(n)=RN(n)

(3.3.3)

所以只有当频域采样点数N≥M时,才有

=IDFT[]=

即可由频域采样恢复原序列,否则产生时域混叠现象。这就是频域采样定理。

满足频域采样定理,N≥M,即可由频域采样来表示的

设序列长度为M,在频域0~2π之间等间隔采样N点,N≥M。

|,0≤k≤N-1

根据频域抽样定理,

=IDFT[]=

=

=

=

,称为内插函数

=,称为内插公式

当z=时,

=

进一步化简,可得:

=

在数字滤波器的结构与设计中,我们将会看到,频域采样理论及有关公式可提供一种有用的滤波器结构和滤波器设计途径。

3. 4  DFT的应用举例

一、求两个不同实序列的N点DFT。

=+j

(+)→()

利用DFT的共轭对称性

DFT[]=(+)

=

DFT[j]=()

=

DFT[]=()

二、用DFT计算线性卷积

1、线性卷积

y(n)=x(n)*h(n)=

设两序列分别的长度是N和M,线性卷积后的序列长度为(N+M-1)

2、循环卷积

的N点DFT分别为:

X1(k)=DFT[]

X2(k)=DFT[]

如果X(k)= X1(k) X2(k),0≤k≤N-1

则:x(n)= IDFT[X(k)]=

x(n)

3、循环卷积的计算

由于DFT有快速算法FFT,当N很大时,在频域计算的速度快得多,因而常用DFT(FFT)计算循环卷积。

4、利用循环卷积计算线性卷积

在实际应用中,为了分析时域离散线性系统对序列进行滤波处理等,需要计算两个序列的线性卷积。与计算循环卷积一样,为了提高运算速度,也希望用DFT(FFT)计算线性卷积。而DFT只能直接用来计算循环卷积。

线性卷积和循环卷积之间有什么关系?

假设h(n)和x(n)都是有限长序列,长度分别是N和M。它们的线性卷积

=x(n)*h(n)= h(n)*x(n)=

=,长度为N+M-1。

取L≥max[N,M],h(n)和x(n)的循环卷积

 h(n)éx(n) =

=x((n))L =

=

=

(3.4.3)

上式说明,等于以L为周期进行周期延拓序列的主值序列。的长度为N+M-1,因此只有当循环卷积长度L≥N+M-1时,等于

例如:如下图所示,N=4,M=5,线性卷积长度=8,当取循环卷积长度为6时,

当取循环卷积长度为8时,=

当取循环卷积长度为10时,=

小结:取L=N+M-1,可用DFT计算线性卷积。这种方法称为快速卷积。用DFT计算线性卷积的框图如下:

当M>>N时,L=N+M-1,h(n)需补很多零点,且长序列必须全部输入后才能进行快速计算。因此要求存储容量大,运算时间长,如在处理地震信号和语音信号时。实际中采用的方法是将长序列分段计算,这种分段处理方法有两种:重叠相加法和重叠保留法。

5、重叠相加法

设序列h(n)长度为N,x(n)为无限长序列。将x(n)均匀分段,每段长度取M,则

式中

h(n)和x(n)的线性卷积

 h(n)*x(n)= h(n)*

=

=

式中

运算过程如下图所示:

每一分段卷积的长度为N+M-1,因此有N-1个点重叠,必须把重叠部分的相加,才能得到完整的卷积序列。这种方法不要求大的存储容量,且运算和延时也大大减少。

三、用DFT对信号进行谱分析

所谓信号的谱分析,就是计算信号的傅立叶变换。连续信号与系统的傅立叶分析显然不便于直接用计算机进行计算,使其应用受到限制,而DFT是一种时域和频域均离散化的变换,适合数值运算。对连续信号和系统,可以通过时域采样,应用DFT进行近似谱分析。

1、用DFT对连续信号进行谱分析

傅立叶变换理论:

若信号持续时间有限长,则其频谱无限宽;若频谱有限宽,则其持续时间无限长。

所以,严格地讲,持续时间有限的带限信号是不存在的。

但在工程中,常用DFT对连续信号进行谱分析。

对于持续时间无限长的信号,采样点数太多以至无法存储和计算,只好截取有限点;对于频谱很宽的信号,为防止时域采样后频谱混叠失真,可用预滤波法滤除幅度较小的高频成分,使连续信号的带宽小于折叠频率。这样,连续信号持续时间为有限长,为有限带宽。为了利用DFT对进行频谱分析,先对进行时域采样得x(n),再对x(n)进行DFT得到X(k),X(k)为x(n)的傅立叶变换在频率区间[0,2p]上的N点等间隔采样。这里X(k)和x(n)均为有限长。所以用DFT对连续信号进行谱分析是近似的,其近似程度与信号带宽、采样频率和截取长度有关。

设连续信号持续时间为,最高频率为

以采样间隔采样得x(n)=。设共采样N点,并对作零阶近似,t=nT,dt=T得:

显然,仍是f的连续周期函数,如上图b所示。

在区间[0,]上等间隔采样N点,采样间隔为F,如下图c所示。

参数、N、F的关系:

==

==

∴F=/N=

代入,得到的采样:

,0≤k≤N-1

=,x(n)=

=   (3.4.7)

用同样的方法,由

=

推出:=

t=nT,df=F,

x(n)==

=

=

(3.4.8)

(3.4.7)说明,连续信号的频谱特性可以通过对连续信号采样并进行DFT再乘以T的近似方法得到。时域采样信号可由(3.4.8)得到。

2、用DFT进行谱分析存在的问题

栅栏效应:只能看见N个离散采样点的谱特性,看不到的全部频谱特性。

由于栅栏效应,有可能漏掉(挡住)大的频谱分量。为了把原来被“栅栏”挡住的频谱分量检测出来,可以采用在原序列尾部补零的方法,改变序列长度N(即改变DFT变换区间长度),从而增加频域采样点数和采样点位置,使原来漏掉的某些频谱分量被检测出来。

频率响应的混叠失真及参数选择:

设信号最高频率为,按时域抽样定理,抽样频率>2,采样间隔(时域抽样之前用预滤波器将高于频率的信号分量加以滤除),否则会产生频率响应的混叠失真。一般情况下取

=(2.5~3.0)

对于DFT,频率函数也要抽样变成离散序列,抽样间隔为F,时域周期为=。F称为频率分辨率,显然F越小,谱分析的结果就越接近原连续信号频谱。所以F较小时,我们称频率分辨率较高。

一组参数:,T,F,N,

抽样定理:>2

=NF

F=/N

当N保持不变,要提高谱的分辨率,必须降低。但受抽样定理的限制。如维持不变,为提高频率分辨率可以增加采样点数N,因为NT=,所以只有增加对信号的观察时间

参数选择:由>2,得N>

例3.4.1:对实信号进行谱分析,要求谱分辨率F≤10Hz,信号最高频率=2.5kHz,试确定最小记录时间,最少的采样点数。如果不变,要求谱分辨率增加一倍,最少的采样点数和最小的记录时间是多少?

解:F≤10Hz

N>=2×2500/10=500

=1/10=0.1s

为使频率分辨率提高1倍,F=5Hz,

N>=2×2500/5=1000

=1/5=0.2s

截断效应:如果持续时间无限长,上述分析中要进行截断处理,所以会产生频率混叠和泄漏现象,从而使谱分析产生误差。

如上图所示,无限长序列的频谱为(只画出一个周期),现截取一个时间段信号,其频谱为。这里,截取有限长个数据,就相当于在时域乘一个矩形窗函数,窗内的数据并不改变。时域中相乘,频域中相当于卷积。卷积的结果与原来的频谱不相同,有失真。这种失真最主要的是造成频谱的“扩散”(拖尾、变宽)。这就是所谓的“频谱泄漏”

应该说明,泄漏也会造成混叠,因为泄漏会导致频谱的扩展,从而使最高频率有可能超过折叠频率/2,造成频率响应的混叠失真。

减小泄漏的方法,首先是取更长的数据,也就是窗宽加宽,当然数据太长,必然使运算存储量都增加,其次数据不要突然截断,也就是不要加矩形窗,而是要缓慢截断,即加各种缓变的窗(例如三角形窗、升余弦窗等),使得窗谱的旁瓣能量更小,卷积后造成的泄漏减小。这个问题在FIR滤波器设计一章中将会讨论到。

x=rn(n)傅里叶变换matlab,第三章 离散傅立叶变换相关推荐

  1. 【语音隐藏】基于matlab小波变换DWT结合离散余弦变换DCT音频数字水印嵌入提取【含Matlab源码 2131期】

    ⛄一.离散小波变换的音频信号数字水印技术简介 0 引言 近年来, 数字水印技术的作用越来越重要.数字水印技术是将一些标识信息直接嵌入数字载体当中, 或间接表示在信号载体中, 且不影响原载体的使用价值. ...

  2. 单边指数信号的傅立叶matlab,实验四连续信号的傅立叶变换

    subplot(3,1,3);plot(w1,phai) %该三行用来得到相频特性图可得到完整图形. 例2.求2 11)(ω ω+=j F 的傅里叶逆变换)(t f . 解:编写如下M 文件, sym ...

  3. 理解离散傅立叶变换(三.复数)

    理解离散傅立叶变换(三) ------复数形式离散傅立叶变换 复数形式的离散傅立叶变换非常巧妙地运用了复数的方法,使得傅立叶变换变换更加自然和简洁,它并不是只是简单地运用替换的方法来运用复数,而是完全 ...

  4. 用Matlab编程实现图像的傅立叶变换和逆变换并显示出来

    用Matlab编程实现图像的傅立叶变换和逆变换并显示出来 % 用Matlab编程实现图像的傅立叶变换并显示出来 % 可进行傅立叶变换和逆变换恢复 clear all close all clc I=i ...

  5. matlab prefourier,用matlab求单位阶跃函数的傅立叶变换fourier变换

    傅立叶变换常常应用于在信号处理,其在信号处理中有着很重要的位置.下面我们就介绍一种最简单的傅立叶变换,即单位阶跃函数的傅立叶变换.然后用matlab实现单位阶跃函数的傅立叶变换. 1.傅立叶变换简介 ...

  6. dct变换的主要优点有哪些_数字图像处理(三)—— 离散余弦变换

    离散余弦变换(Discrete Cosine Transform)本质上也是离散傅里叶变换(Discrete Fourier Transform),但是只有实数部分.有这样一个性质:如果信号 在给定区 ...

  7. python离散余弦变换_数字图像处理(三)—— 离散余弦变换

    离散余弦变换(Discrete Cosine Transform)本质上也是离散傅里叶变换(Discrete Fourier Transform),但是只有实数部分.有这样一个性质:如果信号 在给定区 ...

  8. matlab第三章题目,第3章 MATLAB矩阵处理习题答案

    <第3章 MATLAB矩阵处理习题答案>由会员分享,可在线阅读,更多相关<第3章 MATLAB矩阵处理习题答案(3页珍藏版)>请在人人文库网上搜索. 1.第3章 MATLAB矩 ...

  9. matlab实验答案第三章,matlab第三章答案

    1.第1题:从键盘输入一个3位数,将它反向输出.如输入639输出936.n1=fix(n/100); n2=rem(fix(n/10),10);n3=rem(n,10);m=n3*100+n2*10+ ...

  10. DFT泄露问题和DFT的频率轴表示方法(第三章离散傅里叶变换(3.8,3.13.4)学习笔记)

    文章目录 1.DFT泄露原因 2.DFT的频率轴 1.以Hz为单位的频率轴 2.以Fs归一化的DFT频率轴 3.使用归一化角度的DFT频率轴 1.DFT泄露原因 一个被称之为""泄 ...

最新文章

  1. [转]实战 SQL Server 2008 数据库误删除数据的恢复
  2. SpringBoot系列二:搭建自己的第一个SpringBoot程序
  3. 从注册流程 分析如何安全退出多个Activity 多种方式(附DEMO)
  4. java取余时前者前者小于后者_Java基本语法
  5. 一般向量空间的基变换_从希尔伯特空间的角度看线性变换的一般思想和问题
  6. 全球及中国木材加工行业运行状况与投资产值预测报告2022版
  7. Ubuntu16.04怎样安装Python3.6
  8. CSS3 选择器(转)
  9. Duilib教程-控件练习
  10. 关于Hibernate 3
  11. 实例42:python
  12. 【CodeForces - 1102C 】Doors Breaking and Repairing (思维,简单博弈)
  13. jquery实现双击事件不触发单击事件
  14. java中BigDicemal的运算
  15. JSP之内置对象、作用域
  16. Android 系统(56)---Android 系统开机日志
  17. 【数据结构笔记19】File Transfer的C语言实现,集合的简化表示,按秩归并,路径压缩
  18. 【信息融合】基于BP神经网络和DS 证据理论实现不确定性信息融合问题附matlab代码
  19. gcforest 深度森林原理及实现
  20. c盘空间清理,无需软件

热门文章

  1. 克莱斯勒等公司宣布召回缺陷汽车
  2. 微信小程序设置了合法请求域名,小程序一直提示不在合法域名列别中
  3. 手动删除文件夹exe病毒并恢复原来文件夹
  4. 806管理学原理考研复习资料
  5. ssh pem登陆及pem是什么
  6. python,画3D图,瀑布图
  7. 天地融2014校园招聘笔试题
  8. 区块链的底层技术:P2P网络原理与应用详解
  9. phaser3场景中的图片缩放scale
  10. 深度学习数据增强方法总结