matlab《数字图像处理》第8章 傅立叶变换

合集下载

matlab傅里叶变换

matlab傅里叶变换

matlab傅里叶变换傅里叶变换(FourierTransform,简称FT)是一种将时间信号转换为频率信号的数学技术,通常用于分析时域信号的周期性和非周期性特征。

傅里叶变换把某一时间序列上的所有信号表示为存在不同频率下的幅度和相位量,从而使时间域中延时,普通滤波器都无法滤除的元素,成为在频域中可以通过简单的滤波器来实现的。

Matlab是一种高级技术计算语言,拥有广泛的应用和优异的计算性能,其具有许多内置的函数,可用于帮助用户完成各种复杂的数学任务,其中之一就是傅里叶变换的实现。

Matlab的傅里叶变换功能提供了一些很有用的算法可以帮助设计系统完成各种高级建模和分析。

例如,经典的FFT(快速傅里叶变换)算法,可以帮助设计者实现快速、准确的频域分析;非经典的傅里叶变换,可以更好地提取出实际信号中存在的频率分量。

Matlab还提供了一些其他特殊的傅里叶变换,如理论变换、傅立叶变换和谱比变换,其中可以实现复杂的信号测量和建模。

在实际的应用中,Matlab的傅里叶变换功能可以帮助用户解决许多复杂的信号处理和建模问题。

例如,在现代无线通信领域,FFT 算法可以用来实现多径衰落的测量;在航空航天工程中,分析某个特定的复杂信号时,傅立叶变换可以帮助找出其中的模式;而在计算机视觉技术中,谱比变换是用来识别图像中特定的模式等。

此外,Matlab也提供了一些用于傅里叶变换的工具,以帮助用户更好地实现复杂的信号处理问题。

例如,如果用户想使用傅立叶变换来进行信号分析,则可以借助于Matlab提供的傅立叶变换函数;如果用户想使用FFT算法来实现某种复杂的频域建模,则可以借助于Matlab提供的FFT函数;此外,还可以借助Matlab提供的其他内置函数来实现更复杂的信号处理问题,比如用来实现抽取、变量组合、数据滤波等等。

总之,Matlab提供的傅里叶变换功能可以极大地提高信号处理和建模的效率,而其内置的各种函数则使其应用更加广泛。

matlab自行编写fft傅里叶变换

matlab自行编写fft傅里叶变换

傅里叶变换(Fourier Transform)是信号处理中的重要数学工具,它可以将一个信号从时域转换到频域。

在数字信号处理领域中,傅里叶变换被广泛应用于频谱分析、滤波、频谱估计等方面。

MATLAB作为一个功能强大的数学软件,自带了丰富的信号处理工具箱,可以用于实现傅里叶变换。

在MATLAB中,自行编写FFT(Fast Fourier Transform)的过程需要以下几个步骤:1. 确定输入信号我们首先需要确定输入信号,可以是任意时间序列数据,例如声音信号、振动信号、光学信号等。

假设我们有一个长度为N的信号x,即x = [x[0], x[1], ..., x[N-1]]。

2. 生成频率向量在进行傅里叶变换之前,我们需要生成一个频率向量f,用于表示频域中的频率范围。

频率向量的长度为N,且频率范围为[0, Fs),其中Fs 为输入信号的采样频率。

3. 实现FFT算法FFT算法是一种高效的离散傅里叶变换算法,它可以快速计算出输入信号的频域表示。

在MATLAB中,我们可以使用fft函数来实现FFT 算法,其调用方式为X = fft(x)。

其中X为输入信号x的频域表示。

4. 计算频谱通过FFT算法得到的频域表示X是一个复数数组,我们可以计算其幅度谱和相位谱。

幅度谱表示频率成分的强弱,可以通过abs(X)得到;相位谱表示不同频率成分之间的相位差,可以通过angle(X)得到。

5. 绘制结果我们可以将输入信号的时域波形和频域表示进行可视化。

在MATLAB 中,我们可以使用plot函数来绘制时域波形或频谱图。

通过以上几个步骤,我们就可以在MATLAB中自行编写FFT傅里叶变换的算法。

