MATLAB實驗——FFT變換

2021-02-19 最菜程序猿

實驗基本原理與設計

1 應用傅立葉變換進行圖像處理

傅立葉變換是線性系統分析的一個有力工具,它能夠定量地分析諸如數位化系統、採樣點、電子放大器、卷積濾波器、噪音和顯示點等的作用。通過實驗培養這項技能,將有助於解決大多數圖像處理問題。對任何想在工作中有效應用數字圖像處理技術的人來說,把時間用在學習和掌握博裡葉變換上是很有必要的。

2 傅立葉(Fourier)變換的定義

對於二維信號,二維Fourier變換定義為:

逆變換:

二維離散傅立葉變換為:

逆變換:

圖像的傅立葉變換與一維信號的傅立葉變換變換一樣,有快速算法,具體參見參考書目,有關傅立葉變換的快速算法的程序不難找到。實際上,現在有實現傅立葉變換的晶片,可以實時實現傅立葉變換。

實驗過程

1. 實驗步驟:

(1)讀入圖像;

(2)用Fourier變換算法,對圖像作二維Fourier變換;

(3)將其幅度譜進行搬移,在圖像中心顯示;

(4)取對數;

(5)顯示圖像的頻譜。

2. 實驗代碼:

clc;clear;alex=imread('E:\SEO\公眾號\0最菜程序猿\圖片\1.jpg');alex1=rgb2gray(alex);alex2=im2double(alex1);alex=fft2(alex2);subplot(2,1,1);imshow(alex1);alex1=fftshift(alex);alex2=abs(alex1);S=log(alex2+1);subplot(2,1,2);imshow(S,[]); colormap(jet);colorbar;

原圖像

實驗結果

