matlab,對離散陣列,進行傅立葉變化

2021-03-27 04:57:35 字數 1491 閱讀 9869

1樓:

參考一下這個例子

例:x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t)。取樣頻率fs=100hz,繪製n=128點幅頻圖。

clf;

fs=100;n=128; %取樣頻率和資料點數

n=0:n-1;t=n/fs; %時間序列

x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); %訊號

y=fft(x,n); %對訊號進行快速fourier變換

mag=abs(y); %求得fourier變換後的振幅

f=n*fs/n; %頻率序列

subplot(2,2,1),plot(f,mag); %繪出隨頻率變化的振幅

xlabel('頻率/hz');

ylabel('振幅');title('n=128');grid on;

subplot(2,2,2),plot(f(1:n/2),mag(1:n/2)); %繪出nyquist頻率之前隨頻率變化的振幅

xlabel('頻率/hz');

ylabel('振幅');title('n=128');grid on;

如何用matlab對一大堆離散資料做傅立葉分析

2樓:du知道君

將離散資料放入陣列中,如陣列a,共有n個資料,然後b=fft(a,n)就可以了,b就是a的頻譜,用stem(b)畫頻譜圖,stem(angle(b))是相位譜,stem(abs(b))是振幅譜

如何用matlab實現對離散資料的快速傅立葉變換

3樓:匿名使用者

1、雙來擊matlab軟體圖示,開啟matlab軟體,可以自看到matlab軟體的介面。

2、在命令列視窗中輸入:x=0:2:22;y=2*exp(x).*sin(x);建立了12個原始資料點。

3、在命令列視窗中輸入:xi=0:0.1:22;建立要進行插值的資料的橫座標。

4、在命令列視窗中輸入:yi=spline(x,y,xi);使用函式spline(x,y,xi);可以獲得對原始資料的三次樣條插值的y軸座標。

5、在命令列視窗中輸入:plot(x,y,'o',xi,yi);在影象中繪製原始資料點和三次樣條插值的資料點圖示。

6、在命令列視窗中輸入:title('三次樣條插值');xlabel('x');ylabel('y');給繪製的圖示新增標題和座標軸的標籤。

7、最後檢視繪製的原始資料點圖和三次樣條插值圖示,注意標題、橫座標、縱座標等。

4樓:匿名使用者

那是因為fft的結果數值之間差異很大,所以在圖上顯示不出來,可以只顯示部分割槽間的數值,就是限定座標值範圍。

5樓:匿名使用者

請問你最後解決了這個問題了嗎??我現在也遇到同樣的問題,想問下需要在matlab裡面先找到擬合的函式,在傅立葉變換嗎??還是直接用fft就行了??

如何用matlab對一大堆離散資料做傅立葉分析

將離散資料放入陣列中,如陣列a,共有n個資料,然後b fft a,n 就可以了,b就是a的頻譜,用stem b 畫頻譜圖,stem angle b 是相位譜,stem abs b 是振幅譜 如何用matlab實現對離散資料的快速傅立葉變換 1 雙來擊matlab軟體圖示,開啟matlab軟體,可以自...

matlab怎麼對陣列的每個元素進行處理

1 首先需要雙擊baimatlab軟體 du圖示,開啟zhimatlab軟體,可以看到matlab軟體的介面。dao2 使用函式rand 建立一內個一維陣列容a。3 對陣列a進行關係運算,分別獲得陣列b c。4 使用符號 對陣列b和陣列c進行邏輯與運算。5 使用符號 對陣列b和陣列c進行邏輯或運算。...

如何用matlab實現矩形脈衝訊號的傅立葉變換

首先 產生矩形脈衝訊號,可以使用 rectpuls t,w 函式產生一個幅值為1,以t 0為中心對稱,半寬度為專w 2的矩形脈衝 然後 傅裡屬葉變換 是用 fft 命令的。如果要得到頻譜的話還要再處理一下,具體就不多說了,給個程式樣例 t 20 20 w 10 y rectpuls t,w 矩形脈衝...