通过对信号的时域和频域表示进行分析,我们可以更好地理解信号的特性,从而在实际应用中进行更精确的信号处理和分析。

6. 频谱分析借助自行编写的FFT傅里叶变换算法,我们可以对信号进行频谱分析。

频谱分析是一种非常重要的信号处理技术,可以帮助我们了解信号中所包含的各种频率成分以及它们在信号中的能量分布情况。

matlab中进行傅里叶变换

matlab中进行傅里叶变换

matlab中进行傅里叶变换# MATLAB中的傅里叶变换及应用## 引言傅里叶变换是信号处理领域中一项重要的数学工具,广泛应用于信号分析、图像处理、通信等领域。

MATLAB作为一种高效的科学计算软件,提供了强大的傅里叶变换工具,使得用户能够方便地进行信号频谱分析和处理。

本文将介绍MATLAB中傅里叶变换的基本概念、函数使用方法,并结合实例展示其在信号处理中的应用。

## 1. 傅里叶变换的基本概念### 1.1 时域与频域傅里叶变换是将时域信号转换到频域的一种数学工具。

在时域中,信号是关于时间的函数;而在频域中,信号则是关于频率的函数。

通过傅里叶变换,我们能够将信号在时域和频域之间进行转换,从而更好地理解信号的特性。

### 1.2 连续与离散傅里叶变换MATLAB中的傅里叶变换涵盖了连续和离散两种情况。

对于连续信号,可以使用`fft`函数进行变换;对于离散信号,可以使用`fft`函数进行快速傅里叶变换。

这两种情况下,变换的结果分别为连续频谱和离散频谱。

## 2. MATLAB中的傅里叶变换函数MATLAB提供了丰富的傅里叶变换函数,包括`fft`、`ifft`、`fft2`等。

这些函数可以适用于不同类型的信号,如一维信号、二维信号等。

以下是其中一些常用函数的简要介绍:### 2.1 `fft`函数`fft`函数用于计算一维离散傅里叶变换。

其基本语法为:```matlabY = fft(X)```其中,`X`为输入的离散信号,而`Y`则为变换后的频谱。

### 2.2 `ifft`函数`ifft`函数用于计算一维离散傅里叶反变换。

其基本语法为:```matlabX = ifft(Y)```其中,`Y`为输入的频谱,而`X`则为反变换后的信号。

### 2.3 `fft2`函数对于二维信号,可以使用`fft2`函数进行二维离散傅里叶变换。

其基本语法为:```matlabY = fft2(X)```同样,`X`为输入的二维信号,而`Y`则为变换后的二维频谱。

matlab实现傅里叶变换

matlab实现傅里叶变换

matlab实现傅里叶变换傅里叶变换是一种将一个连续时间函数(或离散时间函数)分解成基函数的超级工具。

它的用途非常广泛,例如在信号处理、音频处理、图像处理、机器学习等领域都有重要的应用。

在这篇文章中,我将介绍使用 MATLAB 实现傅里叶变换的基本步骤。

一、MATLAB 傅里叶变换函数在 MATLAB 中,我们可以使用 fft 函数实现傅里叶变换。

FFT 表示快速傅里叶变换,是一种高效的算法,可以在很短的时间内计算出信号的频域表示。

下面是 fft 函数的基本语法:X = fft(x)其中 x 是输入信号,X 是输出信号的频域表示。

由于傅里叶变换是一个复杂的计算过程,输入信号需要满足一些条件。

这些条件将在下一节中讨论。

在进行傅里叶变换之前,我们需要确保输入信号满足一些条件,以便 fft 函数可以正确地执行。

这些条件包括以下要求:1. 信号长度为 2 的正整数次幂在傅里叶变换中,信号长度通常是 2 的正整数次幂,例如 2、4、8、16、32 等等。

如果信号长度不是 2 的正整数次幂,则 fft 函数将自动进行填充。

2. 离散时间信号需要零填充如果输入信号是离散时间信号,我们需要使用零填充的方法将信号长度补齐至 2 的正整数次幂。

例如,如果我们的离散时间信号包含 100 个样本,我们需要将其补齐至128 个样本(下一个最小的 2 的正整数次幂)。

3. 连续时间信号需要采样如果输入信号是连续时间信号,我们需要对其进行采样,以便将其转换为离散时间信号。

采样频率需要高于信号的最高频率,这样才能避免混叠现象的发生。

下面是一个简单的示例,其中我将展示如何使用 MATLAB 实现傅里叶变换。

假设我们有一个正弦波信号,频率为 10 Hz,并将其采样为 100 个样本。

我们可以定义该信号如下:Fs = 100; % 采样频率T = 1/Fs; % 采样周期L = 100; % 信号长度t = (0:L-1)*T; % 时间向量f = 10; % 信号频率x = sin(2*pi*f*t); % 正弦波信号我们可以使用 plot 函数绘制该信号:plot(t,x)xlabel('Time (s)')ylabel('Amplitude')title('Original Signal')现在我们可以将该信号传递给 fft 函数,并将频域表示存储在 X 变量中:由于傅里叶变换输出的是一个复数数组,因此我们需要使用 abs 函数计算幅度谱并将其绘制出来:P2 = abs(X/L);P1 = P2(1:L/2+1);P1(2:end-1) = 2*P1(2:end-1);f = Fs*(0:(L/2))/L;plot(f,P1)xlabel('Frequency (Hz)')ylabel('Amplitude')title('Frequency Spectrum')幅度谱显示了信号在频域中的分布情况,显示了信号的频率成分及其振幅。

matlab《数字图像处理》第8章 傅立叶变换解析

matlab《数字图像处理》第8章 傅立叶变换解析
曲线下面积:当x 域 加倍时,频率谱的高度 也加倍;当函数长度加 倍时,相同间隔下频谱 中零点的数量也加倍。
17
8.2 二维傅立叶变换
1) 二维连续函数傅立叶变换(2DFT)
定义: 若f(x,y)是连续图像函数
正变换: F (u, v) f (x, y) exp j2 (ux vy)dxdy
反变换: f (x, y) F (u, v) exp j2 (ux vy)dudv
变换对: f (x, y) F(u, v)
18
幅度谱、相位谱、能量谱
一般F(u,v)是复函数,即:
F(u,v) R(u,v) jI(u,v) F(u,v) e j(u,v)
幅度谱: F(u, v) R2 (u, v) I 2 (u, v)
MN x0 y0
反变换:
M 1 N 1
f (x, y) F (u, v) exp[ j2ux / M vy / N ] u0 v0
20
8.3 二维傅立叶变换的性质
1) 可分离性:正反变换都具有分离性
21
1) 可分离性:正反变换都具有分离性
利用二维傅立叶变换的可分离性,可将二维DFT转化 成一维DFT计算。即,先在x(或y)方向进行一维DFT, 再在y(或x)方向进行一维DFT
6
7
8.1 一维傅立叶变换
1) 一维连续函数的傅立叶变换(FT)
定义:若函数满足狄里赫利(Dirichlet)条件: 1)具有有限个间断点; 2)具有有限个极值点; 3)绝对可积,
则下列变换成立:
傅立叶正变换: F (u)
f (x) exp j2uxdx
傅立叶反变换:
f ( x) F (u) exp j2uxdu

图像处理之傅里叶变换matlab实现

图像处理之傅里叶变换matlab实现

