fwht

Быстрое Преобразование Уолша-Адамара

Синтаксис

y = fwht(x)
y = fwht(x,n)
y = fwht(x,n,ordering)

Описание

y = fwht(x) возвращает коэффициенты дискретного Преобразования Уолша-Адамара входа x. Если x является матрицей, FWHT вычисляется на каждый столбец x. FWHT работает только с сигналами с длиной, равной степени 2. Если длина x является меньше, чем степень 2, ее длина дополнена нулями к следующей большей степени двойки перед обработкой.

y = fwht(x,n) возвращается n - указывают дискретное Преобразование Уолша-Адамара, где n должен быть степенью 2. x и n должны быть той же длиной. Если x более длинен, чем n, x является усеченным; если x короче, чем n, x дополнен нулями.

y = fwht(x,n,ordering) задает упорядоченное расположение, чтобы использовать для возвращенных коэффициентов Преобразования Уолша-Адамара. Чтобы задать упорядоченное расположение, необходимо ввести значение для длины n или, чтобы использовать поведение по умолчанию, задать пустой вектор ([]) для n. Допустимые значения для упорядоченного расположения следующие:

Упорядоченное расположениеОписание
'sequency'Коэффициенты в порядке увеличения sequency значение, где каждая строка имеет дополнительное нулевое пересечение. Это - упорядоченное расположение по умолчанию.
'hadamard'Коэффициенты в нормальном порядке Адамара.
'dyadic'Коэффициенты в порядке Кода Грея, где одно битное изменение происходит от одного коэффициента до следующего.

Для получения дополнительной информации о функциях Уолша и упорядоченном расположении, смотрите Преобразование Уолша-Адамара.

Примеры

свернуть все

Этот пример показывает простой входной сигнал и его Преобразование Уолша-Адамара.

x = [19 -1 11 -9 -7 13 -15 5];
y = fwht(x)
y = 1×8

     2     3     0     4     0     0    10     0

y содержит ненулевые значения в местоположениях 0, 1, 3, и 6. Сформируйте функции Уолша с sequency значениями 0, 1, 3, и 6, чтобы воссоздать x.

w0 = [1 1 1 1 1 1 1 1];
w1 = [1 1 1 1 -1 -1 -1 -1];
w3 = [1 1 -1 -1 1 1 -1 -1];
w6 = [1 -1 1 -1 -1 1 -1 1];
w = y(0+1)*w0 + y(1+1)*w1 + y(3+1)*w3 + y(6+1)*w6
w = 1×8

    19    -1    11    -9    -7    13   -15     5

Алгоритмы

Быстрый алгоритм Преобразования Уолша-Адамара подобен алгоритму Cooley-Tukey, используемому для БПФ. Оба используют структуру бабочки, чтобы определить коэффициенты преобразования. Смотрите ссылки для деталей.

Ссылки

[1] Beauchamp, Кеннет Г. Приложения Уолша и связанных функций: с введением в теорию Sequency. Лондон: Academic Press, 1984.

[2] Бир, Том. “Преобразования Уолша”. Американский Журнал Физики. Издание 49, 1981, стр 466–472.

Смотрите также

| | | |

Представленный в R2008b