[討論] matlab的fft功能繪圖後對值的懷疑已回收

看板MATLAB作者 (阿KIM)時間17年前 (2009/02/07 16:46), 編輯推噓4(407)
留言11則, 4人參與, 最新討論串1/1
小弟在也是剛使用matlab的新手 很多地方不懂希望大家多多指教... ============================ 如題 各位在做訊號分析時難免會做到fft指令 在參考眾多文獻 書籍 網頁後 很常發現舉例指令 x = fft(數據) % x 為fft轉換後數據 amp = abs(x) % amp 為強度或振幅 plot(f,amp) 以上是文獻中出現最多舉例的使用發法 但是!! 這樣是對的嗎?? 0.0 舉個網站例子 http://yukuan.blogspot.com/2006/12/fft-in-python.html 常可以發現 不論是在 頻率軸或是 強度軸上 似乎都不是這麼的像 解 在網頁中以數值解 頻率軸 應該是對沒錯 但是在強度軸上 似乎好像不太對 以訊號cos波圖中可以很輕易的發現振幅是2 但在頻譜圖上看到12X或13X 這對嗎@@? 也想請教 fft轉換後 相對的 頻率軸 與 振幅 是不是有更嚴謹的撰寫方式 頻率軸我想是 f = 0 : 取樣頻率/取樣總數 : 取樣頻率 - 取樣頻率/取樣總數 = ( 0 : length(取樣數據)-1 ) * 取樣頻率/length(取樣數據) 這樣應該沒錯 (ps.上述取樣頻率為1秒內所需的n個數據數) 但是 那強度(振幅)應該如何撰寫呢? 小弟不才 請多指教 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.81.103

02/07 20:15, , 1F
FT pair的式子,每個套件定義不會都一樣,主要是差在常數項
02/07 20:15, 1F

02/07 20:20, , 2F
1/N 有些擺在analysis,有些擺在synthesis;有些則是兩邊都擺
02/07 20:20, 2F

02/07 20:21, , 3F
1/sqrt(N); 所以在分析時,先查查套件的定義吧
02/07 20:21, 3F
請問B大 您指的"套件"是指什麼呢 以我的例子 是用在波形的拆解 EX: 類似 sin & cos 組合波的拆解 (舉例心電波形) 您提到的主要差在常數項1/N 其中N指的是@@?? 取樣數?還是取樣頻率@@? 再來擺在analysis or synthsis ... 這又是什麼0.0 從沒想到FT有這麼多要學0.0 處在自己摸索階段 是否有建議書籍或文獻能參考呢~~謝謝B大 ※ 編輯: av8d5299 來自: 118.171.133.211 (02/07 22:08)

02/07 23:42, , 4F
12X是信號投射到該傅利葉基底的內積強度,跟時域振幅的不同
02/07 23:42, 4F

02/08 13:58, , 5F
可是 以數學定義而言 abs(fft)後 不是振幅嗎
02/08 13:58, 5F

02/10 14:54, , 6F
離散傅利葉的常用式子會多一個常數N, 12X除以N 就是振幅了
02/10 14:54, 6F

02/11 23:16, , 7F
嗯嗯嗯!謝謝B大!我自己也寫好程式比對確認過了
02/11 23:16, 7F

02/11 23:17, , 8F
我發現amp=abs(fft)/N*2 才是正解 程式如下
02/11 23:17, 8F
Hz = 10240; % 取樣頻率 time = 10; % 總時間 N = Hz*time; % 總取樣 HZ = 10240-1/N; % 頻率軸點數 t = (0:time/N:time-time/N); % 時間軸 f = (0:Hz/N:Hz-Hz/N); % 起始:步距:取樣頻率 - 步距 %方程式 y = 3.7*sin(2*pi*3*t+30*pi/180); %FFT轉換 z = fft(y); % FFT %取amp ...m1 = abs(z); % case1 直接取amp 是錯的 ...m2 = abs(z/N); % case2 差一半 m3 = abs(z)/N*2; % case3 為正解 %取相位 a = angle(z); %繪圖 subplot(3,1,1);plot(t,y);axis([0,1,-inf,inf]) %時間域變化 subplot(3,1,2);plot(f,m3);axis([0,10,-inf,inf]) %頻譜分析 subplot(3,1,3);plot(f,a);axis([0,10,-inf,inf]) %相位分析 ※ 編輯: av8d5299 來自: 118.171.129.68 (02/11 23:23)

02/11 23:26, , 9F
但是複合波,各主頻的相位,該怎麼求得呢?頭痛
02/11 23:26, 9F

04/14 18:56, , 10F
推 兩年後受用
04/14 18:56, 10F

11/21 20:13, , 11F
推 四年後受用
11/21 20:13, 11F
文章代碼(AID): #19ZKftt2 (MATLAB)
文章代碼(AID): #19ZKftt2 (MATLAB)