From 5f99d5caddc7b091e6c9de88dee5c68a7f7eeefd Mon Sep 17 00:00:00 2001 From: Filipriec Date: Thu, 9 Oct 2025 16:09:36 +0200 Subject: [PATCH] hodina 2 --- hod2/1.m | 27 +++++++++++++++++++++++++++ hod2/2.m | 9 +++++++++ hod2/DFT_priama.m | 13 +++++++++++++ hod2/DFT_spatna.m | 13 +++++++++++++ 4 files changed, 62 insertions(+) create mode 100644 hod2/1.m create mode 100644 hod2/2.m create mode 100644 hod2/DFT_priama.m create mode 100644 hod2/DFT_spatna.m diff --git a/hod2/1.m b/hod2/1.m new file mode 100644 index 0000000..8e6328c --- /dev/null +++ b/hod2/1.m @@ -0,0 +1,27 @@ +% X(k)=1/N \sum_{n=0}^{N-1} x(n)*e^{-j*2*\pi*n*k/N} +% x(n)=\sum_{n=0}^{N-1} X(k)e^{j*2*\pi*n*k/N} + +x = [8,8,8,8,8,8,8,8] +X = [] +N = length(x) + +for k = 0:(N - 1) + Xk = 0; + for n = 0:(N - 1) + Xk = Xk + ( x(n + 1) .* exp(-1j * 2 * pi * n * k / N) ); + end + X(end + 1) = Xk; +end +X = 1/N * X + +temp = 1/N * fft(x) + +y = []; +for n = 0:(N - 1) + xn = 0; + for k = 0:(N - 1) + xn = xn + ( X(k + 1) .* exp(1j * 2 * pi * n * k / N) ); + end + y(end + 1) = xn; +end +y diff --git a/hod2/2.m b/hod2/2.m new file mode 100644 index 0000000..802bef5 --- /dev/null +++ b/hod2/2.m @@ -0,0 +1,9 @@ +% X(k)=1/N \sum_{n=0}^{N-1} x(n)*e^{-j*2*\pi*n*k/N} +% x(n)=\sum_{n=0}^{N-1} X(k)e^{j*2*\pi*n*k/N} + + +x = [8,8,8,8,8,8,8,8] +X = DFT_priama(x) + +x = DFT_spatna(X) + diff --git a/hod2/DFT_priama.m b/hod2/DFT_priama.m new file mode 100644 index 0000000..e30ff28 --- /dev/null +++ b/hod2/DFT_priama.m @@ -0,0 +1,13 @@ +% priama X(k) z x(n) +function X = DFT_priama(x) + X = []; + N = length(x); + for k = 0:(N - 1) + Xk = 0; + for n = 0:(N - 1) + Xk = Xk + ( x(n + 1) .* exp(-1j * 2 * pi * n * k / N) ); + end + X(end + 1) = Xk; + end + X = 1/N * X; +end diff --git a/hod2/DFT_spatna.m b/hod2/DFT_spatna.m new file mode 100644 index 0000000..c78bc1f --- /dev/null +++ b/hod2/DFT_spatna.m @@ -0,0 +1,13 @@ +% spatna x(n) z X(k) +function x = DFT_spatna(X) + x = []; + N = length(X); + for n = 0:(N - 1) + xn = 0; + for k = 0:(N - 1) + xn = xn + ( X(k + 1) .* exp(1j * 2 * pi * n * k / N) ); + end + x(end + 1) = xn; + end +end +