Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Цифра / ЦОСиИ_2014_2015_заочн / ЦОСиИ_лаб_1.docx
Скачиваний:
130
Добавлен:
18.05.2015
Размер:
772.55 Кб
Скачать

Лабораторная работа №1. Дискретное преобразование Фурье

Цель: Изучение дискретного преобразования Фурье (ДПФ) одномерного дискретного сигнала. Применение теоремы Котельникова для восстановления непрерывного одномерного сигнала по его дискретным отсчетам. Программная реализация ДПФ и ОДПФ для одномерного сигнала.

Программное обеспечение: MS Visual Studio, OpenCV 2.4.0, scilab-5.3.3.

Теория

Сущность цифровой обработки состоит в том, что физический сигнал (напряжение, ток и т.д.) преобразуется в последовательность чисел, которая затем подвергается математическим преобразованиям в вычислительном устройстве. Трансформированный цифровой сигнал (последовательность чисел) при необходимости может быть преобразован обратно в напряжение или ток.

Аналоговые, дискретные и цифровые сигналы

Исходный физический сигнал является непрерывной функцией времени. Такие сигналы, определенные во все моменты времени, называют аналоговыми.

Непрерывный гармонический сигнал (рис. 1) описывается выражением:

,

где А – амплитуда, f – частота в Гц, φ – начальная фаза,

ω = 2π • f– угловая частота (рад/с), T = 1/f = 2π/ω-период сигнала.

Рисунок 1 - непрерывный гармонический сигнал и его характеристики

В 1822г. французский инженер и математик Жан Батист Жозеф Фурье (1768-1830) показал, что произвольную периодическую функцию, которая в самом общем виде представляется как s(t)=Acos(ωt+φ), где А-амплитуда, ω-круговая частота и φ-начальная фаза, даже имеющую конечное число разрывов первого рода, можно представить бесконечной дискретной суммой периодических тригонометрических функций в ортонормированном базисе.

Последовательность чисел, представляющая сигнал при цифровой обработке, является дискретным рядом и не может полностью соответствовать аналоговому сигналу. Числа, составляющие последовательность, являются значениями сигнала в отдельные (дискретные) моменты времени и называются отсчетами сигнала. Как правило, отсчеты берутся через равные промежутки времени , называемые периодом (или интервалом, шагом) дискретизации. Величина, обратная периоду дискретизации, называется частотой дискретизации: . Соответствующая ей круговая частота определяется следующим образом: . Ясно, что в общем случае представление сигнала набором дискретных отсчетов приводит к потере информации, так как ничего неизвестно о поведении сигнала в промежутках между отсчетами. Однако существует класс аналоговых сигналов, для которых такой потери информации не происходит и которые могут быть точно восстановлены по значениям своих дискретных отсчетов.

Процесс преобразования аналогового сигнала в последовательность отсчетов называется дискретизацией, а результат такого преобразования – дискретным сигналом.

При обработке сигнала в вычислительных устройствах его отсчеты представляются в виде двоичных чисел, имеющих ограниченное число отсчетов. Вследствие этого отсчеты могут принимать лишь конечное множество значений и, следовательно, при представлении сигнала неизбежно происходит его округление. Процесс преобразования отсчетов сигнала в числа называется квантованием по уровню, а возникающие при этом ошибки округления – ошибками (или шумами) квантования.

Сигнал, дискретный во времени, но не квантованный по уровню, называется дискретным сигналом. Сигнал, дискретный во времени и квантованный по уровню, называют цифровым сигналом. Разницу между аналоговыми, дискретными и цифровыми сигналами иллюстрирует рис.2.

Рисунок 2 – Аналоговый (слева), дискретный (в центре) и цифровой (справа) сигналы

Преобразование Фурье. Дискретное преобразование Фурье (ДПФ)

В цифровой обработке сигналов базовой операцией является переход из временной области представления сигнала в частотную область и обратно. Для непрерывного сигнала такой переход осуществляется с использованием прямого (формула 1) и обратного (формула 2) преобразования Фурье.

(1) (2)

где - мнимая единица, ,

