fft 一維傅利葉變換使用(Matlab)

2021-10-05 10:41:25 字數 1032 閱讀 4024

注:將乙個帶有噪音的時域訊號轉化為頻域訊號

clc,clear;

figure,

hz=0.02

;%週期;也可以說x軸的步長

fs=1

/hz;

%頻率%定義函式x=0

:hz:10-

1/50; y=5

*sin(2

*pi*

15*x)+10

*sin(2

*pi*

20*x)+17

*cos(2

*pi*

5*x)

;%此處可以新增噪音

y=y+10*

randn

(size

(x))

;%上面的引數定義好,下面的不需要修改

subplot(2

,1,1

);plot

(x,y)

;title

("6*sin(10*2*pi*t)");

y =fft

(y);

l=length

(x);

% x 軸資料的個數

p2 =

abs(y/l)

;% y 為傅利葉變換得到的結果 l為y的長度

p1 =p2(

1:l/2+

1);%從 p2 取出元素 的 1--(

500/2)

+1 長度的元素 即,取前一半+

1 個元素p1(

1:end-1)

=2*p1

(1:end-1)

;f = fs*(0

:(l/2)

)/l;

subplot(2

,1,2

);plot

(f,p1)

;title

("fft");

xlabel

('hz');

ylabel

('振幅'

);

注:上面一些函式說明:

randn()函式:

快速傅利葉變換FFT

fft的作用就不多說了,搞訊號處理的人都會用上。fft的由來 傅利葉變換ft 離散傅利葉變換dft 快速傅利葉變換fft。學習資料 1 陳後金的 數字訊號處理 裡面深入淺出,該有的公式都有,程式設計思想也有。2 一篇系統講述傅利葉變換的帖子 3 學生對fft的理解 4 工程人員對fft的簡單明瞭的總...

快速傅利葉變換 FFT

bzoj 2179 fft快速傅利葉 果題 bzoj2194 請計算c k sigma a i b i k 其中 k i n 並且有 n 10 5。a,b中的元素均為小於等於100的非負整數。注意到i 和 i k有奇妙的聯絡 不妨嘗試把b翻轉 然後就變成卷積了。貼個模板 include define...

快速傅利葉變換 FFT

首先說一下我用fft做什麼,我要做的是多項式乘法,或者說,加速多項式乘法。考慮多項式a x j 0n 1aj xj,它一共有 n 項,我們稱它的次數界為 n。假設我們有兩個次數界為 n 的多項式a x 和b x 要求它們的和是非常簡單的,只需要將對應的係數相加,複雜度為o n 如果要求他們的積,則需...