使用MATLAB我应用Matching Pursuit来近似信号.我的问题是我很难想象所选原子的时频表示.我正在尝试生成类似于下图(源)的Wigner图.
我已经研究过Wavelet工具箱,信号处理工具箱以及开源时频工具箱,但我可能只是使用了错误的参数,因为我的信号处理经验非常有限.
使用这些数据我的目标是重现上面的情节.
% fit the signal using MP
itermax = 50;
signal = load('signal.txt');
dict = wmpdictionary(length(signal));
[signal_fit, r, coeff, iopt, qual, X] = wmpalg('OMP', signal, dict, ...
'itermax', itermax);
% wigner plot of the simulated signal
tfrwv(signal_fit) % wigner-ville function from time-frequency toolbox
% wigner plot of each atom
atoms = full(dict(:, iopt)) % selected atoms
for i = 1:itermax
tfrwv(atoms(:, i))
end
Run Code Online (Sandbox Code Playgroud)
不幸的是,所得到的图都没有接近目标可视化.请注意,在我使用tfrwv标准参数的示例中,我使用它打开的GUI进行调整.
我非常感谢你的帮助.
我想我现在已经明白,人们需要使用Gabor原子来获得类似于拉伸高斯的形状的斑点.不幸的是,信号处理工具箱的预定义词中没有Gabor函数.但是,这个问题帮助我实现了所需的字典,这样我得到的原子与示例非常相似:
由于我的情节接近但不完美,仍有两个问题: …