Skip to content

blacha98/Fortran2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Krzysztof Blecharczyk

Programowanie w języku Fortran Zadanie 2

Opis rozwiązania::

Szanowny Panie Doktorze, przy rozwiązaniu zadania powstały pliki z kodem źródłowym, są to kolejno :

Katalog src

  • cosinus.F90 zawierający pierwszą część zadania, tj zaszumienie funkcji cosinus, przeprowadzenie na niej fft oraz dft
  • signal.F90 zawierający transformatę sygnału będącegu sumą sinusów
  • fftw3.f03 plik niezbędny do przeprowadzenia fft
  • Makefile plik makefile, ułatwiający kompilację

oraz dodatwkowo katalog z rezultatami

Katalog res

Katalog zawiera pliki z rozszerzeniem .txt stanowiące wynik odpowiedniej operacji, .p będącą komendą dla programu gnuplot do stworzenia wykresu, oraz sam wykres zapisany w formacie .pdf.

Sprawozdanie

Część pirwsza:

Zacznę od zaprezentowania wykresów: Odpowiednie operaje zostały zapisane w kolejnych plikach:

image

Nasza wyjściowa funkcja cosinus generowana wraz z zaszumioną funkcją cosinus w tym miejsci w kodzie:

image

Wykres funkcji cosinus:

image

Wykres zaszumionej funkcji cosinus:

image

Następnie wykonana została transformata fouriera, jej odszumienie, oraz odwrotna transformata. W kodzie operacje te prezentują się następująco:

image

Oraz kolejne wykresy: Zaszumiona transformata:

image

Odszumiona transformata:

image

Oraz wykres rezultat wykonania dft:

image

Jak widzimy otrzymane wykresy są zgodne z tymi, jakie byłyby oczekiwane. Funkcja po dft przypomina funkcję cosinus, jednak jest zniekształcona. Wynikać to może z szumu, jaki został nałożony na wykres.

Część druga:

Druga część polegała na zamianie sygnału na sumę sygnałów:

image

Sporządzony został wykres funkcji:

image

Oraz wykonana została transformata Fouriera. Kod jest analogiczny do przypadku wcześniejszego, dlatego nie będę go wklejać. Wynik transformaty:

image

Jak możemy zaobserwować, na wykresie są widoczne 2 "szpilki" odpowiadające częśtotliwościom 200Hz oraz 400Hz. Umiejscownienie ich na wykresie nie jest przypadkowe, gdyż są to miejsca odpowiadające składowym naszego sygnału wejsciowego.

Z wyrazami szacunku
Krzysztof Blecharczyk

About

Second task for Fortran course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors