MATLAB實驗——FFT變換

2021-03-02 最菜程序猿

實驗基本原理與設計

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中如何實現快速傅立葉變換
    四種傅立葉變換總結如下表所示。表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的使用方法
    要得到真實的振幅值的大小,只要將得到的變換後結果乘以2除以N即可。二、FFT應用舉例例1:x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t)。採樣頻率fs=100Hz,分別繪製N=128、1024點幅頻圖。
  • 信號處理基礎-FFT卷積之頻域FIR濾波
    FFT卷積基本過程描述:設信號x長度n,卷積係數h長度為k,則時域卷積結果長度為L=n+k-1,為了採用高效的基2型FFT算法,需要將信號和係數均在末尾補零擴展到最接近的2的N次方長度m(比如n=32,k=16,則L=32+16-1=47,最近的2的N次方為64),然後分別做m點FFT變換到頻域後再復乘,最後IFFT變回時域。
  • 快速傅立葉變換(FFT)結果的物理意義是什麼?(附Matlab程序)
    FFT是離散傅立葉變換的快速算法,可以將一個信號變換到頻域。有些信號在時域上是很難看出什麼特徵的,但是如果變換到頻域之後,就很容易看出特徵了。這就是很多信號分析採用FFT變換的原因。另外,FFT可以將一個信號的頻譜提取出來,這在頻譜分析方面也是經常用的。
  • 使用 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)。
  • 幾種經典功率譜估計方法的實現(Matlab)及其局限性
    本文給出了經典功率譜估計的幾類方法,並通過Matlab的實驗仿真對經典功率譜估計方法性能進行了分析,最後說明了經典功率譜估計法的局限性和造成這種局限性的原因。 給定一個標準的正弦信號,我們可以通過傅立葉變換來分析它的頻率成分。
  • Matlab傅立葉變換、餘弦變換和小波變換
    離散傅立葉變換的 Matlab實現Matlab 函數 fft、fft2 和 fftn 分別可以實現一維、二維和 N 維 DFT 算法;而函數 ifft、ifft2 和 ifftn 則用來計算反 DFT 。
  • matlab頻譜分析時的若干問題解釋及幾種頻譜的理解
    我們在matlab中輸入以下命令:>> n=0:63;>> f1=1000;f=3000;>> s1=cos(2*pi*f1/f*n);>> plot(abs(fft(s1)));
  • Matlab中fft與fwelch有什麼區別?如何用fft求功率譜?
    講這個話題,就要先搞清楚頻譜、功率譜的概念,可參考我的另一篇文章信號的頻譜 頻譜密度 功率譜密度 能量譜密度做信號處理的朋友應該都會fft
  • 通俗易懂的講解FFT的讓你快速了解FFT
    本人最早知道傅立葉變換的時候是沉迷於音樂的頻譜跳動無法自拔,當時就很想做一個音樂頻譜顯示器。搜閱了很多資料之後,才了解到傅立葉變換,和FFT。當然這都是以前的事情了,經過了系統的學習+2個星期的研究,自製了一個FFT的算法,不敢說速度上的優勢,但是個人認為是一種通俗易懂的實現方法。經過實際的VC++模擬實驗、和STM32跑的也很成功。
  • Matlab中短時傅立葉變換 spectrogram和stft的用法
    在Matlab中,做短時傅立葉變換需要使用函數spectrogram,而在Matlab2019中,引入了一個新的函數stft,下面我們就來看下這兩個函數都如何使用。  短時傅立葉變換的基本原理就是將數據分段加窗,做fft,在分段時會有overlap,因此一個向量的短時傅立葉變換結果是一個矩陣。了解了這點,下面的函數及參數就更加容易理解了。
  • 大神帶你玩轉matlab圖像處理(6)——Hough變換
    利用空間的特點性質進行圖像加工,就是圖像轉換,比較常見的圖像轉換方式有:算術計算、幾何變換、Hough變換、傅立葉變換、離散變化,有關案例可以看大神帶你玩轉matlab圖像處理 (一)。過冷水重點講講Hough變換。Hough是基於特徵值提取技術的圖像變換方案。
  • MATLAB曲線擬合及Fourier分析
    事實上,由於種種原因,實驗或測量中所獲得的數據總會有一定的誤差。在這種情況下,如果強求構造的函數(曲線)通過各插值節點,顯然是不合理的。為此,人們設想構造一個函數(曲線)y=g(x)去擬合f(x),但它不必通過各插值節點,而只是使該曲線從這些插值節點中穿過,且使它在某種意義下最優。MATLAB的曲線擬合是用常見的最小二乘原理,所構造的g(x)是一個次數小於擬合節點個數的多項式。
  • matlab小例子:秒懂互相關與褶積
    為此,我們對式(1)作傅立葉變換有:即以信號g為參考,f與g的互相關,其頻率域結果是信號g的頻譜的共軛乘以f的頻譜,對式(6)做傅立葉反變換,即可獲得以g為參考的f廢話不多說,上matlab代碼:我們利用波場數值模擬的方法獲得了某一個模型在偏移距為30 m和60 m處的地震道信號,即上圖代碼中的信號g和f。
  • OpenCV-Python 傅立葉變換|三十
    (一些連結已添加到「其他資源」,其中通過示例直觀地說明了頻率變換)。現在,我們將看到如何找到傅立葉變換。Numpy中的傅立葉變換首先,我們將看到如何使用Numpy查找傅立葉變換。Numpy具有FFT軟體包來執行此操作。
  • 信號處理基礎之FFT
    暈的原因有兩個,一是各種變換公式看上去差不多,中間有或多或少的聯繫,但又很不一樣,可能適用於不同的情況,有不同的限制等;二是這門學科確實起名太混淆了點,比如DTFT(Discrete Time Fourier Transform,離散時間傅立葉變換),DFT(Discrete Fourier Transform,離散傅立葉變換),DFS(Discrete Fourier Series,離散傅立葉級數
  • 什麼是傅立葉變換,如何用MATLAB實現?
    第三場分享的主題是: 傅立葉變換的理解與MATLAB實現直播日期:2021年1月21日(周四)晚18點沒有傅立葉變換,就無法用數學的方法去處理現實世界中的各種各樣的信號。如今幾乎所有信息最終都會數位化,就會用到傅立葉變換及其變種,藉助傅立葉變換才能將信號識別為具體的成分,完成數位化。那麼現實世界中的各種信號如何通過通過數學模型來轉變成可以計算處理的數位訊號呢?
  • 【matlab】什麼是漢明窗?加Hanmming窗的作用?
    在matlab中執行命令,畫出plot(hamming(100))的圖如下:matlab中hamming()函數的作用是
  • OpenCV系列之傅立葉變換 | 三十
    (一些連結已添加到「其他資源」,其中通過示例直觀地說明了頻率變換)。Numpy中的傅立葉變換首先,我們將看到如何使用Numpy查找傅立葉變換。Numpy具有FFT軟體包來執行此操作。np.fft.fft2()為我們提供了頻率轉換,它將是一個複雜的數組。它的第一個參數是輸入圖像,即灰度圖像。第二個參數是可選的,它決定輸出數組的大小。