傅里叶变换一.实验内容:1、傅里叶变换二.实验目的:1、理解傅里叶变换的原理2、掌握傅里叶变换的性质三.实验步骤:1.首先构造一幅黑白二值图像,在128×128的黑色背景中心产生一个4×4的白色方块,对其进行傅里叶变换;(Matlab 中用fft2实现2D 傅里叶变换)2.把低频分量移到图象中心,而把高频分量移到四个角上;(方法有两种:其一,在FT 以前对测试图象逐点加权(-1)^(i+j);其二,利用FFTSHIFT 函数);3.利用图象增强中动态范围压缩的方法增强2DFT ;(Y =C*log (1+abs (X)));4.构造一幅黑白二值图像,在128×128的黑色背景中令第32行至36行、第32列至第36列的值为1(即产生一个4×4的白色方块),对其进行傅里叶变换;5.将上图旋转300,再进行傅里叶变换 (imrotate )6.构造二幅黑白二值图像,在128×128的黑色背景中分别令第60行至68行、第60列至第68列的值为1,第64行至65行、第64列至第65列的值为1产生两幅图像,分别对这两幅图像进行傅里叶变换四、原理分析、技术讨论、回答问题1、对于第二幅图像(第一步与第四步图像的比较),说明FOURIER 变换具有以下性质:)//(20000),(),(N vy M ux j e v u F y y x x f +-⇔--π2、对于第三幅图像(第一步与第五步图像的比较),说明FOURIER 变换具有以下性质:θcos r x = θs i n r y = αωc o s =u αωs i n =v),(),(00θαωθθ+⇔+F r f3、对于第四幅图像(第一步与第六步图像的比较),说明FOURIER 变换具有以下性质:)/,/(||1),(b v a u F ab by ax f =五、结果如下六、M文件如下:a=zeros(128,128);a(63:66,63:66)=1;A=fft2(a);b=fftshift(A);for i=1:128for j=1:128B(i,j)=log(1+abs(A(i,j)));endendh=zeros(128,128);h(32:36,32:36)=1;H=fft2(h);h1=imrotate(h,30);H1=fft2(h1);i=zeros(128,128);i(60:68,60:68)=1;I=fft2(i);j=zeros(128);j(64:65,64:65)=1;J=fft2(j);figure;subplot(221),imshow(a);title('原图');subplot(222),imshow(A);title('FT');subplot(223),imshow(b);title('低中高角FT'); subplot(224),imshow(B);title('增强2DFT');figure;subplot(221);imshow(a);title('Step 1原图'); subplot(222);imshow(A);title('Step 1FT'); subplot(223);imshow(h);title('Step 4原图'); subplot(224);imshow(H);title('Step 4FT');figure;subplot(221),imshow(a);title('Step 1原图'); subplot(222),imshow(A);title('Step 1FT'); subplot(223),imshow(h1);title('Step 5原图'); subplot(224),imshow(H1);title('Step 5FT');figure;subplot(321);imshow(a);title('Step 1原图'); subplot(322);imshow(A);title('Step 1FT'); subplot(323),imshow(i);title('Step 6原图1'); subplot(324),imshow(I);title('Step 6原图1FT'); subplot(325),imshow(j);title('Step 6原图2'); subplot(326),imshow(J);title('Step 6原图2FT');。

matlab怎么做傅里叶变换

matlab怎么做傅里叶变换

matlab怎么做傅里叶变换在信号处理中,傅里叶变换是一种基本的数学工具,它将时域信号转化为频域信号,以便进一步分析和处理。

MATLAB是一种功能强大的软件工具,通常被用来进行复杂的信号处理和分析。

这里将为您介绍如何在MATLAB中进行傅里叶变换。

第一步:导入信号数据首先,我们需要将信号数据加载到MATLAB中进行后续处理。

可以通过多种方式将信号数据导入MATLAB。

我们可以手动输入数据,将数据从文件中读入,或者从其他支持文件格式的工具中导入数据。

以下是一个读取音频信号数据的例子:[y, Fs] = audioread('myaudiofile.wav');其中,y是信号数据,Fs是采样率。

可以根据需要修改文件名和文件路径。

第二步:执行傅里叶变换现在我们将信号数据导入到MATLAB中后,可以通过内置函数fft()进行傅里叶变换。

该函数返回一个复值数组,包含该信号在频域上的幅度和相位信息。

以下是一个傅里叶变换的示例:Y = fft(y);这里,Y是频域信号数据。

为了清晰起见,可以对Y进行幅度谱操作,以便可视化表示。

幅度谱意味着我们只考虑频率分量的幅值,而忽略相位信息。

可以使用MATLAB内置函数abs()来计算幅度谱。

