Za pomocą MATLAB stosuję Matching Pursuit w celu przybliżenia sygnału. Mój problem polega na tym, że walczę o wizualizację reprezentacji czasowo-częstotliwościowych wybranych atomów. Próbuję stworzyć fabułę Wignera podobną do poniższego obrazu (source).MATLAB Działka Wignera dla pasujących atomów ataku
Szukałem w Wavelet Toolbox, Signal Processing Toolbox, jak i open source Toolbox czasowo-częstotliwościowej, ale jestem ewentualnie tylko przy użyciu niewłaściwych parametrów, ponieważ moje doświadczenie z przetwarzaniem sygnału jest dość ograniczony.
Przykład
Korzystanie this data mój cel jest do odtworzenia fabuły z góry.
% 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
Niestety, żaden z powstałych wykresów nie zbliża się do docelowej wizualizacji. Zauważ, że w tym przykładzie używam tfrwv
ze standardowymi parametrami, które dostosowuję do GUI, który otwiera.
Będę bardzo wdzięczny za pomoc.
Aktualizacja
myślę, że teraz zrozumiał, że trzeba używać węgla Gabor uzyskać plamy z kształtów przypominających rozciągnięte gaussians. Niestety, nie ma funkcji Gabora w predefiniowanych dyktaturach Zestawu do Przetwarzania Sygnału. Jednak this question pomógł mi w realizacji potrzebnych słowniki, takie że dostanę węgla, które wyglądają dość podobny do przykładu:
Od moich działek zbliżyć, ale nie są doskonałe, istnieją jeszcze dwa pytania otwarte:
- Czy wszystkie bloby, które widzimy w pierwszym przykładzie, są modelowane tylko przez atomy Gabora, czy też potrzebuję innego słownika funkcji?
- Jak połączyć wykresy pojedynczych obrazów w jedną wizualizację?
Może użyć napisu do napisania własnego kodu wizualizacji zamiast "tfrwv". "Każdy piksel na mapie ciepła (na górze) reprezentuje atom (falę wyśrodkowaną w czasie w zależności od pozycji poziomej i częstotliwości odpowiadającej wysokości) .Kolor piksela daje produktowi wewnętrznemu odpowiedniego atomu falkowego z sygnałem (Dolny)." Masz swoje atomy, więc teraz musisz wziąć wewnętrzny produkt. – Cecilia
Dzięki za komentarz. Wykreślanie atomów nie jest moim głównym problemem. Zobacz aktualizację mojego obecnego stanu. – imant