作者abcc50717 (鬼彻妖刀)
看板MATLAB
标题[讨论] 小波(Wavelet)转换,以及FFT的问题
时间Sat Oct 19 01:44:51 2019
小弟目前接触到小波理论,
使用到了"离散小波转换" 使用的程式码大致如下:
=============================================================
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://webptt.com/cn.aspx?n=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
1F:→ YoursEver: 你对DSP有误会. 10/19 08:13
2F:推 v74451: 你的频谱图没有切一半 三张看起来都是对称 依你图的话0hz 10/31 03:28
3F:→ v74451: 是在正中间 10/31 03:28