以下是一个展示如何计算幅度谱的例子:P2 = abs(Y/length(y));P1 = P2(1:length(y)/2+1);P1(2:end-1) = 2*P1(2:end-1);在上述代码中,P1包含Y的前一半,由于我们对称,可以完全表示频域的信息。

第三步:绘制信号波形和频域谱图绘制信号波形和频域谱图将有助于了解信号的特性。

MATLAB提供了多种可视化工具来展示信号和信号变换后的频谱图。

以下是一个展示如何绘制信号波形和幅度谱的例子:% 暂时将时间设为文本标签x轴t = (0:length(y)-1)/Fs;plot(t,y)title('Original Signal')xlabel('Time (s)')ylabel('Amplitude')% 设置频域坐标轴,计算频谱图f = Fs*(0:(length(y)/2))/length(y);plot(f,P1)title('Single-Sided Amplitude Spectrum of Original Signal') xlabel('f (Hz)')ylabel('|P1(f)|')这些代码将生成在同一窗口中生成时间域波形和频域幅度谱。

matlab如何做傅里叶变换

matlab如何做傅里叶变换

matlab如何做傅里叶变换# MATLAB中的傅里叶变换## 引言傅里叶变换是一种在信号处理和频谱分析中广泛使用的数学工具,能够将一个信号从时域转换为频域。

MATLAB作为一个强大的数值计算工具,提供了丰富的函数和工具箱,使得进行傅里叶变换变得相对简单。

本文将介绍MATLAB中如何执行傅里叶变换,包括基本概念、使用的函数以及示例应用。

## 傅里叶变换的基本概念傅里叶变换通过将一个时域信号分解为不同频率的正弦和余弦函数的组合,从而提供了在频域中分析信号的能力。

在MATLAB中,傅里叶变换主要有两种类型:离散傅里叶变换(DFT)和连续傅里叶变换(FFT)。

DFT适用于离散信号,而FFT是一种更快的算法,通常用于实际计算。

## MATLAB中的傅里叶变换函数### 1. 离散傅里叶变换(DFT)在MATLAB中,`fft`函数用于计算离散傅里叶变换。

下面是一个简单的例子,演示如何使用该函数:```matlab% 定义信号t = 0:0.01:1; % 时间向量f = 5; % 信号频率signal = sin(2*pi*f*t);% 计算离散傅里叶变换fft_result = fft(signal);% 绘制原始信号和频谱subplot(2,1,1);plot(t, signal);title('原始信号');subplot(2,1,2);plot(abs(fft_result));title('频谱');```上述代码创建了一个简单的正弦信号,并使用`fft`函数计算了其频谱。

通过绘制原始信号和频谱,我们可以直观地理解信号在频域中的表示。

### 2. 连续傅里叶变换(FFT)MATLAB中的`fft`函数也可以用于执行连续傅里叶变换。

以下是一个示例,展示了如何应用FFT来分析一个包含多个频率成分的信号:```matlab% 定义包含多个频率成分的信号t = 0:0.01:2;f1 = 3;f2 = 8;signal = sin(2*pi*f1*t) + 0.5*cos(2*pi*f2*t);% 计算连续傅里叶变换fft_result = fft(signal);% 绘制原始信号和频谱subplot(2,1,1);plot(t, signal);title('原始信号');plot(abs(fft_result));title('频谱');```通过这个例子,我们可以看到如何利用FFT来分析包含多个频率成分的信号,从而更全面地了解信号的频谱特性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
I (u ) (u ) arct an R(u )
功率谱
P(u) R (u) I (u)
2 2
13
f(x)是一门函数,如图所示,它表示为:
f ( x)
A 0
(0 x X ) x0
求其傅立叶变换F(u)
14
解:
F (u )

0

