离散傅里叶变换和快速傅里叶变换

离散傅里叶变换和快速傅里叶变换
离散傅里叶变换和快速傅里叶变换

实验报告

课程名称: 信号分析与处理 指导老师: 成绩:__________________

实验名称:离散傅里叶变换和快速傅里叶变换 实验类型: 基础实验 同组学生姓名:

第二次实验 离散傅里叶变换和快速傅里叶变换

一、实验目的

1.1掌握离散傅里叶变换(DFT )的原理和实现;

1.2掌握快速傅里叶变换(FFT )的原理和实现,掌握用FFT 对连续信号和离散信号进行谱分析的方法。 1.3 会用Matlab 软件进行以上练习。

二、实验原理

2.1关于DFT 的相关知识

序列x (n )的离散事件傅里叶变换(DTFT )表示为

n

j n j e

n x e X Ω-∞

-∞

∑=

)()(,

如果x (n )为因果有限长序列,n =0,1,...,N-1,则x (n )的DTFT 表示为

n j N n j e n x e X Ω--=Ω

∑=1

)()(,

x (n )的离散傅里叶变换(DFT )表达式为

)1,...,1,0()()(21

-==--=∑N k e

n x k X nk N

j

N n π,

序列的N 点DFT 是序列DTFT 在频率区间[0,2π]上的N 点灯间隔采样,采样间隔为2π/N 。通过DFT ,可以完成由一组有限个信号采样值x (n )直接计算得到一组有限个频谱采样值X (k )。X (k )的幅度谱为

)()()(22k X k X k X I R +=

,其中下标R 和I 分别表示取实部、虚部的运算。X (k )的相位谱为

)

()

(arctan

)(k X k X k R I =?。

离散傅里叶反变换(IDFT )定义为

)1,...,1,0()(1)(21

-==∑-=N n e k X N n x nk N

j N n π

2.2关于FFT 的相关知识

快速傅里叶变换(FFT )是DFT 的快速算法,并不是一个新的映射。FFT 利用了n N

j e

π2-函数的周期性

和对称性以及一些特殊值来减少DFT 的运算量,可使DFT 的运算量下降几个数量级,从而使数字信号处

线

理的速度大大提高。

若信号是连续信号,用FFT 进行谱分析时,首先必须对信号进行采样,使之变成离散信号,然后就可以用FFT 来对连续信号进行谱分析。为了满足采样定理,一般在采样之前要设置一个抗混叠低通滤波器,且抗混叠滤波器的截止频率不得高于与采样频率的一半。

比较DFT 和IDFT 的定义,两者的区别仅在于指数因子的指数部分的符号差异和幅度尺度变换,因此可用FFT 算法来计算IDFT 。

三、实验内容与相关分析(共6道)

说明:为了便于老师查看,现将各题的内容写在这里——

题目按照3.1、3.2、...、3.6排列。每道题包含如下内容:题干、解答(思路、M 文件源代码、命令窗口中的运行及其结果)、分析。其中“命令窗口中的运行及其结果”按照小题顺序排列,各小题包含命令与结果(图形或者序列)。

3.1 求有限长离散时间信号x (n )的离散时间..傅里叶变换(DTFT )X (e j Ω

)并绘图。 (1)已知??

?≤≤-=其他

0221)(n n x ;(2)已知1002

)(≤≤=n n x n

【解答】

思路:这是DTFT 的变换,按照定义编写DTFT 的M 文件即可。考虑到自变量Ω是连续的,为了方便计算机计算,计算时只取三个周期[-2π,4π]中均匀的1000个点用于绘图。

理论计算的各序列DTFT 表达式,请见本题的分析。 M 文件源代码(我的Matlab 源文件不支持中文注释,抱歉): function DTFT(n1,n2,x)

%This is a DTFT function for my experiment of Signal Processing & Analysis. w=0:2*pi/1000:2*pi;%Define the bracket of omega for plotting. X=zeros(size(w));%Define the initial values of X. for i=n1:n2

X=X+x(i-n1+1)*exp((-1)*j*w*i);%It is the definition of DTFT. end

Amp=abs(X);%Acquire the amplification.

Phs=angle(X);%Acquire the phase angle (radian). subplot(1,2,1);

plot(w,Amp,'r'); xlabel('\Omega');ylabel('Amplification');hold on ; %Plot amplification on the left. subplot(1,2,2);

plot(w,Phs,'b');xlabel('\Omega');ylabel('Phase Angle (radian)');hold off ; %Plot phase angle on the right. end

命令窗口中的运行及其结果(理论计算的各序列DTFT 表达式,请见本题的分析): 第(1)小题

>> n=(-2:2); >> x=1.^n;

>> DTFT(-2,2,x);

-505100

0.511.5

22.533.5

4

4.55ΩA m p l i f i c a t i o

n

-50510

-4

-3-2

-1012

34Ω

P h a s e A n g l e (r a d i a n )

第(2)小题

>> n=(0:10); >> x=2.^n;

>> DTFT(0,10,x);

-5

5

10

600

8001000120014001600

180020002200ΩA m p l i f i c a t i o

n

-50510

-4

-3-2-1012

34Ω

P h a s e A n g l e (r a d i a n )

【分析】

对于第(1)小题,由于序列x(n)只在有限区间(-2,-1,-,1,2)上为1,所以是离散非周期的信号。它的幅度频谱相应地应该是周期连续信号。事实上,我们可计算出它的表达式:

()

Ω

-Ω-Ω-Ω

-Ω-=Ω-∞

+-∞

=Ω---=Ω?--==

=

Ω∑∑j j j j j n n

j n n j X n x X e

1e 1)(e 1e 1e e e )()(5522

2

,可见幅度频谱拥有主极大

图3.1.1在[-2π,4π]范围内3个周期的幅度谱和相位谱(弧度制)

图3.1.2在[-2π,4π]范围内3个周期的幅度谱和相位谱(弧度制)

和次极大,两个主极大间有|5-1|=4个极小,即有3个次级大。而对于它的相位频谱,则是周期性地在-π、0、π之间震荡。

对于第(2)小题,由于是离散非周期的信号。它的幅度频谱相应地应该是周期连续信号。而它的表达式:(

)

Ω

-Ω-Ω-=Ω-+∞

-∞

=Ω--≈Ω?--===

Ω∑∑j j j n n

j n n

j X n x X e

212)(e 21e 212e

e

)()(11111110

,因此主极大之间只有|0-1|=1个极小,不存在次级大。而对于它的相位频谱,则是在一个长为2π的周期内有|11-1|=10次振荡。

而由DTFT 的定义可知,频谱都是以2π为周期向两边无限延伸的。由于DTFT 是连续谱,对于计算机处理来说特别困难,因此我们才需要离散信号的频谱也离散,由此构造出DFT (以及为加速计算DFT 的FFT )。

3.2已知有限长序列x (n )={8,7,9,5,1,7,9,5},试分别采用DFT 和FFT 求其离散傅里叶变换X (k )的幅度、相位图。 【解答】

思路:按照定义编写M 文件即可。 M 文件源代码: i) DFT 函数:

function DFT(N,x)

%This is a DFT function for my experiment of Signal Processing & Analysis. k=(0:N-1);%Define variable k for DFT.

X=zeros(size(k));%Define the initial valves of X. for i=0:N-1

X=X+x(i+1)*exp((-1)*j*2*k*pi/N*i);%It is the definition of DFT. end

Amp=abs(X);%Acquire the amplification.

Phs=angle(X);%Acquire the phase angle (radian). subplot(1,2,1);

stem(k,Amp,'.',’MarkerSize ’,18); xlabel('k');ylabel('Amplification');hold on ; %Plot amplification on the left. subplot(1,2,2);

stem(k,Phs,'*');xlabel('k');ylabel('Phase Angle (radian)');hold off ; %Plot phase angle on the right. end

