Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Реализация алгоритма обратного БПФ
Используется точно такой же программный модуль, как и для БПФ, только: 1. Входными значениями являются коэффициенты Фурье; 2. Степень коэффициента W меняет знак на противоположный; 3. Нормализация не выполняется. Бит-инверсия также выполняется в самом начале. Порядок выполнения работы Используя сведения, приведенные в теоретической части и указаниях к выполнению, найти Быстрое преобразование Фурье по алгоритму с прореживанием по времени с замещением. Необходимо учесть, что исходная последовательность действительная, результат – комплексная. 1. Считать с диска отсчеты измеренного сигнала. 2. Построить график полученного сигнала: меню Вставка > График > X-Y зависимость. 3. Разработать программный блок БПФ Алгоритм БПФ, использующий указанные возможности, называют алгоритмом с замещением. 4. Найти модуль спектральных коэффициентов. 5. Используя встроенную функцию FFT, найти ДПФ входной последовательности. 6. Построить график, на котором должны быть результаты работы программы и встроенной функции FFT. Графики должны быть представлены модулями коэффициентов. Задание на самостоятельную работу Разработать программу для обратного БПФ. Оформление отчета В отчете необходимо представить программу БПФ выполненную в MathCAD и график совмещенных результатов БПФ, выполненных с использованием программы и встроенной функции FFT. Разновидности БПФ и оптимизация его реализации Данный раздел не написан по нескольким причинам: 1. Ограничение времени на выполнение работы; 2. Это имеет смысл при изучении ЦОС для специальностей с уклоном на программирование (углубленном изучении программирования); 3. При углубленном изучении ЦОС, для самостоятельной проработки; 4. Элементарная нехватка времени. Что здесь могло бы быть: 1. Обратное БПФ; 2. Ускорение БПФ для действительной последовательности (обработка двух последовательностей одновременно или обработка последовательности удвоенной длины); 3. Использование итеративного БПФ вместо рекурсивного; 4. БПФ, для которого N ≠ 2 m; 5. Да мало ли чего еще – нет предела совершенству. Возможно, часть из перечисленного или все будет со временем внесено, а может быть и нет. Коэффициенты WNk при реализации алгоритма можно представить в виде действительной (cos) и мнимой (sin) частей и хранить их в разных ячейках (переменных). Аналогично нужно представлять входную последовательность x (с нулевыми мнимыми частями y), выходную и промежуточные результаты. Для реализации необходимо расписать базовую операцию – бабочку, выделить в результате действительную и мнимую части и хранить их отдельно.
Вопросы к лабораторной работе 1. Для чего используют быстрое преобразование Фурье? 2. За счет чего количество операций при БПФ меньше, чем при обычном ПФ? 3. Какой принцип используется в алгоритме БПФ? 4. Чему равно количество этапов БПФ? 5. Что является центральной операцией БПФ? 6. Что такое бит - инверсия? Какова ее цель? 7. В чем разница алгоритма с прореживаем по времени от алгоритма с прореживанием по частоте? 8. Что называют алгоритмом с замещением? 9. Изобразите «бабочку» для точки с некоторым номером на некотором этапе, заданными преподавателем (например, для 83 точки на 4 этапе). Для выполнения этого надо определить, скольки точечное преобразование M выполняется на данном этапе (сколько точек в домене); какое расстояние между точками бабочки (M /2); какой является точка в бабочке – верхней или нижней (это имеет большое значение); какой номер бабочки; какой номер бабочки в домене (k). Лабораторная работа №3. Дискретное косинусное преобразование (ДКП) Цель работы: Изучение дискретного косинусного преобразования. Необходимые теоретические сведения Дискретное косинусное преобразование (ДКП) широко применяется в системах сжатия сигналов (рис. 1). Исходный аналоговый сигнал x (t) преобразуется с помощью АЦП в цифровую последовательность x [ n ], которая запоминается в буферной памяти. Накопленная выборка длины N поступает на блок прямого ортогонального преобразования, где вычисляется последовательность X [ k ]. Прямое ортогональное преобразование должно обладать такими свойствами, чтобы последовательность X [ k ] имела малое число значимых членов. Кодированию подвергаются только члены X [ k ], которые переносят существенную информацию (энергию). За счет этого, в основном, и достигается сжатие сигнала.
Ключевым моментом в реализации метода является выбор ортогонального преобразования, а также выбор способа кодирования коэффициентов X [ k ]. Ортогональное преобразование считается эффективным, если оно обладает быстрым вычислительным алгоритмом, обеспечивает наибольшую концентрацию энергии спектральных составляющих в небольшом числе членов последовательности X [ k ] и малые искажения при их кодировании и декодировании. Очень хорошо сформулированным требованиям отвечает ДКП. Как было рассмотрено в предыдущее лабораторной работе, дискретное преобразование Фурье дает результат из комплексных значений, даже если исходная последовательность была действительной. Косинусное преобразование можно использовать в качестве способа производства частотного анализа, при котором использовать комплексные числа не требуются. Представить себе, как это делает ДКП, можно двояко: либо мы модифицируем сигнал, либо базисные функции. Подход с модификацией сигнала работает следующим образом. Ряд Фурье для любой непрерывной действительной и четной функции содержит только действительные коэффициенты, соответствующие косинусным членам ряда. Распространение данного результата на ДПФ приводит к ДКП. Прямое и обратное ДКП последовательности x [ n ] имеют вид
где N - длина выборки x [ n ]; X [ k ] - коэффициенты ДКП; совокупность весовых функций, причем
Обратим внимание на то, что коэффициенты X [ k ] в (1) не являются комплексными. Они имеют действительные значения. Кроме этого, в соответствии с общим принципом построения ДКП, последовательность x [ n ] является действительной и четной. Поэтому ДКП как бы применяется не к исходной выборке x [ n ] (рис. 1,а), а к преобразованной последовательности, являющейся четным расширением x [ n ]:
Последовательность y [ n ] должна рассматриваться как периодическая с периодом 2 N (рис. 1, б). Данное обстоятельство необходимо учитывать при синтезе сигналов в соответствии с (4). В интерпретации базисных функций, мы просто используем базисные функции, которые являются только косинусами, но одновременно мы разрешаем использовать половинные частоты. То есть вместо использования частот 0, 1, 2, 3 и 4 мы используем частоты 0, 0.5, 1, 1.5, 2, 2.5, …. Кроме того, для симметричности мы начинаем оцифровку косинусных базисных функций не на нулевых периодах, а со смещением в половину расстояния между пикселями. ДКП труднее вычислить, но причиной для его, тем не менее, широкого использования является следующее: необходимо меньшее количество коэффициентов ДКП, чем ДПФ, для получения хорошего приближения типичного сигнала. Весь смысл применения преобразования состоит в том, что мы ожидаем, что коэффициенты старших частот малы по величине и могут быть более грубо округлены, чем низкочастотные коэффициенты. Особенно преимущество ДКП сказывается при моделировании участков функции конечной длины, которые имеют сильно различающиеся значения в начале и в конце. Для ускорения вычисления ДКП можно использовать БПФ. Для этого необходимо найти связь коэффициентов ДПФ и ДКП. Значения коэффициентов ДПФ XF (k) 2 N -точечной последовательности y [ n ] определяются по формуле (M =2 N):
где – как и прежде – вспомогательная функция; M =2× N. Для удобства рассмотрения преобразуем выражение (5):
Из (1) и (6) следует, что коэффициенты ДКП XC [ k ] могут быть вычислены через коэффициенты ДПФ XF [ k ]:
Наличие связи между коэффициентами Фурье и ДКП позволяет вычислять ДКП с использованием алгоритма БПФ. Достоинством ДКП является то, что по своей эффективности оно мало отличается от оптимального преобразования Карунена – Лоэва и существенно превосходит преобразование Фурье. Для сравнения эффективности ДКП и ДПФ можно проследить, как меняется среднеквадратическая ошибка восстановленного сигнала по сравнению с исходным при отбрасывании части частотных коэффициентов этих преобразований. Наиболее часто используют среднеквадратическую ошибку, которая выражается в удобной математической форме и во многом отражает свойства чувственного восприятия. Среднеквадратическая ошибка определяется из выражения
где x [ n ] и x ´[ n ] - отсчеты исходного и восстановленного сигнала соответственно; N – длина сигнала. Порядок выполнения работы Данная работа выполняется на ПЭВМ с использованием программы MathCAD 15. 1. Считать с диска отсчеты измеренного сигнала. 2. Построить график полученного сигнала. 3. Используя формулы (1) и (3), приведенные в теоретической части, найти коэффициенты дискретного косинусного преобразования. Вывести полученные значения на экран и построить график. 4. Используя формулы (4), (5) и программу вычисления БПФ[1] из предыдущей работы, найти коэффициенты ДПФ XF (k) 2 N -точечной последовательности y [ n ]. 5. Используя формулу (7), пересчитать коэффициенты Фурье в коэффициенты ДКП. Вывести полученные значения на экран и построить график. 6. Сравнить результаты пп 3. и 5, выведя их на один график. 7. Используя программу вычисления БПФ[2] из предыдущей работы, выполнить ДПФ исходной последовательности. 8. Восстановить сигнал. Для этого выполнить обратные преобразования ОДКП по формуле (2) для коэффициентов ДКП п.5 и ОДПФ коэффициентов Фурье п.7, используя заданное преподавателем количество значимых коэффициентов ДКП и ДПФ (обычно 2, 4, 8 и 16). 9. Полученные значения восстановленного сигнала по ОДКП и ОДПФ вывести на экран и построить графики вместе с графиком исходной последовательности для визуальной оценки искажений восстановления при неполном числе коэффициентов. 10. Используя формулу (8), вычислить среднеквадратические ошибки при заданных количествах первых коэффициентов и занести их в таблицу. Сравнить эффективность ДКП и ДПФ на предмет сжатия сигнала. Оформление отчета В отчете необходимо представить программу ДКП выполненную в MathCAD, таблицы пп. 3, 5, 9 и 10 и графики пп. 9 и 10. Вопросы к лабораторной работе 1. В какой области практического использования применяют дискретное косинусное преобразование? 2. Как в общем выглядит процесс кодирования с использование ДКП. 3. Какие основные требование предъявляют к преобразованию, используемому в системах сжатия сигнала? 4. Как выглядят формулы прямого и обратного ДКП? 5. За счет чего коэффициенты ДКП имеют действительные, а не комплексные, как в ДПФ, значения? 6. При каком виде функции особенно сказывается преимущество ДКП перед ДПФ? 7. Какой метод используют для ускорения вычисления коэффициентов ДКП? 8. Как выглядит связь между коэффициентами ДКП и коэффициентами ДПФ? 9. Какой метод используется для сравнения эффективности ДКП и ДПФ в данной работе? Date: 2016-05-23; view: 1205; Нарушение авторских прав |