X
M 1 x0
1 F (u ) M
f ( x)[cos2ux / M j sin 2ux / M ]
每个F(u) 由f(x)与对应频率的正弦和余弦乘积和组成; u 值决定了变换的频率成份,因此,F(u)覆盖的域 (u值) 称为频率域,其中每一项都被称为FT 的频率 分量。与f(x) 的“时间域”和“时间成份”相对应。
36
相关性匹配举例
延拓图像f(x,y)
相关函数图像
37
离散傅立叶变换应用中的问题 1) 频谱的图像显示 谱图像就是把 |F(u,v)| 作为亮度显示在屏幕 上。 由于在傅立叶变换中 F(u,v) 随 u , v 衰减太快, 直接显示高频项只能看到一两个峰,其余都 不清楚。为了符合图像处理中常用图像来显 示结果的惯例,通常用D(u,v) 来代替,以弥 补只显示|F(u,v)|不够清楚这一缺陷。D(u,v) D(u, v) log(1 | F (u, v) |) 定义为:
F (u N / 2, v N / 2) f ( x, y)(1) x y
在作傅立叶变换时,先把原图像f(x,y)乘以 (-1)x+y,然后再进行傅立叶变换,其结果谱 就是移N/2的F(u,v)。其频谱图为|F(u,v)|。
41
移中性:变换后主要能量(低频分量)集中在频率 平面的中心。 原图像f(x,y) 未移中的变换:
46
F=fft2(f); %二维傅立叶变换(fft算法) figure() mesh(fftshift(abs(F))); %绘制频谱图 F2=fftshift(log(1+abs(F))); figure() imshow(F2,[-1 5], 'InitialMagnification','fit'); %显示频谱图像,频谱的零频率系数被移到频谱中间 colormap(jet);colorbar
下图给出了一维傅立叶变换原频谱 |F(u)| 图 形 和 D(u) 图 形 的 差 别 。 原 |F(u)|图形只有中间几个峰可见,图(b) 为处理后D(u)的图形。
39
2)频谱的频域移中 常用的傅里叶正反变换公式都是以零点为中心 的公式,其结果中心最亮点却在图像的左上角, 作为周期性函数其中心最亮点将分布在四角, 这和我们正常的习惯不同,因此,需要把这个 图像的零点移到显示的中心。例如把F(u,v)的 原零点从左上角移到显示屏的中心。
4


为什么要在频率域研究图像增强

可以在频域指定滤波器,做反变换,然后在空 间域使用结果滤波器作为空间域滤波器的指导 一旦通过频域试验选择了空间滤波,通常实施 都在空间域进行
一旦找到一个特殊应用的滤波器,通常在空间 域采用硬件实现它


5
8.1 一维傅立叶变换

法国数学家傅立叶(生于1768年)在1822年出版的 《热分析理论》一书中指出:任何周期函数都可以表 达为不同频率的正弦和或余弦和的形式,即傅立叶级 数。 20世纪50年代后期,快速傅立叶变换算法出现,得到 了广泛的应用。
16
简单函数的傅里叶谱M 点离散函数及其傅里叶频 谱(M=1024, A=1, K=8); 对应的傅里叶频谱
曲线下面积:当x 域 加倍时,频率谱的高度 也加倍;当函数长度加 倍时,相同间隔下频谱 中零点的数量也加倍。
17
8.2 二维傅立叶变换
1) 二维连续函数傅立叶变换(2DFT)
定义: 若f(x,y)是连续图像函数
11

傅里叶变换将信号分成不同频率成份。类 似光学中的分色棱镜把白光按波长(频率) 分成不同颜色,称数学棱镜。

傅里叶变换的成份:直流分量和交流分量
12
傅立叶变换在极坐标下表示: F (u) F (u) e j (u )
频率谱
F (u ) R 2 (u ) I 2 (u )
相位谱
22
2) 平移性
公式(1):
23
2) 平移性:
公式(2):
2 f ( x x0 , y y0 ) F (u, v) exp j (ux0 vy0 ) N
24
2)平移性:
25
3)分配律:
26
3) 尺度变换(缩放):
27
5)旋转性
则:
f ( , 0 ) F ( , 0 )
18
幅度谱、相位谱、能量谱
一般F(u,v)是复函数,即:
j (u ,v )
F (u, v) R(u, v) jI (u, v) F (u, v) e
幅度谱: 相位谱:
F (u, v) R 2 (u, v) I 2 (u, v)
I (u, v) (u, v) tg R(u, v)
*卷积 • 乘积
34
9) 相关定理
则:
f ( x, y) g ( x, y) F (u, v) G (u, v) f ( x, y) g ( x, y) F (u, v) G(u, v)


