如上所述,让Fs为采样频率,L为信号长度,t为时间范围。
就像在Matlab中使用 mdwtdec 以便将多原始信号分解为特定频带一样,我只是注意到分解后的信号在第一级的长度被分成了一半,而在第一级被切开了一半二级信号。
原始信号的时间范围计算:t = 0->(L / Fs)
我的问题是,在每个分解级别中,采样频率Fs是否仍然相同?以及在每个分解级别上如何计算每个明细和近似系数的时间范围。
为了验证离散小波变换的频带,我在本文之后的每个级别上应用了FFT:https://jp.mathworks.com/help/matlab/ref/fft.html?lang=en
根据这篇文章,我的第一个问题需要回答。
非常感谢您。
答案 0 :(得分:0)
我非常肯定在离散小波变换中,如果需要,时间序列数据或信号将被下采样2倍,这意味着如果我们在我们的数据点中有2 ^ 10或1024个数据点原始时间序列数据,在第一级将其分为2,我们一级的采样频率将为2 ^ 9或512,在第二级将降低为256,依此类推。
但是,在连续小波变换中,它很可能保持不变。
基于参考,我在此处复制了一些您可能要测试和查看的代码,您可能希望减少此处的级别和F的数量,并且可以根据需要定义自己的x
:< / p>
Fs = 1e6;
t = 0:1/Fs:1-1/Fs;
x = cos(2*pi*50*t);
[C,L] = wavedec(x,15,'db4');
details = detcoef(C,L,'cells');
d14recon = wrcoef('d',C,L,'db4',14);
plot(d14recon,'k');
d13recon = wrcoef('d',C,L,'db4',13);
hold on;
plot(d13recon,'r'); %look how small the amplitude is
a13recon = wrcoef('a',C,L,'db4',13);
plot(a13recon,'b');
我不是专家,您可能可以阅读有关它的更多信息,并找到所需的信息。还有很多关于它的YouTube视频。
Discrete wavelet transform relation to sampling frequency of the signal