Цель работы: Изучение дискретного косинусного преобразования.
Необходимые теоретические сведения
Дискретное косинусное преобразование (ДКП) широко применяется в системах сжатия сигналов. Исходный аналоговый сигнал x(t) преобразуется с помощью АЦП в цифровую последовательность x[n], которая запоминается в буферной памяти. Накопленная выборка длины N поступает на блок прямого ортогонального преобразования, где вычисляется последовательность X[k]. Прямое ортогональное преобразование должно обладать такими свойствами, чтобы последовательность X[k] имела малое число значимых членов. Кодированию подвергаются только члены X[k], которые переносят существенную информацию. За счет этого и достигается, в основном, сжатие сигнала.
Ключевым моментом в реализации метода является выбор ортогонального преобразования, а также выбор способа кодирования коэффициентов X[k]. Ортогональное преобразование считается эффективным, если оно обладает быстрым вычислительным алгоритмом, обеспечивает наибольшую концентрацию энергии спектральных составляющих в небольшом числе членов последовательности X[k] и малые искажения при их кодировании и декодировании.
Наиболее полно сформулированным требованиям отвечает ДКП.
Как было рассмотрено в предыдущее лабораторной работе, дискретное преобразование Фурье дает результат из комплексных значений, даже если исходная последовательность была действительной. Косинусное преобразование можно использовать в качестве способа производства частотного анализа, при котором комплексные числа не требуются. Представить себе, как это делает ДКП, можно двояко: либо мы модифицируем сигнал, либо базисные функции.
Подход с модификацией сигнала работает следующим образом.
Ряд Фурье для любой непрерывной действительной и четной функции содержит только действительные коэффициенты, соответствующие косинусным членам ряда. Распространение данного результата на ДПФ приводит к ДКП.
Прямое и обратное ДКП последовательности x[n] имеют вид
(1) |
||
(2) |
где N - длина выборки x[n]; X[k] - коэффициенты ДКП; совокупность весовых функций, причем
(3) |
Обратим внимание на то, что коэффициенты X[k] в (1) не являются комплексными. Они имеют действительные значения. Кроме этого, в соответствии с общим принципом построения ДКП, последовательность x[n] является действительной и четной. Поэтому ДКП как бы применяется не к исходной выборке x[n] (рис. 1,а), а к преобразованной последовательности, являющейся четным расширением x[n]:
(4) |
Последовательность y[n] должна рассматриваться как периодическая с периодом 2N (рис. 1, б). Данное обстоятельство необходимо учитывать при синтезе сигналов в соответствии с (4).
Рис. 1. Преобразование входной последовательности |
В интерпретации базисных функций, мы просто используем базисные функции, которые являются только косинусами, но одновременно мы разрешаем использовать половинные частоты. То есть вместо использования частот 0, 1, 2, 3 и 4 мы используем частоты 0, 0.5, 1, 1.5, 2, 2.5, … . Кроме того, для симметричности мы начинаем оцифровку косинусных базисных функций не на нулевых периодах, а со смещением в половину расстояния между пикселами.
ДКП труднее вычислить, но причиной для его, тем не менее, широкого использования является следующее: необходимо меньшее количество коэффициентов ДКП, чем ДПФ, для получения хорошего приближения типичного сигнала. Весь смысл применения преобразования состоит в том, что мы ожидаем, что коэффициенты старших частот малы по величине и могут быть более грубо округлены, чем низкочастотные коэффициенты. Особенно преимущество ДКП сказывается при моделировании участков функции конечной длины, которые имеют сильно различающиеся значения в начале и в конце.
Для ускорения вычисления ДКП можно использовать БПФ. Для этого необходимо найти связь коэффициентов ДПФ и ДКП.
Значения коэффициентов ДПФ XF(k) 2N-точечной последовательности y[n] определяются по формуле (M=2N):
(5) |
где – как и прежде – вспомогательная функция.
Для удобства рассмотрения преобразуем выражение (5):
(6) |
Из (1) и (6) следует, что коэффициенты ДКП XC[k] могут быть вычислены через коэффициенты ДПФ XF[k]:
(7) |
Наличие связи между коэффициентами Фурье и ДКП позволяет вычислять ДКП с использованием алгоритма БПФ.
Достоинством ДКП является то, что по своей эффективности оно мало отличается от оптимального преобразования Карунена – Лоэва и существенно превосходит преобразование Фурье [12,20].
Для сравнения эффективности ДКП и ДПФ можно проследить, как меняется среднеквадратическая ошибка восстановленного сигнала по сравнению с исходным при отбрасывании части частотных коэффициентов этих преобразований. Наиболее часто используют среднеквадратическую ошибку, которая выражается в удобной математической форме и во многом отражает свойства чувственного восприятия. Среднеквадратическая ошибка определяется из выражения
(8) |
где x[n] и x´[n] - отсчеты исходного и восстановленного сигнала соответственно; N – длина сигнала.
Порядок выполнения работы
Данная работа выполняется на ПЭВМ с использованием программы MathCAD 2000.
1. Считать с диска с помощью функции READ отсчеты измеренного сигнала:
n=0..N-1 xn=READ(“lab4_<номер бригады>.prn”)
где N-количество отсчетов.
2. Построить график полученного сигнала.
3. Используя формулы (1) и (3), приведенные в теоретической части, найти коэффициенты дискретного косинусного преобразования. Полученные значения занести в таблицу.
4. Используя формулы (4), (5) и программу вычисления БПФ* из предыдущей работы, найти коэффициенты ДПФ XF(k) 2N-точечной последовательности y[n].
5. Используя формулу (7), пересчитать коэффициенты Фурье в коэффициенты ДКП. Полученные значения занести в таблицу.
6. Сравнить результаты пп 3. и 5.
7. Используя программу вычисления БПФ* из предыдущей работы, выполнить ДПФ исходной последовательности.
8. Восстановить сигнал. Для этого выполнить обратные преобразования ОДКП по формуле (2) для коэффициентов ДКП п.5 и ОДПФ* коэффициентов Фурье п.7, используя заданное преподавателем количество первых коэффициентов ДКП и ДПФ.
9. Полученные значения восстановленного сигнала по ОДКП и ОДПФ занести в таблицу и построить графики вместе с графиком исходной последовательности
10. Используя формулу (8), вычислить среднеквадратические ошибки при заданных количествах первых коэффициентов, занести их в таблицу и построить график. Сравнить эффективность ДКП и ДПФ на предмет сжатия сигнала.
Оформление отчета
В отчете необходимо представить программу ДКП выполненную в MathCAD, таблицы пп. 3, 5, 9 и 10 и графики пп. 9 и 10.
* В упрощенном варианте работы можно использовать встроенную в MathCAD функцию fft для прямого и ifft
для обратного преобразований
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.