diff --git a/examples/8.simulating-noise/15MHz.csv b/examples/8.simulating-noise/15MHz.csv new file mode 100644 index 000000000..daf940829 --- /dev/null +++ b/examples/8.simulating-noise/15MHz.csv @@ -0,0 +1,2 @@ +1.300000000000000044e-01,1.489999999999999936e-01,1.679999999999999827e-01,1.869999999999999996e-01,2.059999999999999887e-01,2.250000000000000056e-01,2.439999999999999947e-01,2.630000000000000115e-01,2.820000000000000284e-01,3.009999999999999898e-01,3.200000000000000067e-01,3.390000000000000235e-01,3.579999999999999849e-01,3.770000000000000018e-01,3.960000000000000187e-01,4.149999999999999800e-01,4.339999999999999969e-01,4.530000000000000138e-01,4.719999999999999751e-01,4.909999999999999920e-01,5.100000000000000089e-01,5.290000000000000258e-01,5.480000000000000426e-01,5.669999999999999485e-01,5.860000000000000764e-01,6.049999999999999822e-01,6.239999999999998881e-01,6.430000000000000160e-01,6.619999999999999218e-01,6.810000000000000497e-01,6.999999999999999556e-01,7.190000000000000835e-01,7.379999999999999893e-01,7.569999999999998952e-01,7.760000000000000231e-01,7.949999999999999289e-01,8.140000000000000568e-01,8.329999999999999627e-01,8.520000000000000906e-01,8.709999999999999964e-01,8.899999999999999023e-01,9.090000000000000302e-01,9.279999999999999361e-01,9.470000000000000639e-01,9.659999999999999698e-01,9.850000000000000977e-01,1.004000000000000004e+00,1.022999999999999909e+00,1.042000000000000037e+00,1.060999999999999943e+00 +6.562500000000000000e-01,7.712499999999999911e-01,8.625000000000000444e-01,9.024999999999999689e-01,9.024999999999999689e-01,8.549999999999999822e-01,8.000000000000000444e-01,6.912499999999999201e-01,5.912500000000000533e-01,4.537499999999999867e-01,3.249999999999999556e-01,1.975000000000000089e-01,1.025000000000000355e-01,4.125000000000000888e-02,1.875000000000004441e-02,3.500000000000003109e-02,1.137500000000000178e-01,1.537500000000000533e-01,3.050000000000000488e-01,4.150000000000000355e-01,5.562500000000000222e-01,6.824999999999999956e-01,7.750000000000000222e-01,8.649999999999999911e-01,9.062500000000000000e-01,9.037500000000000533e-01,8.725000000000000533e-01,8.175000000000000044e-01,7.150000000000000799e-01,5.587500000000000799e-01,4.887500000000000178e-01,3.225000000000000089e-01,2.287500000000000089e-01,1.250000000000000000e-01,5.625000000000002220e-02,3.749999999999997780e-02,4.500000000000003997e-02,9.999999999999997780e-02,1.574999999999999734e-01,2.750000000000000222e-01,3.762499999999999734e-01,5.224999999999999645e-01,6.362499999999999822e-01,7.349999999999999867e-01,7.924999999999999822e-01,8.837500000000000355e-01,8.800000000000000044e-01,8.549999999999999822e-01,8.200000000000000622e-01,7.399999999999999911e-01 diff --git a/examples/8.simulating-noise/15MHz_detuned_long.csv b/examples/8.simulating-noise/15MHz_detuned_long.csv new file mode 100644 index 000000000..76e6ea6f5 --- /dev/null +++ b/examples/8.simulating-noise/15MHz_detuned_long.csv @@ -0,0 +1,2 @@ +1.600000000000000033e-01,2.089999999999999913e-01,2.580000000000000071e-01,3.079999999999999960e-01,3.569999999999999840e-01,4.059999999999999720e-01,4.550000000000000155e-01,5.040000000000000036e-01,5.529999999999999361e-01,6.020000000000000906e-01,6.519999999999999130e-01,7.010000000000000675e-01,7.500000000000000000e-01,7.989999999999999325e-01,8.480000000000000870e-01,8.970000000000000195e-01,9.459999999999999520e-01,9.959999999999999964e-01,1.044999999999999929e+00,1.093999999999999861e+00,1.143000000000000016e+00,1.191999999999999948e+00,1.240999999999999881e+00,1.290000000000000036e+00,1.338999999999999968e+00,1.389000000000000012e+00,1.437999999999999945e+00,1.486999999999999877e+00,1.536000000000000032e+00,1.584999999999999964e+00,1.633999999999999897e+00,1.683000000000000052e+00,1.732999999999999874e+00,1.782000000000000028e+00,1.830999999999999961e+00,1.879999999999999893e+00,1.929000000000000048e+00,1.977999999999999980e+00,2.027000000000000135e+00,2.076999999999999957e+00,2.125999999999999890e+00,2.174999999999999822e+00,2.223999999999999755e+00,2.273000000000000131e+00,2.322000000000000064e+00,2.370999999999999996e+00,2.420999999999999819e+00,2.469999999999999751e+00,2.519000000000000128e+00,2.568000000000000060e+00,2.616999999999999993e+00,2.665999999999999925e+00,2.714999999999999858e+00,2.765000000000000124e+00,2.814000000000000057e+00,2.862999999999999989e+00,2.911999999999999922e+00,2.960999999999999854e+00,3.009999999999999787e+00,3.059000000000000163e+00,3.108999999999999986e+00,3.157999999999999918e+00,3.206999999999999851e+00,3.255999999999999783e+00,3.305000000000000160e+00,3.354000000000000092e+00,3.403000000000000025e+00,3.452999999999999847e+00,3.501999999999999780e+00,3.551000000000000156e+00,3.600000000000000089e+00,3.649000000000000021e+00,3.697999999999999954e+00,3.746999999999999886e+00,3.797000000000000153e+00,3.846000000000000085e+00,3.895000000000000018e+00,3.943999999999999950e+00,3.992999999999999883e+00,4.041999999999999815e+00,4.091000000000000192e+00,4.139999999999999680e+00,4.189999999999999503e+00,4.238999999999999879e+00,4.288000000000000256e+00,4.336999999999999744e+00,4.386000000000000121e+00,4.434999999999999609e+00,4.483999999999999986e+00,4.533999999999999808e+00,4.583000000000000185e+00,4.631999999999999673e+00,4.681000000000000050e+00,4.729999999999999538e+00,4.778999999999999915e+00,4.828000000000000291e+00,4.878000000000000114e+00,4.926999999999999602e+00,4.975999999999999979e+00,5.025000000000000355e+00,5.073999999999999844e+00,5.123000000000000220e+00,5.171999999999999709e+00,5.221999999999999531e+00,5.270999999999999908e+00,5.320000000000000284e+00,5.368999999999999773e+00,5.418000000000000149e+00,5.466999999999999638e+00,5.516000000000000014e+00,5.565999999999999837e+00,5.615000000000000213e+00,5.663999999999999702e+00,5.713000000000000078e+00,5.761999999999999567e+00,5.810999999999999943e+00,5.860000000000000320e+00,5.910000000000000142e+00,5.958999999999999631e+00,6.008000000000000007e+00,6.057000000000000384e+00,6.105999999999999872e+00,6.155000000000000249e+00,6.203999999999999737e+00,6.253000000000000114e+00,6.302999999999999936e+00,6.352000000000000313e+00,6.400999999999999801e+00,6.450000000000000178e+00,6.498999999999999666e+00,6.548000000000000043e+00,6.596999999999999531e+00,6.647000000000000242e+00,6.695999999999999730e+00,6.745000000000000107e+00,6.793999999999999595e+00,6.842999999999999972e+00,6.892000000000000348e+00,6.940999999999999837e+00,6.990999999999999659e+00,7.040000000000000036e+00,7.088999999999999524e+00,7.137999999999999901e+00,7.187000000000000277e+00,7.235999999999999766e+00,7.285000000000000142e+00,7.334999999999999964e+00,7.384000000000000341e+00,7.432999999999999829e+00,7.482000000000000206e+00,7.530999999999999694e+00,7.580000000000000071e+00,7.628999999999999559e+00,7.679000000000000270e+00,7.727999999999999758e+00,7.777000000000000135e+00,7.825999999999999623e+00,7.875000000000000000e+00,7.924000000000000377e+00,7.972999999999999865e+00,8.022999999999999687e+00,8.071999999999999176e+00,8.121000000000000441e+00,8.169999999999999929e+00,8.218999999999999417e+00,8.268000000000000682e+00,8.317000000000000171e+00,8.366999999999999105e+00,8.416000000000000369e+00,8.464999999999999858e+00,8.513999999999999346e+00,8.563000000000000611e+00,8.612000000000000099e+00,8.660999999999999588e+00,8.711000000000000298e+00,8.759999999999999787e+00,8.808999999999999275e+00,8.858000000000000540e+00,8.907000000000000028e+00,8.955999999999999517e+00,9.005000000000000782e+00,9.054000000000000270e+00,9.103999999999999204e+00,9.153000000000000469e+00,9.201999999999999957e+00,9.250999999999999446e+00,9.300000000000000711e+00,9.349000000000000199e+00,9.397999999999999687e+00,9.448000000000000398e+00,9.496999999999999886e+00,9.545999999999999375e+00,9.595000000000000639e+00,9.644000000000000128e+00,9.692999999999999616e+00,9.741999999999999105e+00,9.791999999999999815e+00,9.840999999999999304e+00,9.890000000000000568e+00,9.939000000000000057e+00 +3.137499999999999734e-01,1.662500000000000089e-01,2.249999999999996447e-02,1.087500000000000133e-01,3.087499999999999689e-01,4.037500000000000533e-01,2.762499999999999956e-01,7.874999999999998668e-02,4.249999999999998224e-02,1.750000000000000444e-01,3.575000000000000400e-01,3.100000000000000533e-01,1.612500000000000044e-01,4.249999999999998224e-02,8.374999999999999112e-02,2.712499999999999911e-01,3.750000000000000000e-01,2.874999999999999778e-01,1.012499999999999512e-01,4.125000000000000888e-02,1.524999999999999689e-01,3.187499999999999778e-01,3.337499999999999911e-01,1.800000000000000488e-01,7.999999999999996003e-02,1.012499999999999512e-01,2.624999999999999556e-01,3.212500000000000355e-01,2.900000000000000355e-01,1.650000000000000355e-01,8.499999999999996447e-02,1.324999999999999512e-01,2.950000000000000400e-01,3.187499999999999778e-01,2.249999999999999778e-01,9.125000000000005329e-02,1.087500000000000133e-01,1.987499999999999822e-01,2.537500000000000311e-01,2.824999999999999734e-01,2.125000000000000222e-01,1.025000000000000355e-01,1.199999999999999956e-01,2.187500000000000000e-01,2.874999999999999778e-01,2.924999999999999822e-01,2.049999999999999600e-01,1.087500000000000133e-01,1.474999999999999645e-01,2.537500000000000311e-01,2.987499999999999600e-01,2.299999999999999822e-01,1.587499999999999467e-01,1.237500000000000266e-01,1.824999999999999956e-01,2.500000000000000000e-01,2.587500000000000355e-01,2.137499999999999956e-01,1.450000000000000178e-01,1.400000000000000133e-01,1.912500000000000311e-01,2.737500000000000488e-01,2.475000000000000533e-01,1.962500000000000355e-01,1.374999999999999556e-01,1.574999999999999734e-01,2.149999999999999689e-01,2.125000000000000222e-01,2.237500000000000044e-01,1.800000000000000488e-01,1.600000000000000311e-01,1.762500000000000178e-01,2.462499999999999689e-01,2.500000000000000000e-01,2.012500000000000400e-01,2.037499999999999867e-01,1.574999999999999734e-01,2.199999999999999734e-01,2.387500000000000178e-01,1.937499999999999778e-01,1.812500000000000222e-01,1.587499999999999467e-01,1.987499999999999822e-01,2.087499999999999911e-01,2.249999999999999778e-01,2.087499999999999911e-01,1.724999999999999867e-01,1.574999999999999734e-01,1.987499999999999822e-01,2.175000000000000266e-01,1.975000000000000089e-01,2.075000000000000178e-01,1.587499999999999467e-01,1.687499999999999556e-01,1.975000000000000089e-01,2.249999999999999778e-01,1.999999999999999556e-01,1.987499999999999822e-01,1.662500000000000089e-01,2.025000000000000133e-01,2.162500000000000533e-01,2.362499999999999600e-01,2.037499999999999867e-01,2.025000000000000133e-01,1.612500000000000044e-01,2.237500000000000044e-01,2.225000000000000311e-01,2.399999999999999911e-01,1.987499999999999822e-01,1.612500000000000044e-01,2.112500000000000488e-01,2.162500000000000533e-01,2.262499999999999512e-01,2.175000000000000266e-01,2.049999999999999600e-01,1.750000000000000444e-01,1.662500000000000089e-01,1.975000000000000089e-01,2.362499999999999600e-01,2.125000000000000222e-01,1.949999999999999512e-01,1.824999999999999956e-01,1.800000000000000488e-01,2.199999999999999734e-01,2.375000000000000444e-01,2.262499999999999512e-01,1.887499999999999734e-01,1.762500000000000178e-01,2.099999999999999645e-01,2.187500000000000000e-01,2.012500000000000400e-01,2.187500000000000000e-01,1.987499999999999822e-01,1.987499999999999822e-01,2.262499999999999512e-01,2.537500000000000311e-01,2.287500000000000089e-01,2.175000000000000266e-01,2.387500000000000178e-01,1.925000000000000044e-01,2.262499999999999512e-01,2.449999999999999956e-01,2.437500000000000222e-01,2.312499999999999556e-01,2.112500000000000488e-01,2.537500000000000311e-01,2.449999999999999956e-01,2.662499999999999867e-01,2.187500000000000000e-01,2.075000000000000178e-01,2.199999999999999734e-01,2.325000000000000400e-01,2.524999999999999467e-01,2.800000000000000266e-01,2.249999999999999778e-01,2.075000000000000178e-01,2.175000000000000266e-01,2.225000000000000311e-01,2.700000000000000178e-01,1.937499999999999778e-01,1.949999999999999512e-01,2.099999999999999645e-01,1.975000000000000089e-01,2.475000000000000533e-01,2.387500000000000178e-01,2.299999999999999822e-01,2.362499999999999600e-01,2.349999999999999867e-01,2.362499999999999600e-01,2.299999999999999822e-01,2.375000000000000444e-01,2.099999999999999645e-01,1.862500000000000266e-01,2.225000000000000311e-01,1.937499999999999778e-01,2.337500000000000133e-01,2.262499999999999512e-01,1.999999999999999556e-01,2.212499999999999467e-01,1.949999999999999512e-01,2.112500000000000488e-01,2.025000000000000133e-01,1.962500000000000355e-01,2.025000000000000133e-01,2.312499999999999556e-01,1.999999999999999556e-01,2.175000000000000266e-01,2.237500000000000044e-01,2.612499999999999822e-01,2.362499999999999600e-01,2.287500000000000089e-01,2.112500000000000488e-01,2.550000000000000044e-01,2.487500000000000266e-01,2.449999999999999956e-01,1.962500000000000355e-01,1.987499999999999822e-01,1.925000000000000044e-01,2.325000000000000400e-01,2.199999999999999734e-01 diff --git a/examples/8.simulating-noise/15MHz_long.csv b/examples/8.simulating-noise/15MHz_long.csv new file mode 100644 index 000000000..fea5819d7 --- /dev/null +++ b/examples/8.simulating-noise/15MHz_long.csv @@ -0,0 +1,2 @@ +1.600000000000000033e-01,2.089999999999999913e-01,2.580000000000000071e-01,3.079999999999999960e-01,3.569999999999999840e-01,4.059999999999999720e-01,4.550000000000000155e-01,5.040000000000000036e-01,5.529999999999999361e-01,6.020000000000000906e-01,6.519999999999999130e-01,7.010000000000000675e-01,7.500000000000000000e-01,7.989999999999999325e-01,8.480000000000000870e-01,8.970000000000000195e-01,9.459999999999999520e-01,9.959999999999999964e-01,1.044999999999999929e+00,1.093999999999999861e+00,1.143000000000000016e+00,1.191999999999999948e+00,1.240999999999999881e+00,1.290000000000000036e+00,1.338999999999999968e+00,1.389000000000000012e+00,1.437999999999999945e+00,1.486999999999999877e+00,1.536000000000000032e+00,1.584999999999999964e+00,1.633999999999999897e+00,1.683000000000000052e+00,1.732999999999999874e+00,1.782000000000000028e+00,1.830999999999999961e+00,1.879999999999999893e+00,1.929000000000000048e+00,1.977999999999999980e+00,2.027000000000000135e+00,2.076999999999999957e+00,2.125999999999999890e+00,2.174999999999999822e+00,2.223999999999999755e+00,2.273000000000000131e+00,2.322000000000000064e+00,2.370999999999999996e+00,2.420999999999999819e+00,2.469999999999999751e+00,2.519000000000000128e+00,2.568000000000000060e+00,2.616999999999999993e+00,2.665999999999999925e+00,2.714999999999999858e+00,2.765000000000000124e+00,2.814000000000000057e+00,2.862999999999999989e+00,2.911999999999999922e+00,2.960999999999999854e+00,3.009999999999999787e+00,3.059000000000000163e+00,3.108999999999999986e+00,3.157999999999999918e+00,3.206999999999999851e+00,3.255999999999999783e+00,3.305000000000000160e+00,3.354000000000000092e+00,3.403000000000000025e+00,3.452999999999999847e+00,3.501999999999999780e+00,3.551000000000000156e+00,3.600000000000000089e+00,3.649000000000000021e+00,3.697999999999999954e+00,3.746999999999999886e+00,3.797000000000000153e+00,3.846000000000000085e+00,3.895000000000000018e+00,3.943999999999999950e+00,3.992999999999999883e+00,4.041999999999999815e+00,4.091000000000000192e+00,4.139999999999999680e+00,4.189999999999999503e+00,4.238999999999999879e+00,4.288000000000000256e+00,4.336999999999999744e+00,4.386000000000000121e+00,4.434999999999999609e+00,4.483999999999999986e+00,4.533999999999999808e+00,4.583000000000000185e+00,4.631999999999999673e+00,4.681000000000000050e+00,4.729999999999999538e+00,4.778999999999999915e+00,4.828000000000000291e+00,4.878000000000000114e+00,4.926999999999999602e+00,4.975999999999999979e+00,5.025000000000000355e+00,5.073999999999999844e+00,5.123000000000000220e+00,5.171999999999999709e+00,5.221999999999999531e+00,5.270999999999999908e+00,5.320000000000000284e+00,5.368999999999999773e+00,5.418000000000000149e+00,5.466999999999999638e+00,5.516000000000000014e+00,5.565999999999999837e+00,5.615000000000000213e+00,5.663999999999999702e+00,5.713000000000000078e+00,5.761999999999999567e+00,5.810999999999999943e+00,5.860000000000000320e+00,5.910000000000000142e+00,5.958999999999999631e+00,6.008000000000000007e+00,6.057000000000000384e+00,6.105999999999999872e+00,6.155000000000000249e+00,6.203999999999999737e+00,6.253000000000000114e+00,6.302999999999999936e+00,6.352000000000000313e+00,6.400999999999999801e+00,6.450000000000000178e+00,6.498999999999999666e+00,6.548000000000000043e+00,6.596999999999999531e+00,6.647000000000000242e+00,6.695999999999999730e+00,6.745000000000000107e+00,6.793999999999999595e+00,6.842999999999999972e+00,6.892000000000000348e+00,6.940999999999999837e+00,6.990999999999999659e+00,7.040000000000000036e+00,7.088999999999999524e+00,7.137999999999999901e+00,7.187000000000000277e+00,7.235999999999999766e+00,7.285000000000000142e+00,7.334999999999999964e+00,7.384000000000000341e+00,7.432999999999999829e+00,7.482000000000000206e+00,7.530999999999999694e+00,7.580000000000000071e+00,7.628999999999999559e+00,7.679000000000000270e+00,7.727999999999999758e+00,7.777000000000000135e+00,7.825999999999999623e+00,7.875000000000000000e+00,7.924000000000000377e+00,7.972999999999999865e+00,8.022999999999999687e+00,8.071999999999999176e+00,8.121000000000000441e+00,8.169999999999999929e+00,8.218999999999999417e+00,8.268000000000000682e+00,8.317000000000000171e+00,8.366999999999999105e+00,8.416000000000000369e+00,8.464999999999999858e+00,8.513999999999999346e+00,8.563000000000000611e+00,8.612000000000000099e+00,8.660999999999999588e+00,8.711000000000000298e+00,8.759999999999999787e+00,8.808999999999999275e+00,8.858000000000000540e+00,8.907000000000000028e+00,8.955999999999999517e+00,9.005000000000000782e+00,9.054000000000000270e+00,9.103999999999999204e+00,9.153000000000000469e+00,9.201999999999999957e+00,9.250999999999999446e+00,9.300000000000000711e+00,9.349000000000000199e+00,9.397999999999999687e+00,9.448000000000000398e+00,9.496999999999999886e+00,9.545999999999999375e+00,9.595000000000000639e+00,9.644000000000000128e+00,9.692999999999999616e+00,9.741999999999999105e+00,9.791999999999999815e+00,9.840999999999999304e+00,9.890000000000000568e+00,9.939000000000000057e+00 +8.312500000000000444e-01,9.112500000000000044e-01,6.912499999999999201e-01,3.612499999999999600e-01,1.049999999999999822e-01,2.375000000000004885e-02,1.812500000000000222e-01,4.812499999999999556e-01,8.037499999999999645e-01,8.874999999999999556e-01,7.462500000000000799e-01,4.437499999999999778e-01,1.712500000000000133e-01,2.875000000000005329e-02,1.187500000000000222e-01,4.100000000000000311e-01,7.249999999999999778e-01,8.800000000000000044e-01,7.887500000000000622e-01,5.562500000000000222e-01,2.312499999999999556e-01,6.750000000000000444e-02,1.125000000000000444e-01,3.800000000000000044e-01,6.287499999999999201e-01,8.312500000000000444e-01,8.437500000000000000e-01,6.212500000000000799e-01,3.412500000000000533e-01,1.137500000000000178e-01,9.999999999999997780e-02,2.887499999999999512e-01,5.337499999999999467e-01,7.624999999999999556e-01,8.175000000000000044e-01,6.049999999999999822e-01,3.687500000000000222e-01,1.787499999999999645e-01,9.375000000000000000e-02,2.149999999999999689e-01,4.762499999999999512e-01,6.950000000000000622e-01,8.062500000000000222e-01,7.500000000000000000e-01,5.262499999999999956e-01,2.912500000000000089e-01,1.487500000000000488e-01,1.824999999999999956e-01,3.924999999999999600e-01,5.987500000000000044e-01,7.812500000000000000e-01,7.587500000000000355e-01,6.237500000000000266e-01,3.924999999999999600e-01,2.237500000000000044e-01,1.587499999999999467e-01,3.024999999999999911e-01,4.675000000000000266e-01,6.837500000000000799e-01,7.462500000000000799e-01,6.512499999999999956e-01,4.975000000000000533e-01,2.962500000000000133e-01,1.875000000000000000e-01,2.562499999999999778e-01,4.137499999999999512e-01,5.849999999999999645e-01,6.950000000000000622e-01,7.037499999999999867e-01,5.112499999999999822e-01,3.699999999999999956e-01,2.399999999999999911e-01,2.325000000000000400e-01,3.475000000000000311e-01,4.849999999999999867e-01,6.724999999999999867e-01,6.850000000000000533e-01,5.987500000000000044e-01,4.174999999999999822e-01,2.874999999999999778e-01,2.687500000000000444e-01,3.375000000000000222e-01,4.587499999999999911e-01,6.149999999999999911e-01,6.537500000000000533e-01,6.074999999999999289e-01,4.949999999999999956e-01,3.687500000000000222e-01,2.812500000000000000e-01,3.100000000000000533e-01,4.437499999999999778e-01,5.212499999999999911e-01,6.437500000000000444e-01,6.799999999999999378e-01,5.337499999999999467e-01,4.337499999999999689e-01,3.387499999999999956e-01,3.362500000000000488e-01,4.112500000000000044e-01,4.912499999999999645e-01,5.162499999999999867e-01,5.612500000000000266e-01,5.300000000000000266e-01,4.449999999999999512e-01,3.837500000000000355e-01,3.900000000000000133e-01,4.137499999999999512e-01,4.262500000000000178e-01,5.237499999999999378e-01,5.500000000000000444e-01,5.287500000000000533e-01,4.837500000000000133e-01,4.799999999999999822e-01,4.412500000000000311e-01,4.037500000000000533e-01,4.262500000000000178e-01,4.812499999999999556e-01,5.112499999999999822e-01,4.899999999999999911e-01,5.087500000000000355e-01,4.925000000000000488e-01,4.224999999999999867e-01,4.137499999999999512e-01,4.037500000000000533e-01,4.725000000000000311e-01,4.637499999999999956e-01,5.275000000000000799e-01,5.612500000000000266e-01,4.849999999999999867e-01,5.000000000000000000e-01,4.475000000000000089e-01,4.037500000000000533e-01,4.549999999999999600e-01,4.725000000000000311e-01,4.837500000000000133e-01,5.087500000000000355e-01,5.224999999999999645e-01,4.749999999999999778e-01,4.725000000000000311e-01,4.787500000000000089e-01,4.387499999999999734e-01,4.425000000000000044e-01,4.762499999999999512e-01,5.012499999999999734e-01,5.349999999999999201e-01,5.200000000000000178e-01,4.962499999999999689e-01,4.549999999999999600e-01,4.587499999999999911e-01,4.250000000000000444e-01,4.499999999999999556e-01,4.975000000000000533e-01,5.087500000000000355e-01,5.349999999999999201e-01,4.575000000000000178e-01,4.987500000000000266e-01,4.612500000000000488e-01,4.737500000000000044e-01,4.587499999999999911e-01,4.399999999999999467e-01,4.899999999999999911e-01,4.962499999999999689e-01,5.024999999999999467e-01,5.275000000000000799e-01,4.499999999999999556e-01,4.712499999999999467e-01,4.150000000000000355e-01,4.224999999999999867e-01,4.487499999999999822e-01,4.437499999999999778e-01,4.987500000000000266e-01,5.087500000000000355e-01,5.237499999999999378e-01,4.862499999999999600e-01,4.649999999999999689e-01,4.575000000000000178e-01,4.512500000000000400e-01,4.837500000000000133e-01,4.987500000000000266e-01,4.762499999999999512e-01,4.849999999999999867e-01,4.799999999999999822e-01,4.937500000000000222e-01,4.612500000000000488e-01,4.112500000000000044e-01,4.324999999999999956e-01,5.037499999999999201e-01,4.975000000000000533e-01,5.162499999999999867e-01,4.949999999999999956e-01,5.000000000000000000e-01,4.712499999999999467e-01,4.312500000000000222e-01,4.575000000000000178e-01,4.849999999999999867e-01,4.837500000000000133e-01,5.037499999999999201e-01,5.312500000000000000e-01,5.062499999999999778e-01,5.200000000000000178e-01 diff --git a/examples/8.simulating-noise/3q_blockaded_rabi.csv b/examples/8.simulating-noise/3q_blockaded_rabi.csv new file mode 100644 index 000000000..f99c7583e --- /dev/null +++ b/examples/8.simulating-noise/3q_blockaded_rabi.csv @@ -0,0 +1,2 @@ +1.150000000000000050e-01,1.450000000000000178e-01,1.739999999999999880e-01,2.030000000000000138e-01,2.330000000000000127e-01,2.630000000000000115e-01,2.920000000000000373e-01,3.210000000000000075e-01,3.509999999999999787e-01,3.810000000000000053e-01,4.099999999999999756e-01,4.390000000000000013e-01,4.690000000000000280e-01,4.989999999999999991e-01,5.280000000000000249e-01,5.569999999999999396e-01,5.869999999999999662e-01,6.169999999999999929e-01,6.459999999999999076e-01,6.750000000000000444e-01,7.050000000000000711e-01,7.350000000000000977e-01,7.640000000000000124e-01,7.929999999999999272e-01,8.229999999999999538e-01,8.529999999999999805e-01,8.819999999999998952e-01,9.110000000000000320e-01,9.410000000000000586e-01,9.699999999999999734e-01,1.000000000000000000e+00,1.028999999999999915e+00,1.058999999999999941e+00,1.088999999999999968e+00,1.117999999999999883e+00,1.147000000000000020e+00,1.177000000000000046e+00,1.206999999999999851e+00,1.235999999999999988e+00,1.264999999999999902e+00,1.294999999999999929e+00,1.324999999999999956e+00,1.353999999999999870e+00,1.383000000000000007e+00,1.413000000000000034e+00,1.442999999999999838e+00,1.471999999999999975e+00,1.500999999999999890e+00,1.530999999999999917e+00,1.560999999999999943e+00,1.589999999999999858e+00,1.618999999999999995e+00,1.649000000000000021e+00,1.679000000000000048e+00,1.707999999999999963e+00,1.736999999999999877e+00,1.766999999999999904e+00,1.796999999999999931e+00,1.825999999999999845e+00,1.854999999999999982e+00,1.885000000000000009e+00,1.915000000000000036e+00,1.943999999999999950e+00,1.972999999999999865e+00,2.003000000000000114e+00,2.032999999999999918e+00,2.062000000000000277e+00,2.092000000000000082e+00,2.120999999999999996e+00,2.149999999999999911e+00,2.180000000000000160e+00,2.209000000000000075e+00,2.238999999999999879e+00,2.269000000000000128e+00,2.298000000000000043e+00,2.326999999999999957e+00,2.356999999999999762e+00,2.387000000000000011e+00,2.415999999999999925e+00,2.444999999999999840e+00,2.475000000000000089e+00,2.504999999999999893e+00,2.533999999999999808e+00,2.563000000000000167e+00,2.592999999999999972e+00,2.621999999999999886e+00,2.652000000000000135e+00,2.681000000000000050e+00,2.710999999999999854e+00,2.741000000000000103e+00,2.770000000000000018e+00,2.798999999999999932e+00,2.828999999999999737e+00,2.858999999999999986e+00,2.887999999999999901e+00,2.916999999999999815e+00,2.947000000000000064e+00,2.976999999999999869e+00,3.005999999999999783e+00,3.035000000000000142e+00,3.064999999999999947e+00 +5.937499999999999722e-02,2.546875000000000111e-01,6.234374999999999778e-01,8.812499999999999778e-01,9.140625000000000000e-01,6.328125000000000000e-01,2.734375000000000000e-01,5.937499999999999722e-02,1.234375000000000056e-01,4.812500000000000111e-01,7.937499999999999556e-01,9.312500000000000222e-01,7.765625000000000444e-01,4.140625000000000000e-01,1.250000000000000000e-01,6.875000000000000555e-02,2.640624999999999778e-01,6.437500000000000444e-01,8.812499999999999778e-01,9.031249999999999556e-01,6.359375000000000444e-01,2.859375000000000111e-01,1.093750000000000000e-01,1.359374999999999889e-01,4.218750000000000000e-01,7.265625000000000000e-01,9.156250000000000222e-01,7.921875000000000444e-01,5.078125000000000000e-01,2.109375000000000000e-01,8.125000000000000278e-02,2.296874999999999889e-01,5.515624999999999556e-01,8.390625000000000444e-01,8.499999999999999778e-01,6.765624999999999556e-01,3.437500000000000000e-01,1.265624999999999944e-01,1.421874999999999944e-01,3.875000000000000111e-01,7.078124999999999556e-01,8.718749999999999556e-01,8.031249999999999778e-01,5.671874999999999556e-01,2.640624999999999778e-01,1.046875000000000028e-01,2.171875000000000056e-01,4.640624999999999889e-01,7.500000000000000000e-01,8.437500000000000000e-01,7.265625000000000000e-01,4.359374999999999778e-01,2.187500000000000000e-01,1.765625000000000111e-01,2.859375000000000111e-01,5.328125000000000222e-01,7.531250000000000444e-01,8.062500000000000222e-01,6.062499999999999556e-01,3.765625000000000222e-01,2.000000000000000111e-01,2.031250000000000000e-01,4.015624999999999889e-01,6.640625000000000000e-01,7.765625000000000444e-01,7.562499999999999778e-01,5.421875000000000444e-01,3.218750000000000222e-01,1.625000000000000056e-01,2.593750000000000222e-01,4.953124999999999889e-01,6.687499999999999556e-01,7.546874999999999556e-01,6.250000000000000000e-01,4.671874999999999778e-01,2.578125000000000000e-01,1.953125000000000000e-01,3.343749999999999778e-01,5.484375000000000222e-01,7.093749999999999778e-01,7.656250000000000000e-01,6.078124999999999778e-01,4.093749999999999889e-01,2.609374999999999889e-01,3.031249999999999778e-01,4.328124999999999889e-01,5.999999999999999778e-01,6.687499999999999556e-01,6.750000000000000444e-01,5.093750000000000222e-01,3.859374999999999889e-01,2.546875000000000111e-01,2.812500000000000000e-01,4.843750000000000000e-01,5.859375000000000000e-01,6.187500000000000222e-01,5.890625000000000444e-01,4.984374999999999778e-01,3.281250000000000000e-01,2.890625000000000000e-01,4.000000000000000222e-01 diff --git a/examples/8.simulating noise/Project.toml b/examples/8.simulating-noise/Project.toml similarity index 92% rename from examples/8.simulating noise/Project.toml rename to examples/8.simulating-noise/Project.toml index 9a0ca79f7..edc42b44c 100644 --- a/examples/8.simulating noise/Project.toml +++ b/examples/8.simulating-noise/Project.toml @@ -9,5 +9,6 @@ LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" ProgressBars = "49802e3a-d2f1-5c88-81d8-b72133a6f568" +PythonPlot = "274fc56d-3b97-40fa-a1cd-1b4a50311bf9" StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" Yao = "5872b779-8223-5990-8dd0-5abbb0748c8c" diff --git a/examples/8.simulating noise/main.jl b/examples/8.simulating-noise/main.jl similarity index 96% rename from examples/8.simulating noise/main.jl rename to examples/8.simulating-noise/main.jl index e3ac75106..097e01cf7 100644 --- a/examples/8.simulating noise/main.jl +++ b/examples/8.simulating-noise/main.jl @@ -133,7 +133,11 @@ plot!( ) ylims!(0,1) -# ![BloqadeNoisy]("../../../assets/BloqadeNoisy_tutorial/noisy_depolarizingrabi.png") + + + + +# ![BloqadeNoisy](../../../assets/BloqadeNoisy_tutorial/noisy_depolarizingrabi.png) # ## Coherent noise in neutral atom simulators # One of the advantages of neutral atoms is that they couple weakly to their environment. This means that incoherent noise is supressed. A more dominant source of noise is due to imperfect control, which causes fluctuation the Rabi power ``\Omega``, detuning ``\Delta``, and atoms positions ``\vec r_{ij}`` between shots. This is referred to as "coherent" noise because it preserves the coherence over a single shot, but averaging over many shots still produces a mixed state. This noise afffects the system globally and is distinct from noise due to coupling to a bath. @@ -183,7 +187,7 @@ plot!( label = "analytic" ) -# ![BloqadeNoisy]("../../../assets/BloqadeNoisy_tutorial/noisy_coherentnoise_rabi.png") +# ![BloqadeNoisy](../../../assets/BloqadeNoisy_tutorial/noisy_coherentnoise_rabi.png) # ## Noise on Aquila # Aquila's noise model was calibrated using experimental data, and the parameters that are modelled are the following: @@ -214,7 +218,13 @@ plot!( # ### Experimental validation # The experimental data used to calibrate the noise model is taken from the Aquila whitepaper [3]. Readout error can be added to expectation values in the computational basis by passing `readout = true` to `emulate`. The operators must be of type `Diagonal`. Below, we show the estimation of a noisy expectation value incorporating the effect of readout error and compare to the experimental whitepaper data. -whitepaper_data = CSV.read("/Bloqade.jl/lib/BloqadeNoisy/examples/whitepaper_comparison/data/15MHz_long.csv", DataFrame, delim = ",", header = false) + +dir = @__DIR__ +filedir = joinpath(dir, "15MHz_long.csv") +whitepaper_data = CSV.read(filedir, DataFrame, delim = ",", header = false) + + + times = collect(whitepaper_data[1,:]) data = collect(whitepaper_data[2,:]) save_times = LinRange(0, last(times), 400) @@ -233,7 +243,7 @@ plot(times, data, marker = :diamond, ) plot!(save_times, sim[1], color = :blue, label = "Sim") -# ![BloqadeNoisy]("../../../assets/BloqadeNoisy_tutorial/noisy_whitepapercomparison.png") +# ![BloqadeNoisy](../../../assets/BloqadeNoisy_tutorial/noisy_whitepapercomparison.png) # The `Aquila()` method is shorthand for `load_error_model(JSON.parse(AQUILA))`. The `AQUILA` string is a JSON dictionary containing the preconfigured noise model, and this syntax allows the noise model to be modified. @@ -305,7 +315,7 @@ scatter!(expt_times, sim.expectations, label = "noisy", color = :red, ) -# ![BloqadeNoisy]("../../../assets/BloqadeNoisy_tutorial/noisy_manybodyscar.png") +# ![BloqadeNoisy](../../../assets/BloqadeNoisy_tutorial/noisy_manybodyscar.png) # ## Manybody Fidelity # A Haar-random pure state ``|\psi\rangle`` from a Hilbert space with dimension ``D = 2^N`` produces probability amplitudes ``p(z) = |\langle z |\psi\rangle|^2`` that are distributed exponentially according to the Porter-Thomas distribution ``P_1(p) = De^{-Dp}`` in the limit of large ``D``. Haar-random sates are produced by chaotic quantum evolution, which we can achieve by randomly spacing ``N`` atoms and choosing ``\Omega(t)`` to be strong relative to the coupling and vary sufficiently over the interval. Under the influence of noise, the evolution can be desribed by @@ -348,7 +358,7 @@ function sim_depol(γ) h, depol(γ, N) ) - sim = emulate_noisy(prob, 1000, + sim = emulate_noisy(prob, 500, sol -> [ abs.(sol[end]).^2, abs(sol[end]' * ψ)^2 @@ -379,7 +389,7 @@ end ylims!(10, 2f4) xlims!(0, .0015) -# ![BloqadeNoisy]("../../../assets/BloqadeNoisy_tutorial/noisy_depol_dists.png") +# ![BloqadeNoisy](../../../assets/BloqadeNoisy_tutorial/noisy_depol_dists.png) # We can examine three different measures of fidelity: First, we have the actual state fidelity ``F = \langle \psi | \rho |\psi \rangle`` which is saved in the simulation. Next, we have the prediction from the depolarizing model ``F = e^{-3N\gamma t}``. Lastly, there is another quantity called the linear cross-entropy which acts as a proxy for the fidelity with chaotic Hamiltonians. The cross entropy is defined # ```math @@ -403,7 +413,7 @@ plot(depol_strengths, [p[i][1][2] for i in 1:3], title = "Depolarizing fidelity plot!(depol_strengths, exp.(-3N * tend .* depol_strengths), label = L"e^{-3\gamma N T}") plot!(depol_strengths, [(2^N*sum(p[i][1][1] .* abs.(ψ).^2)-1) for i in 1:3], label = "XEB") -# ![BloqadeNoisy]("../../../assets/BloqadeNoisy_tutorial/noisy_fidelitymeasures.png") +# ![BloqadeNoisy](../../../assets/BloqadeNoisy_tutorial/noisy_fidelitymeasures.png) # ## Memory constraints # When simulating large systems, memory can be an issue. The `NoisySchrodingerProblem` can also be used directly with the `DifferentialEquations` interface to simulate each trajectory manually if more control is required. The `randomize` function reinitializes the trajectory with a new sample from the specified distirbution of Hamiltonian parameters and chooses a random initial condition. @@ -438,7 +448,7 @@ scatter( scatter!([expectation_value_noisy(Aquila(), p, mat(put(N, i=>Op.n))) for i in 1:N], marker = :square, markersize = 6, label = "noisy") ylims!(0,1) -# ![BloqadeNoisy]("../../../assets/BloqadeNoisy_tutorial/noisy_numberdensity.png") +# ![BloqadeNoisy](../../../assets/BloqadeNoisy_tutorial/noisy_numberdensity.png) # ## References & Further Reading # [1] https://qutip.org/docs/latest/guide/dynamics/dynamics-monte.html