Numerical Methods Contents - SAM
Numerical Methods Contents - SAM
Numerical Methods Contents - SAM
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
0 500 1000 1500 2000 2500 3000<br />
x low frequency power spectrum<br />
104<br />
14<br />
12<br />
0.6<br />
0.4<br />
m−1 ∑<br />
h m−k = y 2j + iy 2j+1 ωm<br />
j(m−k)<br />
j=0<br />
= ∑ m−1<br />
j=0 y 2j ω jk<br />
m − i ·<br />
∑ m−1<br />
j=0 y 2j+1 ω jk<br />
m . (7.2.10)<br />
|c k<br />
| 2<br />
10<br />
8<br />
6<br />
sound pressure<br />
0.2<br />
0<br />
−0.2<br />
⇒<br />
∑ m−1<br />
j=0 y 2j ω jk<br />
m = 1 2 (h k + h m−k ) ,<br />
Use simple identities for roots of unity:<br />
∑ m−1<br />
j=0 y 2j+1 ω jk<br />
m = − 1 2 i(h k − h m−k ) .<br />
4<br />
2<br />
0<br />
index k of Fourier coefficient<br />
−0.4<br />
−0.6<br />
Sampled signal<br />
cutt−off = 1000<br />
cutt−off = 3000<br />
cutt−off = 5000<br />
−0.8<br />
0.68 0.69 0.7 0.71 0.72 0.73 0.74<br />
time[s]<br />
The power spectrum of a signal y ∈ C n is the vector ( |c j | 2) n−1<br />
j=0 , where c = F ny is the discrete<br />
Fourier transform of y.<br />
⇒<br />
n−1 ∑<br />
c k = y j ωn jk = ∑ m−1<br />
j=0 y 2j ωm jk + ωn k ·<br />
j=0<br />
∑ m−1<br />
j=0 y 2j+1 ω jk<br />
m . (7.2.11)<br />
{ ck = 1 2 (h k + h m−k ) − 1 2 iωk n(h k − h m−k ) , k = 0,...,m − 1 ,<br />
c m = Re{h 0 } − Im{h 0 } ,<br />
c k = c n−k , k = m + 1,...,n − 1 .<br />
(7.2.12)<br />
✸<br />
Ôº½ º¾<br />
Ôº¿ º¾<br />
7.2.3 Real DFT<br />
Signal obtained from sampling a time-dependent voltage:<br />
a real vector.<br />
Aim: efficient DFT (Def. 7.2.3) (c 0 , . ..,c n−1 ) for real coefficients (y 0 ,...,y n−1 ) T ∈ R n , n = 2m,<br />
m ∈ N.<br />
If y j ∈ R in DFT formula (7.2.8), we obtain redundant output<br />
n−1 ∑<br />
⇒ c k =<br />
j=0<br />
ω (n−k)j<br />
n<br />
y j ω kj<br />
n =<br />
= ω kj<br />
n , k = 0, ...,n − 1 ,<br />
n−1 ∑<br />
y j ω n (n−k)j = c n−k , k = 1,...,n − 1 .<br />
j=0<br />
MATLAB-Implementation<br />
(by a DFT of length n/2 ):<br />
(Note:<br />
not really optimal<br />
MATLAB implementation)<br />
7.2.4 Two-dimensional DFT<br />
Code 7.2.16: DFT of real vectors<br />
1 function c = f f t r e a l ( y )<br />
2 n = length ( y ) ; m = n / 2 ;<br />
3 i f (mod( n , 2 ) ~= 0) , error ( ’ n must be even ’ ) ; end<br />
4 y = y ( 1 : 2 : n ) + i ∗y ( 2 : 2 : n ) ; h = f f t ( y ) ; h = [ h ; h ( 1 ) ] ;<br />
5 c = 0.5∗( h+conj ( h (m+1: −1:1) ) ) − . . .<br />
6 (0.5∗ i ∗exp(−2∗pi∗ i / n ) . ^ ( ( 0 :m) ’ ) ) . ∗ . . .<br />
7 ( h−conj ( h (m+1: −1:1) ) ) ;<br />
8 c = [ c ; conj ( c (m: −1:2) ) ] ;<br />
Idea: map y ∈ R n , to C m and use DFT of length m.<br />
A natural analogy:<br />
one-dimensional data (“signal”) ←→ vector y ∈ C n ,<br />
m−1 ∑<br />
h k = (y 2j + iy 2j+1 ) ωm jk = ∑ m−1<br />
j=0 y 2j ωm jk + i ·<br />
j=0<br />
∑ m−1<br />
Ôº¾ º¾<br />
j=0 y 2j+1 ωm jk , (7.2.9)<br />
two-dimensional data (“image”) ←→ matrix. Y ∈ C m,n<br />
Ôº º¾