ii) 基2-FFT 函数

function myFFT(N,x)

%This is a base-2 FFT function. lov=(0:N-1); j1=0;

for i=1:N %indexed addressing if i

temp=x(j1+1); x(j1+1)=x(i); x(i)=temp; end

k=N/2;

while k<=j1

j1=j1-k;

k=k/2;

end

j1=j1+k;

end

digit=0;

k=N;

while k>1

digit=digit+1;

k=k/2;

end

n=N/2;% Now we start the "butterfly-shaped" process.

for mu=1:digit

dif=2^(mu-1);%Differnce between the indexes of the target variables.

idx=1;

for i=1:n

idx1=idx;

idx2=1;

for j1=1:N/(2*n)

r=(idx2-1)*2^(digit-mu);

wn=exp(j*(-2)*pi*r/N);%It is the "circulating coefficients".

temp=x(idx);

x(idx)=temp+x(idx+dif)*wn;

x(idx+dif)=temp-x(idx+dif)*wn;

idx=idx+1;

idx2=idx2+1;

end

idx=idx1+2*dif;

end

n=n/2;

end

Amp=abs(x);%Acquire the amplification.

Phs=angle(x);%Acquire the phase angle (radian).

subplot(1,2,1);

stem(lov,Amp,'.',’MarkerSize’,18);

xlabel('FFT k');ylabel('FFT Amplification');hold on;

%Plot the amplification.

subplot(1,2,2);

stem(lov,Phs,'*');xlabel('FFT k');ylabel('FFT Phase Angle (radian)');hold off; end

命令窗口中的运行及其结果:

DFT :

>> x=[8,7,9,5,1,7,9,5]; >> DFT(8,x);

2

46

8

0102030

405060

k

A m p l i f i c a t i o n

02

468

-3

-2

-1

1

2

3

k

P h a s e A n g l e (r a d i a n )

FFT : >> x=[8,7,9,5,1,7,9,5]; >> myFFT(8,x);

2

46

8

010203040

5060

FFT k

F F T A m p l i f i c a t i o n

02

468

-3

-2

-1

1

2

3

FFT k

F F T P h a s e A n g l e (r a d i a n )

【分析】

DFT 是离散信号、离散频谱之间的映射。在这里我们可以看到序列的频谱也被离散化。事实上,我们可以循着DFT 构造的方法验证这个频谱:

首先,将序列做N=8周期延拓,成为离散周期信号。然后利用DFS 计算得到延拓后的频谱:

??

?==++-===Ω∑∑=--=-延拓

以上作87

,...,1,07,49,6,3,7,49,7,51e

)(e

)()(7

4

1

8

2N n i i n x n x X n n

jk N n n jk

π

π,从而取DFS 图3.2.1 DFT 的幅度谱和相位谱(弧度制)

图3.2.2 FFT 算法的幅度谱和相位谱(弧度制)

的主值区间得到DFT ,与图一致。因此计算正确。

而对于FFT ,我们可以看到它给出和DFT 一样的结果,说明了FFT 算法就是DFT 的一个等价形式。不过,由于序列不够长,FFT 在计算速度上的优越性尚未凸显。

3.3已知连续时间信号x (t )=3cos8πt , X (ω)=)]8()8([3πωδπωδπ++-,该信号从t =0开始以采样周期T s =0.1 s 进行采样得到序列x (n ),试选择合适的采样点数,分别采用DFT 和 FFT 求其离散傅里叶变换X (k )的幅度、相位图,并将结果与X (k )的幅度、相位图,并将结果与X (ω)相比较。 【解答】

思路:此题与下一题都是一样的操作,可以在编程时统一用变量g (0或1)来控制是否有白噪声。这里取g=0(无白噪声)。

另外,分别取12点、20点、28点采样,以考察采样长度的选择与频谱是否泄漏的关系。 M 文件源代码: i)采样函数:

function xs=sampJune3(N,Ts,g)

%This is a function applied to Problem 3 & 4.

%N: number of sampling points; Ts: sampling period; g=0: No gaussian noise; g=1: gussian noise exists. n=1:N;

for i=1:N %Note that i must start at 0 in analysis. Thus I made a adaptation.

sample(i)=3*cos(8*pi*Ts*(i-1))+g*randn;

%In Matlab, index starts at 1, which is not consistent with our habit. Thus I made a adaptation in codes.

%It is a sampling process with(g=1)/without(g=0) noise. end

xs=sample;

plot(n-1,sample,'.',’MarkerSize ’,18);xlabel('n');ylabel('value');hold off ; % Must use (n-1), because in Matlab, index starts at 1. end

ii)DFT 和基2-FFT 函数的代码,请见第3.2节。不需再新编一个。

命令窗口中的运行及其结果: 12点采样:

>> xs=sampJune3(12,0.1,0);%末尾的0表示无噪声。 >> DFT(12,xs); >> myFFT(12,xs);

024

681012

-3

-2

-1

1

2

3

n

v a l u e

2

4

68

10

12

024********

161820k

A m p l i f i c a t i o n

2

4

68

10

12

-2.5

-2-1.5-1-0.500.51

1.52

2.5k

P h a s e A n g l e (r a d i a n )

图3.3.1 进行12点采样得到的序列

图3.3.2 DFT 的幅度谱和相位谱(弧度制),出现了泄漏

2

4

68

10

12

0246810121416

1820FFT k

F F T A m p l i f i c a t i o n

2

4

68

10

12

-2.5

-2-1.5-1-0.500.511.5

22.5FFT k

F F T P h a s e A n g l e (r a d i a n )

20点采样:

>> xs=sampJune3(20,0.1,0);%末尾的0表示无噪声。 >> DFT(20,xs); >> myFFT(20,xs);

02468

101214161820

-3

-2

-1

1

2

3

n

v a l u e

图3.3.3 FFT 的幅度谱和相位谱(弧度制)。出现了频谱泄漏。

图3.3.4 进行20点采样得到的序列

5

1015

20

05101520

253035k

A m p l i f i c a t i o n

05

101520

-3

-2

-1

1

2

3

4

k

P h a s e A n g l e (r a d i a n )

5

1015

20

5

10

15

20

25

30

35

FFT k

F F T A m p l i f i c a t i o n

05

101520

-4

-3-2-1012

34

FFT k

F F T P h a s e A n g l e (r a d i a n )

28点采样: >> xs=sampJune3(28,0.1,0);%末尾的0表示无噪声。 >> DFT(28,xs); >> myFFT(28,xs);

图3.3.5 DFT 的幅度谱和相位谱(弧度制)。频谱无泄漏。 图3.3.6 FFT 的幅度谱和相位谱(弧度制)。频谱无泄漏。

0510

15202530

-3

-2

-1

1

2

3

n

v a l u e

10

20

30

510152025303540k

A m p l i f i c a t i o n

010

2030

-3

-2

-1

1

2

3

4k

P h a s e A n g l e (r a d i a n )

图3.3.7 进行28点采样得到的序列

图3.3.8 DFT 的幅度谱和相位谱(弧度制)。再次出现频谱泄漏。

10

20

30

510152025303540FFT k

F F T A m p l i f i c a t i o n

010

2030

-3

-2

-1

1

2

3

4

FFT k

F F T P h a s e A n g l e (r a d i a n )

【分析】

