forked from nicolassmith/OpticklePDE
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPDEnoisecoupling.m
40 lines (32 loc) · 1006 Bytes
/
PDEnoisecoupling.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
% example for calculating laser intensity noise coupling
% make opt
par = paramPDE([],1);
par = paramPDE_LSC(par);
opt = optPDE(par);
opt = probesPDE(opt,par);
cucumber = cucumberPDE(opt);
fHigh = 30000; fLow = 50;
f = logspace(log10(fLow),log10(fHigh),500).';
% run lentickle
results = lentickleEngine(cucumber,[],f).';
% calculate calibration TF
DARMcalmeters = pickleTF(results,'EX','DARM') - pickleTF(results,'EY','DARM'); % units of [DARM counts]/m
% calculate nosie TF
AMtoDARM = pickleTF(results,'AM','AS_Q')/2; %units of [DARM counts]/RIN (factor of 2 is because of optickle units of amplitude modulator
AMnoise = AMtoDARM ./ DARMcalmeters; % units m/RIN
% make a plot
figure(1)
subplot(2,1,1)
loglog(f,abs(AMnoise),'r');
title('Intensity Noise Coupling')
ylabel('Magnitude (m/RIN)')
legend('DARM','location','NE')
xlim([fLow fHigh])
grid on
subplot(2,1,2)
semilogx(f,180/pi*angle(AMnoise),'r');
ylabel('Phase (degrees)')
xlabel('Frequency (Hz)')
xlim([fLow fHigh])
ylim([-180 180])
grid on