相關焦點

  • 快速傅立葉變換FFT在MATLAB中的實現
    四種傅立葉變換總結如下表所示。表1繪製時域信號lear;clc;closealla=textread('C:\Users\Administrator\Desktop\matlab\FFT\TIME_X.txt'); %讀取時域數據y=a(:,2); %讀取時域數據Fs=6400; %採集頻率T=1/Fs; %採集時間間隔N=
  • matlab下實現FFT信號分析
    利用matlab做頻譜分析前我們需要了解分析過程中的一些基礎知識,matlab中的 fft 函數用法、fftshift 函數的用法函數 1  fft :作用:快速傅立葉變換。語法:Y = fft(X)Y = fft(X,n)Y = fft(X,n,dim)語法:Y = fft(X) 用快速傅立葉變換 (FFT) 算法計算 X 的離散傅立葉變換 (DFT)。
  • 用matlab對信號進行傅立葉變換
    傅氏變換分析是信號分析中很重要的方法,藉助matlab可以很方便的對各類信號進行傅氏頻域分析。
  • 用matlab對信號進行傅立葉變換的入門實例
    來源:博客園-走豈來的博客傅氏變換分析是信號分析中很重要的方法,藉助matlab可以很方便的對各類信號進行傅氏頻域分析
  • 在MATLAB中如何實現快速傅立葉變換
    四種傅立葉變換總結如下表所示。表1繪製時域信號lear;clc;closealla=textread('C:\Users\Administrator\Desktop\matlab\FFT\TIME_X.txt'); %讀取時域數據y=a(:,2); %讀取時域數據Fs=6400; %採集頻率T=1/Fs; %採集時間間隔N=
  • 如何用matlab對信號進行傅立葉變換
    傅氏變換分析是信號分析中很重要的方法,藉助matlab可以很方便的對各類信號進行傅氏頻域分析。
  • 【基礎教程】Matlab實現傅立葉變換
    傅立葉變換傅立葉變換是一種常見的分析方法,傅立葉變換將滿足一定條件的函數表示為一些函數的加權和(或者積分)。
  • 使用 matlab 進行傅立葉分析和濾波
    中的快速傅立葉有兩種調用形式:y=fft(x)。x是原始信號,y是變換之後的信號。y與x有相同的長度。y=fft(x,N)。x,y定義如上,N是正整數,表示進行N點快速傅立葉變換。如果x長度小於N,則對x補零,使之與N相等;反則,則對x進行截取。對應的逆變換有兩種,分別為x=ifft(y)和x=ifft(y.N)。一般而言,N點fft的結果y,在處對應的頻率為最高採樣率的一半,y的後一半與前一半對稱。
  • 幾行Matlab代碼教你上手傅立葉變換
    f0 = ones(1,n);g0 = fft(f0);figure, stem(f0), title('原函數');figure, stem(abs(g0)), title('傅立葉變換的幅度');% 實驗1close all; clear; n = 64;
  • 快速傅立葉變換(FFT)結果的物理意義是什麼?(附Matlab程序)
    FFT是離散傅立葉變換的快速算法,可以將一個信號變換到頻域。有些信號在時域上是很難看出什麼特徵的,但是如果變換到頻域之後,就很容易看出特徵了。這就是很多信號分析採用FFT變換的原因。另外,FFT可以將一個信號的頻譜提取出來,這在頻譜分析方面也是經常用的。
  • 史上最簡單的FFT(快速傅立葉變換)
    這個就需要傅立葉變換了。3 複數複數是數學上一個很常見的概念,複數的特點是對負數進行開方。負數相加的規則是實部(x軸)和實部相加,虛部(y軸)和虛部相加。 複數乘法的規則是模長相乘,幅角相加。4 離散傅立葉變換樸素的傅立葉變換還是太慢了,所以我們要進行快速的傅立葉變換,藉助於分治的思想。
  • Matlab傅立葉變換、餘弦變換和小波變換
    離散傅立葉變換的 Matlab實現Matlab 函數 fft、fft2 和 fftn 分別可以實現一維、二維和 N 維 DFT 算法;而函數 ifft、ifft2 和 ifftn 則用來計算反 DFT 。
  • 通俗易懂的講解FFT的讓你快速了解FFT
    本人最早知道傅立葉變換的時候是沉迷於音樂的頻譜跳動無法自拔,當時就很想做一個音樂頻譜顯示器。搜閱了很多資料之後,才了解到傅立葉變換,和FFT。當然這都是以前的事情了,經過了系統的學習+2個星期的研究,自製了一個FFT的算法,不敢說速度上的優勢,但是個人認為是一種通俗易懂的實現方法。經過實際的VC++模擬實驗、和STM32跑的也很成功。
  • 小波變換進行圖像壓縮matlab原始碼源程序
    小波變換進行圖像壓縮matlab原始碼源程序
  • 每日函數——fft
    fft快速傅立葉變換語法Y  = fft(X)Y  = fft(X
  • 使用STM32 的DSP庫進行FFT變換
    * 使用三角函數生成採樣點,供FFT計算* 進行FFT測試時,按下面順序調用函數即可:* dsp_asm_init();* dsp_asm_test();*/#include "stm32f10x.h"#include "dsp_asm.h"#include "stm32_dsp.h"#include "table_fft.h"
  • 數字與信號處理實驗3 用FFT進行譜分析
    實驗三 用FFT進行譜分析                 一、實驗要求 進一步加深DFT 算法原理和基本性質的理解
  • 用FPGA實現FFT算法(圖)
    引言  dft(discrete fourier transformation)是數位訊號分析與處理如圖形、語音及圖像等領域的重要變換工具,直接計算dft的計算量與變換區間長度n的平方成正比。
  • MATLAB中的二維傅立葉變換
    1.首先,傅立葉變換有什麼用呢?我們用兩個生動的例子闡釋傅立葉變換的作用:【例子一】:現在一家餐廳研究了一個特殊的美食,作為美食家的你,想知道這個菜裡面到底都有什麼配料。2.傅立葉變換的應用傅立葉變換在圖像處理中有非常非常的作用。
  • 什麼是傅立葉變換,如何用MATLAB實現?
    第三場分享的主題是: 傅立葉變換的理解與MATLAB實現直播日期:2021年1月21日(周四)晚18點沒有傅立葉變換,就無法用數學的方法去處理現實世界中的各種各樣的信號。如今幾乎所有信息最終都會數位化,就會用到傅立葉變換及其變種,藉助傅立葉變換才能將信號識別為具體的成分,完成數位化。