- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Интернет-журнал 'Домашняя лаборатория', 2007 №8 - Журнал «Домашняя лаборатория»
Шрифт:
Интервал:
Закладка:
На рис. 5.17 и 5.18 представлено вычисление БПФ с использованием алгоритма с прореживанием по частоте (DIF).
Этот метод требует, чтобы алгоритм реверсирования был применен к адресам выходных отсчетов Х(k). Обратите внимание, что «бабочка» для алгоритма с прореживанием по частоте (DIF) слегка отличается от «бабочки» для алгоритма с прореживанием по времени, как это показано на рис. 5.19.
Использование алгоритмов с прореживанием по времени, по сравнению с алгоритмами с прореживанием по частоте, в значительной степени является вопросом предпочтения, так как оба алгоритма дают одинаковый результат. Определенные ограничения той или иной системы могут сделать одно из двух решений оптимальным.
Необходимо отметить, что алгоритмы, требуемые для вычисления обратного БПФ, почти идентичны тем, которые необходимы для вычисления прямого БПФ, если принять во внимание, что речь идет об использовании комплексного БПФ. В действительности, полезный метод проверки алгоритма комплексного БПФ состоит в осуществлении БПФ с отсчетами из временной области х(n), а затем — в вычислении обратного БПФ с отсчетами из частотной области Х(k). В конце этого процесса должны быть получены первоначальные отсчеты из временной области Re х(n), а мнимая часть Im х(n) должна быть нулевой (в пределах ошибки математического округления).
Обсуждавшиеся до сих пор БПФ представляют алгоритм БПФ по основанию 2, то есть их вычисление основано на 2-точечных базовых операциях типа «бабочка».
Подразумевается, что число точек в БПФ должно быть степенью числа 2. Если число точек в БПФ является степенью числа 4, то БПФ может быть разделено на множество 4-точечных ДПФ, показанное на рис. 5.20. Такое преобразование называется алгоритмом БПФ по основанию 4.
Базовая операция «бабочка» БПФ по основанию 4 с прореживанием по частоте представлена на рис. 5.21.
Алгоритм БПФ по основанию 4 требует меньшего количества умножений с комплексными числами, но большего количества операций суммирования, чем БПФ по основанию 2 для такого же количества точек. По сравнению с алгоритмом БПФ по основанию 2, алгоритм по основанию 4 использует более сложную адресацию и дополнительные коэффициенты поворота, но меньшее количество вычислений. Окончательная экономия времени вычисления различается для разных DSP, но алгоритм БПФ по основанию 4 может быть более чем вдвое быстрым, чем алгоритм по основанию 2 для DSP с оптимальной архитектурой.
Аппаратная реализация и время выполнения алгоритмов БПФ
В общем случае, требования по используемой памяти для N-точечного БПФ следующие:
N ячеек для вещественных данных, N ячеек для мнимых данных и N ячеек для синусоидальных базисных функций (иногда упоминаемых, как коэффициенты поворота). Дополнительные ячейки памяти будут требоваться в случае использования взвешивания с использованием оконных функций (windowing). Если принятые требования по памяти удовлетворены, DSP должен выполнить необходимые вычисления за требуемое время. Многие производители DSP либо проводят тест производительности для указанного размера БПФ, либо определяют время вычисления для базовой операции «бабочка». При сравнении характеристик БПФ важно удостовериться, что во всех случаях используется одинаковый тип БПФ. Например, тест 1024-точечного БПФ на одном DSP, полученном с помощью алгоритма БПФ по основанию 2, не должен сравниваться с тестом алгоритма БПФ по основанию 4 для другого DSP.
Другое соображение относительно БПФ заключается в выборе процессора с фиксированной или с плавающей точкой. Значения, соответствующие результатам вычисления «бабочки», могут быть больше, чем исходные данные при вычислении «бабочки». Это увеличение обрабатываемых числовых значений может создавать потенциальную проблему в DSP с фиксированным числом разрядов. Для предотвращения переполнения, данные следует масштабировать, заранее оставляя достаточное количество дополнительных разрядов для увеличения значений обрабатываемых данных. Альтернативный метод заключается в том, что данные могут масштабироваться после каждого каскада вычисления БПФ. Методика масштабирования данных после каждого прохода БПФ известна как блочная плавающая точка (block floating point). Он называется так, потому что полный массив данных масштабируется как единое целое, независимо от того, действительно ли каждый элемент в блоке требует масштабирования. Блок масштабируется таким образом, чтобы относительные соотношения между данными остались прежними. Например, если каждое слово данных сдвинуто вправо на один разряд (поделено на 2), абсолютные значения изменяются, но относительно друг друга соотношения данных остаются прежними.
В 16-разрядном DSP-процессоре с фиксированной точкой после умножения формируется 32-разрядное слово. Семейство цифровых сигнальных процессоров Analog Devices ADSP21xx характеризуется расширенным динамическим диапазоном, который реализуется в операциях умножения с накоплением посредством 40-разрядного внутреннего регистра аккумулятора.
Использование DSP-процессора с плавающей точкой устраняет потребность в масштабировании данных и поэтому приводит к более простой реализации алгоритма БПФ, но следствием этого упрощения является увеличение времени обработки, которое требуется для сложных арифметических вычислений с плавающей точкой. Кроме того, 32-разрядный DSP-процессор с плавающей точкой, очевидно, будет иметь меньший уровень шумов округления, чем 16-разрядный DSP-процессор с фиксированной точкой. На рис. 5.22 приведены данные по реализации БПФ для популярных DSP-процессоров Analog Devices. В частности, что DSP-процессор ADSP-TS001 TigerSHARC™ предлагает оба режима: и с плавающей, и с фиксированной точкой, обеспечивая, таким образом, исключительную гибкость программирования.
Требования к DSP для реализации алгоритмов БПФ в реальном масштабе времени
Существует два основных способа обработки сигналов в реальном масштабе времени: обработка одного отсчета в каждый момент времени (непрерывная обработка) и обработка одного пакета данных в каждый момент времени (пакетная обработка). Системы, основанные на непрерывной обработке, такие как цифровой фильтр, получают данные в виде одного отсчета в каждый момент времени. В каждом такте новый отсчет поступает в систему, а обработанный отсчет передается на выход. Системы, основанные на пакетной обработке, такие как построенный на БПФ цифровой анализатор спектра, получают данные в виде целого пакета отсчетов. Происходит обработка всего пакета исходных данных, результатом которой является пакет преобразованных выходных данных.
Для обеспечения функционирования в реальном масштабе времени полный расчет БПФ должен выполняться в промежутке, соответствующем времени накопления одного пакета данных. Предполагается, что, пока производится вычисление БПФ текущего пакета данных, DSP-процессор накапливает данные для следующего пакета. Накопление данных является одной из сфер, где важную роль играют специальные архитектурные особенности DSP. Непрерывное