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)-by- 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
Для просмотра документации необходимо авторизоваться на сайте