diff --git a/src/FRTN35_lab1.jl b/src/FRTN35_lab1.jl
index 4134330e323adaebaaaf80d86821c289da1bae86..623de70fb239dc626e2ae3ee30c1fe4a786ee326 100644
--- a/src/FRTN35_lab1.jl
+++ b/src/FRTN35_lab1.jl
@@ -1,8 +1,8 @@
 using BallAndBeam, ControlSystems, JLD, LabProcesses
 # @load "workspace.jld" # Run this command to restore a saved workspace
 
-bias = 0.01                     # Change this if your process drifts over time
-P    = LabProcesses.Beam(0.01)  # Replace for BeamSimulator to run simulations
+Bias = 0.01                            # Change this if your process drifts over time
+P    = LabProcesses.Beamr(0.01, Bias)  # Replace for BeamSimulator(0.01) to run simulations
 h    = sampletime(P)
 
 settling_time  = 1
@@ -55,20 +55,25 @@ plot([y u r], lab = ["y" "u" "r"])
 
 # If you have time, estimate ARX model =====================================================
 prbs     = PRBSGenerator()
-duration = 10
-y        = zeros(0:h:duration)
-u        = zeros(0:h:duration)
-LabProcesses.initialize(P)
-for (i,t) = enumerate(0:h:duration)
-    y[i]  = measure(P)
-    u[i]  = prbs()-0.5 #+ 0.5*u[max(1,i-1)]
-    control(P, u[i])
+function prbs_experiment(;amplitude = 1, duration = 10)
+    y = zeros(0:h:duration)
+    u = zeros(0:h:duration)
+    LabProcesses.initialize(P)
+    for (i,t) = enumerate(0:h:duration)
+        @periodically h begin
+            y[i]  = measure(P)
+            u[i]  = amplitude*(prbs()-0.5)
+            control(P, u[i])
+        end
+    end
+    LabProcesses.finalize(P)
+    y,u,times
 end
-LabProcesses.finalize(P)
+y,u = prbs_experiment(duration = 10, amplitude = 1)
 plot([u y])
 
-na = 6 # Order of A polynomial
-nb = 5 # Order of B polynomial
+na = 3 # Order of A polynomial
+nb = 2 # Order of B polynomial
 arxtf = arx(h, y, u, na, nb) # Estimate trasfer function with ARX method
 
 mag, phase, ω = bode(arxtf, logspace(-1,3,200))