exponenta event banner

imlpt

Обратное многомасштабное локальное 1-D полиномиальное преобразование

Описание

пример

y = imlpt(coefs,T,coefsPerLevel,scalingMoments) возвращает обратное многомасштабное локальное полиномиальное преобразование 1-D (MLPT) coefs. Входные данные для imlpt должны быть выходами mlpt.

пример

y = imlpt(___,Name,Value) определяет mlpt свойства с использованием одного или нескольких Name,Value пары аргументов и входных аргументов из предыдущего синтаксиса.

Примеры

свернуть все

Создание сигнала с неравномерной выборкой и проверка хорошей реконструкции при выполнении mlpt и imlpt.

Создайте и постройте график синусоидальной волны с неравномерной выборкой.

timeVector = 0:0.01:1;
sineWave = sin(2*pi*timeVector)';

samplesToErase = randi(100,100,1);
sineWave(samplesToErase) = [];
timeVector(samplesToErase) = [];

figure(1)
plot(timeVector,sineWave,'o')
hold on

Figure contains an axes. The axes contains an object of type line.

Выполните многомасштабное локальное 1-D полиномиальное преобразование (mlpt) по сигналу. Визуализируйте коэффициенты.

[coefs,T,coefsPerLevel,scalingMoments] = mlpt(sineWave,timeVector);

figure(2)
stem(coefs)
title('Wavelet Coefficients')

Figure contains an axes. The axes with title Wavelet Coefficients contains an object of type stem.

Выполните обратное многомасштабное локальное 1-D полиномиальное преобразование (imlpt) по коэффициентам. Визуализация восстановленного сигнала.

y = imlpt(coefs,T,coefsPerLevel,scalingMoments);

figure(1)
plot(T,y,'*')
legend('Original Signal','Reconstructed Signal')
hold off

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Original Signal, Reconstructed Signal.

Посмотрите на общую ошибку, чтобы проверить хорошую реконструкцию.

reconstructionError = sum(abs(y-sineWave))
reconstructionError = 2.8383e-15

Укажите двойственные моменты, не заданные по умолчанию, с помощью mlpt функция. Сравните результаты анализа и синтеза, используя двойственные моменты по умолчанию и не по умолчанию.

Создайте входной сигнал и визуализируйте его.

T = (1:16)';
x = T.^2;
plot(x)
hold on

Figure contains an axes. The axes contains an object of type line.

Выполните прямое и обратное преобразование для входного сигнала, используя двойственные моменты по умолчанию и не по умолчанию.

[w2,t2,nj2,scalingmoments2] = mlpt(x,T);
y2 = imlpt(w2,t2,nj2,scalingmoments2);

[w3,t3,nj3,scalingmoments3] = mlpt(x,T,'dualmoments',3);
y3 = imlpt(w3,t3,nj3,scalingmoments3,'dualmoments',3);

Постройте график восстановленного сигнала и проверьте совершенную реконструкцию, используя двойные моменты по умолчанию и не по умолчанию.

plot(y2,'o')
plot(y3,'*')
legend('Original Signal', ...
       'DualMoments = 3', ...
       'DualMoments = 2 (Default)');

fprintf('\nMean Reconstruction Error:\n');
Mean Reconstruction Error:
fprintf('  - Nondefault dual moments: %0.2f\n',mean(abs(y3-x)));
  - Nondefault dual moments: 0.00
fprintf('  - Default dual moments: %0.2f\n\n',mean(abs(y2-x)));
  - Default dual moments: 0.00
hold off

Figure contains an axes. The axes contains 3 objects of type line. These objects represent Original Signal, DualMoments = 3, DualMoments = 2 (Default).

Входные аргументы

свернуть все

Коэффициенты MLPT, определенные как вектор или матрица коэффициентов MLPT, возвращаемых mlpt функция.

Типы данных: double

Моменты отбора проб, соответствующие y, указано как вектор или duration массив возрастающих значений, возвращаемых mlpt функция.

Типы данных: double | duration

Коэффициенты на уровень разрешения, определенные как вектор, содержащий число коэффициентов на каждом уровне разрешения в coefs. coefsPerLevel является выходным аргументом mlpt функция.

Элементы coefsPerLevel организованы следующим образом:

  • coefsPerLevel(1) - Количество коэффициентов аппроксимации на самом крупном уровне разрешения.

  • coefsPerLevel(i) - Количество коэффициентов детализации на уровне разрешения i, где i = numLevel – i + 2 для i = 2, ..., numLevel + 1. numLevel - количество уровней разрешения, используемых для вычисления MLPT. numLevel выводится из coefsPerLevel: numLevel = length(coefsPerLevel-1).

Чем меньше индекс i, чем ниже разрешение. MLPT дважды избыточен по количеству коэффициентов детализации, но не по количеству коэффициентов аппроксимации.

Типы данных: double

Моменты масштабирования функции, указанные как length(coefs)около-P матрица, где P - количество основных моментов, указанных в MLPT.

Типы данных: double

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'DualMoments',3 вычисляет преобразование, используя три двойных момента исчезновения.

Количество двойных моментов исчезновения в схеме подъема, указанное как разделенная запятыми пара, состоящая из 'DualMoments' и 2, 3 или 4. Количество сдвоенных моментов должно совпадать с числом, используемым mlpt.

Типы данных: double

Выходные аргументы

свернуть все

Восстановленный сигнал, возвращаемый в виде вектора или матрицы, в зависимости от входных сигналов mlpt функция.

Типы данных: double

Алгоритмы

Мартен Янсен разработал теоретическую основу многомасштабного локального полиномиального преобразования (MLPT) и алгоритмы для его эффективной вычислительной [1][2][3]. MLPT использует схему подъема, в которой функция ядра сглаживает коэффициенты тонкой шкалы с заданной полосой пропускания для получения коэффициентов грубого разрешения. mlpt функция использует только локальную полиномиальную интерполяцию, но методика, разработанная Янсеном, носит более общий характер и допускает многие другие типы ядер с регулируемыми полосами пропускания [2].

Ссылки

[1] Янсен, Мартен. «Многомасштабное локальное сглаживание полинома в поднятой пирамиде для неравнозначных данных». Транзакции IEEE по обработке сигналов 61, № 3 (февраль 2013 г.): 545-55. https://doi.org/10.1109/TSP.2012.2225059.

[2] Янсен, Мартен и Мохамед Амгар. «Многомасштабные локальные полиномиальные разложения, использующие полосы пропускания в качестве масштабов». Статистика и вычисления 27, № 5 (сентябрь 2017): 1383-99. https://doi.org/10.1007/s11222-016-9692-8.

[3] Янсен, Мартен и Патрик Оонинк. Вейвлеты и приложения второго поколения. Лондон; Нью-Йорк: Спрингер, 2005.

Представлен в R2017a