分别取12点、20点、28点采样,以考察采样长度的选择与频谱是否泄漏之间的关系。现在与原信号频谱)(ωX 比较后可以得出如下结论:

原信号的频谱是)]8()8([3)(πωδπωδπω++-=X ,在±8π上各有一强度为3π的谱线,在其余频率上为0。

可见原信号被0.1 s 采样周期的采样信号离散化之后,谱线以20π为周期重复,并且只在(20k ±8)π (k 为整数)处非0。那么,在20点DFT (采样时间原信号周期的整数倍)中,只有第8根、第12根谱线非0。而在12点、28点DFT 中,由于采样时间不是原信号周期的整数倍,谱线将向两边泄漏。

不过,对比12点采样和28点采样,我们还可以发现,28点采样频谱的主谱线高度是次谱线高度的4倍,儿12点采样频谱的主谱线高度是次谱线高度的3倍。可见,在无法保证采样时间是信号周期整数倍的情况下,增加采样时间有助于减轻频谱泄漏的程度。

图3.3.9 FFT 的幅度谱和相位谱(弧度制)。再次出现频谱泄漏。

图3.3.10 原信号的频谱(由两个冲激函数组成)

3.4对第3步中所述连续时间信号叠加高斯白噪声信号,重复第3步过程。 【解答】

思路:此题与上一题都是一样的操作,可以在编程时统一用变量g (0或1)来控制是否有白噪声。这里取g=1(有白噪声)。

另外,仍然分别取12点、20点、28点采样,以考察采样长度的选择与频谱是否泄漏的关系。 M 文件源代码:

不需要再新编程序。可以直接引用上面的函数:

sampJune3(N,Ts,g),取g=1,以体现存在白噪声 DFT(N,x) myFFT(N,x)

命令窗口中的运行及其结果: 12点采样:

>> xs=sampJune3(12,0.1,1);%末尾的1表示有噪声。 >> DFT(12,xs); >> myFFT(12,xs);

2

4

68

10

12

-5-4-3-2-101

2345n

v a l u e

图3.4.1 进行12点采样得到的含噪声的序列

024

6810120

24

68101214

16

18k

A m p l i f i c a t i o n

024

681012

-3

-2

-1

1

2

3

k

P h a s e A n g l e (r a d i a n )

2

4

68

10

12

24

6810121416

18FFT k

F F T A m p l i f i c a t i o n

024

681012

-3

-2

-1

1

2

3

FFT k

F F T P h a s e A n g l e (r a d i a n )

20点采样:

>> xs=sampJune3(20,0.1,1);%末尾的1表示有噪声。 >> DFT(20,xs); >> myFFT(20,xs);

图3.4.2 含噪声序列DFT 的幅度谱和相位谱(弧度制)。

图3.4.3 含噪声FFT 的幅度谱和相位谱(弧度制)。

02468

101214161820

-4

-3-2-101

234n

v a l u e

5

1015

20

051015

202530

k

A m p l i f i c a t i o n

05

101520

-3

-2

-1

1

2

3

k

P h a s e A n g l e (r a d i a n )

图3.4.4 进行20点采样得到的含噪声序列

图3.4.5 含噪声DFT 的幅度谱和相位谱(弧度制)。

5

1015

20

05101520

2530FFT k

F F T A m p l i f i c a t i o n

05

101520

-3

-2

-1

1

2

3

FFT k

F F T P h a s e A n g l e (r a d i a n )

28点采样:

>> xs=sampJune3(28,0.1,0);%末尾的1表示有噪声。 >> DFT(28,xs); >> myFFT(28,xs);

0510

15202530

-4

-3-2-101

234n

v a l u e

图3.4.6 含噪声FFT 的幅度谱和相位谱(弧度制)。

图3.4.7 进行28点采样得到的含噪声序列

10

20

30

510152025303540k

A m p l i f i c a t i o n

010

2030

-4

-3

-2

-1

1

2

3

k

P h a s e A n g l e (r a d i a n )

10

20

30

510152025303540FFT k

F F T A m p l i f i c a t i o n

010

2030

-3

-2

-1

1

2

3

4

FFT k

F F T P h a s e A n g l e (r a d i a n )

【分析】

依然分别取12点、20点、28点采样。仍然与原信号的频谱)]8()8([3)(πωδπωδπω++-=X (图

图3.4.8 含噪声DFT 的幅度谱和相位谱(弧度制)。

图3.4.9 含噪声FFT 的幅度谱和相位谱(弧度制)。

3.3.10)比较,可以得到结论:

由于叠加了噪声,所以频谱都受到了一定的干扰。由于白噪声在各个频率的功率相等,因此频谱上各处的干扰也是均匀随机的。

不过,通过对比我们可以发现,20点采样(无噪声时不发生泄漏的采样方法)在存在噪声时,仍然可以明显区分出原信号的谱线。第二好的是28点采样,因为采样时间较长,即使存在频谱泄漏也能较好地区分原信号的谱线。而最差的是12点采样,由于噪声的存在和严重的频谱泄漏,它的次谱线与主谱线的高度相差不大,使原信号不明显。

3.5已知序列)3()2(2)1(3)(4)(-+-+-+=n n n n n x δδδδ,X (k )是x (n )的6点DFT ,设k N

j

k N

e

W π2=-。

(1)若有限长序列y (n )的6点DFT 是)()(46k X W k Y k -=,求y (n )。 (2)若有限长序列w (n )的6点DFT W (k )是)(k X 的实部,求w (n )。 (3)若有限长序列q (n )的3点DFT 是)2()(k X k Q =,k=0,1,2,求q (n )。

【解答】

思路:这是对DFT 进行变换后求IDFT 。考虑到IDFT 和DFT 定义的对称性,可以在DFT 的基础上略加调整既可用于计算。

首先,∵)3()2(2)1(3)(4)(-+-+-+=n n n n n x δδδδ,

∴它的6点采样是序列是}0,0,1,2,3,4{)(=n x 。值得指出的是,在Matlab 中,数组的序号是从1开始的(而在信号分析中习惯从0开始),不过我在上面编程时已考虑到这一情况,具体可见实验报告最后的“附录”。 首先生成x (n )的6点DFT ,再按照各小题分别转换,最后求相应的IDFT 。 M 文件源代码:

i) 输出x (n )的6点DFT 的函数:

function X = ExportDFT(N,x)

%This is a DFT function that exports the solution to vector X.

k=(0:N-1); %Define variable k for DFT.

X=zeros(size(k)); %Define the initial valves of X. for i=0:N-1

X=X+x(i+1)*exp((-1)*j*2*k*pi/N*i); %It is the definition of DFT. end end

ii)算第(1)小题的Y (k )的函数: function Y = Convertor1(X)

%This is a mathematical convertor for the subproblem (1). for k=1:6

Y(k)=exp((-j)*2*pi*(-4*(k-1))/6)*X(k);

%Here we must use (k-1),because in Matlab index starts at 1. end end

iii)算第(2)小题的W (k )的函数: function W = Convertor2(X)

%This is a mathematical convertor for the subproblem (2).

W=real(X);%Acquire the real part of X.

end

iv)算第(3)小题的Q(k)的函数:

function Q = Convertor3(X)

%This is a mathematical convertor for the subproblem (3).

Q=zeros(3);% Detailed explanation goes here

for tmp=1:3

Q(tmp)=X(2*tmp);

end

end

v)输出IDFT的函数:

function x = ExportIDFT(N,X)

%This is the IDFT function for my experiment.

n=(0:N-1);%Define variable n for IDFT.

x=zeros(size(n));%Define the initial valves of x.

for k=0:N-1

x=x+X(k+1)*exp(j*2*k*pi/N*n);

end

x=x/N;

a=real(x);%We MUST use real(x), though we may ALREADY know x is real.

%It's caused by numeric calculation (not analytic calculation) in Matlab. stem(n,a,'.','MarkerSize',18);xlabel('n');ylabel('Solution');

end

命令窗口中的运行及其结果:

>> x=[4,3,2,1,0,0];

>> X=ExportDFT(6,x);

第(1)小题

>> Y=Convertor1(X);

>> y=ExportIDFT(6,Y)

y =

Columns 1 through 4

0.0000 + 0.0000i 0.0000 + 0.0000i 4.0000 + 0.0000i 3.0000 + 0.0000i

