You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2614 lines
422 KiB

1 year ago
  1. {
  2. "cells": [
  3. {
  4. "cell_type": "markdown",
  5. "metadata": {},
  6. "source": [
  7. "# Import supporting package"
  8. ]
  9. },
  10. {
  11. "cell_type": "code",
  12. "execution_count": 1,
  13. "metadata": {},
  14. "outputs": [],
  15. "source": [
  16. "import copy\n",
  17. "import glob\n",
  18. "from datetime import datetime\n",
  19. "\n",
  20. "# The package for data structure\n",
  21. "import xarray as xr\n",
  22. "import pandas as pd\n",
  23. "import numpy as np\n",
  24. "\n",
  25. "# The packages for working with uncertainties\n",
  26. "from uncertainties import ufloat\n",
  27. "from uncertainties import unumpy as unp\n",
  28. "from uncertainties import umath\n",
  29. "\n",
  30. "# The package for plotting\n",
  31. "import matplotlib.pyplot as plt\n",
  32. "plt.rcParams['font.size'] = 18 # Set the global font size\n",
  33. "\n",
  34. "# -------------- The modules written by us --------------\n",
  35. "\n",
  36. "# The packages for read data\n",
  37. "from DataContainer.ReadData import read_hdf5_file, read_hdf5_global, read_hdf5_run_time, read_csv_file\n",
  38. "\n",
  39. "# The packages for data analysis\n",
  40. "from Analyser.ImagingAnalyser import ImageAnalyser\n",
  41. "from Analyser.FitAnalyser import FitAnalyser\n",
  42. "from Analyser.FitAnalyser import ThomasFermi2dModel, DensityProfileBEC2dModel, Polylog22dModel\n",
  43. "from Analyser.FFTAnalyser import fft, ifft, fft_nutou\n",
  44. "from ToolFunction.ToolFunction import *\n",
  45. "\n",
  46. "# Add errorbar plot to xarray package\n",
  47. "from ToolFunction.HomeMadeXarrayFunction import errorbar, dataarray_plot_errorbar\n",
  48. "xr.plot.dataarray_plot.errorbar = errorbar\n",
  49. "xr.plot.accessor.DataArrayPlotAccessor.errorbar = dataarray_plot_errorbar"
  50. ]
  51. },
  52. {
  53. "cell_type": "markdown",
  54. "metadata": {},
  55. "source": [
  56. "## Start a client for parallel computing"
  57. ]
  58. },
  59. {
  60. "cell_type": "code",
  61. "execution_count": 2,
  62. "metadata": {},
  63. "outputs": [
  64. {
  65. "name": "stderr",
  66. "output_type": "stream",
  67. "text": [
  68. "C:\\Users\\data\\AppData\\Roaming\\Python\\Python39\\site-packages\\distributed\\node.py:182: UserWarning: Port 8787 is already in use.\n",
  69. "Perhaps you already have a cluster running?\n",
  70. "Hosting the HTTP server on port 57804 instead\n",
  71. " warnings.warn(\n"
  72. ]
  73. },
  74. {
  75. "data": {
  76. "text/html": [
  77. "<div>\n",
  78. " <div style=\"width: 24px; height: 24px; background-color: #e1e1e1; border: 3px solid #9D9D9D; border-radius: 5px; position: absolute;\"> </div>\n",
  79. " <div style=\"margin-left: 48px;\">\n",
  80. " <h3 style=\"margin-bottom: 0px;\">Client</h3>\n",
  81. " <p style=\"color: #9D9D9D; margin-bottom: 0px;\">Client-dfee8bd5-35d5-11ee-960c-80e82ce2fa8e</p>\n",
  82. " <table style=\"width: 100%; text-align: left;\">\n",
  83. "\n",
  84. " <tr>\n",
  85. " \n",
  86. " <td style=\"text-align: left;\"><strong>Connection method:</strong> Cluster object</td>\n",
  87. " <td style=\"text-align: left;\"><strong>Cluster type:</strong> distributed.LocalCluster</td>\n",
  88. " \n",
  89. " </tr>\n",
  90. "\n",
  91. " \n",
  92. " <tr>\n",
  93. " <td style=\"text-align: left;\">\n",
  94. " <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:57804/status\" target=\"_blank\">http://127.0.0.1:57804/status</a>\n",
  95. " </td>\n",
  96. " <td style=\"text-align: left;\"></td>\n",
  97. " </tr>\n",
  98. " \n",
  99. "\n",
  100. " </table>\n",
  101. "\n",
  102. " \n",
  103. "\n",
  104. " \n",
  105. " <details>\n",
  106. " <summary style=\"margin-bottom: 20px;\"><h3 style=\"display: inline;\">Cluster Info</h3></summary>\n",
  107. " <div class=\"jp-RenderedHTMLCommon jp-RenderedHTML jp-mod-trusted jp-OutputArea-output\">\n",
  108. " <div style=\"width: 24px; height: 24px; background-color: #e1e1e1; border: 3px solid #9D9D9D; border-radius: 5px; position: absolute;\">\n",
  109. " </div>\n",
  110. " <div style=\"margin-left: 48px;\">\n",
  111. " <h3 style=\"margin-bottom: 0px; margin-top: 0px;\">LocalCluster</h3>\n",
  112. " <p style=\"color: #9D9D9D; margin-bottom: 0px;\">162c46da</p>\n",
  113. " <table style=\"width: 100%; text-align: left;\">\n",
  114. " <tr>\n",
  115. " <td style=\"text-align: left;\">\n",
  116. " <strong>Dashboard:</strong> <a href=\"http://127.0.0.1:57804/status\" target=\"_blank\">http://127.0.0.1:57804/status</a>\n",
  117. " </td>\n",
  118. " <td style=\"text-align: left;\">\n",
  119. " <strong>Workers:</strong> 6\n",
  120. " </td>\n",
  121. " </tr>\n",
  122. " <tr>\n",
  123. " <td style=\"text-align: left;\">\n",
  124. " <strong>Total threads:</strong> 60\n",
  125. " </td>\n",
  126. " <td style=\"text-align: left;\">\n",
  127. " <strong>Total memory:</strong> 55.88 GiB\n",
  128. " </td>\n",
  129. " </tr>\n",
  130. " \n",
  131. " <tr>\n",
  132. " <td style=\"text-align: left;\"><strong>Status:</strong> running</td>\n",
  133. " <td style=\"text-align: left;\"><strong>Using processes:</strong> True</td>\n",
  134. "</tr>\n",
  135. "\n",
  136. " \n",
  137. " </table>\n",
  138. "\n",
  139. " <details>\n",
  140. " <summary style=\"margin-bottom: 20px;\">\n",
  141. " <h3 style=\"display: inline;\">Scheduler Info</h3>\n",
  142. " </summary>\n",
  143. "\n",
  144. " <div style=\"\">\n",
  145. " <div>\n",
  146. " <div style=\"width: 24px; height: 24px; background-color: #FFF7E5; border: 3px solid #FF6132; border-radius: 5px; position: absolute;\"> </div>\n",
  147. " <div style=\"margin-left: 48px;\">\n",
  148. " <h3 style=\"margin-bottom: 0px;\">Scheduler</h3>\n",
  149. " <p style=\"color: #9D9D9D; margin-bottom: 0px;\">Scheduler-b1db6959-375b-4ed2-9a77-02ce7ec59048</p>\n",
  150. " <table style=\"width: 100%; text-align: left;\">\n",
  151. " <tr>\n",
  152. " <td style=\"text-align: left;\">\n",
  153. " <strong>Comm:</strong> tcp://127.0.0.1:57807\n",
  154. " </td>\n",
  155. " <td style=\"text-align: left;\">\n",
  156. " <strong>Workers:</strong> 6\n",
  157. " </td>\n",
  158. " </tr>\n",
  159. " <tr>\n",
  160. " <td style=\"text-align: left;\">\n",
  161. " <strong>Dashboard:</strong> <a href=\"http://127.0.0.1:57804/status\" target=\"_blank\">http://127.0.0.1:57804/status</a>\n",
  162. " </td>\n",
  163. " <td style=\"text-align: left;\">\n",
  164. " <strong>Total threads:</strong> 60\n",
  165. " </td>\n",
  166. " </tr>\n",
  167. " <tr>\n",
  168. " <td style=\"text-align: left;\">\n",
  169. " <strong>Started:</strong> Just now\n",
  170. " </td>\n",
  171. " <td style=\"text-align: left;\">\n",
  172. " <strong>Total memory:</strong> 55.88 GiB\n",
  173. " </td>\n",
  174. " </tr>\n",
  175. " </table>\n",
  176. " </div>\n",
  177. " </div>\n",
  178. "\n",
  179. " <details style=\"margin-left: 48px;\">\n",
  180. " <summary style=\"margin-bottom: 20px;\">\n",
  181. " <h3 style=\"display: inline;\">Workers</h3>\n",
  182. " </summary>\n",
  183. "\n",
  184. " \n",
  185. " <div style=\"margin-bottom: 20px;\">\n",
  186. " <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
  187. " <div style=\"margin-left: 48px;\">\n",
  188. " <details>\n",
  189. " <summary>\n",
  190. " <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 0</h4>\n",
  191. " </summary>\n",
  192. " <table style=\"width: 100%; text-align: left;\">\n",
  193. " <tr>\n",
  194. " <td style=\"text-align: left;\">\n",
  195. " <strong>Comm: </strong> tcp://127.0.0.1:57846\n",
  196. " </td>\n",
  197. " <td style=\"text-align: left;\">\n",
  198. " <strong>Total threads: </strong> 10\n",
  199. " </td>\n",
  200. " </tr>\n",
  201. " <tr>\n",
  202. " <td style=\"text-align: left;\">\n",
  203. " <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:57847/status\" target=\"_blank\">http://127.0.0.1:57847/status</a>\n",
  204. " </td>\n",
  205. " <td style=\"text-align: left;\">\n",
  206. " <strong>Memory: </strong> 9.31 GiB\n",
  207. " </td>\n",
  208. " </tr>\n",
  209. " <tr>\n",
  210. " <td style=\"text-align: left;\">\n",
  211. " <strong>Nanny: </strong> tcp://127.0.0.1:57810\n",
  212. " </td>\n",
  213. " <td style=\"text-align: left;\"></td>\n",
  214. " </tr>\n",
  215. " <tr>\n",
  216. " <td colspan=\"2\" style=\"text-align: left;\">\n",
  217. " <strong>Local directory: </strong> C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-o0fweh8b\n",
  218. " </td>\n",
  219. " </tr>\n",
  220. "\n",
  221. " \n",
  222. "\n",
  223. " \n",
  224. "\n",
  225. " </table>\n",
  226. " </details>\n",
  227. " </div>\n",
  228. " </div>\n",
  229. " \n",
  230. " <div style=\"margin-bottom: 20px;\">\n",
  231. " <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
  232. " <div style=\"margin-left: 48px;\">\n",
  233. " <details>\n",
  234. " <summary>\n",
  235. " <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 1</h4>\n",
  236. " </summary>\n",
  237. " <table style=\"width: 100%; text-align: left;\">\n",
  238. " <tr>\n",
  239. " <td style=\"text-align: left;\">\n",
  240. " <strong>Comm: </strong> tcp://127.0.0.1:57840\n",
  241. " </td>\n",
  242. " <td style=\"text-align: left;\">\n",
  243. " <strong>Total threads: </strong> 10\n",
  244. " </td>\n",
  245. " </tr>\n",
  246. " <tr>\n",
  247. " <td style=\"text-align: left;\">\n",
  248. " <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:57842/status\" target=\"_blank\">http://127.0.0.1:57842/status</a>\n",
  249. " </td>\n",
  250. " <td style=\"text-align: left;\">\n",
  251. " <strong>Memory: </strong> 9.31 GiB\n",
  252. " </td>\n",
  253. " </tr>\n",
  254. " <tr>\n",
  255. " <td style=\"text-align: left;\">\n",
  256. " <strong>Nanny: </strong> tcp://127.0.0.1:57811\n",
  257. " </td>\n",
  258. " <td style=\"text-align: left;\"></td>\n",
  259. " </tr>\n",
  260. " <tr>\n",
  261. " <td colspan=\"2\" style=\"text-align: left;\">\n",
  262. " <strong>Local directory: </strong> C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-toa8_m6l\n",
  263. " </td>\n",
  264. " </tr>\n",
  265. "\n",
  266. " \n",
  267. "\n",
  268. " \n",
  269. "\n",
  270. " </table>\n",
  271. " </details>\n",
  272. " </div>\n",
  273. " </div>\n",
  274. " \n",
  275. " <div style=\"margin-bottom: 20px;\">\n",
  276. " <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
  277. " <div style=\"margin-left: 48px;\">\n",
  278. " <details>\n",
  279. " <summary>\n",
  280. " <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 2</h4>\n",
  281. " </summary>\n",
  282. " <table style=\"width: 100%; text-align: left;\">\n",
  283. " <tr>\n",
  284. " <td style=\"text-align: left;\">\n",
  285. " <strong>Comm: </strong> tcp://127.0.0.1:57834\n",
  286. " </td>\n",
  287. " <td style=\"text-align: left;\">\n",
  288. " <strong>Total threads: </strong> 10\n",
  289. " </td>\n",
  290. " </tr>\n",
  291. " <tr>\n",
  292. " <td style=\"text-align: left;\">\n",
  293. " <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:57835/status\" target=\"_blank\">http://127.0.0.1:57835/status</a>\n",
  294. " </td>\n",
  295. " <td style=\"text-align: left;\">\n",
  296. " <strong>Memory: </strong> 9.31 GiB\n",
  297. " </td>\n",
  298. " </tr>\n",
  299. " <tr>\n",
  300. " <td style=\"text-align: left;\">\n",
  301. " <strong>Nanny: </strong> tcp://127.0.0.1:57812\n",
  302. " </td>\n",
  303. " <td style=\"text-align: left;\"></td>\n",
  304. " </tr>\n",
  305. " <tr>\n",
  306. " <td colspan=\"2\" style=\"text-align: left;\">\n",
  307. " <strong>Local directory: </strong> C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-_6d2fpz3\n",
  308. " </td>\n",
  309. " </tr>\n",
  310. "\n",
  311. " \n",
  312. "\n",
  313. " \n",
  314. "\n",
  315. " </table>\n",
  316. " </details>\n",
  317. " </div>\n",
  318. " </div>\n",
  319. " \n",
  320. " <div style=\"margin-bottom: 20px;\">\n",
  321. " <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
  322. " <div style=\"margin-left: 48px;\">\n",
  323. " <details>\n",
  324. " <summary>\n",
  325. " <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 3</h4>\n",
  326. " </summary>\n",
  327. " <table style=\"width: 100%; text-align: left;\">\n",
  328. " <tr>\n",
  329. " <td style=\"text-align: left;\">\n",
  330. " <strong>Comm: </strong> tcp://127.0.0.1:57837\n",
  331. " </td>\n",
  332. " <td style=\"text-align: left;\">\n",
  333. " <strong>Total threads: </strong> 10\n",
  334. " </td>\n",
  335. " </tr>\n",
  336. " <tr>\n",
  337. " <td style=\"text-align: left;\">\n",
  338. " <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:57838/status\" target=\"_blank\">http://127.0.0.1:57838/status</a>\n",
  339. " </td>\n",
  340. " <td style=\"text-align: left;\">\n",
  341. " <strong>Memory: </strong> 9.31 GiB\n",
  342. " </td>\n",
  343. " </tr>\n",
  344. " <tr>\n",
  345. " <td style=\"text-align: left;\">\n",
  346. " <strong>Nanny: </strong> tcp://127.0.0.1:57813\n",
  347. " </td>\n",
  348. " <td style=\"text-align: left;\"></td>\n",
  349. " </tr>\n",
  350. " <tr>\n",
  351. " <td colspan=\"2\" style=\"text-align: left;\">\n",
  352. " <strong>Local directory: </strong> C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-jquysjj5\n",
  353. " </td>\n",
  354. " </tr>\n",
  355. "\n",
  356. " \n",
  357. "\n",
  358. " \n",
  359. "\n",
  360. " </table>\n",
  361. " </details>\n",
  362. " </div>\n",
  363. " </div>\n",
  364. " \n",
  365. " <div style=\"margin-bottom: 20px;\">\n",
  366. " <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
  367. " <div style=\"margin-left: 48px;\">\n",
  368. " <details>\n",
  369. " <summary>\n",
  370. " <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 4</h4>\n",
  371. " </summary>\n",
  372. " <table style=\"width: 100%; text-align: left;\">\n",
  373. " <tr>\n",
  374. " <td style=\"text-align: left;\">\n",
  375. " <strong>Comm: </strong> tcp://127.0.0.1:57849\n",
  376. " </td>\n",
  377. " <td style=\"text-align: left;\">\n",
  378. " <strong>Total threads: </strong> 10\n",
  379. " </td>\n",
  380. " </tr>\n",
  381. " <tr>\n",
  382. " <td style=\"text-align: left;\">\n",
  383. " <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:57850/status\" target=\"_blank\">http://127.0.0.1:57850/status</a>\n",
  384. " </td>\n",
  385. " <td style=\"text-align: left;\">\n",
  386. " <strong>Memory: </strong> 9.31 GiB\n",
  387. " </td>\n",
  388. " </tr>\n",
  389. " <tr>\n",
  390. " <td style=\"text-align: left;\">\n",
  391. " <strong>Nanny: </strong> tcp://127.0.0.1:57814\n",
  392. " </td>\n",
  393. " <td style=\"text-align: left;\"></td>\n",
  394. " </tr>\n",
  395. " <tr>\n",
  396. " <td colspan=\"2\" style=\"text-align: left;\">\n",
  397. " <strong>Local directory: </strong> C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-okg6p_4_\n",
  398. " </td>\n",
  399. " </tr>\n",
  400. "\n",
  401. " \n",
  402. "\n",
  403. " \n",
  404. "\n",
  405. " </table>\n",
  406. " </details>\n",
  407. " </div>\n",
  408. " </div>\n",
  409. " \n",
  410. " <div style=\"margin-bottom: 20px;\">\n",
  411. " <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
  412. " <div style=\"margin-left: 48px;\">\n",
  413. " <details>\n",
  414. " <summary>\n",
  415. " <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 5</h4>\n",
  416. " </summary>\n",
  417. " <table style=\"width: 100%; text-align: left;\">\n",
  418. " <tr>\n",
  419. " <td style=\"text-align: left;\">\n",
  420. " <strong>Comm: </strong> tcp://127.0.0.1:57841\n",
  421. " </td>\n",
  422. " <td style=\"text-align: left;\">\n",
  423. " <strong>Total threads: </strong> 10\n",
  424. " </td>\n",
  425. " </tr>\n",
  426. " <tr>\n",
  427. " <td style=\"text-align: left;\">\n",
  428. " <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:57843/status\" target=\"_blank\">http://127.0.0.1:57843/status</a>\n",
  429. " </td>\n",
  430. " <td style=\"text-align: left;\">\n",
  431. " <strong>Memory: </strong> 9.31 GiB\n",
  432. " </td>\n",
  433. " </tr>\n",
  434. " <tr>\n",
  435. " <td style=\"text-align: left;\">\n",
  436. " <strong>Nanny: </strong> tcp://127.0.0.1:57815\n",
  437. " </td>\n",
  438. " <td style=\"text-align: left;\"></td>\n",
  439. " </tr>\n",
  440. " <tr>\n",
  441. " <td colspan=\"2\" style=\"text-align: left;\">\n",
  442. " <strong>Local directory: </strong> C:\\Users\\data\\AppData\\Local\\Temp\\dask-worker-space\\worker-iszz7udd\n",
  443. " </td>\n",
  444. " </tr>\n",
  445. "\n",
  446. " \n",
  447. "\n",
  448. " \n",
  449. "\n",
  450. " </table>\n",
  451. " </details>\n",
  452. " </div>\n",
  453. " </div>\n",
  454. " \n",
  455. "\n",
  456. " </details>\n",
  457. "</div>\n",
  458. "\n",
  459. " </details>\n",
  460. " </div>\n",
  461. "</div>\n",
  462. " </details>\n",
  463. " \n",
  464. "\n",
  465. " </div>\n",
  466. "</div>"
  467. ],
  468. "text/plain": [
  469. "<Client: 'tcp://127.0.0.1:57807' processes=6 threads=60, memory=55.88 GiB>"
  470. ]
  471. },
  472. "execution_count": 2,
  473. "metadata": {},
  474. "output_type": "execute_result"
  475. }
  476. ],
  477. "source": [
  478. "from dask.distributed import Client\n",
  479. "client = Client(n_workers=6, threads_per_worker=10, processes=True, memory_limit='10GB')\n",
  480. "client"
  481. ]
  482. },
  483. {
  484. "cell_type": "markdown",
  485. "metadata": {},
  486. "source": [
  487. "# Load Data"
  488. ]
  489. },
  490. {
  491. "cell_type": "markdown",
  492. "metadata": {},
  493. "source": [
  494. "## With Modulation"
  495. ]
  496. },
  497. {
  498. "cell_type": "code",
  499. "execution_count": 3,
  500. "metadata": {},
  501. "outputs": [
  502. {
  503. "data": {
  504. "text/html": [
  505. "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
  506. "<defs>\n",
  507. "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
  508. "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
  509. "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
  510. "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
  511. "</symbol>\n",
  512. "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
  513. "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
  514. "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
  515. "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
  516. "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
  517. "</symbol>\n",
  518. "</defs>\n",
  519. "</svg>\n",
  520. "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
  521. " *\n",
  522. " */\n",
  523. "\n",
  524. ":root {\n",
  525. " --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
  526. " --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
  527. " --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
  528. " --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
  529. " --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
  530. " --xr-background-color: var(--jp-layout-color0, white);\n",
  531. " --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
  532. " --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
  533. "}\n",
  534. "\n",
  535. "html[theme=dark],\n",
  536. "body[data-theme=dark],\n",
  537. "body.vscode-dark {\n",
  538. " --xr-font-color0: rgba(255, 255, 255, 1);\n",
  539. " --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
  540. " --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
  541. " --xr-border-color: #1F1F1F;\n",
  542. " --xr-disabled-color: #515151;\n",
  543. " --xr-background-color: #111111;\n",
  544. " --xr-background-color-row-even: #111111;\n",
  545. " --xr-background-color-row-odd: #313131;\n",
  546. "}\n",
  547. "\n",
  548. ".xr-wrap {\n",
  549. " display: block !important;\n",
  550. " min-width: 300px;\n",
  551. " max-width: 700px;\n",
  552. "}\n",
  553. "\n",
  554. ".xr-text-repr-fallback {\n",
  555. " /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
  556. " display: none;\n",
  557. "}\n",
  558. "\n",
  559. ".xr-header {\n",
  560. " padding-top: 6px;\n",
  561. " padding-bottom: 6px;\n",
  562. " margin-bottom: 4px;\n",
  563. " border-bottom: solid 1px var(--xr-border-color);\n",
  564. "}\n",
  565. "\n",
  566. ".xr-header > div,\n",
  567. ".xr-header > ul {\n",
  568. " display: inline;\n",
  569. " margin-top: 0;\n",
  570. " margin-bottom: 0;\n",
  571. "}\n",
  572. "\n",
  573. ".xr-obj-type,\n",
  574. ".xr-array-name {\n",
  575. " margin-left: 2px;\n",
  576. " margin-right: 10px;\n",
  577. "}\n",
  578. "\n",
  579. ".xr-obj-type {\n",
  580. " color: var(--xr-font-color2);\n",
  581. "}\n",
  582. "\n",
  583. ".xr-sections {\n",
  584. " padding-left: 0 !important;\n",
  585. " display: grid;\n",
  586. " grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
  587. "}\n",
  588. "\n",
  589. ".xr-section-item {\n",
  590. " display: contents;\n",
  591. "}\n",
  592. "\n",
  593. ".xr-section-item input {\n",
  594. " display: none;\n",
  595. "}\n",
  596. "\n",
  597. ".xr-section-item input + label {\n",
  598. " color: var(--xr-disabled-color);\n",
  599. "}\n",
  600. "\n",
  601. ".xr-section-item input:enabled + label {\n",
  602. " cursor: pointer;\n",
  603. " color: var(--xr-font-color2);\n",
  604. "}\n",
  605. "\n",
  606. ".xr-section-item input:enabled + label:hover {\n",
  607. " color: var(--xr-font-color0);\n",
  608. "}\n",
  609. "\n",
  610. ".xr-section-summary {\n",
  611. " grid-column: 1;\n",
  612. " color: var(--xr-font-color2);\n",
  613. " font-weight: 500;\n",
  614. "}\n",
  615. "\n",
  616. ".xr-section-summary > span {\n",
  617. " display: inline-block;\n",
  618. " padding-left: 0.5em;\n",
  619. "}\n",
  620. "\n",
  621. ".xr-section-summary-in:disabled + label {\n",
  622. " color: var(--xr-font-color2);\n",
  623. "}\n",
  624. "\n",
  625. ".xr-section-summary-in + label:before {\n",
  626. " display: inline-block;\n",
  627. " content: '►';\n",
  628. " font-size: 11px;\n",
  629. " width: 15px;\n",
  630. " text-align: center;\n",
  631. "}\n",
  632. "\n",
  633. ".xr-section-summary-in:disabled + label:before {\n",
  634. " color: var(--xr-disabled-color);\n",
  635. "}\n",
  636. "\n",
  637. ".xr-section-summary-in:checked + label:before {\n",
  638. " content: '▼';\n",
  639. "}\n",
  640. "\n",
  641. ".xr-section-summary-in:checked + label > span {\n",
  642. " display: none;\n",
  643. "}\n",
  644. "\n",
  645. ".xr-section-summary,\n",
  646. ".xr-section-inline-details {\n",
  647. " padding-top: 4px;\n",
  648. " padding-bottom: 4px;\n",
  649. "}\n",
  650. "\n",
  651. ".xr-section-inline-details {\n",
  652. " grid-column: 2 / -1;\n",
  653. "}\n",
  654. "\n",
  655. ".xr-section-details {\n",
  656. " display: none;\n",
  657. " grid-column: 1 / -1;\n",
  658. " margin-bottom: 5px;\n",
  659. "}\n",
  660. "\n",
  661. ".xr-section-summary-in:checked ~ .xr-section-details {\n",
  662. " display: contents;\n",
  663. "}\n",
  664. "\n",
  665. ".xr-array-wrap {\n",
  666. " grid-column: 1 / -1;\n",
  667. " display: grid;\n",
  668. " grid-template-columns: 20px auto;\n",
  669. "}\n",
  670. "\n",
  671. ".xr-array-wrap > label {\n",
  672. " grid-column: 1;\n",
  673. " vertical-align: top;\n",
  674. "}\n",
  675. "\n",
  676. ".xr-preview {\n",
  677. " color: var(--xr-font-color3);\n",
  678. "}\n",
  679. "\n",
  680. ".xr-array-preview,\n",
  681. ".xr-array-data {\n",
  682. " padding: 0 5px !important;\n",
  683. " grid-column: 2;\n",
  684. "}\n",
  685. "\n",
  686. ".xr-array-data,\n",
  687. ".xr-array-in:checked ~ .xr-array-preview {\n",
  688. " display: none;\n",
  689. "}\n",
  690. "\n",
  691. ".xr-array-in:checked ~ .xr-array-data,\n",
  692. ".xr-array-preview {\n",
  693. " display: inline-block;\n",
  694. "}\n",
  695. "\n",
  696. ".xr-dim-list {\n",
  697. " display: inline-block !important;\n",
  698. " list-style: none;\n",
  699. " padding: 0 !important;\n",
  700. " margin: 0;\n",
  701. "}\n",
  702. "\n",
  703. ".xr-dim-list li {\n",
  704. " display: inline-block;\n",
  705. " padding: 0;\n",
  706. " margin: 0;\n",
  707. "}\n",
  708. "\n",
  709. ".xr-dim-list:before {\n",
  710. " content: '(';\n",
  711. "}\n",
  712. "\n",
  713. ".xr-dim-list:after {\n",
  714. " content: ')';\n",
  715. "}\n",
  716. "\n",
  717. ".xr-dim-list li:not(:last-child):after {\n",
  718. " content: ',';\n",
  719. " padding-right: 5px;\n",
  720. "}\n",
  721. "\n",
  722. ".xr-has-index {\n",
  723. " font-weight: bold;\n",
  724. "}\n",
  725. "\n",
  726. ".xr-var-list,\n",
  727. ".xr-var-item {\n",
  728. " display: contents;\n",
  729. "}\n",
  730. "\n",
  731. ".xr-var-item > div,\n",
  732. ".xr-var-item label,\n",
  733. ".xr-var-item > .xr-var-name span {\n",
  734. " background-color: var(--xr-background-color-row-even);\n",
  735. " margin-bottom: 0;\n",
  736. "}\n",
  737. "\n",
  738. ".xr-var-item > .xr-var-name:hover span {\n",
  739. " padding-right: 5px;\n",
  740. "}\n",
  741. "\n",
  742. ".xr-var-list > li:nth-child(odd) > div,\n",
  743. ".xr-var-list > li:nth-child(odd) > label,\n",
  744. ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
  745. " background-color: var(--xr-background-color-row-odd);\n",
  746. "}\n",
  747. "\n",
  748. ".xr-var-name {\n",
  749. " grid-column: 1;\n",
  750. "}\n",
  751. "\n",
  752. ".xr-var-dims {\n",
  753. " grid-column: 2;\n",
  754. "}\n",
  755. "\n",
  756. ".xr-var-dtype {\n",
  757. " grid-column: 3;\n",
  758. " text-align: right;\n",
  759. " color: var(--xr-font-color2);\n",
  760. "}\n",
  761. "\n",
  762. ".xr-var-preview {\n",
  763. " grid-column: 4;\n",
  764. "}\n",
  765. "\n",
  766. ".xr-index-preview {\n",
  767. " grid-column: 2 / 5;\n",
  768. " color: var(--xr-font-color2);\n",
  769. "}\n",
  770. "\n",
  771. ".xr-var-name,\n",
  772. ".xr-var-dims,\n",
  773. ".xr-var-dtype,\n",
  774. ".xr-preview,\n",
  775. ".xr-attrs dt {\n",
  776. " white-space: nowrap;\n",
  777. " overflow: hidden;\n",
  778. " text-overflow: ellipsis;\n",
  779. " padding-right: 10px;\n",
  780. "}\n",
  781. "\n",
  782. ".xr-var-name:hover,\n",
  783. ".xr-var-dims:hover,\n",
  784. ".xr-var-dtype:hover,\n",
  785. ".xr-attrs dt:hover {\n",
  786. " overflow: visible;\n",
  787. " width: auto;\n",
  788. " z-index: 1;\n",
  789. "}\n",
  790. "\n",
  791. ".xr-var-attrs,\n",
  792. ".xr-var-data,\n",
  793. ".xr-index-data {\n",
  794. " display: none;\n",
  795. " background-color: var(--xr-background-color) !important;\n",
  796. " padding-bottom: 5px !important;\n",
  797. "}\n",
  798. "\n",
  799. ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
  800. ".xr-var-data-in:checked ~ .xr-var-data,\n",
  801. ".xr-index-data-in:checked ~ .xr-index-data {\n",
  802. " display: block;\n",
  803. "}\n",
  804. "\n",
  805. ".xr-var-data > table {\n",
  806. " float: right;\n",
  807. "}\n",
  808. "\n",
  809. ".xr-var-name span,\n",
  810. ".xr-var-data,\n",
  811. ".xr-index-name div,\n",
  812. ".xr-index-data,\n",
  813. ".xr-attrs {\n",
  814. " padding-left: 25px !important;\n",
  815. "}\n",
  816. "\n",
  817. ".xr-attrs,\n",
  818. ".xr-var-attrs,\n",
  819. ".xr-var-data,\n",
  820. ".xr-index-data {\n",
  821. " grid-column: 1 / -1;\n",
  822. "}\n",
  823. "\n",
  824. "dl.xr-attrs {\n",
  825. " padding: 0;\n",
  826. " margin: 0;\n",
  827. " display: grid;\n",
  828. " grid-template-columns: 125px auto;\n",
  829. "}\n",
  830. "\n",
  831. ".xr-attrs dt,\n",
  832. ".xr-attrs dd {\n",
  833. " padding: 0;\n",
  834. " margin: 0;\n",
  835. " float: left;\n",
  836. " padding-right: 10px;\n",
  837. " width: auto;\n",
  838. "}\n",
  839. "\n",
  840. ".xr-attrs dt {\n",
  841. " font-weight: normal;\n",
  842. " grid-column: 1;\n",
  843. "}\n",
  844. "\n",
  845. ".xr-attrs dt:hover span {\n",
  846. " display: inline-block;\n",
  847. " background: var(--xr-background-color);\n",
  848. " padding-right: 10px;\n",
  849. "}\n",
  850. "\n",
  851. ".xr-attrs dd {\n",
  852. " grid-column: 2;\n",
  853. " white-space: pre-wrap;\n",
  854. " word-break: break-all;\n",
  855. "}\n",
  856. "\n",
  857. ".xr-icon-database,\n",
  858. ".xr-icon-file-text2,\n",
  859. ".xr-no-icon {\n",
  860. " display: inline-block;\n",
  861. " vertical-align: middle;\n",
  862. " width: 1em;\n",
  863. " height: 1.5em !important;\n",
  864. " stroke-width: 0;\n",
  865. " stroke: currentColor;\n",
  866. " fill: currentColor;\n",
  867. "}\n",
  868. "</style><pre class='xr-text-repr-fallback'>&lt;xarray.DataArray &#x27;CH1&#x27; (x: 6000000)&gt;\n",
  869. "array([0.329, 0.317, 0.309, ..., 0.293, 0.305, 0.309])\n",
  870. "Coordinates:\n",
  871. " * x (x) float64 0.0 2e-06 4e-06 6e-06 8e-06 ... 12.0 12.0 12.0 12.0</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-array-name'>'CH1'</div><ul class='xr-dim-list'><li><span class='xr-has-index'>x</span>: 6000000</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-cd69e8af-adb0-4d58-8d60-e88ea56db5b0' class='xr-array-in' type='checkbox' checked><label for='section-cd69e8af-adb0-4d58-8d60-e88ea56db5b0' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>0.329 0.317 0.309 0.305 0.309 0.317 ... 0.273 0.281 0.293 0.305 0.309</span></div><div class='xr-array-data'><pre>array([0.329, 0.317, 0.309, ..., 0.293, 0.305, 0.309])</pre></div></div></li><li class='xr-section-item'><input id='section-bc920d53-f2bd-40af-bc4d-8f591ba63893' class='xr-section-summary-in' type='checkbox' checked><label for='section-bc920d53-f2bd-40af-bc4d-8f591ba63893' class='xr-section-summary' >Coordinates: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>x</span></div><div class='xr-var-dims'>(x)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.0 2e-06 4e-06 ... 12.0 12.0 12.0</div><input id='attrs-acbf94cc-4894-45e9-8a54-c2bd6c8d627b' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-acbf94cc-4894-45e9-8a54-c2bd6c8d627b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-40334779-fbfa-4a07-a197-7deb87a48270' class='xr-var-data-in' type='checkbox'><label for='data-40334779-fbfa-4a07-a197-7deb87a48270' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([0.000000e+00, 2.000000e-06, 4.000000e-06, ..., 1.199999e+01,\n",
  872. " 1.200000e+01, 1.200000e+01])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-95913ac9-6209-44de-a908-d3343b013a35' class='xr-section-summary-in' type='checkbox' ><label for='section-95913ac9-6209-44de-a908-d3343b013a35' class='xr-section-summary' >Indexes: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>x</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-2e83bee0-b8fc-40ad-9a4f-f16a2f330b4a' class='xr-index-data-in' type='checkbox'/><label for='index-2e83bee0-b8fc-40ad-9a4f-f16a2f330b4a' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Float64Index([ 0.0, 2e-06,\n",
  873. " 4e-06, 6e-06,\n",
  874. " 8e-06, 9.999999999999999e-06,\n",
  875. " 1.2e-05, 1.4e-05,\n",
  876. " 1.6e-05, 1.8e-05,\n",
  877. " ...\n",
  878. " 11.999979999999999, 11.999982,\n",
  879. " 11.999984, 11.999986,\n",
  880. " 11.999988, 11.999989999999999,\n",
  881. " 11.999991999999999, 11.999994,\n",
  882. " 11.999996, 11.999998],\n",
  883. " dtype=&#x27;float64&#x27;, name=&#x27;x&#x27;, length=6000000))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-ba5d9fa6-1249-46a1-897b-98e029355046' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-ba5d9fa6-1249-46a1-897b-98e029355046' class='xr-section-summary' title='Expand/collapse section'>Attributes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'></dl></div></li></ul></div></div>"
  884. ],
  885. "text/plain": [
  886. "<xarray.DataArray 'CH1' (x: 6000000)>\n",
  887. "array([0.329, 0.317, 0.309, ..., 0.293, 0.305, 0.309])\n",
  888. "Coordinates:\n",
  889. " * x (x) float64 0.0 2e-06 4e-06 6e-06 8e-06 ... 12.0 12.0 12.0 12.0"
  890. ]
  891. },
  892. "execution_count": 3,
  893. "metadata": {},
  894. "output_type": "execute_result"
  895. }
  896. ],
  897. "source": [
  898. "filePath = r'F:\\Jianshun\\AccordionLatticeShorTermStability\\20230808\\withModulation.csv'\n",
  899. "\n",
  900. "data = read_csv_file(filePath, csvEngine='pandas', csvKwargs=dict(header=[0], skiprows=[1], encoding = \"ISO-8859-1\",))\n",
  901. "dataWithModulation = xr.DataArray(\n",
  902. " data=data.CH1[0,:],\n",
  903. " dims=['x'],\n",
  904. " coords=dict(\n",
  905. " x=data.X[0,:].to_numpy() * 2e-6\n",
  906. " )\n",
  907. ")\n",
  908. "dataWithModulation"
  909. ]
  910. },
  911. {
  912. "cell_type": "code",
  913. "execution_count": 4,
  914. "metadata": {},
  915. "outputs": [
  916. {
  917. "data": {
  918. "image/png": "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
  919. "text/plain": [
  920. "<Figure size 640x480 with 1 Axes>"
  921. ]
  922. },
  923. "metadata": {},
  924. "output_type": "display_data"
  925. }
  926. ],
  927. "source": [
  928. "dataWithModulation.plot.errorbar()\n",
  929. "plt.show()"
  930. ]
  931. },
  932. {
  933. "cell_type": "code",
  934. "execution_count": 5,
  935. "metadata": {},
  936. "outputs": [],
  937. "source": [
  938. "dataWithModulation = dataWithModulation - dataWithModulation.mean()"
  939. ]
  940. },
  941. {
  942. "cell_type": "code",
  943. "execution_count": 6,
  944. "metadata": {},
  945. "outputs": [
  946. {
  947. "data": {
  948. "image/png": "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
  949. "text/plain": [
  950. "<Figure size 640x480 with 1 Axes>"
  951. ]
  952. },
  953. "metadata": {},
  954. "output_type": "display_data"
  955. }
  956. ],
  957. "source": [
  958. "fig = plt.figure()\n",
  959. "ax = fig.gca()\n",
  960. "\n",
  961. "dataWithModulation.plot.errorbar(ax=ax)\n",
  962. "# ax.set_xlim([0.5, 1])\n",
  963. "# ax.set_ylim([0, 0.25])\n",
  964. "plt.show()"
  965. ]
  966. },
  967. {
  968. "cell_type": "code",
  969. "execution_count": 7,
  970. "metadata": {},
  971. "outputs": [],
  972. "source": [
  973. "dataWithModulationFFT = fft(dataWithModulation)"
  974. ]
  975. },
  976. {
  977. "cell_type": "code",
  978. "execution_count": 8,
  979. "metadata": {},
  980. "outputs": [
  981. {
  982. "data": {
  983. "image/png": "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
  984. "text/plain": [
  985. "<Figure size 640x480 with 1 Axes>"
  986. ]
  987. },
  988. "metadata": {},
  989. "output_type": "display_data"
  990. }
  991. ],
  992. "source": [
  993. "fig = plt.figure()\n",
  994. "ax = fig.gca()\n",
  995. "\n",
  996. "abs(dataWithModulationFFT).plot.errorbar(ax=ax, x='freq_x')\n",
  997. "ax.set_xlim([0, 500])\n",
  998. "# ax.set_ylim([0, 0.25])\n",
  999. "plt.show()"
  1000. ]
  1001. },
  1002. {
  1003. "cell_type": "markdown",
  1004. "metadata": {},
  1005. "source": [
  1006. "## Without Modulation"
  1007. ]
  1008. },
  1009. {
  1010. "cell_type": "code",
  1011. "execution_count": 9,
  1012. "metadata": {},
  1013. "outputs": [
  1014. {
  1015. "data": {
  1016. "text/html": [
  1017. "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
  1018. "<defs>\n",
  1019. "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
  1020. "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
  1021. "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
  1022. "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
  1023. "</symbol>\n",
  1024. "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
  1025. "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
  1026. "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
  1027. "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
  1028. "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
  1029. "</symbol>\n",
  1030. "</defs>\n",
  1031. "</svg>\n",
  1032. "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
  1033. " *\n",
  1034. " */\n",
  1035. "\n",
  1036. ":root {\n",
  1037. " --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
  1038. " --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
  1039. " --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
  1040. " --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
  1041. " --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
  1042. " --xr-background-color: var(--jp-layout-color0, white);\n",
  1043. " --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
  1044. " --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
  1045. "}\n",
  1046. "\n",
  1047. "html[theme=dark],\n",
  1048. "body[data-theme=dark],\n",
  1049. "body.vscode-dark {\n",
  1050. " --xr-font-color0: rgba(255, 255, 255, 1);\n",
  1051. " --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
  1052. " --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
  1053. " --xr-border-color: #1F1F1F;\n",
  1054. " --xr-disabled-color: #515151;\n",
  1055. " --xr-background-color: #111111;\n",
  1056. " --xr-background-color-row-even: #111111;\n",
  1057. " --xr-background-color-row-odd: #313131;\n",
  1058. "}\n",
  1059. "\n",
  1060. ".xr-wrap {\n",
  1061. " display: block !important;\n",
  1062. " min-width: 300px;\n",
  1063. " max-width: 700px;\n",
  1064. "}\n",
  1065. "\n",
  1066. ".xr-text-repr-fallback {\n",
  1067. " /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
  1068. " display: none;\n",
  1069. "}\n",
  1070. "\n",
  1071. ".xr-header {\n",
  1072. " padding-top: 6px;\n",
  1073. " padding-bottom: 6px;\n",
  1074. " margin-bottom: 4px;\n",
  1075. " border-bottom: solid 1px var(--xr-border-color);\n",
  1076. "}\n",
  1077. "\n",
  1078. ".xr-header > div,\n",
  1079. ".xr-header > ul {\n",
  1080. " display: inline;\n",
  1081. " margin-top: 0;\n",
  1082. " margin-bottom: 0;\n",
  1083. "}\n",
  1084. "\n",
  1085. ".xr-obj-type,\n",
  1086. ".xr-array-name {\n",
  1087. " margin-left: 2px;\n",
  1088. " margin-right: 10px;\n",
  1089. "}\n",
  1090. "\n",
  1091. ".xr-obj-type {\n",
  1092. " color: var(--xr-font-color2);\n",
  1093. "}\n",
  1094. "\n",
  1095. ".xr-sections {\n",
  1096. " padding-left: 0 !important;\n",
  1097. " display: grid;\n",
  1098. " grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
  1099. "}\n",
  1100. "\n",
  1101. ".xr-section-item {\n",
  1102. " display: contents;\n",
  1103. "}\n",
  1104. "\n",
  1105. ".xr-section-item input {\n",
  1106. " display: none;\n",
  1107. "}\n",
  1108. "\n",
  1109. ".xr-section-item input + label {\n",
  1110. " color: var(--xr-disabled-color);\n",
  1111. "}\n",
  1112. "\n",
  1113. ".xr-section-item input:enabled + label {\n",
  1114. " cursor: pointer;\n",
  1115. " color: var(--xr-font-color2);\n",
  1116. "}\n",
  1117. "\n",
  1118. ".xr-section-item input:enabled + label:hover {\n",
  1119. " color: var(--xr-font-color0);\n",
  1120. "}\n",
  1121. "\n",
  1122. ".xr-section-summary {\n",
  1123. " grid-column: 1;\n",
  1124. " color: var(--xr-font-color2);\n",
  1125. " font-weight: 500;\n",
  1126. "}\n",
  1127. "\n",
  1128. ".xr-section-summary > span {\n",
  1129. " display: inline-block;\n",
  1130. " padding-left: 0.5em;\n",
  1131. "}\n",
  1132. "\n",
  1133. ".xr-section-summary-in:disabled + label {\n",
  1134. " color: var(--xr-font-color2);\n",
  1135. "}\n",
  1136. "\n",
  1137. ".xr-section-summary-in + label:before {\n",
  1138. " display: inline-block;\n",
  1139. " content: '►';\n",
  1140. " font-size: 11px;\n",
  1141. " width: 15px;\n",
  1142. " text-align: center;\n",
  1143. "}\n",
  1144. "\n",
  1145. ".xr-section-summary-in:disabled + label:before {\n",
  1146. " color: var(--xr-disabled-color);\n",
  1147. "}\n",
  1148. "\n",
  1149. ".xr-section-summary-in:checked + label:before {\n",
  1150. " content: '▼';\n",
  1151. "}\n",
  1152. "\n",
  1153. ".xr-section-summary-in:checked + label > span {\n",
  1154. " display: none;\n",
  1155. "}\n",
  1156. "\n",
  1157. ".xr-section-summary,\n",
  1158. ".xr-section-inline-details {\n",
  1159. " padding-top: 4px;\n",
  1160. " padding-bottom: 4px;\n",
  1161. "}\n",
  1162. "\n",
  1163. ".xr-section-inline-details {\n",
  1164. " grid-column: 2 / -1;\n",
  1165. "}\n",
  1166. "\n",
  1167. ".xr-section-details {\n",
  1168. " display: none;\n",
  1169. " grid-column: 1 / -1;\n",
  1170. " margin-bottom: 5px;\n",
  1171. "}\n",
  1172. "\n",
  1173. ".xr-section-summary-in:checked ~ .xr-section-details {\n",
  1174. " display: contents;\n",
  1175. "}\n",
  1176. "\n",
  1177. ".xr-array-wrap {\n",
  1178. " grid-column: 1 / -1;\n",
  1179. " display: grid;\n",
  1180. " grid-template-columns: 20px auto;\n",
  1181. "}\n",
  1182. "\n",
  1183. ".xr-array-wrap > label {\n",
  1184. " grid-column: 1;\n",
  1185. " vertical-align: top;\n",
  1186. "}\n",
  1187. "\n",
  1188. ".xr-preview {\n",
  1189. " color: var(--xr-font-color3);\n",
  1190. "}\n",
  1191. "\n",
  1192. ".xr-array-preview,\n",
  1193. ".xr-array-data {\n",
  1194. " padding: 0 5px !important;\n",
  1195. " grid-column: 2;\n",
  1196. "}\n",
  1197. "\n",
  1198. ".xr-array-data,\n",
  1199. ".xr-array-in:checked ~ .xr-array-preview {\n",
  1200. " display: none;\n",
  1201. "}\n",
  1202. "\n",
  1203. ".xr-array-in:checked ~ .xr-array-data,\n",
  1204. ".xr-array-preview {\n",
  1205. " display: inline-block;\n",
  1206. "}\n",
  1207. "\n",
  1208. ".xr-dim-list {\n",
  1209. " display: inline-block !important;\n",
  1210. " list-style: none;\n",
  1211. " padding: 0 !important;\n",
  1212. " margin: 0;\n",
  1213. "}\n",
  1214. "\n",
  1215. ".xr-dim-list li {\n",
  1216. " display: inline-block;\n",
  1217. " padding: 0;\n",
  1218. " margin: 0;\n",
  1219. "}\n",
  1220. "\n",
  1221. ".xr-dim-list:before {\n",
  1222. " content: '(';\n",
  1223. "}\n",
  1224. "\n",
  1225. ".xr-dim-list:after {\n",
  1226. " content: ')';\n",
  1227. "}\n",
  1228. "\n",
  1229. ".xr-dim-list li:not(:last-child):after {\n",
  1230. " content: ',';\n",
  1231. " padding-right: 5px;\n",
  1232. "}\n",
  1233. "\n",
  1234. ".xr-has-index {\n",
  1235. " font-weight: bold;\n",
  1236. "}\n",
  1237. "\n",
  1238. ".xr-var-list,\n",
  1239. ".xr-var-item {\n",
  1240. " display: contents;\n",
  1241. "}\n",
  1242. "\n",
  1243. ".xr-var-item > div,\n",
  1244. ".xr-var-item label,\n",
  1245. ".xr-var-item > .xr-var-name span {\n",
  1246. " background-color: var(--xr-background-color-row-even);\n",
  1247. " margin-bottom: 0;\n",
  1248. "}\n",
  1249. "\n",
  1250. ".xr-var-item > .xr-var-name:hover span {\n",
  1251. " padding-right: 5px;\n",
  1252. "}\n",
  1253. "\n",
  1254. ".xr-var-list > li:nth-child(odd) > div,\n",
  1255. ".xr-var-list > li:nth-child(odd) > label,\n",
  1256. ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
  1257. " background-color: var(--xr-background-color-row-odd);\n",
  1258. "}\n",
  1259. "\n",
  1260. ".xr-var-name {\n",
  1261. " grid-column: 1;\n",
  1262. "}\n",
  1263. "\n",
  1264. ".xr-var-dims {\n",
  1265. " grid-column: 2;\n",
  1266. "}\n",
  1267. "\n",
  1268. ".xr-var-dtype {\n",
  1269. " grid-column: 3;\n",
  1270. " text-align: right;\n",
  1271. " color: var(--xr-font-color2);\n",
  1272. "}\n",
  1273. "\n",
  1274. ".xr-var-preview {\n",
  1275. " grid-column: 4;\n",
  1276. "}\n",
  1277. "\n",
  1278. ".xr-index-preview {\n",
  1279. " grid-column: 2 / 5;\n",
  1280. " color: var(--xr-font-color2);\n",
  1281. "}\n",
  1282. "\n",
  1283. ".xr-var-name,\n",
  1284. ".xr-var-dims,\n",
  1285. ".xr-var-dtype,\n",
  1286. ".xr-preview,\n",
  1287. ".xr-attrs dt {\n",
  1288. " white-space: nowrap;\n",
  1289. " overflow: hidden;\n",
  1290. " text-overflow: ellipsis;\n",
  1291. " padding-right: 10px;\n",
  1292. "}\n",
  1293. "\n",
  1294. ".xr-var-name:hover,\n",
  1295. ".xr-var-dims:hover,\n",
  1296. ".xr-var-dtype:hover,\n",
  1297. ".xr-attrs dt:hover {\n",
  1298. " overflow: visible;\n",
  1299. " width: auto;\n",
  1300. " z-index: 1;\n",
  1301. "}\n",
  1302. "\n",
  1303. ".xr-var-attrs,\n",
  1304. ".xr-var-data,\n",
  1305. ".xr-index-data {\n",
  1306. " display: none;\n",
  1307. " background-color: var(--xr-background-color) !important;\n",
  1308. " padding-bottom: 5px !important;\n",
  1309. "}\n",
  1310. "\n",
  1311. ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
  1312. ".xr-var-data-in:checked ~ .xr-var-data,\n",
  1313. ".xr-index-data-in:checked ~ .xr-index-data {\n",
  1314. " display: block;\n",
  1315. "}\n",
  1316. "\n",
  1317. ".xr-var-data > table {\n",
  1318. " float: right;\n",
  1319. "}\n",
  1320. "\n",
  1321. ".xr-var-name span,\n",
  1322. ".xr-var-data,\n",
  1323. ".xr-index-name div,\n",
  1324. ".xr-index-data,\n",
  1325. ".xr-attrs {\n",
  1326. " padding-left: 25px !important;\n",
  1327. "}\n",
  1328. "\n",
  1329. ".xr-attrs,\n",
  1330. ".xr-var-attrs,\n",
  1331. ".xr-var-data,\n",
  1332. ".xr-index-data {\n",
  1333. " grid-column: 1 / -1;\n",
  1334. "}\n",
  1335. "\n",
  1336. "dl.xr-attrs {\n",
  1337. " padding: 0;\n",
  1338. " margin: 0;\n",
  1339. " display: grid;\n",
  1340. " grid-template-columns: 125px auto;\n",
  1341. "}\n",
  1342. "\n",
  1343. ".xr-attrs dt,\n",
  1344. ".xr-attrs dd {\n",
  1345. " padding: 0;\n",
  1346. " margin: 0;\n",
  1347. " float: left;\n",
  1348. " padding-right: 10px;\n",
  1349. " width: auto;\n",
  1350. "}\n",
  1351. "\n",
  1352. ".xr-attrs dt {\n",
  1353. " font-weight: normal;\n",
  1354. " grid-column: 1;\n",
  1355. "}\n",
  1356. "\n",
  1357. ".xr-attrs dt:hover span {\n",
  1358. " display: inline-block;\n",
  1359. " background: var(--xr-background-color);\n",
  1360. " padding-right: 10px;\n",
  1361. "}\n",
  1362. "\n",
  1363. ".xr-attrs dd {\n",
  1364. " grid-column: 2;\n",
  1365. " white-space: pre-wrap;\n",
  1366. " word-break: break-all;\n",
  1367. "}\n",
  1368. "\n",
  1369. ".xr-icon-database,\n",
  1370. ".xr-icon-file-text2,\n",
  1371. ".xr-no-icon {\n",
  1372. " display: inline-block;\n",
  1373. " vertical-align: middle;\n",
  1374. " width: 1em;\n",
  1375. " height: 1.5em !important;\n",
  1376. " stroke-width: 0;\n",
  1377. " stroke: currentColor;\n",
  1378. " fill: currentColor;\n",
  1379. "}\n",
  1380. "</style><pre class='xr-text-repr-fallback'>&lt;xarray.DataArray &#x27;CH1&#x27; (x: 6000000)&gt;\n",
  1381. "array([0.501, 0.485, 0.473, ..., 0.501, 0.485, 0.477])\n",
  1382. "Coordinates:\n",
  1383. " * x (x) float64 0.0 2e-06 4e-06 6e-06 8e-06 ... 12.0 12.0 12.0 12.0</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-array-name'>'CH1'</div><ul class='xr-dim-list'><li><span class='xr-has-index'>x</span>: 6000000</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-fe3719a9-f72c-43e4-a4f2-36d213e72f04' class='xr-array-in' type='checkbox' checked><label for='section-fe3719a9-f72c-43e4-a4f2-36d213e72f04' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>0.501 0.485 0.473 0.465 0.469 0.477 ... 0.509 0.513 0.501 0.485 0.477</span></div><div class='xr-array-data'><pre>array([0.501, 0.485, 0.473, ..., 0.501, 0.485, 0.477])</pre></div></div></li><li class='xr-section-item'><input id='section-5397a53a-6e8e-42d7-9c49-a622d357f6f6' class='xr-section-summary-in' type='checkbox' checked><label for='section-5397a53a-6e8e-42d7-9c49-a622d357f6f6' class='xr-section-summary' >Coordinates: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>x</span></div><div class='xr-var-dims'>(x)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.0 2e-06 4e-06 ... 12.0 12.0 12.0</div><input id='attrs-424b853b-629f-4f96-ae98-8b9c32ea38de' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-424b853b-629f-4f96-ae98-8b9c32ea38de' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-3805d3f8-8130-48f7-a818-fedd5f92f304' class='xr-var-data-in' type='checkbox'><label for='data-3805d3f8-8130-48f7-a818-fedd5f92f304' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([0.000000e+00, 2.000000e-06, 4.000000e-06, ..., 1.199999e+01,\n",
  1384. " 1.200000e+01, 1.200000e+01])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-21c608c9-9a05-41d1-b33b-fde7446732f7' class='xr-section-summary-in' type='checkbox' ><label for='section-21c608c9-9a05-41d1-b33b-fde7446732f7' class='xr-section-summary' >Indexes: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>x</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-c1452f30-9046-4fb4-9e30-f4bc2670a046' class='xr-index-data-in' type='checkbox'/><label for='index-c1452f30-9046-4fb4-9e30-f4bc2670a046' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Float64Index([ 0.0, 2e-06,\n",
  1385. " 4e-06, 6e-06,\n",
  1386. " 8e-06, 9.999999999999999e-06,\n",
  1387. " 1.2e-05, 1.4e-05,\n",
  1388. " 1.6e-05, 1.8e-05,\n",
  1389. " ...\n",
  1390. " 11.999979999999999, 11.999982,\n",
  1391. " 11.999984, 11.999986,\n",
  1392. " 11.999988, 11.999989999999999,\n",
  1393. " 11.999991999999999, 11.999994,\n",
  1394. " 11.999996, 11.999998],\n",
  1395. " dtype=&#x27;float64&#x27;, name=&#x27;x&#x27;, length=6000000))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-2eb331e4-d81c-48b8-8452-b948b64c7a6f' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-2eb331e4-d81c-48b8-8452-b948b64c7a6f' class='xr-section-summary' title='Expand/collapse section'>Attributes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'></dl></div></li></ul></div></div>"
  1396. ],
  1397. "text/plain": [
  1398. "<xarray.DataArray 'CH1' (x: 6000000)>\n",
  1399. "array([0.501, 0.485, 0.473, ..., 0.501, 0.485, 0.477])\n",
  1400. "Coordinates:\n",
  1401. " * x (x) float64 0.0 2e-06 4e-06 6e-06 8e-06 ... 12.0 12.0 12.0 12.0"
  1402. ]
  1403. },
  1404. "execution_count": 9,
  1405. "metadata": {},
  1406. "output_type": "execute_result"
  1407. }
  1408. ],
  1409. "source": [
  1410. "filePath = r'F:\\Jianshun\\AccordionLatticeShorTermStability\\20230808\\withoutModulation.csv'\n",
  1411. "\n",
  1412. "data = read_csv_file(filePath, csvEngine='pandas', csvKwargs=dict(header=[0], skiprows=[1], encoding = \"ISO-8859-1\",))\n",
  1413. "dataWithoutModulation = xr.DataArray(\n",
  1414. " data=data.CH1[0,:],\n",
  1415. " dims=['x'],\n",
  1416. " coords=dict(\n",
  1417. " x=data.X[0,:].to_numpy() * 2e-6\n",
  1418. " )\n",
  1419. ")\n",
  1420. "dataWithoutModulation"
  1421. ]
  1422. },
  1423. {
  1424. "cell_type": "code",
  1425. "execution_count": 10,
  1426. "metadata": {},
  1427. "outputs": [
  1428. {
  1429. "data": {
  1430. "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnoAAAHGCAYAAADjSiafAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAA9hAAAPYQGoP6dpAABZFElEQVR4nO3deXwTdf4/8NekTY80bVpAbmy5ikArQqnKJVRqBQVxReRyKXKI97oq/GRhocByF/0u64ULy6EoWvHmpgsiSGGLIFAqZ1NKoQItTY+0aZPM74+aMaVNmqTpkenr+XjkYch8Pp95Z5wkr04y8xFEURRBRERERLKjaOgCiIiIiKhuMOgRERERyRSDHhEREZFMMegRERERyRSDHhEREZFMMegRERERyRSDHhEREZFMMegRERERyRSDHhEREZFMeTd0AWSf2WzG1atXERgYCEEQGrocIiIicoAoiigsLETbtm2hUDTgcTXRwxQUFIjz588XIyIixICAADEoKEjs27evmJiYKBoMBpfGnD9/vgigxtv58+edGnfYsGFS38GDB7tUW1ZWlkO18cYbb7zxxhtvje+WlZXl0ue/u3jUEb3MzEwMGTIEWq0WAKBSqWAwGJCamorU1FRs3rwZycnJCAkJcWl8pVKJZs2a2Vzu7e345tqwYQN27tzpUh3WAgMDAQBZWVkICgqq9XhERERU9woKCtChQwfpc7yheEzQM5lMGDlyJLRaLdq0aYNNmzYhNjYWZrMZSUlJmD59Oo4fP46JEydi+/btLq2jf//+2L9/f61rzcnJwWuvvYbg4GC0adMG6enpLo9l+bo2KCiIQY+IiMjDNPTPrjzmZIwNGzbg1KlTAICtW7ciNjYWAKBQKDB27FisWbMGALBjxw4kJyc3WJ0A8MILL+DWrVtYuXIlWrZs2aC1EBERUdPlMUFv48aNAICYmBj069evyvJx48ahY8eOAIBNmzbVa23WPv/8c3z11VcYPHgwpk6d2mB1EBEREXlE0NPr9Th06BAAYPjw4dW2EQQBw4YNAwDs3r273mqzlpubi5dffhm+vr748MMPG/xwLRERETVtHhH00tPTYTabAQARERE221mW5eTkIC8vz+n1pKWlISIiAv7+/lCr1ejWrZv02z9HvPLKK7h+/Tr+/ve/Izw83On1ExEREbmTRwS9q1evSvfbtWtns531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
  1431. "text/plain": [
  1432. "<Figure size 640x480 with 1 Axes>"
  1433. ]
  1434. },
  1435. "metadata": {},
  1436. "output_type": "display_data"
  1437. }
  1438. ],
  1439. "source": [
  1440. "dataWithoutModulation.plot.errorbar()\n",
  1441. "plt.show()"
  1442. ]
  1443. },
  1444. {
  1445. "cell_type": "code",
  1446. "execution_count": 11,
  1447. "metadata": {},
  1448. "outputs": [],
  1449. "source": [
  1450. "dataWithoutModulation = dataWithoutModulation - dataWithoutModulation.mean()"
  1451. ]
  1452. },
  1453. {
  1454. "cell_type": "code",
  1455. "execution_count": 12,
  1456. "metadata": {},
  1457. "outputs": [
  1458. {
  1459. "data": {
  1460. "image/png": "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
  1461. "text/plain": [
  1462. "<Figure size 640x480 with 1 Axes>"
  1463. ]
  1464. },
  1465. "metadata": {},
  1466. "output_type": "display_data"
  1467. }
  1468. ],
  1469. "source": [
  1470. "fig = plt.figure()\n",
  1471. "ax = fig.gca()\n",
  1472. "\n",
  1473. "dataWithoutModulation.plot.errorbar(ax=ax)\n",
  1474. "# ax.set_xlim([0.5, 1])\n",
  1475. "# ax.set_ylim([0, 0.25])\n",
  1476. "plt.show()"
  1477. ]
  1478. },
  1479. {
  1480. "cell_type": "code",
  1481. "execution_count": 13,
  1482. "metadata": {},
  1483. "outputs": [],
  1484. "source": [
  1485. "dataWithoutModulationFFT = fft(dataWithoutModulation)"
  1486. ]
  1487. },
  1488. {
  1489. "cell_type": "code",
  1490. "execution_count": 35,
  1491. "metadata": {},
  1492. "outputs": [
  1493. {
  1494. "data": {
  1495. "image/png": "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
  1496. "text/plain": [
  1497. "<Figure size 640x480 with 1 Axes>"
  1498. ]
  1499. },
  1500. "metadata": {},
  1501. "output_type": "display_data"
  1502. }
  1503. ],
  1504. "source": [
  1505. "fig = plt.figure()\n",
  1506. "ax = fig.gca()\n",
  1507. "\n",
  1508. "abs(dataWithoutModulationFFT).plot.errorbar(ax=ax, x='freq_x')\n",
  1509. "ax.set_xlim([0, 50e3])\n",
  1510. "# ax.set_ylim([0, 0.25])\n",
  1511. "plt.show()"
  1512. ]
  1513. },
  1514. {
  1515. "cell_type": "markdown",
  1516. "metadata": {},
  1517. "source": [
  1518. "# Data analyse"
  1519. ]
  1520. },
  1521. {
  1522. "cell_type": "markdown",
  1523. "metadata": {},
  1524. "source": [
  1525. "## Transform intensity to phase"
  1526. ]
  1527. },
  1528. {
  1529. "cell_type": "code",
  1530. "execution_count": 15,
  1531. "metadata": {},
  1532. "outputs": [],
  1533. "source": [
  1534. "from Analyser.FitAnalyser import NewFitModel"
  1535. ]
  1536. },
  1537. {
  1538. "cell_type": "code",
  1539. "execution_count": 16,
  1540. "metadata": {},
  1541. "outputs": [],
  1542. "source": [
  1543. "def sine_with_offset(x, amplitude=1.0, frequency=1.0, shift=0.0, offset=0.0):\n",
  1544. " \"\"\"Return a sinusoidal function.\n",
  1545. "\n",
  1546. " sine(x, amplitude, frequency, shift) =\n",
  1547. " amplitude * sin(x*frequency + shift)\n",
  1548. "\n",
  1549. " \"\"\"\n",
  1550. " return amplitude*np.sin(x*frequency + shift) + offset"
  1551. ]
  1552. },
  1553. {
  1554. "cell_type": "code",
  1555. "execution_count": 17,
  1556. "metadata": {},
  1557. "outputs": [],
  1558. "source": [
  1559. "fitModel = NewFitModel(sine_with_offset)\n",
  1560. "fitAnalyser = FitAnalyser(fitModel, fitDim=1)"
  1561. ]
  1562. },
  1563. {
  1564. "cell_type": "code",
  1565. "execution_count": 36,
  1566. "metadata": {},
  1567. "outputs": [],
  1568. "source": [
  1569. "params = fitAnalyser.fitModel.make_params()\n",
  1570. "params.add(name=\"amplitude\", value= 0.2, max=np.inf, min=0, vary=True)\n",
  1571. "params.add(name=\"frequency\", value= 1*2*np.pi, max=np.inf, min=0, vary=True)\n",
  1572. "params.add(name=\"shift\", value= np.pi/2, max=2*np.pi, min=0, vary=True)\n",
  1573. "params.add(name=\"offset\", value= 0, max=np.inf, min=-np.inf, vary=True)"
  1574. ]
  1575. },
  1576. {
  1577. "cell_type": "code",
  1578. "execution_count": 45,
  1579. "metadata": {},
  1580. "outputs": [],
  1581. "source": [
  1582. "# param = fitAnalyser.guess(dataWithModulation)\n",
  1583. "fitResult = fitAnalyser.fit(\n",
  1584. " dataWithModulation.where(-0.1<dataWithModulation).where(dataWithModulation<0.1), \n",
  1585. " params\n",
  1586. ")\n",
  1587. "fitCurve = fitAnalyser.eval(fitResult, x=dataWithModulation.x)"
  1588. ]
  1589. },
  1590. {
  1591. "cell_type": "code",
  1592. "execution_count": 64,
  1593. "metadata": {},
  1594. "outputs": [
  1595. {
  1596. "data": {
  1597. "image/png": "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
  1598. "text/plain": [
  1599. "<Figure size 640x480 with 1 Axes>"
  1600. ]
  1601. },
  1602. "metadata": {},
  1603. "output_type": "display_data"
  1604. }
  1605. ],
  1606. "source": [
  1607. "fig = plt.figure()\n",
  1608. "ax = fig.gca()\n",
  1609. "dataWithModulation.plot.errorbar(ax=ax)\n",
  1610. "fitCurve.plot.errorbar(ax=ax)\n",
  1611. "ax.plot([0, 12.5], [0.1, 0.1], 'r--')\n",
  1612. "ax.plot([0, 12.5], [-0.1, -0.1], 'r--')\n",
  1613. "plt.xlabel('t (s)')\n",
  1614. "plt.ylabel('PD signal (V)')\n",
  1615. "plt.show()"
  1616. ]
  1617. },
  1618. {
  1619. "cell_type": "code",
  1620. "execution_count": 39,
  1621. "metadata": {},
  1622. "outputs": [
  1623. {
  1624. "data": {
  1625. "text/html": [
  1626. "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
  1627. "<defs>\n",
  1628. "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
  1629. "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
  1630. "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
  1631. "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
  1632. "</symbol>\n",
  1633. "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
  1634. "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
  1635. "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
  1636. "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
  1637. "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
  1638. "</symbol>\n",
  1639. "</defs>\n",
  1640. "</svg>\n",
  1641. "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
  1642. " *\n",
  1643. " */\n",
  1644. "\n",
  1645. ":root {\n",
  1646. " --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
  1647. " --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
  1648. " --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
  1649. " --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
  1650. " --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
  1651. " --xr-background-color: var(--jp-layout-color0, white);\n",
  1652. " --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
  1653. " --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
  1654. "}\n",
  1655. "\n",
  1656. "html[theme=dark],\n",
  1657. "body[data-theme=dark],\n",
  1658. "body.vscode-dark {\n",
  1659. " --xr-font-color0: rgba(255, 255, 255, 1);\n",
  1660. " --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
  1661. " --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
  1662. " --xr-border-color: #1F1F1F;\n",
  1663. " --xr-disabled-color: #515151;\n",
  1664. " --xr-background-color: #111111;\n",
  1665. " --xr-background-color-row-even: #111111;\n",
  1666. " --xr-background-color-row-odd: #313131;\n",
  1667. "}\n",
  1668. "\n",
  1669. ".xr-wrap {\n",
  1670. " display: block !important;\n",
  1671. " min-width: 300px;\n",
  1672. " max-width: 700px;\n",
  1673. "}\n",
  1674. "\n",
  1675. ".xr-text-repr-fallback {\n",
  1676. " /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
  1677. " display: none;\n",
  1678. "}\n",
  1679. "\n",
  1680. ".xr-header {\n",
  1681. " padding-top: 6px;\n",
  1682. " padding-bottom: 6px;\n",
  1683. " margin-bottom: 4px;\n",
  1684. " border-bottom: solid 1px var(--xr-border-color);\n",
  1685. "}\n",
  1686. "\n",
  1687. ".xr-header > div,\n",
  1688. ".xr-header > ul {\n",
  1689. " display: inline;\n",
  1690. " margin-top: 0;\n",
  1691. " margin-bottom: 0;\n",
  1692. "}\n",
  1693. "\n",
  1694. ".xr-obj-type,\n",
  1695. ".xr-array-name {\n",
  1696. " margin-left: 2px;\n",
  1697. " margin-right: 10px;\n",
  1698. "}\n",
  1699. "\n",
  1700. ".xr-obj-type {\n",
  1701. " color: var(--xr-font-color2);\n",
  1702. "}\n",
  1703. "\n",
  1704. ".xr-sections {\n",
  1705. " padding-left: 0 !important;\n",
  1706. " display: grid;\n",
  1707. " grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
  1708. "}\n",
  1709. "\n",
  1710. ".xr-section-item {\n",
  1711. " display: contents;\n",
  1712. "}\n",
  1713. "\n",
  1714. ".xr-section-item input {\n",
  1715. " display: none;\n",
  1716. "}\n",
  1717. "\n",
  1718. ".xr-section-item input + label {\n",
  1719. " color: var(--xr-disabled-color);\n",
  1720. "}\n",
  1721. "\n",
  1722. ".xr-section-item input:enabled + label {\n",
  1723. " cursor: pointer;\n",
  1724. " color: var(--xr-font-color2);\n",
  1725. "}\n",
  1726. "\n",
  1727. ".xr-section-item input:enabled + label:hover {\n",
  1728. " color: var(--xr-font-color0);\n",
  1729. "}\n",
  1730. "\n",
  1731. ".xr-section-summary {\n",
  1732. " grid-column: 1;\n",
  1733. " color: var(--xr-font-color2);\n",
  1734. " font-weight: 500;\n",
  1735. "}\n",
  1736. "\n",
  1737. ".xr-section-summary > span {\n",
  1738. " display: inline-block;\n",
  1739. " padding-left: 0.5em;\n",
  1740. "}\n",
  1741. "\n",
  1742. ".xr-section-summary-in:disabled + label {\n",
  1743. " color: var(--xr-font-color2);\n",
  1744. "}\n",
  1745. "\n",
  1746. ".xr-section-summary-in + label:before {\n",
  1747. " display: inline-block;\n",
  1748. " content: '►';\n",
  1749. " font-size: 11px;\n",
  1750. " width: 15px;\n",
  1751. " text-align: center;\n",
  1752. "}\n",
  1753. "\n",
  1754. ".xr-section-summary-in:disabled + label:before {\n",
  1755. " color: var(--xr-disabled-color);\n",
  1756. "}\n",
  1757. "\n",
  1758. ".xr-section-summary-in:checked + label:before {\n",
  1759. " content: '▼';\n",
  1760. "}\n",
  1761. "\n",
  1762. ".xr-section-summary-in:checked + label > span {\n",
  1763. " display: none;\n",
  1764. "}\n",
  1765. "\n",
  1766. ".xr-section-summary,\n",
  1767. ".xr-section-inline-details {\n",
  1768. " padding-top: 4px;\n",
  1769. " padding-bottom: 4px;\n",
  1770. "}\n",
  1771. "\n",
  1772. ".xr-section-inline-details {\n",
  1773. " grid-column: 2 / -1;\n",
  1774. "}\n",
  1775. "\n",
  1776. ".xr-section-details {\n",
  1777. " display: none;\n",
  1778. " grid-column: 1 / -1;\n",
  1779. " margin-bottom: 5px;\n",
  1780. "}\n",
  1781. "\n",
  1782. ".xr-section-summary-in:checked ~ .xr-section-details {\n",
  1783. " display: contents;\n",
  1784. "}\n",
  1785. "\n",
  1786. ".xr-array-wrap {\n",
  1787. " grid-column: 1 / -1;\n",
  1788. " display: grid;\n",
  1789. " grid-template-columns: 20px auto;\n",
  1790. "}\n",
  1791. "\n",
  1792. ".xr-array-wrap > label {\n",
  1793. " grid-column: 1;\n",
  1794. " vertical-align: top;\n",
  1795. "}\n",
  1796. "\n",
  1797. ".xr-preview {\n",
  1798. " color: var(--xr-font-color3);\n",
  1799. "}\n",
  1800. "\n",
  1801. ".xr-array-preview,\n",
  1802. ".xr-array-data {\n",
  1803. " padding: 0 5px !important;\n",
  1804. " grid-column: 2;\n",
  1805. "}\n",
  1806. "\n",
  1807. ".xr-array-data,\n",
  1808. ".xr-array-in:checked ~ .xr-array-preview {\n",
  1809. " display: none;\n",
  1810. "}\n",
  1811. "\n",
  1812. ".xr-array-in:checked ~ .xr-array-data,\n",
  1813. ".xr-array-preview {\n",
  1814. " display: inline-block;\n",
  1815. "}\n",
  1816. "\n",
  1817. ".xr-dim-list {\n",
  1818. " display: inline-block !important;\n",
  1819. " list-style: none;\n",
  1820. " padding: 0 !important;\n",
  1821. " margin: 0;\n",
  1822. "}\n",
  1823. "\n",
  1824. ".xr-dim-list li {\n",
  1825. " display: inline-block;\n",
  1826. " padding: 0;\n",
  1827. " margin: 0;\n",
  1828. "}\n",
  1829. "\n",
  1830. ".xr-dim-list:before {\n",
  1831. " content: '(';\n",
  1832. "}\n",
  1833. "\n",
  1834. ".xr-dim-list:after {\n",
  1835. " content: ')';\n",
  1836. "}\n",
  1837. "\n",
  1838. ".xr-dim-list li:not(:last-child):after {\n",
  1839. " content: ',';\n",
  1840. " padding-right: 5px;\n",
  1841. "}\n",
  1842. "\n",
  1843. ".xr-has-index {\n",
  1844. " font-weight: bold;\n",
  1845. "}\n",
  1846. "\n",
  1847. ".xr-var-list,\n",
  1848. ".xr-var-item {\n",
  1849. " display: contents;\n",
  1850. "}\n",
  1851. "\n",
  1852. ".xr-var-item > div,\n",
  1853. ".xr-var-item label,\n",
  1854. ".xr-var-item > .xr-var-name span {\n",
  1855. " background-color: var(--xr-background-color-row-even);\n",
  1856. " margin-bottom: 0;\n",
  1857. "}\n",
  1858. "\n",
  1859. ".xr-var-item > .xr-var-name:hover span {\n",
  1860. " padding-right: 5px;\n",
  1861. "}\n",
  1862. "\n",
  1863. ".xr-var-list > li:nth-child(odd) > div,\n",
  1864. ".xr-var-list > li:nth-child(odd) > label,\n",
  1865. ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
  1866. " background-color: var(--xr-background-color-row-odd);\n",
  1867. "}\n",
  1868. "\n",
  1869. ".xr-var-name {\n",
  1870. " grid-column: 1;\n",
  1871. "}\n",
  1872. "\n",
  1873. ".xr-var-dims {\n",
  1874. " grid-column: 2;\n",
  1875. "}\n",
  1876. "\n",
  1877. ".xr-var-dtype {\n",
  1878. " grid-column: 3;\n",
  1879. " text-align: right;\n",
  1880. " color: var(--xr-font-color2);\n",
  1881. "}\n",
  1882. "\n",
  1883. ".xr-var-preview {\n",
  1884. " grid-column: 4;\n",
  1885. "}\n",
  1886. "\n",
  1887. ".xr-index-preview {\n",
  1888. " grid-column: 2 / 5;\n",
  1889. " color: var(--xr-font-color2);\n",
  1890. "}\n",
  1891. "\n",
  1892. ".xr-var-name,\n",
  1893. ".xr-var-dims,\n",
  1894. ".xr-var-dtype,\n",
  1895. ".xr-preview,\n",
  1896. ".xr-attrs dt {\n",
  1897. " white-space: nowrap;\n",
  1898. " overflow: hidden;\n",
  1899. " text-overflow: ellipsis;\n",
  1900. " padding-right: 10px;\n",
  1901. "}\n",
  1902. "\n",
  1903. ".xr-var-name:hover,\n",
  1904. ".xr-var-dims:hover,\n",
  1905. ".xr-var-dtype:hover,\n",
  1906. ".xr-attrs dt:hover {\n",
  1907. " overflow: visible;\n",
  1908. " width: auto;\n",
  1909. " z-index: 1;\n",
  1910. "}\n",
  1911. "\n",
  1912. ".xr-var-attrs,\n",
  1913. ".xr-var-data,\n",
  1914. ".xr-index-data {\n",
  1915. " display: none;\n",
  1916. " background-color: var(--xr-background-color) !important;\n",
  1917. " padding-bottom: 5px !important;\n",
  1918. "}\n",
  1919. "\n",
  1920. ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
  1921. ".xr-var-data-in:checked ~ .xr-var-data,\n",
  1922. ".xr-index-data-in:checked ~ .xr-index-data {\n",
  1923. " display: block;\n",
  1924. "}\n",
  1925. "\n",
  1926. ".xr-var-data > table {\n",
  1927. " float: right;\n",
  1928. "}\n",
  1929. "\n",
  1930. ".xr-var-name span,\n",
  1931. ".xr-var-data,\n",
  1932. ".xr-index-name div,\n",
  1933. ".xr-index-data,\n",
  1934. ".xr-attrs {\n",
  1935. " padding-left: 25px !important;\n",
  1936. "}\n",
  1937. "\n",
  1938. ".xr-attrs,\n",
  1939. ".xr-var-attrs,\n",
  1940. ".xr-var-data,\n",
  1941. ".xr-index-data {\n",
  1942. " grid-column: 1 / -1;\n",
  1943. "}\n",
  1944. "\n",
  1945. "dl.xr-attrs {\n",
  1946. " padding: 0;\n",
  1947. " margin: 0;\n",
  1948. " display: grid;\n",
  1949. " grid-template-columns: 125px auto;\n",
  1950. "}\n",
  1951. "\n",
  1952. ".xr-attrs dt,\n",
  1953. ".xr-attrs dd {\n",
  1954. " padding: 0;\n",
  1955. " margin: 0;\n",
  1956. " float: left;\n",
  1957. " padding-right: 10px;\n",
  1958. " width: auto;\n",
  1959. "}\n",
  1960. "\n",
  1961. ".xr-attrs dt {\n",
  1962. " font-weight: normal;\n",
  1963. " grid-column: 1;\n",
  1964. "}\n",
  1965. "\n",
  1966. ".xr-attrs dt:hover span {\n",
  1967. " display: inline-block;\n",
  1968. " background: var(--xr-background-color);\n",
  1969. " padding-right: 10px;\n",
  1970. "}\n",
  1971. "\n",
  1972. ".xr-attrs dd {\n",
  1973. " grid-column: 2;\n",
  1974. " white-space: pre-wrap;\n",
  1975. " word-break: break-all;\n",
  1976. "}\n",
  1977. "\n",
  1978. ".xr-icon-database,\n",
  1979. ".xr-icon-file-text2,\n",
  1980. ".xr-no-icon {\n",
  1981. " display: inline-block;\n",
  1982. " vertical-align: middle;\n",
  1983. " width: 1em;\n",
  1984. " height: 1.5em !important;\n",
  1985. " stroke-width: 0;\n",
  1986. " stroke: currentColor;\n",
  1987. " fill: currentColor;\n",
  1988. "}\n",
  1989. "</style><pre class='xr-text-repr-fallback'>&lt;xarray.Dataset&gt;\n",
  1990. "Dimensions: ()\n",
  1991. "Data variables:\n",
  1992. " amplitude float64 0.2026\n",
  1993. " frequency float64 6.283\n",
  1994. " shift float64 3.003\n",
  1995. " offset float64 2.599e-06</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-0e946e25-39d4-48d4-b84f-54b7aa323331' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-0e946e25-39d4-48d4-b84f-54b7aa323331' class='xr-section-summary' title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-11404388-0b91-434d-b3e5-b176cb78aa6d' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-11404388-0b91-434d-b3e5-b176cb78aa6d' class='xr-section-summary' title='Expand/collapse section'>Coordinates: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'></ul></div></li><li class='xr-section-item'><input id='section-b374b4d9-7237-410f-968c-42131949e58b' class='xr-section-summary-in' type='checkbox' checked><label for='section-b374b4d9-7237-410f-968c-42131949e58b' class='xr-section-summary' >Data variables: <span>(4)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>amplitude</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.2026</div><input id='attrs-1d120eea-f2d7-4e0a-b0b7-b9d724874cec' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-1d120eea-f2d7-4e0a-b0b7-b9d724874cec' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-ecd60395-5201-408b-996d-a7f4f2ff4c7e' class='xr-var-data-in' type='checkbox'><label for='data-ecd60395-5201-408b-996d-a7f4f2ff4c7e' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array(0.20263455)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>frequency</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>6.283</div><input id='attrs-a15c60eb-d28b-4a3b-9bc3-c5c266189e35' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-a15c60eb-d28b-4a3b-9bc3-c5c266189e35' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5829198a-541a-4384-a9d2-50d6d6a4ab16' class='xr-var-data-in' type='checkbox'><label for='data-5829198a-541a-4384-a9d2-50d6d6a4ab16' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array(6.28264352)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>shift</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>3.003</div><input id='attrs-34209ee8-ce22-4624-8824-91c47595ea3b' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-34209ee8-ce22-4624-8824-91c47595ea3b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-61002a13-5e14-442e-9ae4-5521942dc934' class='xr-var-data-in' type='checkbox'><label for='data-61002a13-5e14-442e-9ae4-5521942dc934' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array(3.00276275)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>offset</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-pre
  1996. ],
  1997. "text/plain": [
  1998. "<xarray.Dataset>\n",
  1999. "Dimensions: ()\n",
  2000. "Data variables:\n",
  2001. " amplitude float64 0.2026\n",
  2002. " frequency float64 6.283\n",
  2003. " shift float64 3.003\n",
  2004. " offset float64 2.599e-06"
  2005. ]
  2006. },
  2007. "execution_count": 39,
  2008. "metadata": {},
  2009. "output_type": "execute_result"
  2010. }
  2011. ],
  2012. "source": [
  2013. "val = fitAnalyser.get_fit_value(fitResult)\n",
  2014. "val"
  2015. ]
  2016. },
  2017. {
  2018. "cell_type": "code",
  2019. "execution_count": 47,
  2020. "metadata": {},
  2021. "outputs": [],
  2022. "source": [
  2023. "def voltage_to_phase(voltage):\n",
  2024. " # voltage = (voltage - val.offset)\n",
  2025. " # voltage = voltage / val.amplitude\n",
  2026. " voltage_frac, b= np.modf(voltage.to_numpy())\n",
  2027. " voltage = xr.where(np.abs(voltage) > 1, np.arcsin(voltage_frac) + np.trunc(voltage) * np.pi, np.arcsin(voltage))\n",
  2028. " voltage = np.arcsin(voltage)\n",
  2029. " return voltage"
  2030. ]
  2031. },
  2032. {
  2033. "cell_type": "code",
  2034. "execution_count": 48,
  2035. "metadata": {},
  2036. "outputs": [],
  2037. "source": [
  2038. "def autocorr(x):\n",
  2039. " result = np.correlate(x, x, mode='full')\n",
  2040. " return result[len(result)//2:]"
  2041. ]
  2042. },
  2043. {
  2044. "cell_type": "code",
  2045. "execution_count": 49,
  2046. "metadata": {},
  2047. "outputs": [],
  2048. "source": [
  2049. "def get_noise_spectrum(data):\n",
  2050. " data = data - data.mean()\n",
  2051. " dataAutoCorr = autocorr(data)\n",
  2052. " dataAutoCorr = xr.DataArray(\n",
  2053. " data=dataAutoCorr,\n",
  2054. " dims=['x'],\n",
  2055. " coords=dict(\n",
  2056. " x=data.x\n",
  2057. " )\n",
  2058. " )\n",
  2059. " \n",
  2060. " dataNoiseSpec = fft(dataAutoCorr)\n",
  2061. " \n",
  2062. " return dataNoiseSpec\n",
  2063. " "
  2064. ]
  2065. },
  2066. {
  2067. "cell_type": "code",
  2068. "execution_count": 50,
  2069. "metadata": {},
  2070. "outputs": [],
  2071. "source": [
  2072. "phaseWithoutModulation = voltage_to_phase(dataWithoutModulation)"
  2073. ]
  2074. },
  2075. {
  2076. "cell_type": "code",
  2077. "execution_count": 68,
  2078. "metadata": {},
  2079. "outputs": [
  2080. {
  2081. "data": {
  2082. "image/png": "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
  2083. "text/plain": [
  2084. "<Figure size 640x480 with 1 Axes>"
  2085. ]
  2086. },
  2087. "metadata": {},
  2088. "output_type": "display_data"
  2089. }
  2090. ],
  2091. "source": [
  2092. "fig = plt.figure()\n",
  2093. "ax = fig.gca()\n",
  2094. "\n",
  2095. "(phaseWithoutModulation/np.pi).plot.errorbar(ax=ax)\n",
  2096. "plt.show()"
  2097. ]
  2098. },
  2099. {
  2100. "cell_type": "code",
  2101. "execution_count": 53,
  2102. "metadata": {},
  2103. "outputs": [],
  2104. "source": [
  2105. "noiseWithoutModulation = get_noise_spectrum(phaseWithoutModulation)"
  2106. ]
  2107. },
  2108. {
  2109. "cell_type": "code",
  2110. "execution_count": 55,
  2111. "metadata": {},
  2112. "outputs": [
  2113. {
  2114. "data": {
  2115. "text/html": [
  2116. "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
  2117. "<defs>\n",
  2118. "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
  2119. "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
  2120. "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
  2121. "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
  2122. "</symbol>\n",
  2123. "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
  2124. "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
  2125. "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
  2126. "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
  2127. "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
  2128. "</symbol>\n",
  2129. "</defs>\n",
  2130. "</svg>\n",
  2131. "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
  2132. " *\n",
  2133. " */\n",
  2134. "\n",
  2135. ":root {\n",
  2136. " --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
  2137. " --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
  2138. " --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
  2139. " --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
  2140. " --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
  2141. " --xr-background-color: var(--jp-layout-color0, white);\n",
  2142. " --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
  2143. " --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
  2144. "}\n",
  2145. "\n",
  2146. "html[theme=dark],\n",
  2147. "body[data-theme=dark],\n",
  2148. "body.vscode-dark {\n",
  2149. " --xr-font-color0: rgba(255, 255, 255, 1);\n",
  2150. " --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
  2151. " --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
  2152. " --xr-border-color: #1F1F1F;\n",
  2153. " --xr-disabled-color: #515151;\n",
  2154. " --xr-background-color: #111111;\n",
  2155. " --xr-background-color-row-even: #111111;\n",
  2156. " --xr-background-color-row-odd: #313131;\n",
  2157. "}\n",
  2158. "\n",
  2159. ".xr-wrap {\n",
  2160. " display: block !important;\n",
  2161. " min-width: 300px;\n",
  2162. " max-width: 700px;\n",
  2163. "}\n",
  2164. "\n",
  2165. ".xr-text-repr-fallback {\n",
  2166. " /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
  2167. " display: none;\n",
  2168. "}\n",
  2169. "\n",
  2170. ".xr-header {\n",
  2171. " padding-top: 6px;\n",
  2172. " padding-bottom: 6px;\n",
  2173. " margin-bottom: 4px;\n",
  2174. " border-bottom: solid 1px var(--xr-border-color);\n",
  2175. "}\n",
  2176. "\n",
  2177. ".xr-header > div,\n",
  2178. ".xr-header > ul {\n",
  2179. " display: inline;\n",
  2180. " margin-top: 0;\n",
  2181. " margin-bottom: 0;\n",
  2182. "}\n",
  2183. "\n",
  2184. ".xr-obj-type,\n",
  2185. ".xr-array-name {\n",
  2186. " margin-left: 2px;\n",
  2187. " margin-right: 10px;\n",
  2188. "}\n",
  2189. "\n",
  2190. ".xr-obj-type {\n",
  2191. " color: var(--xr-font-color2);\n",
  2192. "}\n",
  2193. "\n",
  2194. ".xr-sections {\n",
  2195. " padding-left: 0 !important;\n",
  2196. " display: grid;\n",
  2197. " grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
  2198. "}\n",
  2199. "\n",
  2200. ".xr-section-item {\n",
  2201. " display: contents;\n",
  2202. "}\n",
  2203. "\n",
  2204. ".xr-section-item input {\n",
  2205. " display: none;\n",
  2206. "}\n",
  2207. "\n",
  2208. ".xr-section-item input + label {\n",
  2209. " color: var(--xr-disabled-color);\n",
  2210. "}\n",
  2211. "\n",
  2212. ".xr-section-item input:enabled + label {\n",
  2213. " cursor: pointer;\n",
  2214. " color: var(--xr-font-color2);\n",
  2215. "}\n",
  2216. "\n",
  2217. ".xr-section-item input:enabled + label:hover {\n",
  2218. " color: var(--xr-font-color0);\n",
  2219. "}\n",
  2220. "\n",
  2221. ".xr-section-summary {\n",
  2222. " grid-column: 1;\n",
  2223. " color: var(--xr-font-color2);\n",
  2224. " font-weight: 500;\n",
  2225. "}\n",
  2226. "\n",
  2227. ".xr-section-summary > span {\n",
  2228. " display: inline-block;\n",
  2229. " padding-left: 0.5em;\n",
  2230. "}\n",
  2231. "\n",
  2232. ".xr-section-summary-in:disabled + label {\n",
  2233. " color: var(--xr-font-color2);\n",
  2234. "}\n",
  2235. "\n",
  2236. ".xr-section-summary-in + label:before {\n",
  2237. " display: inline-block;\n",
  2238. " content: '►';\n",
  2239. " font-size: 11px;\n",
  2240. " width: 15px;\n",
  2241. " text-align: center;\n",
  2242. "}\n",
  2243. "\n",
  2244. ".xr-section-summary-in:disabled + label:before {\n",
  2245. " color: var(--xr-disabled-color);\n",
  2246. "}\n",
  2247. "\n",
  2248. ".xr-section-summary-in:checked + label:before {\n",
  2249. " content: '▼';\n",
  2250. "}\n",
  2251. "\n",
  2252. ".xr-section-summary-in:checked + label > span {\n",
  2253. " display: none;\n",
  2254. "}\n",
  2255. "\n",
  2256. ".xr-section-summary,\n",
  2257. ".xr-section-inline-details {\n",
  2258. " padding-top: 4px;\n",
  2259. " padding-bottom: 4px;\n",
  2260. "}\n",
  2261. "\n",
  2262. ".xr-section-inline-details {\n",
  2263. " grid-column: 2 / -1;\n",
  2264. "}\n",
  2265. "\n",
  2266. ".xr-section-details {\n",
  2267. " display: none;\n",
  2268. " grid-column: 1 / -1;\n",
  2269. " margin-bottom: 5px;\n",
  2270. "}\n",
  2271. "\n",
  2272. ".xr-section-summary-in:checked ~ .xr-section-details {\n",
  2273. " display: contents;\n",
  2274. "}\n",
  2275. "\n",
  2276. ".xr-array-wrap {\n",
  2277. " grid-column: 1 / -1;\n",
  2278. " display: grid;\n",
  2279. " grid-template-columns: 20px auto;\n",
  2280. "}\n",
  2281. "\n",
  2282. ".xr-array-wrap > label {\n",
  2283. " grid-column: 1;\n",
  2284. " vertical-align: top;\n",
  2285. "}\n",
  2286. "\n",
  2287. ".xr-preview {\n",
  2288. " color: var(--xr-font-color3);\n",
  2289. "}\n",
  2290. "\n",
  2291. ".xr-array-preview,\n",
  2292. ".xr-array-data {\n",
  2293. " padding: 0 5px !important;\n",
  2294. " grid-column: 2;\n",
  2295. "}\n",
  2296. "\n",
  2297. ".xr-array-data,\n",
  2298. ".xr-array-in:checked ~ .xr-array-preview {\n",
  2299. " display: none;\n",
  2300. "}\n",
  2301. "\n",
  2302. ".xr-array-in:checked ~ .xr-array-data,\n",
  2303. ".xr-array-preview {\n",
  2304. " display: inline-block;\n",
  2305. "}\n",
  2306. "\n",
  2307. ".xr-dim-list {\n",
  2308. " display: inline-block !important;\n",
  2309. " list-style: none;\n",
  2310. " padding: 0 !important;\n",
  2311. " margin: 0;\n",
  2312. "}\n",
  2313. "\n",
  2314. ".xr-dim-list li {\n",
  2315. " display: inline-block;\n",
  2316. " padding: 0;\n",
  2317. " margin: 0;\n",
  2318. "}\n",
  2319. "\n",
  2320. ".xr-dim-list:before {\n",
  2321. " content: '(';\n",
  2322. "}\n",
  2323. "\n",
  2324. ".xr-dim-list:after {\n",
  2325. " content: ')';\n",
  2326. "}\n",
  2327. "\n",
  2328. ".xr-dim-list li:not(:last-child):after {\n",
  2329. " content: ',';\n",
  2330. " padding-right: 5px;\n",
  2331. "}\n",
  2332. "\n",
  2333. ".xr-has-index {\n",
  2334. " font-weight: bold;\n",
  2335. "}\n",
  2336. "\n",
  2337. ".xr-var-list,\n",
  2338. ".xr-var-item {\n",
  2339. " display: contents;\n",
  2340. "}\n",
  2341. "\n",
  2342. ".xr-var-item > div,\n",
  2343. ".xr-var-item label,\n",
  2344. ".xr-var-item > .xr-var-name span {\n",
  2345. " background-color: var(--xr-background-color-row-even);\n",
  2346. " margin-bottom: 0;\n",
  2347. "}\n",
  2348. "\n",
  2349. ".xr-var-item > .xr-var-name:hover span {\n",
  2350. " padding-right: 5px;\n",
  2351. "}\n",
  2352. "\n",
  2353. ".xr-var-list > li:nth-child(odd) > div,\n",
  2354. ".xr-var-list > li:nth-child(odd) > label,\n",
  2355. ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
  2356. " background-color: var(--xr-background-color-row-odd);\n",
  2357. "}\n",
  2358. "\n",
  2359. ".xr-var-name {\n",
  2360. " grid-column: 1;\n",
  2361. "}\n",
  2362. "\n",
  2363. ".xr-var-dims {\n",
  2364. " grid-column: 2;\n",
  2365. "}\n",
  2366. "\n",
  2367. ".xr-var-dtype {\n",
  2368. " grid-column: 3;\n",
  2369. " text-align: right;\n",
  2370. " color: var(--xr-font-color2);\n",
  2371. "}\n",
  2372. "\n",
  2373. ".xr-var-preview {\n",
  2374. " grid-column: 4;\n",
  2375. "}\n",
  2376. "\n",
  2377. ".xr-index-preview {\n",
  2378. " grid-column: 2 / 5;\n",
  2379. " color: var(--xr-font-color2);\n",
  2380. "}\n",
  2381. "\n",
  2382. ".xr-var-name,\n",
  2383. ".xr-var-dims,\n",
  2384. ".xr-var-dtype,\n",
  2385. ".xr-preview,\n",
  2386. ".xr-attrs dt {\n",
  2387. " white-space: nowrap;\n",
  2388. " overflow: hidden;\n",
  2389. " text-overflow: ellipsis;\n",
  2390. " padding-right: 10px;\n",
  2391. "}\n",
  2392. "\n",
  2393. ".xr-var-name:hover,\n",
  2394. ".xr-var-dims:hover,\n",
  2395. ".xr-var-dtype:hover,\n",
  2396. ".xr-attrs dt:hover {\n",
  2397. " overflow: visible;\n",
  2398. " width: auto;\n",
  2399. " z-index: 1;\n",
  2400. "}\n",
  2401. "\n",
  2402. ".xr-var-attrs,\n",
  2403. ".xr-var-data,\n",
  2404. ".xr-index-data {\n",
  2405. " display: none;\n",
  2406. " background-color: var(--xr-background-color) !important;\n",
  2407. " padding-bottom: 5px !important;\n",
  2408. "}\n",
  2409. "\n",
  2410. ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
  2411. ".xr-var-data-in:checked ~ .xr-var-data,\n",
  2412. ".xr-index-data-in:checked ~ .xr-index-data {\n",
  2413. " display: block;\n",
  2414. "}\n",
  2415. "\n",
  2416. ".xr-var-data > table {\n",
  2417. " float: right;\n",
  2418. "}\n",
  2419. "\n",
  2420. ".xr-var-name span,\n",
  2421. ".xr-var-data,\n",
  2422. ".xr-index-name div,\n",
  2423. ".xr-index-data,\n",
  2424. ".xr-attrs {\n",
  2425. " padding-left: 25px !important;\n",
  2426. "}\n",
  2427. "\n",
  2428. ".xr-attrs,\n",
  2429. ".xr-var-attrs,\n",
  2430. ".xr-var-data,\n",
  2431. ".xr-index-data {\n",
  2432. " grid-column: 1 / -1;\n",
  2433. "}\n",
  2434. "\n",
  2435. "dl.xr-attrs {\n",
  2436. " padding: 0;\n",
  2437. " margin: 0;\n",
  2438. " display: grid;\n",
  2439. " grid-template-columns: 125px auto;\n",
  2440. "}\n",
  2441. "\n",
  2442. ".xr-attrs dt,\n",
  2443. ".xr-attrs dd {\n",
  2444. " padding: 0;\n",
  2445. " margin: 0;\n",
  2446. " float: left;\n",
  2447. " padding-right: 10px;\n",
  2448. " width: auto;\n",
  2449. "}\n",
  2450. "\n",
  2451. ".xr-attrs dt {\n",
  2452. " font-weight: normal;\n",
  2453. " grid-column: 1;\n",
  2454. "}\n",
  2455. "\n",
  2456. ".xr-attrs dt:hover span {\n",
  2457. " display: inline-block;\n",
  2458. " background: var(--xr-background-color);\n",
  2459. " padding-right: 10px;\n",
  2460. "}\n",
  2461. "\n",
  2462. ".xr-attrs dd {\n",
  2463. " grid-column: 2;\n",
  2464. " white-space: pre-wrap;\n",
  2465. " word-break: break-all;\n",
  2466. "}\n",
  2467. "\n",
  2468. ".xr-icon-database,\n",
  2469. ".xr-icon-file-text2,\n",
  2470. ".xr-no-icon {\n",
  2471. " display: inline-block;\n",
  2472. " vertical-align: middle;\n",
  2473. " width: 1em;\n",
  2474. " height: 1.5em !important;\n",
  2475. " stroke-width: 0;\n",
  2476. " stroke: currentColor;\n",
  2477. " fill: currentColor;\n",
  2478. "}\n",
  2479. "</style><pre class='xr-text-repr-fallback'>&lt;xarray.DataArray (freq_x: 6000000)&gt;\n",
  2480. "array([0.00146663-2.99062180e-13j, 0.00146904+2.91230736e-06j,\n",
  2481. " 0.00146276+5.40701190e-06j, ..., 0.00146716+7.80786951e-06j,\n",
  2482. " 0.00146276-5.40701190e-06j, 0.00146904-2.91230736e-06j])\n",
  2483. "Coordinates:\n",
  2484. " * freq_x (freq_x) float64 -2.5e+05 -2.5e+05 -2.5e+05 ... 2.5e+05 2.5e+05</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-array-name'></div><ul class='xr-dim-list'><li><span class='xr-has-index'>freq_x</span>: 6000000</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-8af54559-f573-490b-a117-c7aa63419946' class='xr-array-in' type='checkbox' checked><label for='section-8af54559-f573-490b-a117-c7aa63419946' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>(0.0014666294599858997-2.9906217954251947e-13j) ... (0.001469035917...</span></div><div class='xr-array-data'><pre>array([0.00146663-2.99062180e-13j, 0.00146904+2.91230736e-06j,\n",
  2485. " 0.00146276+5.40701190e-06j, ..., 0.00146716+7.80786951e-06j,\n",
  2486. " 0.00146276-5.40701190e-06j, 0.00146904-2.91230736e-06j])</pre></div></div></li><li class='xr-section-item'><input id='section-f9cdbaba-091e-43bc-9be8-5d807bf3e21c' class='xr-section-summary-in' type='checkbox' checked><label for='section-f9cdbaba-091e-43bc-9be8-5d807bf3e21c' class='xr-section-summary' >Coordinates: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>freq_x</span></div><div class='xr-var-dims'>(freq_x)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-2.5e+05 -2.5e+05 ... 2.5e+05</div><input id='attrs-c95594e6-a8a2-40ed-82c2-baa1acc0597d' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-c95594e6-a8a2-40ed-82c2-baa1acc0597d' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-ec813544-e010-40ae-8dd8-bedc0ddbd5b1' class='xr-var-data-in' type='checkbox'><label for='data-ec813544-e010-40ae-8dd8-bedc0ddbd5b1' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>spacing :</span></dt><dd>0.08333333334303461</dd><dt><span>direct_lag :</span></dt><dd>6.0</dd></dl></div><div class='xr-var-data'><pre>array([-250000. , -249999.916667, -249999.833333, ..., 249999.75 ,\n",
  2487. " 249999.833333, 249999.916667])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-b98ca7ef-738d-46b9-9d88-6de529f88bbb' class='xr-section-summary-in' type='checkbox' ><label for='section-b98ca7ef-738d-46b9-9d88-6de529f88bbb' class='xr-section-summary' >Indexes: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>freq_x</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-3af2a7d6-d077-46e3-a60c-a7b786e143b8' class='xr-index-data-in' type='checkbox'/><label for='index-3af2a7d6-d077-46e3-a60c-a7b786e143b8' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Float64Index([ -250000.0, -249999.91666666666, -249999.8333333333,\n",
  2488. " -249999.75, -249999.66666666666, -249999.5833333333,\n",
  2489. " -249999.5, -249999.41666666666, -249999.3333333333,\n",
  2490. " -249999.25,\n",
  2491. " ...\n",
  2492. " 249999.16666666666, 249999.25, 249999.3333333333,\n",
  2493. " 249999.41666666666, 249999.5, 249999.5833333333,\n",
  2494. " 249999.66666666666, 249999.75, 249999.8333333333,\n",
  2495. " 249999.91666666666],\n",
  2496. " dtype=&#x27;float64&#x27;, name=&#x27;freq_x&#x27;, length=6000000))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-3e3ebfd1-e26b-45b5-9eb4-c87263ca6f2a' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-3e3ebfd1-e26b-45b5-9eb4-c87263ca6f2a' class='xr-section-summary' title='Expand/collapse section'>Attributes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'></dl></div></li></ul></div></div>"
  2497. ],
  2498. "text/plain": [
  2499. "<xarray.DataArray (freq_x: 6000000)>\n",
  2500. "array([0.00146663-2.99062180e-13j, 0.00146904+2.91230736e-06j,\n",
  2501. " 0.00146276+5.40701190e-06j, ..., 0.00146716+7.80786951e-06j,\n",
  2502. " 0.00146276-5.40701190e-06j, 0.00146904-2.91230736e-06j])\n",
  2503. "Coordinates:\n",
  2504. " * freq_x (freq_x) float64 -2.5e+05 -2.5e+05 -2.5e+05 ... 2.5e+05 2.5e+05"
  2505. ]
  2506. },
  2507. "execution_count": 55,
  2508. "metadata": {},
  2509. "output_type": "execute_result"
  2510. }
  2511. ],
  2512. "source": [
  2513. "noiseWithoutModulation"
  2514. ]
  2515. },
  2516. {
  2517. "cell_type": "code",
  2518. "execution_count": 70,
  2519. "metadata": {},
  2520. "outputs": [
  2521. {
  2522. "data": {
  2523. "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAHPCAYAAABOau4WAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAuI0lEQVR4nO3de3RU9b3//9ckIZOEXLgTrgG1cimIlIKlwO+IFxB7XKJ+e1RArXqQeo6tUglKdXFprSgX9Sw9WA4qeKxiqdr2CAup3NpysYhQLy0XhUTCHQK5ETIhmc/vj6xsJ2Qy+WQymT1Jno+1Zq2Z2fsz+z37kz3zyt579sdjjDECAABASHFuFwAAANAcEJoAAAAsEJoAAAAsEJoAAAAsEJoAAAAsEJoAAAAsEJoAAAAsEJoAAAAsEJoAAAAsEJoAAAAsRCw0PfPMM/J4PM4NAACgJfFEYuy5ffv26corr1RZWZnzHEPaAQCAlqTRe5r8fr/uv/9+lZWVaeTIkZGoCQAAIOY0OjS9+OKL2rp1qyZPnqxx48ZFoiYAAICY06jQlJOToyeeeEIdO3bU888/H6maAAAAYk5CYxpPnTpV586d05IlS9S5c+dI1QQAABBzwt7TtGzZMm3YsEHXXXed7r777kjWBAAAEHPC2tN05MgRZWdnKzk5WUuXLg174T6fTz6fz3ns9/t15swZdezYkcsWAADQTBhjVFxcrO7duysuruVeAjKs0DRt2jQVFhbq2Wef1SWXXBL2wufPn6958+aF3R4AAMSOvLw89ezZ0+0ymkyDQ9NvfvMbrVmzRldeeaV+9rOfNWrhs2bNqvEahYWF6t27t/Ly8pSent6o10bzMGjOOuf+F/PGu1gJACBcRUVF6tWrl9LS0twupUk1KDSdPHlSjzzyiOLj47Vs2TIlJDTqPHJ5vV55vd5az6enpxOaWok4b4pznz4HgOatpZ9a06DU89hjjyk/P18PPvig+vfvr5KSkhrTy8vLnfvV0xITE5WYmBiBUgEAANzToLO1cnJyJEkvv/yy0tLSat3mz5/vzFv93MyZMyNbMQAAgAta7inuAAAAEdSg0LR582YZY+q8zZkzx5m3+rkXXngh0jUDAABEHXuaAAAALBCaAAAALBCaAAAALEQ0NM2dO9c5lwkAAKAlYU8TAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACABUITAACAhYRwGu3atUvvv/++PvnkE+3fv1+nTp1SUVGR0tPT1b9/f91444168MEH1aFDh0jXCwAA4IqwQtNrr72m//7v/3YeJyUlKTk5WWfOnNG2bdu0bds2vfDCC/q///s/jRw5MmLFAgAAuCWsw3MjRozQwoULtX37dp09e1bnz59XUVGRiouLtWLFCnXu3FmnT5/WxIkTVVhYGOmaAQAAoi6sPU1333130OdTU1N1zz33qFu3bho/frxOnjyp1atXa/LkyY0qEgAAwG1NciL49773Pef+4cOHm2IRAAAAUdUkoemvf/2rc//SSy9tikUAAABEVViH54Lx+Xw6duyYVq9erdmzZ0uSLrvsMt10002RWgQAAIBrGh2akpKS5PP5aj0/atQovfXWW/J6vY1dBAAAgOsaHZoyMzNVVlamkpISnTt3TpI0duxYLViwQL179w7Z1ufz1QhcRUVFjS0HAACgSTT6nKbc3FwdP35cJSUlOnHihBYtWqS///3vGjFihHOYri7z589XRkaGc+vVq1djywEAAGgSHmOMifSL7tixQyNHjpTf79f777+vf/3Xfw06X7A9Tb169VJhYaHS09MjXRZiUJ/H1zj3c5/5gYuVAADCVVRUpIyMjBb//d0kv54bMWKERo8eLUn6n//5nzrn83q9Sk9Pr3EDAACIRU02YG+PHj0kSV999VVTLQIAACBqmiw0HTx4UJKUlpbWVIsAAACImgaHpsrKStV3GtSGDRu0Y8cOSdLVV18dVmEAAACxpMGhKS8vT0OHDtXSpUt18ODBGgEqLy9PzzzzjG6++WYZY9ShQwdNnz49ogUDAAC4IazrNH366af68Y9/LElKTExUenq6zp8/71ynSZL69u2rd999V5mZmZGpFAAAwEUNDk3du3fXqlWrtHnzZv3tb3/TsWPHdPr0acXHx6t3794aMmSIbr75Zk2aNEnJyclNUTMAAEDUNTg0JSYm6oc//KF++MMfNkU9AAAAManJfj0HAADQkhCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALBCaAAAALIQVmvLz87V8+XJNmTJFAwcOVNu2beX1etWzZ09NnDhRv//97yNdJwAAgKsSwmmUmZmpiooK53FSUpLatGmjI0eO6MiRI/rjH/+oCRMm6J133lFKSkrEigUAAHBLWHuaKioqNGLECC1ZskQHDhzQ+fPnVVJSopycHN1///2SpLVr12ratGkRLRYAAMAtYe1p2rhxo8aOHVvr+T59+uiVV15RQkKCli5dqt/85jd6+umn1atXr0YXCgAA4Kaw9jQFC0yBqvc2SdLOnTvDWQQAAEBMaZJfzyUlJTn3Kysrm2IRAAAAUdUkoWnz5s3O/cGDBzfFIgAAAKIqrHOaQikoKND8+fMlSWPGjFG/fv3qnNfn88nn8zmPi4qKIl0OAABARER0T5Pf79ddd92lY8eOyev16sUXXww5//z585WRkeHcOGEcAADEqoiGpocfflirV6+WJC1ZskRDhgwJOf+sWbNUWFjo3PLy8iJZDgAAQMRE7PDcjBkz9NJLL0mSnn/+ed133331tvF6vfJ6vZEqAQAAoMlEZE/TzJkztXjxYknSwoUL9cgjj0TiZQEAAGJGo/c0ZWdna9GiRZKkBQsWaMaMGY0uCgAAINY0KjTNmDHD2cO0YMECZWdnR6QoAACAWBN2aAoMTIsWLdKjjz4asaIAAABiTVih6bHHHnMC03PPPafp06dHtCgAAIBY0+ATwQ8dOqQFCxZUNY6L07PPPqvMzMw6b9X
  2524. "text/plain": [
  2525. "<Figure size 640x480 with 1 Axes>"
  2526. ]
  2527. },
  2528. "metadata": {},
  2529. "output_type": "display_data"
  2530. }
  2531. ],
  2532. "source": [
  2533. "fig = plt.figure()\n",
  2534. "ax = fig.gca()\n",
  2535. "\n",
  2536. "abs(noiseWithoutModulation).plot.errorbar(ax=ax)\n",
  2537. "\n",
  2538. "# plt.xlim([25, 100e3])\n",
  2539. "plt.xlim([0, 250e3])\n",
  2540. "plt.ylim([0, 4])\n",
  2541. "plt.show()"
  2542. ]
  2543. },
  2544. {
  2545. "cell_type": "code",
  2546. "execution_count": 28,
  2547. "metadata": {},
  2548. "outputs": [
  2549. {
  2550. "name": "stdout",
  2551. "output_type": "stream",
  2552. "text": [
  2553. "250.0\n",
  2554. "0.08333333333333333\n"
  2555. ]
  2556. }
  2557. ],
  2558. "source": [
  2559. "dt = 2e-6\n",
  2560. "samplingFreq = 1/ dt\n",
  2561. "blockLength = 6e6\n",
  2562. "df = samplingFreq / blockLength\n",
  2563. "print(samplingFreq / 2 / 1e3)\n",
  2564. "print(df)"
  2565. ]
  2566. },
  2567. {
  2568. "cell_type": "code",
  2569. "execution_count": 73,
  2570. "metadata": {},
  2571. "outputs": [
  2572. {
  2573. "name": "stdout",
  2574. "output_type": "stream",
  2575. "text": [
  2576. "[5, 4, 3, 2, 1, 0]\n"
  2577. ]
  2578. }
  2579. ],
  2580. "source": [
  2581. "print(list(range(5, -1 ,-1)))"
  2582. ]
  2583. },
  2584. {
  2585. "cell_type": "code",
  2586. "execution_count": null,
  2587. "metadata": {},
  2588. "outputs": [],
  2589. "source": []
  2590. }
  2591. ],
  2592. "metadata": {
  2593. "kernelspec": {
  2594. "display_name": "base",
  2595. "language": "python",
  2596. "name": "python3"
  2597. },
  2598. "language_info": {
  2599. "codemirror_mode": {
  2600. "name": "ipython",
  2601. "version": 3
  2602. },
  2603. "file_extension": ".py",
  2604. "mimetype": "text/x-python",
  2605. "name": "python",
  2606. "nbconvert_exporter": "python",
  2607. "pygments_lexer": "ipython3",
  2608. "version": "3.9.12"
  2609. },
  2610. "orig_nbformat": 4
  2611. },
  2612. "nbformat": 4,
  2613. "nbformat_minor": 2
  2614. }