exponenta event banner

Сгенерируйте код MATLAB для 1D пакетного шумоподавления вейвлета и сжатия

1D пакетное шумоподавление вейвлета

Можно сгенерировать MATLAB® код, чтобы воспроизвести основанное на приложении 1D пакетное шумоподавление вейвлета в командной строке. Необходимо выполнить эту операцию в инструменте Wavelet Packet 1-D - - Denoising. Вы должны первый denoise ваш сигнал, прежде чем можно будет включить операцию File > Generate Matlab Code (Denoising Process).

  1. Войти waveletAnalyzer в командной строке MATLAB.

  2. Выберите Wavelet Packet 1-D.

  3. В командной строке MATLAB ввести

    load noisbump
    В *** инструменте выберите File> Import from Workspace> Import Signal. Когда диалоговое окно Import from Workspace появится, выберите noisbump переменная. Нажмите ОК, чтобы импортировать данные.

  4. Выберите db4 вейвлет и набор Level к 4. Примите значение по умолчанию Shannon для Entropy.

  5. Нажмите Analyze.

  6. Нажмите Denoise.

  7. Под Select thresholding method примите Fixed form thr. (unscaled wn) по умолчанию с включенным переключателем soft.

    Установите Select Global Threshold на 2,75.

  8. Нажмите Denoise.

  9. Выберите File > Generate Matlab Code (Denoising Process)

Операция генерирует следующий код MATLAB.

function [sigDEN,wptDEN] = func_denoise_wp1d(SIG)
% FUNC_DENOISE_WP1D Saved Denoising Process.
%   SIG: vector of data
%   -------------------
%   sigDEN: vector of denoised data
%   wptDEN: wavelet packet decomposition (wptree object)


% Analysis parameters.
%---------------------
Wav_Nam = 'db4';
Lev_Anal = 4;
Ent_Nam = 'shannon';
Ent_Par = 0;

% Denoising parameters.
%----------------------
% meth = 'sqtwologuwn';
sorh = 's';    % Specified soft or hard thresholding
thrSettings = {sorh,'nobest',2.750000000000000,1};

% Decompose using WPDEC.
%----------------------
wpt = wpdec(SIG,Lev_Anal,Wav_Nam,Ent_Nam,Ent_Par);

% Nodes to merge.
%-----------------
n2m = [];
for j = 1:length(n2m)
    wpt = wpjoin(wpt,n2m(j));
end

% Denoise using WPDENCMP.
%------------------------
[sigDEN,wptDEN] = wpdencmp(wpt,thrSettings{:});

Сохраните func_denoise_wp1d.m в папке на пути поиска файлов MATLAB.

Избавьте сигнал denoised от инструмента Wavelet Packet 1-D - - Denoising как wp_denoisedbump.mat в папке на пути поиска файлов MATLAB.

Выполните следующий код.

load noisbump;
[sigDEN,wptDEN] = func_denoise_wp1d(noisbump);
load wp_denoisedbump;
plot(sigDEN); title('Denoised Signal');
axis([1 1024 min(sigDEN)-1 max(sigDEN+1)]);
norm(sigDEN-wp_denoisedbump,2)