- частота,

- время,

- сигнал во временной области,

- сигнал в частотной области (Фурье спектр).

Для дискретного сигнала преобразование Фурье принимает вид так называемого дискретного преобразования Фурье (ДПФ) (прямое – формула 3, обратное – формула 4):

, (3)

, (4)

где - число отсчетов дискретного сигнала .

Для вычисления ДПФ используются формулы Эйлера (формула 5 и 6):

(5)

(6)

Тогда, заменяя комплексную экспоненту выражением Эйлера в формулах (3) и (4), получим:

(7)

(8)

Векторно-матричная форма дпф и одпф

В векторно-матричной форме ДПФ и ОДПФ соответствуют формулы 9 и 10 соответственно:

(9)

(10)

где и - матрицы ДПФ для прямого и обратного преобразования соответственно:

а элемент матрицы определяется как ,

- длина вектора дискретных отсчетов сигнала,

- вектор коэффициентов ДПФ.

Как следует из формулы 10 для получения матрицы из матрицы необходимо выполнить комплексное сопряжение элементов матрицы (операция комплексного сопряжения числа заключается в изменении знака у мнимой части этого числа).

Учитывая периодичность степенного ряда элемента матрицы при различных кратностях N выборок на периоде 2π можно записать: , где k mod N есть остаток от деления k на N. Тогда для N=4 матрица примет вид:

Комплексные числа

Сигналы, с которыми приходится иметь дело в ЦОС, обычно имеют значения из области действительных чисел. Однако математические выражения для ряда Фурье в комплексной форме намного проще и на практике постоянно приходится иметь дело с комплексными числами.

Число вида z=a+ib называется комплексным, если в нём a и b любые действительные числа, а - мнимая единица. Комплексное число включает в себя действительную часть a=Re(z) и мнимую часть b=Im(z). На плоскости комплексное число удобно представить на окружности с радиусом z, имеющей декартовы координаты: действительную ось 0x и мнимую ось 0y.

Значение модуля комплексного числа представляется как , а аргумент – это угол между вектором z и осью абсцис: φ=arctg(b/a). Два числа z=a+ib и z=a-ib называются комплексно-сопряженными. Ось абсцисс является действительной, а ось ординат – мнимой осью. Размещение комплексного числа в виде вектора в комплексной форме представлено на рис. 3.

Рисунок 3 - Графическое представление комплексного числа

Как видно из рис.3, комплексное число можно представить кроме алгебраической, также тригонометрической формой следующим образом:

z=a+ib=zcos φ+izsin φ=z(cos φ+isin φ)

На основании тригонометрической формы комплексного числа возможен переход к его показательной форме и формуле Эйлера.

Действия над комплексными числами

Если z1=a+bi, z2=c+di, то:

z1 + z2 = (a+bi) + (c+di) = (a+c)+(b+d)i;

z1 - z2 = (a+bi) - (c+di) = (a-c)+(b-d)i;

z1*z2 = (a+bi) *(c+di) = (ac-bd)+(ad+bc)i.

При программировании на С++ для хранения комплексных чисел можно воспользоваться стандартным в C++ STL типом complex (определённым в заголовочном файле <complex>).

Пример 1. Расчет ДПФ и ОДПФ

Найти ДПФ для дискретного сигнала, заданного дискретными отсчетами {2, -1, 1, 4}.

Решение

Подставляя исходные данные в формулу 7, найдем:

.

Аналогично находим:

; ; .

Выполним ДПФ и ОДПФ, используя векторно-матричную форму:

Матрица для N=4 имеет вид:

Тогда

Выполним ОДПФ:

Из формул (7) и (8) следует, что для нахождения одного коэффициента или отсчета необходимо выполнить операций умножения на комплексное число и столько же операций сложения. Для определения всех коэффициентов или отсчетов потребуется около вычислений. При такой вычислительной сложности обработка больших массивов данных в реальном времени является трудно решаемой задачей и предъявляет высокие требования к вычислительному устройству по быстродействию и объемам оперативной памяти. Поэтому практически применяют модификации алгоритма вычисления ДПФ.