Преобразование Фурье

Автор работы: Пользователь скрыл имя, 25 Марта 2012 в 17:39, курсовая работа

Краткое описание

1. Наименование
Программа «Преобразование Фурье»
2. Основание для разработки
Основанием для разработки данного программного продукта является учебный план специальности 075500 «Комплексное обеспечение информационной безопасности автоматизированных систем» по дисциплине «Теория информации» утвержденный ректором СГТУ.

Содержание работы

1. Цель работы. 3
2. Структура программы. 4
3. Основные процедуры и функции. 5
4. Графический интерфейс пользователя. 7
5. Вывод. 10

Содержимое работы - 1 файл

Отчет по курсовой работе Преобразование Фурье.docx

— 397.84 Кб (Скачать файл)

ГОУ ВПО "Саратовский государственный  технический университет имени  Гагарина Ю.А. "

Кафедра  «Информационная безопасность автоматизированных систем»

 

 

 

 

 

Курсовая  работа по дисциплине

«Теория информации»

 

 

 

Программа «Преобразование Фурье»

 

 

 

 

 

Выполнил:

студент  группы КИБ-31

Иванов  Н.А.

 

Проверил:

Данилова  Т.В.

 

 

 

 

 

 

 

 

 

Саратов 2011

Оглавление

  1. Цель работы. 3
  2. Структура программы. 4
  3. Основные процедуры и функции. 5
  4. Графический интерфейс пользователя.  7
  5. Вывод. 10

 

 

 

Цель работы: реализация «Преобразования Фурье» на основе полученных теоретических знаний в процессе изучения курса «Теория информации».

 

Техническое задание

 

1. Наименование

Программа  «Преобразование Фурье»

2. Основание для разработки

Основанием для разработки данного  программного продукта является учебный  план специальности 075500 «Комплексное обеспечение информационной безопасности автоматизированных систем» по дисциплине «Теория информации» утвержденный ректором СГТУ.

3. Назначение разработки

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

4. Требования к программе.

Программа должна быть разработана  с использованием объектно-ориентированного языка программирования и работать под управлением ОС Windows

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Структура программы.

 

Программа состоит из пяти юнитов:

  1. Unit3 – реализация прямого и обратного преобразования Фурье, реализация фильтра;
  2. Unit2 – вывод графика исходного сигнала;
  3. Unit6 – вывод графика результата прямого преобразования Фурье;
  4. Unit7 – вывод графика результата обратного преобразования Фурье;
  5. Unit8 – вывод отфильтрованного сигнала.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Основные процедуры  и функции.

 

//прямое преобразование Фурье

procedure TForm3.N3Click(Sender: TObject);

var

   ReXpr,ImXpr:mas;

   n,k,l: Integer;

begin

Memo2.clear;

Memo3.clear;

Memo4.clear;

 for k:=0 to f-1 do

  begin

  ReXpr[k]:=0;

  ImXpr[k]:=0;

  for n := 0 to f-1 do

    begin

      ReXpr[k]:=ReXpr[k]+y[n]*cos((2*pi*n*k)/f);

      ImXpr[k]:=ImXpr[k]+y[n]*sin((2*pi*n*k)/f);

      Xk[k]:=(ReXpr[k]-ImXpr[k])/f;

    end;

  end;

end;

 

 

//обратное преобразование Фурье

procedure TForm3.N11Click(Sender: TObject);

var

   ReXpr, ImXpr:mas;

   ReXobr, ImXobr:mas;

   n,k,l: Integer;

   f1:TextFile;

begin

Memo6.clear;

Memo7.clear;

Memo8.clear;

 for k:=0 to f-1 do

  begin

  ReXpr[k]:=0;

  ImXpr[k]:=0;

  for n := 0 to f-1 do

    begin

      ReXpr[k]:=ReXpr[k]+y[n]*cos((2*pi*n*k)/f);

      ImXpr[k]:=ImXpr[k]-y[n]*sin((2*pi*n*k)/f);

      Xk[k]:=(ReXpr[k]-ImXpr[k])/f;

    end;

  end;

 

 for n:=0 to f-1 do

  begin

  ReXobr[n]:=0;

  ImXobr[n]:=0;

  for k :=0 to f-1 do

    begin

      ReXobr[n]:=ReXobr[n]+Xk[k]*cos((2*pi*n*k)/f);

      ImXobr[n]:=ImXobr[n]+Xk[k]*sin((2*pi*n*k)/f);

      Xn[n]:=ReXobr[n]+ImXobr[n];

    end;

  end;

end;

//фильтрация сигнала

procedure TForm3.N6Click(Sender: TObject);

var

   ReXpr,ImXpr,ReXrest,ImXrest:mas;

   n,k,l,i: Integer;

   f1:TextFile;

   mult:mas;

begin

  Memo9.clear;

 for k:=0 to f-1 do

  begin

  ReXpr[k]:=0;

  ImXpr[k]:=0;

  for n := 0 to f-1 do

    begin

      ReXpr[k]:=ReXpr[k]+y[n]*cos((2*pi*n*k)/f);

      ImXpr[k]:=ImXpr[k]+y[n]*sin((2*pi*n*k)/f);

      Xk[k]:=(ReXpr[k]-ImXpr[k])/f;

    end;

  end;

  for i := 1 to f-1 do

    begin

     mult[i]:=y[i]*Xk[i];

    end;

 

  for n:=0 to f-1 do

  begin

  ReXrest[n]:=0;

  ImXrest[n]:=0;

  for k :=0 to f-1 do

    begin

      ReXrest[n]:=ReXrest[n]+mult[k]*cos((2*pi*n*k)/f);

      ImXrest[n]:=ImXrest[n]+mult[k]*sin((2*pi*n*k)/f);

      Rest[n]:=ReXrest[n]+ImXrest[n];

    end;

  end;

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Графический интерфейс  пользователя.

 

программа «Преобразование Фурье» состоит из одного главного окна и 4 побочных.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вывод:  Разработка программы позволила укрепить навыки объектно-ориентированного программирования и укрепила знания в области «Теории информации» и «Обработки цифровых сигналов»

 


Информация о работе Преобразование Фурье