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

作者: abcc50717 (鬼徹妖刀)   2019-10-19 01:44:51
小弟目前接觸到小波理論,
使用到了"離散小波轉換" 使用的程式碼大致如下:
=============================================================
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
作者: YoursEver (豬是妳)   2019-10-19 08:13:00
你對DSP有誤會.
作者: v74451 (vern)   2019-10-31 03:28:00
你的頻譜圖沒有切一半 三張看起來都是對稱 依你圖的話0hz是在正中間

Links booklink

Contact Us: admin [ a t ] ucptt.com