相关
*共轭
乘积
35
卷积和相关理论总结: 卷积是空间域滤波和频率域滤波之间的纽带。
第8章 图像傅立叶 变换
学习重点
二维傅立叶变换的定义 二维傅立叶变换的性质 二维傅立叶变换matlab实现
2
学习内容
8.1 8.2 8.3 8.4 8.5 一维傅立叶变换 二维傅立叶变换 傅立叶变换的性质 matlab傅立叶变换的实现 傅立叶变换的应用简介
3
为什么要在频率域研究图像增强

可以利用频率成分和图像外表之间的对应关系。 一些在空间域表达困难的增强任务,在频率域 中变得非常普通。 滤波在频率域更为直观,它可以解释空间域滤 波的某些性质 给出一个问题,寻找某个滤波器解决该问题, 频率域处理对于试验、迅速而全面地控制滤波 器参数是一个理想工具
f ( x )e
j 2ux
dx
Ae
j 2ux
A j 2ux dx e j 2u


X
0
A e juX e juX e juX j 2u A sin(uX )e juX u
15


对应的傅立叶谱为:
A F (u ) sin(uX ) e juX u sin(uX ) AX uX

Y=fftshift(X) 把fft函数、 fft2函数和fftn函数输出的结果的零频 率部分移到数组的中间。对于向量,把X的左右部分 交换,对于矩阵,把X的第一、三象限和二、四象限 交换
45
8.5 傅立叶变换的应用简介
1) 图像的傅立叶分析 %已知一幅30*30大小的二值图像,在图像中间有 个长为5高为20的白色区域,其它区域为黑色 %对这幅图进行傅立叶变换分析(主要用用FFT算 法) clc clear all f=zeros(30,30); f(5:24,13:17)=1; %定义图像数组 figure() imshow(f,'InitialMagnification','fit');
43
快速傅里叶变换(FFT)并不是一种新的变 换,它是离散傅里叶变换(DFT)的一种算法。这 种方法是在分析离散傅里叶变换(DFT)中的多余 运算的基础上,进而消除这些重复工作的思想 指导下得到的,所以在运算中大大节省了工作 量,达到了快速的目的。
44

N维傅立叶变换:Y=fftn(X)——返回X的多维离散 傅立叶变换,结果Y和X的大小一致。 把傅立叶变换的零频率部分移到频谱的中间,使用 fftshif函数,调用格式如下:
此式含义是:当原图像旋转某一角度时,FT后的图 像也旋转同一角度。
28
旋转性举例:
原图像及其傅立叶幅度谱图像
原图像旋转45,其幅度谱图像也旋转45
29
6) 周期性和共轭对称性
30
6)周期性和共轭对称性
31
7)平均值
32
7)平均值
33
8)卷积定理
则:
f ( x, y) g ( x, y) F (u, v) G(u, v) f ( x, y) g ( x, y) F (u, v) G(u, v)

6
7
8.1 一维傅立叶变换
1) 一维连续函数的傅立叶变换(FT)
定义:若函数满足狄里赫利(Dirichlet)条件: 1)具有有限个间断点; 2)具有有限个极值点; 3)绝对可积, 则下列变换成立: 傅立叶正变换:

F (u Байду номын сангаас


f ( x) exp j 2uxdx

傅立叶反变换:
当周期为N时,应在频域移动N/2。利用傅 立叶的频域移动的性质: 当u0=v0=N/2时
F (u u0 , v v0 ) f ( x, y) exp[j 2 (u0 x v0 y) / N ]
exp[j 2 (u0 x v0 y) / N ] exp[j ( x y)] (1) x y
47
%在上面的变换前的矩阵没有被填充,下面比较 填充矩阵后的情况 F=fft2(f,256,256); %在变换前f被用0填充成256*256的矩阵,变换 后的矩阵大小也是256*256 figure() imshow(fftshift(log(1+abs(F))),[-1 5]); colormap(jet);colorbar
相关文档
最新文档