%虚部都是0,说明是实数 Columns 5 through 6

2.0000 + 0.0000i 1.0000 - 0.0000i %虚部都是0,说明是实数

%事实上,在Matlab中,由于数值计算的截断误差,对原复数做乘法后,答案的虚部可能有一极小的量。

012

345

-0.5

00.511.522.533.54n

S o l u t i o n

第(2)小题

>> W=Convertor2(X); >> w=ExportIDFT(6,W) w =

Columns 1 through 4

4.0000 + 0.0000i 1.5000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i

%虚部都是0,说明是实数

Columns 5 through 6

1.0000 + 0.0000i 1.5000 + 0.0000i %虚部都是0,说明是实数;

%事实上,在Matlab 中,由于数值计算的截断误差,对原复数做乘法后,答案的虚部可能有一极小的量。

012

345

0.511.522.533.54n

S o l u t i o n

第(3)小题

>> Q=Convertor3(X); >> q=ExportIDFT(6,Q) q =

Columns 1 through 4

1.5000 - 0.0000i -0.1667 - 0.2887i 0.7500 - 1.2990i 0.8333 - 0.0000i Columns 5 through 6

-0.5000 - 0.8660i 1.0833 - 1.8764i

这里的答案都是幅值、相位均非0的复数,而教材(实验指导第109页)并未要求作图,这里略去。

答案:y (n )={0,0,4,3,2,1}

图3.5.1 输出的y (n ),这是对x (n )的圆周移位。

答案:w (n )={0,0,4,3,2,1}

图3.5.2 输出的w (n )。

离散傅里叶变换(DFT)试题

第一章 离散傅里叶变换(DFT ) 填空题 (1) 某序列的DFT 表达式为 ∑-==1 )()(N n kn M W n x k X ,由此可以看出,该序列时域的长 度为 ,变换后数字频域上相邻两个频率样点之间的间隔是 。 解:N ; M π 2 (2)某序列DFT 的表达式是 ∑-==1 0)()(N k kl M W k x l X ,由此可看出,该序列的时域长度 是 ,变换后数字频域上相邻两个频率样点之间隔是 。 解: N M π 2 (3)如果希望某信号序列的离散谱是实偶的,那么该时域序列应满足条件 。 解:纯实数、偶对称 (4)线性时不变系统离散时间因果系统的系统函数为2 52) 1(8)(22++--=z z z z z H ,则系统 的极点为 ;系统的稳定性为 。系统单位冲激响应)(n h 的初值为 ;终值 )(∞h 。 解: 2,2 1 21-=- =z z ;不稳定 ;4)0(=h ;不存在 (5) 采样频率为Hz F s 的数字系统中,系统函数表达式中1 -z 代表的物理意义是 ,其中时域数字 序列)(n x 的序号 n 代表的样值实际位置是 ;)(n x 的N 点DFT )k X (中,序号k 代表的样值实际 位置又是 。 解:延时一个采样周期F T 1=,F n nT =,k N k πω2= (6)已知 }{}{4,3,2,1,0;0,1,1,0,1][,4,3,2,1,0;1,2,3,2,1][=-===k n h k n x ,则][n x 和 ][n h 的5点循环卷积为 。 解:{}]3[]2[][][][][---+?=?k k k k x k h k x δδδ {}4,3,2,1,0;2,3,3,1,0])3[(])2[(][55==---+=k k x k x k x (7)已知}{}{3,2,1,0;1,1,2,4][,3,2,1,0;2,0,2,3][=--=== k n h k n x 则][][n h n x 和的 4点循环卷积为 。

傅里叶变换在信号与系统系统中的应用

河北联合大学 本科毕业设计(论文) 题目傅里叶变换在信号与系统中的应用 院系理学院 专业班级07数学一班 学生姓名刘帅 学生学号200710050113 指导教师佟玉霞 2011年5月24日

题目傅里叶变换在信号与系统中的应用 专业数学与应用数学姓名刘帅学号200710050113 主要内容、基本要求、主要参考资料等 主要内容 傅里叶变换是一种重要的变换,且在与通信相关的信号与系统中有着广泛的应用。本文主要研究傅里叶变换的基本原理;其次,掌握其在滤波,调制、解调,抽样等方面中的应用。分析了信号在通信系统中的处理方法,通过傅里叶变换推导出信号调制解调的原理,由此引出对频分复用通信系统的组成原理的介绍。 基本要求 通过傅里叶变换实现一个高通滤波,低通滤波,带通滤波。用傅里叶变换推导出信号调制解调的原理。通过抽样实现连续信号离散化,简化计算。另外利用调制的原理推导出通信系统中的时分复用和频分复用。 参考资料 [1]《信号与系统理论、方法和应用》徐守时著中国科技大学出版社 2006年3月修订二版 [2]《信号与系统》第二版上、下册郑君里、应启珩、杨为理著高等教育出版社 [3]《通信系统》第四版 Simon Haykin 著宋铁成、徐平平、徐智勇等译沈 连丰审校电子工业出版社 [4]《信号与系统—连续与离散》第四版 Rodger E.Ziemer 等著肖志涛等译 腾建辅审校电子工业出版社 [5]《现代通信原理》陶亚雄主编电子工业出版社 [6]《信号与系统》乐正友著清华大学出版社 [7]《信号与线性系统》阎鸿森、王新风、田惠生编西安交通大学出版社 [8]《信号与线性系统》张卫钢主编郑晶、徐琨、徐建民副主编西安电 子科技大学出版社 [9] https://www.360docs.net/doc/1b707494.html,/view/191871.htm//百度百科傅里叶变换 [10]《通信原理》第六版樊昌信曹丽娜编著国防工业出版社 [11]A.V.Oppenheim,A.S.Willsky with S.H.Nawab.Siganals and systems(Second edition).Prentice-Hall,1997.中译:刘树棠。信号与系统。西安交通工业大学出版社 完成期限 指导教师 专业负责人

离散傅里叶变换的分析与研究

XXXX大学 2012届学士学位论文 离散傅里叶变换的分析与研究 学院、专业物理与电子信息学院 电子信息工程 研究方向数字信号处理 学生姓名XX 学号 XXXXXXXXXXX 指导教师姓名XXX 指导教师职称讲师 2012年4月26日

离散傅里叶变换的分析与研究 XX 淮北师范大学物理与电子信息学院 235000 摘要离散傅里叶变换是连续傅里叶变换在时域和频域上都离散的形式,是对连续时间信号频谱分析的逼近。离散傅里叶变换不仅在理论上有重要意义,而且在各种信号的处理中亦起着核心作用。 本文首先介绍了离散傅里叶变换的定义及性质,然后介绍了离散傅里叶变换的应用,主要包括对线性卷积的计算和对连续信号的谱分析。在理解理论的基础上,在matlab环境下实现了线性卷积和对连续信号频谱分析的仿真。仿真结果表明:当循环卷积长度大于或等于线性卷积长度时,可利用循环卷积计算线性卷积;利用DFT对连续信号进行频谱分析必然是近似的,其近似的结果与信号带宽,采样频率和截取长度都有关。 关键词离散傅里叶变换;线性卷积;谱分析

The Analysis and Research of Discrete Fourier Transform XX School of Physics and Electronic Information, Huai Bei Normal University, Anhui Huaibei, 235000 Abstract The discrete Fourier transform is the form that the continuous Fourier transform are discrete both in the time domain and frequency domain,it is a approach to the analysis of continuous time signal spectrum . The discrete Fourier transform not only has important significance in theory, but also plays a central role in all kinds of signal processing . This paper introduced the definition and properties of the discrete Fourier transform first of all.Then introduced the application of the discrete Fourier transform, which mainly including the calculation of linear convolution and analysis of continuous signal the spectral. On the basement of understanding theory, we realized the linear convolution and analysis of continuous signal spectrum on the Matlab environment . The simulation results show that when the length of the cyclic convolution is equal to or greater than linear convolution,we can use cyclic convolution to calculate linear convolution;It is approximately use continuous DFT spectrum to analyze the frequency domain of continuous time signal, the approximation of the results is related to the signal bandwidth, sampling frequency and intercept length. Keywords The discrete Fourier transform; Linear convolution; Spectrum analysis

离散傅里叶变换应用举例

x=[1,1,1,1];w=[0:1:500]*2*pi/500; [H]=freqz(x,1,w); magH=abs(H);phaH=angle(H); subplot(2,1,1);plot(w/pi,magH);grid;xlabel('');ylabel('|X|'); title('DTFT的幅度') subplot(2,1,2);plot(w/pi,phaH/pi*180);grid; xlabel('以pi为单位的频率');label('度'); title('DTFT的相角')

N=4;w1=2*pi/N;k=0:N-1; X=fft(x,N); magX=abs(X);phaX=angle(X)*180/pi; subplot(2,1,1);plot(w*N/(2*pi),magH,'--');axis([-0.1,4.1,0,5]);hold on; stem(k,magX);ylabel('|X(k)|');title('DFT的幅度:N=4');text(4.3,-1,'k'); hold off; subplot(2,1,2);plot(w*N/(2*pi),phaH*180/pi,'--');axis([-0.1,4.1,-200,200]); hold on; stem(k,phaX);ylabel('度');title('DFT的相角:N=4');text(4.3,-200,'k')

n=(0:1:9);x=cos(0.48*pi*n)+cos(0.52*pi*n); w=[0:1:500]*2*pi/500; X=x*exp(-1i*n'*w); magx=abs(X); x1=fft(x);magx1=abs(x1(1:1:10)); k1=0:1:9;w1=2*pi/10*k1; subplot(3,1,1);stem(n,x);title('signalx(n),0<=n<=9'); axis([0,10,-2.5,2.5]);line([0,10],[0,0]); subplot(3,1,2);plot(w/pi,magx);title('DTFT幅度');xlabel('w');axis([0,1,0,10]); subplot(3,1,3);stem(w1/pi,magx1);title('DFT幅度'); xlabel('频率(单位:pi)');axis([0,1,0,10]) 实验总结:补零运算提供了一个较密的频谱和较好的图示形式,但因为在信号中只是附加了零,而没有增加任何新的信息,因此不能提供高分辨率的频谱。

离散傅里叶变换

第三章离散傅里叶变换 离散傅里叶变换不仅具有明确的物理意义,相对于DTFT他更便于用计算机处理。但是,直至上个世纪六十年代,由于数字计算机的处理速度较低以及离散傅里叶变换的计算量较大,离散傅里叶变换长期得不到真正的应用,快速离散傅里叶变换算法的提出,才得以显现出离散傅里叶变换的强大功能,并被广泛地应用于各种数字信号处理系统中。近年来,计算机的处理速率有了惊人的发展,同时在数字信号处理领域出现了许多新的方法,但在许多应用中始终无法替代离散傅里叶变换及其快速算法。 § 3-1 引言 一.DFT是重要的变换 1.分析有限长序列的有用工具。 2.在信号处理的理论上有重要意义。 3.在运算方法上起核心作用,谱分析、卷积、相关都可以通DFT在计算机上实现。 二.DFT是现代信号处理桥梁 DFT要解决两个问题: 一是离散与量化, 二是快速运算。 傅氏变换 § 3-2 傅氏变换的几种可能形式 一.连续时间、连续频率的傅氏变换-傅氏变换

对称性: 时域连续,则频域非周期。 反之亦然。 二.连续时间、离散频率傅里叶变换-傅氏级数 时域信号 频域信号 连续的 非周期的 非周期的 连续的 t ? ∞ ∞ -Ω-= Ωdt e t x j X t j )()(:? ∞ ∞ -ΩΩ Ω= d e j X t x t j )(21 )(:π 反

*时域周期为Tp, 频域谱线间隔为2π/Tp 三.离散时间、连续频率的傅氏变换 --序列的傅氏变换 p T 0= Ω时域信号 频域信号 连续的 周期的 非周期的 离散的 ? -Ω-= Ω2 /2 /00)(1 )(:p p T T t jk p dt e t x T jk X 正∑ ∞ -∞ =ΩΩ= k t jk e jk X t x 0)()(:0反

傅里叶变换及应用

傅里叶变换在MATLZB里的应用 摘要:在现代数学中,傅里叶变换是一种非常重要的变换,且在数字信号处理中有着广泛的应用。本文首先介绍了傅里叶变换的基本概念、性质及发展情况;其次,详细介绍了分离变数法及积分变换法在解数学物理方程中的应用。傅立叶变换将原来难以处理的时域信号转换成了易于分析的频域信号,再利用傅立叶反变换将这些频域信号转换成时域信号。应用MATLAB实现信号的谱分析和对信号消噪。 关键词:傅里叶变换;MA TLAB软件;信号消噪 Abstract: In modern mathematics,Fourier transform is a transform is very important ,And has been widely used in digital signal processing.This paper first introduces the basic concepts, properties and development situation of Fourier transform ;Secondly, introduces in detail the method of separation of variables and integral transform method in solving equations in Mathematical Physics.Fourier transformation makes the original time domain signal whose analysis is difficult easy, by transforming it into frequency domain signal that can be transformed into time domain signal by inverse transformation of Fourier. Using Mat lab realizes signal spectral analysis and signal denoising. Key word: Fourier transformation, software of mat lab ,signal denoising 1、傅里叶变换的提出及发展 在自然科学和工程技术中为了把较复杂的运算转化为较简单的运算,人们常常采用所谓变换的方法来达到目的"例如在初等数学中,数量的乘积和商可以通过对数变换化为较简单的加法和减法运算。在工程数学里积分变换能够将分析运算(如微分,积分)转化为代数运算,正是积分变换这一特性,使得它在微分方程和其它方程的求解中成为重要方法之一。 1804年,法国科学家J-.B.-J.傅里叶由于当时工业上处理金属的需要,开始从事热流动的研究"他在题为<<热的解析理论>>一文中,发展了热流动方程,并且指出如何求解"在求解过程中,他提出了任意周期函数都可以用三角级数来表示的想法。他的这种

3.2 离散傅里叶变换的基本性质

第3章 离散傅里叶变换(DFT)
3.2 离散傅里叶变换的基本性质
3.2.1 线性性质
如果x1(n)和x2(n)是两个有限长序列, 长度分别为N1 和N2。 若 y(n)=ax1(n)+bx2(n) 式中a、 b为常数. 取N=max[N1, N2] , 则y(n)的N点DFT为 Y(k)=DFT[y(n)]=aX1(k)+bX2 (k), 0≤k≤N-1 (3.2.1) 其中X1(k)和X2(k)分别为x1(n)和x2(n)的N点DFT。
1
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.360docs.net/doc/1b707494.html,
X

第3章 离散傅里叶变换(DFT)
3.2.2
循环移位性质
1. 序列的循环移位 设x(n)为有限长序列, 长度为N, 则x(n)的循环 移位定义为 y(n)=x((n+m))NRN(n) (3.2.2)
2
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.360docs.net/doc/1b707494.html,
X

第3章 离散傅里叶变换(DFT) x(n)
n 0 1 2 3 4 5 6 7
% x ( n)

-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13

n
% x(n + 2)

-7 -6 -5 -4 -3 -2 -1
3

0 1 2 3 4 5 6 7 8 9 10 11 12 13
n
图 3.2.1
循环移位过程示意图 (N=8)
X
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.360docs.net/doc/1b707494.html,

傅里叶变换的应用.

傅立叶变换在图像处理中有非常非常的作用。因为不仅傅立叶分析涉及图像处理的很多方面,傅立叶的改进算法, 比如离散余弦变换,gabor与小波在图像处理中也有重要的分量。 印象中,傅立叶变换在图像处理以下几个话题都有重要作用: 1.图像增强与图像去噪 绝大部分噪音都是图像的高频分量,通过低通滤波器来滤除高频——噪声; 边缘也是图像的高频分量,可以通过添加高频分量来增强原始图像的边缘; 2.图像分割之边缘检测 提取图像高频分量 3.图像特征提取: 形状特征:傅里叶描述子 纹理特征:直接通过傅里叶系数来计算纹理特征 其他特征:将提取的特征值进行傅里叶变换来使特征具有平移、伸缩、旋转不变性 4.图像压缩 可以直接通过傅里叶系数来压缩数据;常用的离散余弦变换是傅立叶变换的实变换; 傅立叶变换 傅里叶变换是将时域信号分解为不同频率的正弦信号或余弦函数叠加之和。连续情况下要求原始信号在一个周期内满足绝对可积条件。离散情况下,傅里叶变换一定存在。冈萨雷斯版<图像处理>里面的解释非常形象:一个恰当的比喻是将傅里叶变换比作一个玻璃棱镜。棱镜是可以将光分解为不同颜色的物理仪器,每个成分的颜色由波长(或频率)来决定。傅里叶变换可以看作是数学上的棱镜,将函数基于频率分解为不同的成分。当我们考虑光时,讨论它的光谱或频率谱。同样,傅立叶变换使我们能通过频率成分来分析一个函数。 傅立叶变换有很多优良的性质。比如线性,对称性(可以用在计算信号的傅里叶变换里面); 时移性:函数在时域中的时移,对应于其在频率域中附加产生的相移,而幅度频谱则保持不变; 频移性:函数在时域中乘以e^jwt,可以使整个频谱搬移w。这个也叫调制定理,通讯里面信号的频分复用需要用到这个特性(将不同的信号调制到不同的频段上同时传输); 卷积定理:时域卷积等于频域乘积;时域乘积等于频域卷积(附加一个系数)。(图像处理里面这个是个重点) 信号在频率域的表现 在频域中,频率越大说明原始信号变化速度越快;频率越小说明原始信号越平缓。当频率为0时,表示直流信号,没有变化。因此,频率的大小反应了信号的变化

离散傅里叶变换性质证明

1. [][]()()j j ax n by n aX e bX e ωω+?+ Proof: ([][])[][]()() j n j n j n j j ax n by n e a x n e b y n e aX e bX e ωωωωω∞ --∞ ∞∞ ---∞-∞ +=+=+∑∑∑ 2. (1)[]()d j n j d x n n X e e ωω--? Proof: ()[][].()d d j n d n j n n j n d n j n j x n n e x n n e e X e e ωωωωω∞-=-∞∞---=-∞--=-=∑ ∑ (2) 00()[]()j n j e x n X e ωωω-? Proof: 000()()[][]()j n j n j n j n n e x n e x n e X e ωωωωωω∞∞ ----=-∞=-∞==∑ ∑ 3. []()j x n X e ω--? Proof: ()[][]()j n j n j n n x n e x n e X e ωωω∞∞ ---=-∞=-∞-=-=∑ ∑ if []x n is real ()j X e ω-=*()j X e ω 4. ()[]j dX e nx n j d ωω? Proof: ()[]() ()[]()[]j j n n j j n n j j n n X e x n e dX e jn x n e d dX e j nx n e d ωωωωωωωω∞-=-∞∞-=-∞∞-=-∞=?=-?=∑∑∑

5. (1)22 1|[]||()|2j n x n X e d πωπωπ∞ =-∞-=∑ ? Proof: 2*2221 |()|21 ()()21 [][]21 |[]|21 |[]| 2|[]|j j j j n j n n n n n n X e d X e X e d x n e x n e d x n d x n d x n πωππωωππωωπππππωπ ωπ ωπ ωπ ωπ---∞∞-=-∞=-∞-∞=-∞ -∞=-∞ -∞=-∞ =====??∑∑?∑?∑ ?∑ (2) **1[][]()()2j j n x n y n X e Y e d π ωωπωπ∞=-∞-=∑ ? Proof: *****1 ()()21 ()()21 [][]21[][]21 [][] 2[][] j j j j j n j n n n n n n n X e Y e d X e Y e d x n e y n e d x n y n d x n y n d x n y n πωωππωωππωωπππππωπ ωπ ωπ ωπ ωπ---∞∞-=-∞=-∞-∞ =-∞-∞ ∞=-∞ =-∞-∞=-∞====??∑∑?∑?∑ ∑?∑ 6. []*[]()()j j x n y n X e Y e ωω? Proof:

基于Labview的快速傅里叶变换的实现

一、概述 FFT(Fast Fourier Transformation),即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。DFT对于X(K)的每个K值,需要进行4N次实数相乘和(4N-2)次相加,对于N个k值,共需N*N乘和N(4N-2)次实数相加。改进DFT算法,减小它的运算量,利用DFT中的周期性和对称性,使整个DFT的计算变成一系列迭代运算,可大幅度提高运算过程和运算量,这就是FFT的基本思想。虽然它对傅氏变换的理论并没有新的发现,但是对于在计算机系统或者说数字系统中应用离散傅立叶变换,可以说是进了一大步。 虽然FFT大幅度地降低了常规傅立叶变换的运算量,但对于一般的单片机而言,处理FFT运算还是力不从心。主要原冈是FFT计算过程中的蝶形运算是复数运算,要分开实部和虚部分别计算。在这里利用LabVIEW来实现快速傅立叶变化。LabVIEW是一种程序开发环境,类似于BASIC开发环境;但LabVIEW与其它计算机语言相比,有一个特别重要的不同点:其它计算机语言都是采用基于文本的语言产生代码行;而LabVIEW使用图形化编程语言G编写程序,产生.的程序是框图的形式。像C或BASIC一样,LabVIEW也是通用的编程系统,有一个可完成任何编程任务的庞大的函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储等。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其通过程序(子V1)的结果、单步执行等,便于程序的调试。 二、方案论证 1:单一频率正弦信号的FFT 采用Labview的信号产生模板提供的常用的信号发生器,从中找到正弦信号发生器,使其产生一个正弦信号。将此正弦信号输入到实数FFT.vi中的X端进行快速傅里叶变换处理,使时域信号转换为频域信号。然后经过复数至极坐标转换后将其显示出来。其结构如图1所示。 图1 单一频率正弦信号的FFT结构图

离散傅里叶变换及其快速算法

第五章 离散傅里叶变换及其快速算法 1 离散傅里叶变换(DFT)的推导 (1) 时域抽样: 目的:解决信号的离散化问题。 效果:连续信号离散化使得信号的频谱被周期延拓。 (2) 时域截断: 原因:工程上无法处理时间无限信号。 方法:通过窗函数(一般用矩形窗)对信号进行逐段截取。 结果:时域乘以矩形脉冲信号,频域相当于和抽样函数卷积。 (3) 时域周期延拓: 目的:要使频率离散,就要使时域变成周期信号。 方法:周期延拓中的搬移通过与)(s nT t -δ的卷积来实现。 表示:延拓后的波形在数学上可表示为原始波形与冲激串序列的卷积。 结果:周期延拓后的周期函数具有离散谱。 (4) 1。 图1 DFT 推导过程示意图 (5) 处理后信号的连续时间傅里叶变换:∑∑ ∞ -∞=-=π--δ???? ? ????= k N n N kn j s kf f e nT h f H )()()(~ 010/2

(i) )(~f H 是离散函数,仅在离散频率点S NT k T k kf f = ==00处存在冲激,强度为k a ,其余各点为0。 (ii) )(~ f H 是周期函数,周期为s s T NT N T N Nf 1 00= == ,每个周期内有N 个不同的幅值。 (iii) 时域的离散时间间隔(或周期)与频域的周期(或离散间隔)互为倒数。 2 DFT 及IDFT 的定义 (1) DFT 定义:设()s nT h 是连续函数)(t h 的N 个抽样值1,,1,0-=N n ,这N 个点的宽度为 N 的DFT 为:[])1,...,1,0(,)()(1 0/2-=??? ? ? ?==? -=π-∑N k NT k H e nT h nT h DFT s N n N nk j s s N (2) IDFT 定义:设??? ? ??s NT k H 是连续频率函数)(f H 的N 个抽样值1,,1,0-=N k , 这N 个点的宽度为N 的IDFT 为: ())1,...,1,0(,11 0/21 -==??? ? ? ?=???????????? ???-=π--∑ N k nT h e NT k H N NT k H DFT s N k N nk j s s N (3) N nk j e /2π-称为N 点DFT 的变换核函数,N nk j e /2π称为N 点IDFT 的变换核函数。它们 互为共轭。 (4) 同样的信号,宽度不同的DFT 会有不同的结果。DFT 正逆变换的对应关系是唯一的, 或者说它们是互逆的。 (5) 引入N j N e W /2π-= (i) 用途: (a) 正逆变换的核函数分别可以表示为nk N W 和nk N W -。 (b) 核函数的正交性可以表示为:() )(* 1 0r n N W W kr N N k kn N -δ=∑-= (c) DFT 可以表示为:)1,,1,0(,)(10 -==? ??? ??∑ -=N k W nT h NT k H N n nk N s s (d) IDFT 可以表示为:)1,,1,0(,1 )(1 0-=??? ? ? ?= ∑ -=-N n W NT k H N nT h N k nk N s s (ii) 性质:周期性和对称性: (a) 12==π-j N N e W (b) 12 /-==π-j N N e W (c) r N r N N N r N N W W W W ==+ (d) r N r N N N r N N W W W W -=-=+2/2/ (e) )(1Z m W m N ∈?= (f) ),(/2/2Z n m W e e W n N N n j m N m n j m n m N ∈?===π-π- 3 离散谱的性质 (1) 离散谱定义:称)(Z k NT k H H S k ∈???? ? ?=? 为离散序列)0)((N n nTs h <≤的DFT 离散谱,简称离散谱。 (2) 性质: (i) 周期性:序列的N 点的DFT 离散谱是周期为N 的序列。 (ii) 共扼对称性:如果)0)((N n nTs x <≤为实序列,则其N 点的DFT 关于原点和N /2都

实验四 离散傅里叶变换的性质

实验四离散傅里叶变换的性质 一、实验目的 1. 熟悉matlab软件中离散傅里叶变换的实现方法及FFT函数的使用方法; 2. 通过软件仿真,加深对离散傅里叶变换性质的理解。 二、实验内容 1. 验证离散傅里叶变换的线性性质; 2. 掌握用matlab实现圆周移位的方法; 3. 验证圆周卷积与线性卷积的关系。 三、实验步骤 1. 验证线性性质 设两个有限长序列分别为xn1=[3,1,-2,2,3,4],xn2=[1,1,1,1],做4DFT[xn1]+2DFT[xn2],及DFT[4xn1+2xn2]的运算,比较它们的结果。 代码如下: clear,N=20;n=[0:1:N-1]; xn1=[3,1,-2,2,3,4];n1=0:length(xn1)-1; %定义序列xn1 xn2=[1,1,1,1];n2=0:length(xn2)-1; %定义序列xn2 yn1=4*xn1;yn2=2*xn2;[yn,ny]=seqadd(yn1,n1,yn2,n2); %计算4xn1+2xn2 xk1=fft(xn1,N);xk2=fft(xn2,N); %分别求DFT[xn1] 和DFT[xn2] yk0=4*xk1+2*xk2; %计算4DFT[xn1]+2DFT[xn2] yk=fft(yn,N); %计算DFT[4xn1+2xn2] subplot(2,1,1);stem(n,yk0);title('傅里叶变换之和') %显示4DFT[xn1]+2DFT[xn2] subplot(2,1,2);stem(n,yk);title('序列和之傅里叶变换') %显示DFT[4xn1+2xn2] 运行结果如图1所示,从图中可知,用两种方法计算的DFT完全相等,所以离散傅里叶变换的线性性质得到验证。

傅里叶变换及其在图像处理中的应用

傅里叶变换及其在数字图像处理中的应用 王家硕 学号:1252015 一、 Fourier 变换 1. 一维连续傅里叶变换 设 f (x)为x 的实变函数,如果f (x)满足下面的狄里赫莱条件: (1)具有有限个间隔点。 (2)具有有限个极点。 (3)绝对可积。 则 f (x )的傅里叶变换(Fourier Transformation ,FT )定义为: Fourier 正变换:dt e t f t f f F t j ? +∞ ∞ --==ωω)()]([)(; Fourier 逆变换:ωωπ ωd e f t F f t f t j ? ∞ +∞ ---= =)(21)]([)(1 , 式中:1-= j ,ω 为频域变量。 f (x )与F (w )构成傅里叶变换对,可以证明傅里叶变换对总是存在的。由于f (x )为实函数,则它的傅里叶变换F (w )通常是复函数,于是F (w )可写成 F (w ) = R (w ) + j I (w ) (1) 式中:R (w )和I (w )分别是F (w )的实部和虚部。公式1可表示为指数形式: 式中: F (w ) 为f (x )的傅里叶幅度谱,f (w )为f (x )的相位谱。 2. 二维连续傅里叶变换 如果二维函数f (x , y )是连续可积的,即∞

数字信号处理基于MATLAB的离散傅里叶变换的仿真

数字信号处理设计报告书 课题名称 应用MATLAB 对信号进行频谱分析及 滤波 姓 名 何 晨 学 号 20076089 院、系、部 电气系 专 业 电子信息工程 指导教师 刘鑫淼 2010年 6 月27日 ※※※※※※※※※ ※※ ※ ※ ※※ ※※ ※※※※※ ※※ 2007级数字信号处理 课程设计

应用MATLAB对信号进行频谱分析及滤波 20076089 何晨 一、设计目的

要求学生会用MATLAB语言进行编程,绘出所求波形,并且运用FFT求对连续信号进行分析。 二、设计要求 1、用Matlab产生正弦波,矩形波,并显示各自的时域波形图; 2、进行FFT变换,显示各自频谱图,其中采样率、频率、数据长度自选,要求注明; 3、绘制三种信号的均方根图谱; 4、用IFFT回复信号,并显示恢复的正弦信号时域波形图。 三、系统原理 用FFT对信号作频谱分析是学习数字信号处理的重要内容。经常需要进行频谱分析的信号是模拟信号和时域离散信号。频谱分辨率直接和FFT的变换区间N 有关,因为FFT能够实现频率分辨率是2π/N。 x(n)是一个长度为M的有限长序列,则x(n)的N点离散傅立叶变换为: X(k)=DFT[x(n)]= kn N W N n n x ∑ - = 1 ) ( ,k=0,1,...,N-1 N j e N Wπ2- = 逆变换:x(n) =IDFT[X(k)]= kn N W k X N n N - ∑ - = 1 ) ( 1 ,k=0,1,...,N-1 但FFT是一种比DFT更加快速的一种算法,提高了DFT的运算速率,为数字信号处理技术应用于各种信号处理创造了条件,大大提高了数字信号处理技术的发展。本实验就是采用FFT,IFFT对信号进行谱分析。 四、程序设计 fs=input('please input the fs:');%设定采样频率 N=input('please input the N:');%设定数据长度 t=0:0.001:1; f=100;%设定正弦信号频率 %生成正弦信号

数字信号处理 离散傅里叶变换的性质及应用

数字信号处理实验 题目:离散傅里叶变换的性质及应用 学院: 专业: 学生姓名:班级/学号 指导老师: 一、实验目的 1.了解DFT的性质及其应用 2.熟悉MATLAB编程特点 二、实验仪器及材料 计算机,MATLAB软件

三、实验内容及要求 1.用三种不同的DFT 程序计算8()()x n R n =的256点离散傅里叶变换()X k ,并比较三种程序计算机运行时间。 (1)编制用for loop 语句的M 函数文件dft1.m ,用循环变量逐点计算()X k ; (2)编写用MATLAB 矩阵运算的M 函数文件dft2.m ,完成下列矩阵运算: 000 0121 012(1) (1)(1) (0)(0) (1)(1) (1)(1) N N N N N N N N N N N N N N N N N X x W W W W X x W W W W x N X N W W W W -----?????? ????????????=???????????? --???????????? (3)调用fft 库函数,直接计算()X k ; (4)分别调用上述三种不同方式编写的DFT 程序计算序列()x n 的离散傅里叶变换 ()X k ,并画出相应的幅频和相频特性,再比较各个程序的计算机运行时 间。 M 函数文件如下: dft1.m: function[Am,pha]=dft1(x) N=length(x); w=exp(-j*2*pi/N); for k=1:N sum=0; for n=1:N sum=sum+x(n)*w^((k-1)*(n-1)); end Am(k)=abs(sum); pha(k)=angle(sum); end dft2.m: function[Am,pha]=dft2(x) N=length(x); n=[0:N-1];

MATLAB离散傅里叶变换及应用资料

MATLAB 离散傅里叶变换及应用 一、DFT 与IDFT 、DFS 、DTFT 的联系 1、 序列的傅里叶变换(DFT)和逆变换(IDFT) 在实际中常常使用有限长序列。如果有限长序列信号为x(n),则该序列的离散傅里叶变换对可以表示为 1N ,0,1,k , W x(n)DFT [x(n)]X(k)1 N 0n nk N -===∑-= (12-1) 1N ,0,1,n , W X(k)N 1IDFT[X(k)]x(n)1N 0 k nk N -===∑-=- (12-2) 已知x(n)=[0,1,2,3,4,5,6,7],求x(n)的DFT 和IDFT 。要求: (1)画出序列傅里叶变换对应的|X(k)|和arg [X(k)]图形。 (2)画出原信号与傅里叶逆变换IDFT [X(k)]图形进行比较。 程序源代码: xn=[0,1,2,3,4,5,6,7]; N=length(xn); n=0:(N-1);k=0:(N-1); Xk=xn*exp(-j*2*pi/N).^(n'*k); x=(Xk*exp(j*2*pi/N).^(n'*k))/N; subplot(2,2,1),stem(n,xn); title('x(n)');

subplot(2,2,2),stem(n,abs(x)); title('IDFT|X(k)|'); subplot(2,2,3),stem(k,abs(Xk)); title('|X(k)|'); subplot(2,2,4),stem(k,angle(Xk)); title('arg|X(k)|'); 运行图如下: x(n) IDFT|X (k)| 2 4 6 8 |X (k)| 2 4 6 8 arg|X (k)| 从得到的结果可见,与周期序列不同的是,有限长序列本身是仅有N 点的离散序列,相当于周期序列的主值部分。因此,其频谱也对应序列的主值部分,是含N 点的离散序列。 2、 序列DFT 与周期序列DFS 已知周期序列的主值x(n)=[0,1,2,3,4,5,6,7],

离散傅里叶变换的分析与研究 开题报告

本科学生毕业论文(设计)开题报告题目离散傅里叶变换的分析与研究 姓名XX 专业电子信息工程 学号XXXXXXXXXX 学院物理与电子信息学院 指导教师XXX 淮北师范大学教务处制

一、本课题研究现状及可行性分析 离散傅里叶变换,其实质是有限长序列傅立叶变换的有限点离散采样,从而实现了频域离散化,使数字信号处理可以在频域采用数值运算的方法进行,这样就大大增加了数字信号处理的灵活性。更为重要的是,离散傅里叶变换有多种快速算法,统称为快速傅里叶变换,从而使信号的实时处理和设备的简化得以实现。所以说,离散傅立叶变换不仅在理论上有重要意义,而且在各种信号的处理中亦起着核心作用。 离散傅里叶变换在数字通信、语音信号处理、图像处理、功率谱估计、系统分析与仿真、雷达信号处理、光学、医学、地震以及数值分析等各个领域都有着广泛的应用。 目前,我们已具备有关的大量参考文献和基本的原始程序,对本论文的开展不存在根本性的问题,我们的研究方法是可行的。 二、本课题研究的关键问题及解决问题的思路 关键问题: 线性卷积与循环卷积之间的关系,及对信号的频谱分析。并在MA TLAB环境下的编程实现。 解决思路: 在理解和掌握线性卷积,循环卷积以及信号频谱分析的基础上,用MA TLAB语言编写线性卷积,循环卷积以及频谱分析的设计程序,最后通过仿真结果验证理论的正确性。 三、论文纲要 1 绪论 1.1 DFT的定义 1.2 DFT与傅里叶变换和Z变换的关系 2 DFT的基本性质 2.1 线性性质 2.2 循环卷积性质 2.3循环卷积定理 3 DFT的应用 3.1 用DFT计算线性卷积 3.2 用DFT对信号进行谱分析 3.3 用DFT进行谱分析的误差问题

离散傅里叶变换

第3章 离散傅里叶变换 在第二章讨论了利用序列的傅里叶变换和z 变换来表示序列和线性时不变系统的 方法,公式分别为:∑∞ -∞ =-= n n z n x z X )()(和∑∞ -∞ =-= n jwn jw e n x e X )()(。对于有限长序列, 也可以用序列的傅里叶变换和z 变换来分析和表示,但还有一种方法更能反映序列的有限长这个特点,即离散傅叶里变换。这就是我们这一章要讨论的问题。离散傅里叶变换除了作为有限长序列的一种傅里叶表示法在理论上相当重要之外,而且由于存在着计算离散傅里叶变换的有效快速算法,因而离散傅里叶变换在各种数字信号处理的算法中起着核心的作用。这一章讨论的问题有: 1、 傅里叶变换的几种可能形式:至今学过很多种傅里叶变换形式,到底之间有什么 不 同,需要分析一下; 2、 周期序列的离散傅里叶级数(DFS):通常的周期信号都可以表示成傅里叶级数,然 后根据傅里叶级数可以得到傅里叶变换;也就是说傅里叶级数与傅里叶变换之间有一定的关系; 3、 有限长序列的离散傅里叶变换(DFT):这是我们的重点,我们会对其性质等作分析 讨论; 4、 DFT 的应用:学习了这种傅里叶变换,怎么用?计划作一个实验。 3.1 傅里叶变换的几种形式 傅里叶变换就是建立以时间为自变量的"信号"与以频率为自变量的"频率函数"之间的某种变换关系。都是指在分析如何综合一个信号时,各种不同频率的信号在合成信号时所占的比重。 如连续时间周期信号)()(mT t f t f +=,可以用指数形式的傅里叶级数来表示,可以分解成不同次谐波的叠加,每个谐波都有一个幅值,表示该谐波分量所占的比重。 傅里叶表示形式为:∑∞ -∞ =Ω= n t jn n e F t f )(? - Ω-= ?2 2 )(1T T t jn n dt e t f T F (Fn 离散、衰减、 非周期)。例如周期性矩形脉冲,其频谱为 ,1,0,/) /sin(±==n T n T n T F n πτπττ。画出图 形。

相关文档
最新文档