opgaver:Uge4
Pia Jensen (Talk | contribs) |
Pia Jensen (Talk | contribs) |
||
Line 8: | Line 8: | ||
Simulér en måleserie fra 4500 Å til 5500 Å med step af 10 Å, ét sekund per punkt. Brug MATLAB <code>fit</code> funktionen til at fitte en Gaussisk linieprofil til dataen. Vis de simulerede data og det bedste fit i samme plot. | Simulér en måleserie fra 4500 Å til 5500 Å med step af 10 Å, ét sekund per punkt. Brug MATLAB <code>fit</code> funktionen til at fitte en Gaussisk linieprofil til dataen. Vis de simulerede data og det bedste fit i samme plot. | ||
{{hidden begin|toggle=right|title=Hint|titlestyle=background:#ccccff|bg2=#eeeeee}} | {{hidden begin|toggle=right|title=Hint|titlestyle=background:#ccccff|bg2=#eeeeee}} | ||
+ | Ligesom i sidste uge skal vi simulere nogle støjede data ud fra en kendt model. Start med at lave dine model-data, og tilføj så støj ved at lægge et tal til hvert af punkternes tælletal-værdi. Støjen skal være et tal der er Gaussisk fordelt omkring nul, med en bredde der er usikkerheden på punktet (og usikkerheden på punktet er jo givet ved tællestatistik!). Husk at tælletal er positive heltal, så du er nødt til at runde støjen op eller ned til heltal. | ||
+ | Det kan være en god idé at læse lidt i MATLAB hjælpen om funktionerne <code>randn</code>, <code>round</code> og <code>abs</code>. | ||
+ | |||
+ | Det er vigtigt at holde styr på forskellen mellem bredden af spektrogram-peaken som du laver data over, og bredden på den støj du lægger til dine simulerede datapunkter. | ||
{{hidden end}} | {{hidden end}} | ||
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}} | {{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}} | ||
+ | Først defineres parametrene for den Gaussiske linieprofil-model. Her defineres signalets amplitude <code>a</code>, baggrundens amplitude <code>d</code>, centrum af peaken <code>x0</code>, bredden af peaken <code>sig</code>, og tiden der i alt bliver målt i (i sekunder) <code>t_meas</code>, | ||
+ | |||
+ | :<code>a = 100;</code> | ||
+ | :<code>b = 10;</code> | ||
+ | :<code>x0 = 5000;</code> | ||
+ | :<code>sig = 50;</code> | ||
+ | :<code>t_meas = 100;</code> | ||
+ | |||
+ | videre skal akserne for eksperimentet bestemmes; start og slut for hvor der skal måles, <code>x_min</code> og <code>x_max</code>, samt step-størrelsen <code>x_step</code>. | ||
+ | |||
+ | :<code>x_min = 4500;</code> | ||
+ | :<code>x_max = 5500;</code> | ||
+ | :<code>x_step = 10;</code> | ||
+ | |||
+ | Med disse definitioner er det nu muligt automatisk at lave sin <code>x</code>-akse med | ||
+ | |||
+ | :<code>x_exp = x_min : x_step : x_max;</code> | ||
+ | |||
+ | og til sidst kan man også finde hvor lang tid der måles per datapunkt, | ||
+ | |||
+ | :<code>t = t_meas / length(x_exp);</code> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | :<code></code> | ||
{{hidden end}} | {{hidden end}} | ||
Revision as of 09:59, 7 March 2012
I denne opgave skal I, lige som i sidste uge, fabrikere jeres egne data - denne gang en Gaussisk linieprofil med en bestemt bredde og placering, med Poisson statistik på tælletallene.
Contents |
Opgave 1 - Spektrometer
Vi forestiller os et spektrometer, der tæller fotoner som funktion af bølgelængde; én bølgelængde ad gangen. Vi skal måle en enkelt spektrallinie. Liniens amplitude er 100 tællinger per sekund, liniens centrum 5000 Å, og den har bredde ($\sigma$) 50 Å. Der er en baggrund på 10 tællinger per sekund. Usikkerheden på tællinger er givet som $\sqrt{N}$ tællestatistik, og antages gaussisk.
Spørgsmål 1 - Simulation af data
Simulér en måleserie fra 4500 Å til 5500 Å med step af 10 Å, ét sekund per punkt. Brug MATLAB fit
funktionen til at fitte en Gaussisk linieprofil til dataen. Vis de simulerede data og det bedste fit i samme plot.
Ligesom i sidste uge skal vi simulere nogle støjede data ud fra en kendt model. Start med at lave dine model-data, og tilføj så støj ved at lægge et tal til hvert af punkternes tælletal-værdi. Støjen skal være et tal der er Gaussisk fordelt omkring nul, med en bredde der er usikkerheden på punktet (og usikkerheden på punktet er jo givet ved tællestatistik!). Husk at tælletal er positive heltal, så du er nødt til at runde støjen op eller ned til heltal.
Det kan være en god idé at læse lidt i MATLAB hjælpen om funktionerne randn
, round
og abs
.
Det er vigtigt at holde styr på forskellen mellem bredden af spektrogram-peaken som du laver data over, og bredden på den støj du lægger til dine simulerede datapunkter.
Først defineres parametrene for den Gaussiske linieprofil-model. Her defineres signalets amplitude a
, baggrundens amplitude d
, centrum af peaken x0
, bredden af peaken sig
, og tiden der i alt bliver målt i (i sekunder) t_meas
,
a = 100;
b = 10;
x0 = 5000;
sig = 50;
t_meas = 100;
videre skal akserne for eksperimentet bestemmes; start og slut for hvor der skal måles, x_min
og x_max
, samt step-størrelsen x_step
.
x_min = 4500;
x_max = 5500;
x_step = 10;
Med disse definitioner er det nu muligt automatisk at lave sin x
-akse med
x_exp = x_min : x_step : x_max;
og til sidst kan man også finde hvor lang tid der måles per datapunkt,
t = t_meas / length(x_exp);
Spørgsmål 2 - Flere måleserier
Kør 100 måleserier og lav histogrammer over fitværdierne. Brug histogrammer til at bestemme præcisionen af eksperimentet.
Spørgsmål 3 - Planlægning af måling
(SVÆRT) Hvis der er 100 sekunder til rådighed, hvordan skal målingen så planlægges for at bestemme liniens midtpunkt bedst? Og hvad med liniens bredde?
Spørgsmål 4 - Stor baggrund
(SVÆRT) Lad baggrunden være 100 tællinger per sekund og amplituden være 10 tællinger per sekund. Hvor længe skal der tælles for at det kan afgøres, om der er en peak (amplitude signifikant større end nul)?