Fourierserier och ljudkompression Joakim Roos joakimrs@math.kth.se 5 februari 215
Problemformulering Studera valfri låt!
Problemformulering Studera valfri låt! Exempelvis: Amplitud 1.5.5 1 62 125 189 249 Tid (s)
Problemformulering Studera valfri låt! Exempelvis: (Psy - Gangnam Style) Amplitud 1.5.5 1 62 125 189 249 Tid (s)
Problemformulering Inzoomning nära t = 1 s: Amplitud 1.5.5 1 1 11 Tid (s)
Problemformulering Inzoomning nära t = 1 s: Amplitud 1.5.5 1 1. 1.1 Tid (s)
Problemformulering Inzoomning nära t = 1 s: Amplitud 1.5.5 1 1. 1.1 Tid (s)
Problemformulering Problem: Många datapunkter/funktionsvärden krävs för en hel låt.
Problemformulering Problem: Många datapunkter/funktionsvärden krävs för en hel låt. (Hela 1 987 52 stycken i exemplet...)
Problemformulering Problem: Många datapunkter/funktionsvärden krävs för en hel låt. (Hela 1 987 52 stycken i exemplet...) Kan vi finna ett sätt att minska denna datamängd utan att signalens utseende förändras för mycket?
Sinusfunktionen sin(t): 1.5.5 1. 3.14 6.28 9.42
Sinusfunktionen sin(t): Periodisk funktion med period 2 1.5.5 1. 3.14 6.28 9.42
Sinusfunktionen sin(2t): Periodisk funktion med period 1.5.5 1. 3.14 6.28 9.42
Sinusfunktionen sin(3t): Periodisk funktion med period 2 /3 1.5.5 1. 3.14 6.28 9.42
Integrering Integralen av en funktion f = f (t) över ett intervall a apple t apple b skrivs Z b a f (t)dt och är lika med arean mellan funktionens graf och t-axeln, räknat så att area ovanför t-axeln bidrar positivt till integralens värde, och area under t-axeln bidrar negativt.
Integrering Exempel: Antag att en funktion f (t) harutseendet
Integrering Exempel: Antag att en funktion f (t) harutseendet Z b a f (t)dt = (blå area) (röd area)
Antag en given funktion f = f (t) definieradpåapple t apple.
Antag en given funktion f = f (t) definieradpåapple t apple. Idé: Använd funktionerna sin(t), sin(2t), sin(3t)... som byggstenar för att finna ett alternativt sätt att uttrycka f (t).
Antag en given funktion f = f (t) definieradpåapple t apple. Idé: Använd funktionerna sin(t), sin(2t), sin(3t)... som byggstenar för att finna ett alternativt sätt att uttrycka f (t). Vi vill försöka finna konstanter b 1, b 2, b 3,... så att
Antag en given funktion f = f (t) definieradpåapple t apple. Idé: Använd funktionerna sin(t), sin(2t), sin(3t)... som byggstenar för att finna ett alternativt sätt att uttrycka f (t). Vi vill försöka finna konstanter b 1, b 2, b 3,... så att f (t) =
Antag en given funktion f = f (t) definieradpåapple t apple. Idé: Använd funktionerna sin(t), sin(2t), sin(3t)... som byggstenar för att finna ett alternativt sätt att uttrycka f (t). Vi vill försöka finna konstanter b 1, b 2, b 3,... så att f (t) = b 1
Antag en given funktion f = f (t) definieradpåapple t apple. Idé: Använd funktionerna sin(t), sin(2t), sin(3t)... som byggstenar för att finna ett alternativt sätt att uttrycka f (t). Vi vill försöka finna konstanter b 1, b 2, b 3,... så att f (t) = b 1 sin(t)
Antag en given funktion f = f (t) definieradpåapple t apple. Idé: Använd funktionerna sin(t), sin(2t), sin(3t)... som byggstenar för att finna ett alternativt sätt att uttrycka f (t). Vi vill försöka finna konstanter b 1, b 2, b 3,... så att f (t) = b 1 sin(t) +
Antag en given funktion f = f (t) definieradpåapple t apple. Idé: Använd funktionerna sin(t), sin(2t), sin(3t)... som byggstenar för att finna ett alternativt sätt att uttrycka f (t). Vi vill försöka finna konstanter b 1, b 2, b 3,... så att f (t) = b 1 sin(t) + b 2
Antag en given funktion f = f (t) definieradpåapple t apple. Idé: Använd funktionerna sin(t), sin(2t), sin(3t)... som byggstenar för att finna ett alternativt sätt att uttrycka f (t). Vi vill försöka finna konstanter b 1, b 2, b 3,... så att f (t) = b 1 sin(t) + b 2 sin(2t)
Antag en given funktion f = f (t) definieradpåapple t apple. Idé: Använd funktionerna sin(t), sin(2t), sin(3t)... som byggstenar för att finna ett alternativt sätt att uttrycka f (t). Vi vill försöka finna konstanter b 1, b 2, b 3,... så att f (t) = b 1 sin(t) + b 2 sin(2t) + b 3 sin(3t)
Antag en given funktion f = f (t) definieradpåapple t apple. Idé: Använd funktionerna sin(t), sin(2t), sin(3t)... som byggstenar för att finna ett alternativt sätt att uttrycka f (t). Vi vill försöka finna konstanter b 1, b 2, b 3,... så att f (t) = b 1 sin(t) + b 2 sin(2t) + b 3 sin(3t) +...
Antag en given funktion f = f (t) definieradpåapple t apple. Idé: Använd funktionerna sin(t), sin(2t), sin(3t)... som byggstenar för att finna ett alternativt sätt att uttrycka f (t). Vi vill försöka finna konstanter b 1, b 2, b 3,... så att f (t) = b 1 sin(t) + b 2 sin(2t) + b 3 sin(3t) +... 1X = b n sin(nt) n=1
Antag en given funktion f = f (t) definieradpåapple t apple. Idé: Använd funktionerna sin(t), sin(2t), sin(3t)... som byggstenar för att finna ett alternativt sätt att uttrycka f (t). Vi vill försöka finna konstanter b 1, b 2, b 3,... så att f (t) = b 1 sin(t) + b 2 sin(2t) + b 3 sin(3t) +...! 1X NX = b n sin(nt) = lim b n sin(nt) n=1 N!1 n=1
Antag en given funktion f = f (t) definieradpåapple t apple. Idé: Använd funktionerna sin(t), sin(2t), sin(3t)... som byggstenar för att finna ett alternativt sätt att uttrycka f (t). Vi vill försöka finna konstanter b 1, b 2, b 3,... så att f (t) = b 1 sin(t) + b 2 sin(2t) + b 3 sin(3t) +...! 1X NX = b n sin(nt) = lim b n sin(nt) n=1 N!1 n=1 P 1 n=1 b n sin(nt) kallas då för en sinusserieutveckling av f (t).
Mer allmänt: en utveckling f (t) =a + 1X (a n cos(nt)+b n sin(nt)) n=1 kallas en Fourierserie för f (t). (Efter Jean-Baptiste Joseph Fourier, 1768 183.) Konstanterna a n och b n kallas Fourierkoe cienter.
Vi kommer att anta att en funktion f (t) påapple t apple kan sinusserieutvecklas:
Vi kommer att anta att en funktion f (t) påapple t apple kan sinusserieutvecklas: f (t) = 1X b n sin(nt) n=1
Vi kommer att anta att en funktion f (t) påapple t apple kan sinusserieutvecklas: f (t) = 1X b n sin(nt) n=1 Detta gäller för väldigt många funktioner, men inte för alla.
Vi kommer att anta att en funktion f (t) påapple t apple kan sinusserieutvecklas: f (t) = 1X b n sin(nt) n=1 Detta gäller för väldigt många funktioner, men inte för alla. (Komplicerat...)
Vi kommer att anta att en funktion f (t) påapple t apple kan sinusserieutvecklas: f (t) = 1X b n sin(nt) n=1 Detta gäller för väldigt många funktioner, men inte för alla. (Komplicerat...) Men hur beräknar vi koe cienterna b n?
Låt m vara ett positivt heltal.
Låt m vara ett positivt heltal. Z f (t)sin(mt)dt =
Låt m vara ett positivt heltal. Z f (t)sin(mt)dt = Z! 1X b n sin(nt) sin(mt)dt n=1
Låt m vara ett positivt heltal. Z f (t)sin(mt)dt = = Z! 1X b n sin(nt) sin(mt)dt n=1 1X Z b n sin(nt)sin(mt)dt n=1
Låt m vara ett positivt heltal. Z f (t)sin(mt)dt = = Z! 1X b n sin(nt) sin(mt)dt n=1 1X Z b n sin(nt)sin(mt)dt n=1 Behöver alltså beräkna R sin(nt)sin(mt)dt.
Exempel: sin(t)sin(4t) påapple t apple : 1.5.5 1. 3.14
Exempel: sin(t)sin(4t) påapple t apple : 1.5.5 1. 3.14 Ser att R sin(t)sin(4t)dt =.
Exempel: sin(2t)sin(3t) påapple t apple : 1.5.5 1. 3.14
Exempel: sin(2t)sin(3t) påapple t apple : 1.5.5 1. 3.14 Ser återigen att R sin(2t)sin(3t)dt =.
Allmänt: man kan visa att R sin(nt)sin(mt)dt =alltid gäller om de positiva heltalen n och m ä r olika.
Allmänt: man kan visa att R sin(nt)sin(mt)dt =alltid gäller om de positiva heltalen n och m ä r olika. Om n och m istället är lika:
Allmänt: man kan visa att R sin(nt)sin(mt)dt =alltid gäller om de positiva heltalen n och m ä r olika. Om n och m istället är lika: Z sin(nt)sin(nt)dt
Allmänt: man kan visa att R sin(nt)sin(mt)dt =alltid gäller om de positiva heltalen n och m ä r olika. Om n och m istället är lika: Z sin(nt)sin(nt)dt = Z sin 2 (nt)dt
Allmänt: man kan visa att R sin(nt)sin(mt)dt =alltid gäller om de positiva heltalen n och m ä r olika. Om n och m istället är lika: Z sin(nt)sin(nt)dt = Z sin 2 (nt)dt =(...)
Allmänt: man kan visa att R sin(nt)sin(mt)dt =alltid gäller om de positiva heltalen n och m ä r olika. Om n och m istället är lika: Z sin(nt)sin(nt)dt = Z sin 2 (nt)dt =(...) = 2.
Alltså:
Alltså: Z om n 6= m, sin(nt)sin(mt)dt = 2 om n = m,
Alltså: vilket ger Z om n 6= m, sin(nt)sin(mt)dt = 2 om n = m,
Alltså: vilket ger Z om n 6= m, sin(nt)sin(mt)dt = 2 om n = m, Z f (t)sin(mt)dt
Alltså: vilket ger Z om n 6= m, sin(nt)sin(mt)dt = 2 om n = m, Z f (t)sin(mt)dt = 1X Z b n sin(nt)sin(mt)dt n=1
Alltså: vilket ger Z om n 6= m, sin(nt)sin(mt)dt = 2 om n = m, Z f (t)sin(mt)dt = 1X Z b n n=1 sin(nt)sin(mt)dt = b m 2
Alltså: vilket ger Z om n 6= m, sin(nt)sin(mt)dt = 2 om n = m, Z f (t)sin(mt)dt = 1X Z b n n=1 sin(nt)sin(mt)dt = b m 2
Alltså: vilket ger Z om n 6= m, sin(nt)sin(mt)dt = 2 om n = m, Z f (t)sin(mt)dt = 1X Z b n n=1 sin(nt)sin(mt)dt = b m 2 ) b m = 2 Z f (t)sin(mt)dt.
Beräkning av fourierkoe cienter Åter till exemplet vid start: 1.5.5 1 1. 1.1 Vi vill beräkna b 1.
Beräkning av fourierkoe cienter Vi justerar tidsaxeln för beräkning 1.5.5 1. 3.14 och integrerar produkten av f (t) med sin(t) över hela intervallet.
Beräkning av fourierkoe cienter Vi justerar tidsaxeln för beräkning 1.5.5 1. 3.14 och integrerar produkten av f (t) med sin(t) över hela intervallet.
Beräkning av fourierkoe cienter Vi justerar tidsaxeln för beräkning: 1.5.5 1. 3.14 ) b 1 = 2 R f (t)sin(t)dt.312
Beräkning av fourierkoe cienter Motsvarande för att beräkna b 2 : 1.5.5 1. 3.14 Integrerar produkten av f (t) med sin(2t) över hela intervallet.
Beräkning av fourierkoe cienter Motsvarande för att beräkna b 2 : 1.5.5 1. 3.14 Integrerar produkten av f (t) med sin(2t) över hela intervallet.
Beräkning av fourierkoe cienter Motsvarande för att beräkna b 2 : 1.5.5 1. 3.14 ) b 2 = 2 R f (t)sin(2t)dt.42
Beräkning av fourierkoe cienter Fortsätter på detta vis för att även få b 3.153, b 4.436, b 5.331 etc.
Beräkning av fourierkoe cienter Fortsätter på detta vis för att även få b 3.153, b 4.436, b 5.331 etc. Jämför nu f (t) och 1X b n sin(nt) n=1.312 sin(t) 1.5.5 1. 3.14
Beräkning av fourierkoe cienter Fortsätter på detta vis för att även få b 3.153, b 4.436, b 5.331 etc. Jämför nu f (t) och 3X b n sin(nt).312 sin(t).42 sin(2t)+.153 sin(3t) n=1 1.5.5 1. 3.14
Beräkning av fourierkoe cienter Fortsätter på detta vis för att även få b 3.153, b 4.436, b 5.331 etc. Jämför nu f (t) och 1.5.5 5X b n sin(nt) n=1 1. 3.14
Beräkning av fourierkoe cienter Fortsätter på detta vis för att även få b 3.153, b 4.436, b 5.331 etc. Jämför nu f (t) och 1.5.5 7X b n sin(nt) n=1 1. 3.14
Beräkning av fourierkoe cienter Fortsätter på detta vis för att även få b 3.153, b 4.436, b 5.331 etc. Jämför nu f (t) och 1.5.5 X1 n=1 b n sin(nt) 1. 3.14
Beräkning av fourierkoe cienter Fortsätter på detta vis för att även få b 3.153, b 4.436, b 5.331 etc. Jämför nu f (t) och 1.5.5 X2 n=1 b n sin(nt) 1. 3.14
Slutsats 1.5.5 1. 3.14 Vi tycks ha funnit ett sätt att gå från 44 st datapunkter till 1 st parametrar (b 1, b 2,...,b 1 ) per ms, samtidigt som signalen tycks behålla ungefär samma form.
Slutsats 1.5.5 1. 3.14 Vi tycks ha funnit ett sätt att gå från 44 st datapunkter till 1 st parametrar (b 1, b 2,...,b 1 ) per ms, samtidigt som signalen tycks behålla ungefär samma form. ( 75% mindre filstorlek!)