Обратный 1D Вейвлет - преобразование Хаара
задает, как обратное 1D Преобразование Хаара обрабатывает данные с целочисленным знаком, с помощью любого из предыдущих синтаксисов.xrec
= ihaart(___,integerflag
)
Получите Хаар и обратные Преобразования Хаара зашумленных данных.
Загрузите сигнал зашумленных данных
load noisdopp;
Получите Преобразование Хаара сигнала с шумом.
[a,d] = haart(noisdopp);
Восстановите данные путем инвертирования Преобразования Хаара.
xrec = ihaart(a,d);
Сравните исходные и восстановленные данные путем определения максимальной разницы между ними. Различием является по существу нуль, который указывает на почти совершенную реконструкцию.
max(abs(xrec-noisdopp'))
ans = 4.4409e-15
Получите Преобразование Хаара и обратное Преобразование Хаара данных о сердечном ритме ECG.
Загрузите и отобразите данные о ECG на графике.
load BabyECGData; plot(times,HR) xlabel('Hours') ylabel('Heart Rate') title('ECG Data')
Получите Преобразование Хаара и обратное Преобразование Хаара. Сравните восстановленные данные на уровне 4 к исходным данным.
[a,d] = haart(HR); HaarHR = ihaart(a,d,4); figure plot(times,HaarHR) xlabel('Hours') ylabel('Heart Rate') title('Haar Approximation of Heart Rate')
Получите Хаар и обратные Преобразования Хаара для серии случайных целых чисел.
Создайте ряд.
x = randi(10,100,1);
Получите Хаар и обратные Преобразования Хаара.
[a,d] = haart(x,'integer'); xrec = ihaart(a,d,'integer');
Постройте и сравните исходные и восстановленные данные.
subplot(2,1,1) stem(x); title('Original Data') subplot(2,1,2) stem(xrec) title('Reconstructed Integer-to-Integer Data')
Определите максимальную разницу между исходными значениями данных и восстановленными значениями. Различием является нуль, который указывает на совершенную реконструкцию.
max(abs(x(:)-xrec(:)))
ans = 0
a
— Коэффициенты приближенияКоэффициенты приближения, заданные как скаляр, вектор или матрица коэффициентов, в зависимости от уровня, к которому было вычислено Преобразование Хаара. a
выход от haart
функция.
Приближение или масштабирование, коэффициенты являются представлением lowpass входа. На каждом уровне коэффициенты приближения разделены на более грубое приближение и детализируют коэффициенты.
Типы данных: double
d
— Детализируйте коэффициентыДетализируйте коэффициенты, заданные как скаляр, вектор, матрица или массив ячеек коэффициентов вейвлета. d
выход от haart
функция. Количество коэффициентов детали зависит на выбранном уровне и длине входа. Если d
массив ячеек, элементы d
упорядочены от самого прекрасного до самого грубого разрешения.
Если d
массив ячеек, он может содержать скаляры, векторы или матрицы. Уровень Преобразования Хаара равняется числу элементов в d
.
Если d
вектор или матрица, Преобразование Хаара было вычислено только вниз к одному уровню, более грубому в разрешении.
Если a
и элементы d
векторы, xrec
вектор. Если a
и элементы d
матрицы, xrec
матрица, где каждым столбцом является обратное Преобразование Хаара соответствующих столбцов в a
и d
.
Типы данных: double
level
— Максимальный уровень
(значение по умолчанию) | неотрицательное целое числоМаксимальный уровень, к которому можно инвертировать Преобразование Хаара, заданное как неотрицательное целое число. Если d
массив ячеек, level
меньше чем или равно length(d)-1
. Если d
вектор или матрица, level
должен равняться 0
или быть незаданным. Уровень должен быть меньше, уровень раньше получал a
и d
от haart
.
integerflag
— Обработка данных с целочисленным знаком'noninteger'
(значение по умолчанию) | 'integer'
Обработка данных с целочисленным знаком, заданная как любой 'noninteger'
или 'integer'
. 'noninteger'
не сохраняет данные с целочисленным знаком и 'integer'
консервы это. 'integer'
опция применяется только если все элементы a
и d
с целочисленным знаком. Вы, должно быть, использовали 'integer'
с haart
получить a
с целочисленным знаком и
d
входные параметры. Обратный 1D алгоритм Преобразования Хаара, однако, использует арифметику с плавающей точкой.
xrec
— Обратный 1D Вейвлет - преобразование ХаараУ вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.