[討論] 小波(Wavelet)轉換,以及FFT的問題

看板MATLAB作者 (鬼徹妖刀)時間5年前 (2019/10/19 01:44), 5年前編輯推噓1(102)
留言3則, 2人參與, 5年前最新討論串1/2 (看更多)
小弟目前接觸到小波理論, 使用到了"離散小波轉換" 使用的程式碼大致如下: ============================================================= s=1*sin(2*pi*50*t) %訊號為一50赫茲Sin函數 [ca1, cd1] = dwt(s, 'db1'); % 採用db1小波基分解 (ca1,cd1 is in freq. domain) a1 = upcoef('a', ca1, 'db1', 1, Len); % 採用db1小波基分解 (ca1,cd1 is in freq. domain) d1 = upcoef('d', cd1, 'db1', 1, Len); % 從係數得到細節訊號(=反小波轉換idwt) ============================================================= 其中我將a1,d1以及s去做fft頻譜分析,得到下圖: https://imgur.com/4LQnM6Y
右圖是原始訊號的fft,得到在50跟950Hz的地方有值,表示轉換是正確的。 再來看到左圖跟中間的頻譜圖,在(500+50)Hz以及(500-50)Hz的部分竟然有值, 但這是原始訊號並不存在的頻率。 照理來說小波轉換,還原之後的高低頻訊號做FFT之後,不應該出現訊號本身沒有的頻率吧? 還是我對小波轉換有什麼誤會呢? 附上我的Matlab Code, https://reurl.cc/24LKRv GOOGLE雲端 - - ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.129.25 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1571420693.A.F8A.html ※ 編輯: abcc50717 (42.73.129.25 臺灣), 10/19/2019 01:50:48 ※ 編輯: abcc50717 (42.73.129.25 臺灣), 10/19/2019 01:54:56

10/19 08:13, 5年前 , 1F
你對DSP有誤會.
10/19 08:13, 1F

10/31 03:28, 5年前 , 2F
你的頻譜圖沒有切一半 三張看起來都是對稱 依你圖的話0hz
10/31 03:28, 2F

10/31 03:28, 5年前 , 3F
是在正中間
10/31 03:28, 3F
文章代碼(AID): #1TgVeL-A (MATLAB)
文章代碼(AID): #1TgVeL-A (MATLAB)