Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsia_8.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
427.52 Кб
Скачать

Вычисления дпф и одпф в matlab

Пользовательская функция для вычисления ДПФ по выражению (1) на языке MATLAB:

function X = dft(x)

% функция вычисления дискретного преобразования Фурье X

% обращение y = dft(x), x- вектор сигнала

N = length(x);

X=zeros(N,1);

n = 0:N-1;

for k=0:N-1

X(k+1) = sum(exp(-j*2*pi*k*n/N). *x);

end

Но на практике для вычисления ДПФ и ОДПФ эта простая функция применяется редко, а используются соответственно функции Matlab fft() и ifft(), основанные на алгоритмах быстрого преобразования Фурье (БПФ). БПФ – это не отдельная разновидность преобразования Фурье, это особый быстрый алгоритм вычисления ДПФ. Функции dft() и fft() с точностью до погрешности вычислений дают одинаковый результат, но они имеют очень разное время вычисления. Функция fft()вычисляет ДПФ в десятки – тысячи раз быстрее, в зависимости от значения N.

Для представления сигнала в частотной области необходимо соответствующее масштабирование шкалы частот для получения правильных значений частоты. Пусть последовательность из N точек получена дискретизацией сигнала с частотой отсчетов . Частота Fk и порядковый номер (индекс) отсчета k в частотной области связаны соотношением (см. (1))

k = 0,1,.., N-1. - частотное разрешение анализа.

Например, если , то .

Матричная запись дпф

ДПФ

может быть представлено в матричной форме как произведение матрицы A на вектор x

X = A x

где x- вектор – столбец значений сигнала, x = - вектор-строка,

А – матрица преобразования вектора x в вектор X, имеющая вид

Выражение для элемента матрицы, расположенного в n-ом столбце и m-ой строке, может быть вычислено по формуле

В Matlab для вычисления матрицы А служит функция A = dftmtx(N). Самостоятельно выполните и проанализируйте пример A=dftmtx(8).

Матричная запись дает более ясное представление о характере вычисления ДПФ.

Из X = A x, как и из выражения следует, что прямое вычисление XN[k] для требует N2 комплексных умножений и комплексных сложений.

Свойства дпф

Рассмотрим наиболее часто используемые на практике свойства этого преобразования. Часть из этих свойств аналогична соответствующим свойствам НВПФ (лекция № 7).

1. Свойство периодичности. ДПФ и ОДПФ, определяемые выражениями (1) и (2), являются периодическими последовательностями с периодом N. Это следует из периодического характера комплексной экспоненты .

Поэтому

Следовательно,

.

и

Т.о., и прямое и обратное ДПФ размера N

являются периодическими с периодом N.

2. Свойство линейности.

Если и , то

Доказательство – простое, основывается на определении ДПФ.

  1. Свойство комплексной сопряженности.

Если x[n] – действительная последовательность, то . Доказательство: . В то же время .

N=4

k

Значит, и .

Поэтому модуль - четная функция k, фаза - нечетная функция k.

4. Свойство симметрии:

Т.е.,

Доказательство:

. Умножим правую часть на .

.

Следовательно,

Индекс соответствует т.н. частоте Найквиста:

Следствие: чтобы получить ДПФ последовательности x[n], достаточно вычислить только первые отсчетов для . Значения второй половины для можно найти из соображений симметрии, поскольку

N/2 – индекс частоты Найквиста

6. Свойство свертки.

Если , то

, т.е. дискретной свертке (символ операции ) последовательностей во временной области соответствует произведение их ДПФ в частотной области. Доказательство:

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

ДПФ, как и непрерывное преобразование Фурье, обладает дуальностью (двойственности) между временной и частотной областью. Поэтому для ДПФ имеется также свойство свертки в частотной области. Согласно этому свойству свертке ДПФ сигналов в частотной области соответствует произведение последовательностей во временной области

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]