Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
4.5. Обзор других быстрых алгоритмов. Особенности двумерных преобразованийИспользуя подход, описанный в предыдущих параграфах, можно получить факторизованное представление матриц и других ортогональных преобразований, описанных в § 3.11, а также ряд других полезных результатов. Эти результаты сведены в табл. 4.1. Среди них особый интерес представляют так называемые усеченные преобразования Фурье и Уолша и факторизованное представление матриц, связывающих между собой матрицы различных преобразований. Усеченные алгоритмы БПФ-БПУ.При выполнении дискретных преобразований Фурье и Уолша часто оказывается, что либо исходная последовательность содержит много нулевых элементов, либо требуется вычислить не все коэффициенты преобразования, либо и то, и другое вместе. Это обстоятельство можно использовать для дальнейшего (по сравнению с описанными алгоритмами БПФ - БПУ) сокращения количества операций, затрачиваемых на выполнение преобразования. Если обратиться к представлениям БПФ и БПУ в виде графов, то станет ясно, что наличие некоторого количества нулевых элементов в исходной последовательности или отсутствие необходимости вычислять некоторые коэффициенты преобразования приводит к выпадению некоторых ребер графа преобразования, т. е. выпадает часть операций умножения (в БПФ) и часть операций сложения. Если количество нулевых элементов в преобразуемой последовательности или количество ненужных элементов преобразования меньше половины длины последовательности, то это существенно не (см. скан) (см. скан) (см. скан) сказывается на структуре графа преобразования, и экономия в числе операций невелика. Если же их намного больше половины длины последовательности, выигрыш может Сказаться заметным. Посмотрим, как меняется структура алгоритмов БПФ и БПУ в этом случае и оценим возможный выигрыш. Ввиду отмеченного выше родства БПУ и БПФ будем рассматривать только последнее. Наличие нулевых элементов в преобразуемой последовательности и ненужных коэффициентов преобразования можно удобно описать, умножив матрицу преобразования справа и слева на диагональные секущие матрицы (назовем их Р и соответственно) содержащие нули на тех местах диагонали, номера которых соответствуют номерам нулевых или ненужных элементов. С точки зрения возможности модификации алгоритмов преобразования достаточно рассмотреть случай, когда количество ненулевых или требуемых элементов является целой степенью 2. В этом случае секущие матрицы можно представить в виде кронекеровских произведений матриц вида
и единичных матриц
Рассмотрим простейший случай, когда отсекаются последние элементы исходной последовательности и ее преобразования. Тогда секущая матрица размерности
Рассматривая факторизованный вид усеченной с двух сторон матрицы
в два приема, сначала умножая можно получить для факторизованного представления матрицы ДПФ (4.66) [74], что при
где
Таким образом, усеченное преобразование состоит из При
Граф усеченного преобразования (4.71) для операций, затрачиваемых усеченным преобразованием. Количество операций сложения N и умножения при
при
Рис. 4.9. Выигрыш в количестве операций за счет усечения преобразования по сравнению с вычислением неусеченного преобразования равен: при
при
При больших значениях Матрицы перехода между различными преобразованиями.При цифровой обработке сигналов иногда требуется, зная коэффициенты представления сигнала по одному базису, найти его представление по другому базису. Для этого достаточно умножить матрицу-столбец коэффициентов на соответствующую матрицу перехода:
С помощью представления матриц ортогональных преобразований в виде сумм кронекеровских матриц можно достаточно просто найти матрицы перехода между этими преобразованиями. Покажем это на примере связи матрицы
где
Используя (4.80) как рекуррентную формулу для
где Сравнив выражение в фигурных скобках в правой части (4.81) с факторизованным представлением матрицы Хаара (4.29), а также представление матрицы Хаара с матрицей модифицированного преобразования Адамара в виде сумм кронекеровских матриц (табл. 3.5), нетрудно видеть, что это выражение является с точностью до диагональной матрицы
Тогда первый сомножитель в (4.81), очевидно, представляет собой матрицу перехода от модифицированного преобразования Адамара к ДПФ с двоичной инверсией:
Для того чтобы факторизовать эту матрицу, заметим, что из (4.83) следует
Используя эту формулу рекуррентно, получаем
Наконец, подставив сюда выражение (4.82) для
Рис. 4.10. Обратная матрица перехода будет равна произведению этих же матриц, взятых в обратном порядке и с заменой
т. е.
Переход от модифицированного преобразования Адамара к ДПФ с двоичной инверсией иллюстрируется графом на рис. 4.10. Для удобства в левой части рисунка показан граф, соответствующий модифицированному преобразованию Адамара (см. табл. 4.1), Сравнивая этот совмещенный граф с графом БПФ на рис. 4.8, нетрудно видеть, что граф MHAD является усеченным графом БПФ, а граф Ввиду аналогии между факторизованными представлениями матриц Вычисление двумерных преобразований.Как уже отмечалось, двумерные преобразования, описанные в § 3.11, определяются как двукратное применение соответствующих одномерных преобразований. Для организации алгоритмов двумерных преобразований большое значение имеет емкость оперативного запоминающего устройства (ОЗУ) процессора, с которым может оперировать его арифметическое устройство. Если эта емкость достаточна для хранения всего двумерного массива, двумерное преобразование можно выполнить с помощью быстрого одномерного алгоритма с соответствующей адресацией памяти при преобразовании по строкам и столбцам. Любопытно отметить, что такая организация вычислений с точки зрения теории быстрых алгоритмов эквивалентна вытягиванию двумерного массива в одномерный путем пристыковки строк массива друг к другу и представлению матрицы двумерного преобразования как кронекеровского произведения матриц одномерных преобразований. Если же, как это часто бывает, емкости ОЗУ недостаточно для хранения двумерного массива, но достаточно для хранения одной строки, преобразование проводят в три этапа: преобразование по строкам с записью результата во внешнее запоминающее устройство (ВЗУ), затем транспонирование и вновь преобразование транспонированного массива по строкам. При этом время обработки определяется временем доступа к ВЗУ, и оно увеличивается также за счет необходимости транспонирования. Для повышения скорости траве понирования двумерного массива в ВЗУ его выполняют так: развивают массив на фрагменты максимальных размеров, помещающиеся в ОЗУ, транспонируют в ОЗУ массив внутри каждого фрагмента и транспонируют порядок расположения фрагментов в двумерном массиве. Для удобства транспонирования расположения фрагментов целесообразно иметь дополнительный буфер в ВЗУ с емкостью, равной объему фрагмента. Транспонирование — не неизбежная операция при выполнении двумерных преобразований сигналов, не помещающихся в ОЗУ. Используя такой же принцип переадресации, что и при двумерном преобразовании в ОЗУ, можно построить алгоритмы двумерных преобразований без транспонирования (см., например, [86]).
|
1 |
Оглавление
|