Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
1
Analiza widmowa sygnałów
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
2
Analiza widmowa sygnałów
Przekształcenie sygnałów do dziedziny ich
widma częstotliwościowego (tj. jego
składowych harmonicznych) pozwala ujawniać
cechy sygnału, które nie są widocznie w
dziedzinie czasu, np. cechy posiadające istotną
wartość diagnostyczną.
x(t)
Transformacja
X(
)
Analiza
t
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
3
Reprezentacja sygnałów za
pomocą szeregu Fouriera
Joseph Fourier
(1768-1830)
Szeroka klasa sygnałów może być reprezentowana
za pomocą kombinacji liniowej funkcji harmonicznych
o różnych częstotliwościach – tzw. szereg Fouriera
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
4
Wybieranie tonowe
(DTMF - Dual Tone Multi Frequency)
5
Analiza widmowa
Ja wyznaczyć (obliczyć) amplitudy harmonicznych
o różnych częstotliwościach dla sygnałów o dowolnych
kształtach?
FT
?
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
6
1
0
0
0
sin
cos
2
k
k
k
t
k
b
t
k
a
a
t
x
T
2
0
gdzie: częstotliwość podstawowa [rad/s]
dt
t
x
T
a
T
t
0
0
2
,
2
,
1
,
cos
2
0
0
k
dt
t
k
t
x
T
a
T
t
k
,
2
,
1
,
sin
2
0
0
k
dt
t
k
t
x
T
b
T
t
k
oraz:
Trygonometryczny szereg Fouriera
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
7
Iloczyn skalarny wektorów
cos
B
A
B
A
90
0
dla
B
A
180
0
dla
min
B
A
A
B
tj. dla wektorów prostopadłych (ortogonalnych)
0
0
dla
max
B
A
Iloczyn skalarny
wektorów jest liczbą
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
Iloczyn skalarny wektorów
w układzie artezjańskim
8
B
A
B
A
B
A
sin
sin
cos
cos
cos
B
A
B
A
B
A
A
B
y
B
x
B
x
y
y
A
x
A
A
B
y
y
x
x
B
A
B
A
B
A
B
A
sin
sin
cos
cos
B
A
B
A
y
y
x
x
B
A
B
A
B
A
0
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
Iloczyn skalarny wektorów
9
Dla N-
wymiarowych wektorów:
N
N
T
i
N
i
i
y
y
y
x
,
,
x
,
x
y
x
2
1
2
1
1
Y
X
Y
X
N
y
,
,
y
,
y
2
1
Y
y
y
x
x
B
A
B
A
B
A
N
N
i
N
i
i
y
x
y
x
y
x
y
x
2
2
1
1
1
Y
X
N
x
,
,
x
,
x
2
1
X
Na płaszczyźnie
Wektory można
interpretować jako
sygnały dyskretne
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
10
Wektory bazowe
1
b
a
C
b
a
Problem: Chcemy przedstawić
dowolny wektor
C
na płaszczyźnie
za pomocą wektorów bazowych
a
i
b
o jednostkowych długościach
b
a
Wektory prostopadłe (ortogonalne)
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
11
Wektory bazowe
1
b
a
C
b
a
B
A
b
a
C
B
A
A
B
Dowód:
a
a
C
a
a
C
a
A
cos
b
b
C
b
b
C
b
B
cos
b
C
b
a
C
a
C
A
B
Teza:
c.n.d.
Kombinacja liniowa wektorów bazowych
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
12
Wracamy do szeregu
Fouriera
Joseph Fourier
(1768-1830)
Szeroka klasa sygnałów może być reprezentowana za pomocą
kombinacji liniowej funkcji harmonicznych o różnych
częstotliwościach – tzw. szereg Fouriera
i
współczynniki
„rozwinięcia”
1
.
.
Funkcje bazowe
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
13
Idea dyskretnej reprezentacji
(aproksymacji funkcji)
Rozważmy zagadnienie: daną funkcję
g
chcemy dobrze
przybliżyć ważoną sumą pewnej liczby n prostszych
funkcji
f
i
:
Zwykle zbiór funkcji
f
i
jest zadany, a naszym celem
jest znalezienie takich współczynników
i
, dla
których uzyskamy najlepsze przybliżenie funkcji
g
za
pomocą zadanej liczby n prostszych funkcji
f
i
n
i
i
i
n
n
f
f
f
f
g
1
2
2
1
1
Kombinacja liniowa
funkcji bazowych
14
1
0
0
0
sin
cos
2
k
k
k
t
k
b
t
k
a
a
t
x
T
2
0
gdzie: częstotliwość podstawowa [rad/s]
dt
t
x
T
a
T
t
0
0
2
,
2
,
1
,
cos
2
0
0
k
dt
t
k
t
x
T
a
T
t
k
,
2
,
1
,
sin
2
0
0
k
dt
t
k
t
x
T
b
T
t
k
oraz:
Trygonometryczny szereg Fouriera
Iloczyny
skalarne
funkcji
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
15
Widmo Fouriera kosinusoidy
t
A
x(t)
0
T
0
|x(f)|
0
f
T
f
1
0
f
A=
1
czas
częstotliwość
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
16
1
0
0
0
sin
cos
2
k
k
k
t
k
b
t
k
a
a
t
x
+
Trygonometryczny szereg Fouriera
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
17
Szereg Fouriera -
przykład
1
0
k
k
t
k
sin
b
t
x
0
50
100
-1
-0.5
0
0.5
1
0
50
100
-1
-0.5
0
0.5
1
0
50
100
-1
-0.5
0
0.5
1
t
sin
t
sin
.
t
sin
t
x
0
0
0
3
2
2
5
1
0
50
100
-4
-2
0
2
4
T
f
2
2
0
0
= 1
-1.5
+2
okres podstawowy
T
pulsacja podstawowa
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
18
1
0
k
k
t
k
sin
b
t
x
t
sin
t
sin
.
t
sin
t
x
0
0
0
3
2
2
5
1
0
50
100
-4
-2
0
2
4
T
2
0
=
1
-1.5
2
0
0
2
0
3
Amplituda
harmonicznych
{1, -1.5, 2}
Kompresja sygnału!
1.5
2
1
Szereg Fouriera -
przykład
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
19
5
5
sin
3
3
sin
1
sin
4
t
t
t
t
x
1
2
0
T
Pulsacja
podstawowa
0
Szereg Fouriera -
przykład
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
20
Szereg Fouriera -
przykład
0
1
3
5
7
9
11
13
15
17
19
0
1
Widmo Fouriera
4/
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
21
A jak wyznaczyć współczynniki widma
dla dowolnej funkcji (sygnału)?
1
0
k
k
t
k
sin
b
t
x
0
50
100
-1
-0.5
0
0.5
1
0
50
100
-1
-0.5
0
0.5
1
0
50
100
-1
-0.5
0
0.5
1
= ?
?
?
0
100
200
300
400
500
-400
-300
-200
-100
0
100
200
300
…
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
22
0
50
100
150
200
0
1
2
3
4
5
6
7
8
9
10
f[Hz]
60 Hz
Widmo Fouriera sygnału EKG
Szereg Fouriera -
przykład
0
200
400
600
800
1000
-100
0
100
200
300
400
500
600
0
200
400
600
800
1000
-100
0
100
200
300
400
500
600
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
23
Widmo Fouriera zapisu EKG
0
50
100
150
200
0
1
2
3
4
5
6
7
8
9
10
f[Hz]
Widmo Fouriera sygnału EKG
0
200
400
600
800
1000
-100
0
100
200
300
400
500
600
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
24
Wykładnicza postać szeregu Fouriera
Niech:
t
jk
k
e
c
t
x
0
t
j
t
e
t
j
0
0
sin
cos
0
wtedy:
oraz:
1
0
0
0
sin
cos
k
k
k
k
k
t
k
c
c
j
t
k
c
c
c
t
x
0
0
2c
a
zastosuj:
,...
3
,
2
,
1
,
,...
2
,
1
,
0
,
k
c
c
j
b
k
c
c
a
k
k
k
k
k
k
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
Wzór Eulera
25
t
j
t
e
t
j
0
0
sin
cos
0
t
j
t
j
e
e
j
t
0
0
2
1
sin
0
t
j
t
j
e
e
t
0
0
2
1
cos
0
Re
0
j
1
Im
t
0
cos
t
0
sin
=
o
t
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
26
Współczynniki Fouriera
dt
t
x
T
X
,
dt
e
t
x
T
k
X
T
t
jk
T
0
0
1
0
1
0
gdzie:
t
T
jk
k
k
t
jk
k
k
k
e
k
X
e
c
t
x
2
0
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
27
Przekształcenie Fouriera
dt
e
t
x
j
X
t
j
Stosując zamiast k
0
ciągłą pulsację
:
d
e
j
X
t
x
t
j
2
1
Zespolone współczynniki
Fouriera
Liczby zespolone!
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
28
Przekształcenie Fouriera - przykład
0
0
0
t
dla
t
dla
t
1
dt
e
t
j
X
t
j
FT
1
t
Impuls
Diraca
0
widmo białe
1
dt
t
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
29
Przekształcenie Fouriera - przykład
0
0
0
dla
dla
2
1
dt
e
j
X
t
j
Impuls Diraca
0
t
1
Sygnał stały
2
FT
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
30
Przekształcenie Fouriera - przykład
T
t
T
t
t
x
,
0
,
1
-T
T
T
T
dt
e
j
X
T
T
t
j
sin
2
-
/T
/T
FT
1
2T
t
Sygnał o skończonym czasie trwania posiada
nieskończenie szerokie pasmo!
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
Widmo funkcji harmonicznej
31
0
0
0
2
2
2
1
2
1
cos
0
0
t
j
t
j
e
e
t
t
1
x(t)
0
T
0
|x(
)|
T
2
0
0
FT
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
Widmo funkcji harmonicznej
32
0
0
0
2
2
2
2
1
sin
0
0
j
e
e
j
t
t
j
t
j
t
1
x(t)
0
T
0
|x(
)|
FT
T
2
0
0
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
33
Szereg impulsów Diraca
0
0
0
2
2
2
2
1
sin
0
0
j
e
e
j
t
t
j
t
j
t
1
x(t)
0
T
0
|x(
)|
T
2
0
0
FT
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
34
Szereg impulsów jednostkowych
0
0
k
kT
t
t
T
t
-2T
0
2T
T
-T
1
-4
/T
0
4
/
T
2
/
T
-
2
/
T
2
/T
x(t)
x(
)
FT
T
gdzie
2
0
35
Niektóre właściwości
przekształcenia Fouriera
1.
Liniowość:
2.
Zmiana skali:
3.
Splot sygnałów:
4.
Iloczyn sygnałów:
5.
Równość Parsevala:
6. O modulacji:
j
Y
b
j
X
a
t
by
t
ax
0
,
1
a
a
X
a
at
x
j
Y
j
X
t
y
t
x
d
j
X
dt
t
x
2
2
2
1
j
Y
j
X
t
y
t
x
0
0
X
e
t
x
t
j
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
36
Dyskretne przekształcenie Fouriera
N
n
x
n
x
Sygnał okresowy x(t) jest próbkowany N razy w
czasie jego okresu T , tj. T=N
t . Otrzymywany jest
sygnał dyskretny x(n) o okresie N:
T
t
N
t
0
1
2
N-1
t
x(t)
x(n)
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
37
Dyskretne przekształcenie Fouriera
N
kf
t
N
k
T
k
kf
s
0
Najmniejsza częstotliwość szeregu Fouriera
(tzw. częstotliwość podstawowa) wynosi:
T
t
N
t
0
1
2
N-1
x(t)
f
o
=1/T=1/(N
t)
2f
o
t
N
T
f
1
1
0
Częstotliwości kolejnych k-tych harmonicznych
analizy:
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
38
Dyskretne przekształcenie Fouriera
n
N
jk
N
n
t
n
t
N
jk
N
n
e
n
x
N
e
t
n
x
t
N
k
X
2
1
0
2
1
0
1
1
dt
e
t
x
T
k
X
t
jk
T
0
0
1
n
N
jk
N
k
e
k
X
n
x
2
1
0
Z równania na szereg Fouriera i współczynniki
szeregu dla czasu ciągłego :
mamy odpowiednie równania dla czasu dyskretnego:
t
jk
k
k
e
k
X
t
x
0
k=0, 1, 2, …, N-1
n=0, 1, 2, …, N-1
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
39
Dyskretne przekształcenie Fouriera
n
N
jk
N
n
e
n
x
N
k
X
2
1
0
1
n
N
jk
N
k
e
k
X
n
x
2
1
0
Proste:
Odwrotne:
k = 0, 1, 2, …, N-1
n = 0, 1, 2, …, N-1
indeks próbki w czasie
numer harmonicznej
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
40
Dyskretne przekształcenie Fouriera
1
0
/
2
)
(
1
)
(
N
n
N
kn
j
e
n
x
N
k
X
k
X
j
e
k
X
k
X
arg
)
(
)
(
Widmo fazowe
2
2
)
(
Im
)
(
Re
)
(
k
X
k
X
k
X
Gdzie:
)
(
Re
)
(
Im
arctan
)
(
arg
k
X
k
X
k
X
Widmo amplitudowe
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
41
Dyskretne przekształcenie Fouriera
)
(
)
(
k
N
X
k
X
)
(
)
(
k
N
X
k
X
Dla sygnałów o wartościach rzeczywistych x(n) zachodzi własność
współczynników Fouriera:
)
(
arg
)
(
arg
k
N
X
k
X
Zatem dla widma amplitudowego,
tj. modułu współczynników):
a widma fazowego, tj. argumentu współczynników
Im
Re
x
x
*
-
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
42
4
4
3
1
n
x
3
1
0
2
1
N
n
N
/
kn
j
e
n
x
N
k
X
j
.....
?
k
X
.....
?
k
X
j
.....
?
k
X
x
x
x
x
e
n
x
k
X
N
n
/
n
j
3
4
1
3
2
4
1
2
3
4
1
1
3
4
4
3
1
4
1
3
2
1
0
4
1
4
1
0
3
1
0
4
0
2
sin
cos
j
e
j
DFT -
przykład
N=4
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
43
3
1
0
2
1
N
n
N
/
kn
j
e
n
x
N
k
X
j
k
X
k
X
j
k
X
k
X
3
4
1
3
2
4
1
2
3
4
1
1
3
0
Wniosek
– własność symetrii
N=4
k
N
X
k
N
X
2
*
2
k
N
X
k
N
X
2
arg
2
arg
Widmo amplitudowe:
funkcja parzysta
k
N
X
k
N
X
2
2
Widmo fazowe:
funkcja nieparzysta
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
44
Dyskretne przekształcenie Fouriera
Widmo N-
punktowego przekształcenia Fouriera ma okres N, tj.:
)
(
)
(
N
k
X
k
X
k
X
e
n
x
N
e
e
n
x
N
e
n
x
N
N
k
X
N
n
N
kn
j
N
n
kn
j
N
kn
j
N
n
N
n
N
k
j
1
0
/
2
1
0
2
/
2
1
0
/
2
)
(
1
)
(
1
)
(
1
)
(
= ?
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
45
0
1
N-1
t
0 1
N-1
t
0 1
N/2
f
0 1
N/2
f
Dyskretne przekształcenie Fouriera
const.
f
o
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
46
0
1
N-1
t
0 1
N-1
t
0 1
N/2
f
0 1
N/2
f
Dyskretne przekształcenie Fouriera
2f
o
f=f
s
/2
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
47
f
0
Dyskretne przekształcenie Fouriera
N -
parzyste
(N=16)
DC
f
s
/2
częstotliwości
„ujemne”
częstotliwości
dodatnie
f
0
-f
0
8f
0
-7f
0
N-1
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
48
f
0
Dyskretne przekształcenie Fouriera
N -
nieparzyste
(N=15)
DC
częstotliwości
„ujemne”
częstotliwości
dodatnie
f
0
-f
0
7f
0
-7f
0
N-1
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
49
Przykłady widma Fouriera sygnałów
Ćwiczenie komputerowe:
Utwórz N=2000 próbek sygnału harmonicznego
x(t)=Asin(2
f
x
t), gdzie A=10, f
x
=20 Hz, który spróbkowano
z częstotliwością f
s
=1000 Hz.
Wykreśl ten sygnał, wyznacz jego widma
częstotliwościowe i je wykreśl.
Oblicz odwrotną transformację Fouriera i otrzymany
sygnał porównaj z przebiegiem oryginalnym.
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
Przykłady
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-10
-8
-6
-4
-2
0
2
4
6
8
10
signal in time domain
x
f(
x
)=
s
in
(x
)
N=2000
#number of samples
A=10
#amplitude
fx=20
#sinusoid frequency
fs=1000
#sampling frequency
T=N/fs
#time range
#time scale
t=arange(0,T,1.0/fs)
#sinusoid sample values
x=A*sin(2*pi*fx*t)
#plotting
figure(1)
plot(t,x)
title(
'signal in time domain'
)
xlabel(
‘Time [s]'
)
ylabel(
'f(x)=sin(x)'
)
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
Przykłady
#frequency base determination
f0=float(fs)/N
f=arange(0,N*f0,f0)
#determination of Fourier
coefficients
X=fft(x)
#plotting
figure
plot(f,abs(X))
title(
'frequency spectrum’)
xlabel(
'f'
)
ylabel(
'FFT(sin(x))'
)
0
100
200
300
400
500
600
700
800
900
1000
0
1000
2000
3000
4000
5000
6000
frequency spectrum
f
F
F
T
(s
in
(x
))
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
Przykłady
#inverse
iX=ifft(X)
figure; plot(t,real(iX))
title(
'Reconstructed signal'
)
xlabel(
'x'
)
ylabel(
'IFFT(FFT(sin(x)))‘
)
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-10
-8
-6
-4
-2
0
2
4
6
8
10
Reconstructed signal
x
IF
F
T
(F
F
T
(s
in
(x
))
)
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
53
Przykłady widma Fouriera sygnałów
Ćwiczenie komputerowe:
Do utworzonego w poprzednim ćwiczeniu sygnału
harmonicznego dodaj zakłócenie Gaussowskie o
odchyleniu standardowym
=20 ( 20*randn(1,1000) );
Wyświetl sygnał zakłócony. Czy można wnioskować o
częstotliwości harmonicznej na podstawie przebiegu
czasowego?
Wyznacz widmo częstotliwościowe zakłóconego sygnału
harmonicznego i określ główną składową harmoniczną
tego sygnału.
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
Przykłady
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-60
-40
-20
0
20
40
60
signal in time domain
x
f(
x
)=
s
in
(x
)
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-60
-40
-20
0
20
40
60
signal in time domain
x
f(
x
)=
s
in
(x
)+
n
o
is
e
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
Przykłady
DFT
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-60
-40
-20
0
20
40
60
signal in time domain
x
f(
x
)=
s
in
(x
)
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-60
-40
-20
0
20
40
60
signal in time domain
x
f(
x
)=
s
in
(x
)+
n
o
is
e
0
100
200
300
400
500
600
700
800
900
1000
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
frequency spectrum
f
F
F
T
(s
in
(x
))
0
100
200
300
400
500
600
700
800
900
1000
0
1000
2000
3000
4000
5000
6000
frequency spectrum
f
F
F
T
(s
in
(x
))
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
0
100
200
300
400
500
600
700
800
900
1000
0
1000
2000
3000
4000
5000
6000
frequency spectrum
f
F
F
T
(s
in
(x
))
Przykłady
signał
próg
szum
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-15
-10
-5
0
5
10
15
Reconstructed signal
x
IF
F
T
(F
F
T
(s
in
(x
))
)
Przykłady
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
58
Przykłady widma Fouriera sygnałów
Ćwiczenie komputerowe:
Wyznacz i wykreśl częstotliwościowe widmo amplitudowe
sygnału ecg_mit.mat spróbkowanego z częstotliwością
f
s
=360 Hz pochodzącego z bazy MIT/BIH Arrhytmia
Database (
pamiętaj o usunięciu składowej stałej sygnału
przed wyznaczeniem transformaty, zastosuj 1024
punktową DFT).
Scharakteryzuj widmo sygnału EKG.
Czy zauważasz częstotliwość harmonicznej od sieci
energetycznej?
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
59
0
50
100
150
200
250
300
350
0
2000
4000
6000
8000
10000
12000
ECG spectrum
frequency [Hz]
Częstotliwość sieci
energetycznej 60Hz
0
5
10
15
20
25
30
-200
-100
0
100
200
300
400
500
600
ECG plot
time [s]
Przykłady
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
60
Koszt obliczeniowy przekształcenia
Fouriera
N
N
2
(FT) NlogN
(FFT)
Zysk
N/logN
16
256
64
4
256
65535
2048
32
512
262144
4608
64
2048
~4e6
22528
186
W tzw. szybkim przekształceniu
Fouriera (ang. Fast Fourier
Transform – FFT) wykorzystuje
się symetrie i okresowość
zespolonych harmonicznych
jeden prążek
1
,
,
1
,
0
,
1
2
1
0
N
k
dla
e
n
x
N
k
X
n
N
jk
N
n
n
N
j
N
n
e
n
x
N
X
2
0
1
0
1
0
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
Short Time Fourier Transform
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-60
-40
-20
0
20
40
60
signal in time domain
x
f(
x
)=
s
in
(x
)+
n
o
is
e
Rozważmy sygnał:
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
Short Time Fourier Transform
0
10
20
30
40
50
60
70
80
0
500
1000
1500
2000
2500
frequency spectrum
f
F
F
T
(s
in
(x
))
Jaką informację tracimy w widmie częstotliwościowym?
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-60
-40
-20
0
20
40
60
signal in time domain
x
f(
x
)=
s
in
(x
)+
n
o
is
e
signal
window
DFT(signal*window)
Short Time Fourier Transform
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-60
-40
-20
0
20
40
60
signal in time domain
x
f(
x
)=
s
in
(x
)+
n
o
is
e
signal
window
DFT(signal*window)
Short Time Fourier Transform
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-60
-40
-20
0
20
40
60
signal in time domain
x
f(
x
)=
s
in
(x
)+
n
o
is
e
signal
window
DFT(signal*window)
Short Time Fourier Transform
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-60
-40
-20
0
20
40
60
signal in time domain
x
f(
x
)=
s
in
(x
)+
n
o
is
e
signal
window
DFT(signal*window)
Short Time Fourier Transform
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
Short Time Fourier Transform
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
Short Time Fourier Transform
n
j
n
e
m
n
w
n
x
m
X
n
x
STFT
)
(
)
(
)
,
(
))
(
(
sygnał
Dyskretny
czas
Dyskretna
częstotliwość
funkcja okna
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
69
Krótkookresowa transformacja
Fouriera
Time
F
re
q
u
e
n
c
y
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0
500
1000
1500
2000
2500
3000
3500
mm aaaaaa tttttt llllllll aaaaaaa bbb
70
Podsumowanie
1.
Szereg Fouriera
2.
Wykładniczy szereg Fouriera
3.
Przekształcenie Fouriera
4.
Dyskretne przekształcenie Fouriera
5.
Interpretacja widma częstotliwości
6.
Krótkookresowa transformata Fouriera