File name changes and major readme updates

This commit is contained in:
judsonupchurch 2025-01-14 19:42:03 -06:00
parent c0b3218cac
commit 79bccf28cc
14 changed files with 4154 additions and 7391 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

View File

@ -1,810 +0,0 @@
-2.551330,146.577
-2.559320,147.359
-2.468040,147.658
-2.377662,148.037
-2.291219,150.350
-2.282701,149.436
-2.201699,150.562
-2.114140,151.455
-2.016523,151.214
-2.021160,151.138
-1.931157,152.373
-1.835527,154.545
-1.750495,156.288
-1.747580,156.271
-1.655665,157.200
-1.561584,157.700
-1.472658,159.022
-1.473689,158.726
-1.385178,163.187
-1.303134,165.479
-1.309201,166.380
-1.213878,167.220
-1.119556,169.214
-1.027553,168.409
-1.031092,171.526
-0.935920,181.211
-0.840410,184.844
-0.749365,194.408
-0.754224,196.701
-0.656968,202.473
-0.570845,219.621
-0.479354,256.241
-0.480470,250.381
-0.390544,308.168
-0.297065,497.784
-0.205259,-3502.258
-0.206526,-9683.441
-0.119472,-190.529
-0.037364,-26.292
0.050969,24.922
0.064256,32.231
0.159602,60.481
0.251753,76.913
0.243214,73.980
0.338061,84.663
0.422618,89.473
0.513242,96.050
0.518559,97.643
0.608791,100.787
0.700996,105.523
0.790413,108.282
0.793233,108.507
0.879419,110.162
0.971886,111.932
1.062055,113.126
1.058800,113.042
1.149099,114.760
1.232849,114.805
1.321679,116.285
1.322026,116.178
1.420296,117.329
1.515736,119.855
1.520187,120.301
1.611199,120.557
1.698500,121.539
1.791081,122.132
1.792093,122.072
1.873411,121.761
1.955346,121.194
2.052849,122.315
2.064650,123.327
2.148349,123.301
2.243999,124.031
2.339920,125.292
2.331527,124.106
2.414338,123.462
2.510177,124.474
2.613505,126.344
2.601799,125.393
2.690616,125.765
2.789141,126.764
-2.574735,148.324
-2.575143,147.639
-2.481704,148.148
-2.388541,148.946
-2.297629,151.515
-2.295381,150.642
-2.199380,150.737
-2.111052,151.336
-2.021967,151.854
-2.024937,150.974
-1.936116,153.183
-1.848769,156.320
-1.763482,157.686
-1.760643,158.007
-1.668421,158.410
-1.578948,158.640
-1.486042,160.136
-1.495252,161.325
-1.411263,168.133
-1.297125,165.467
-1.301517,165.766
-1.210345,168.517
-1.115181,170.781
-1.033512,173.243
-1.044634,176.828
-0.950448,182.546
-0.865405,193.568
-0.771007,204.661
-0.767041,203.941
-0.663421,205.891
-0.584616,226.536
-0.488449,256.347
-0.489279,254.136
-0.392588,336.192
-0.290269,558.764
-0.195860,-2883.048
-0.200502,-2562.205
-0.113408,-158.602
-0.025135,-17.737
0.069023,34.404
0.069729,33.714
0.164456,59.437
0.258051,76.366
0.257989,76.182
0.347807,86.002
0.436103,91.516
0.521425,96.486
0.521857,97.205
0.616516,100.860
0.709849,106.296
0.791532,107.728
0.790189,107.503
0.880904,110.782
0.970762,111.900
1.071131,114.579
1.060384,112.491
1.157920,115.033
1.251726,117.522
1.338388,118.307
1.342244,118.430
1.434334,118.682
1.527053,120.069
1.514612,118.729
1.609788,120.141
1.701134,121.500
1.790380,121.681
1.793046,121.724
1.883643,122.318
1.975696,123.093
2.064870,123.290
2.064658,123.389
2.156166,124.364
2.245049,124.318
2.337179,125.233
2.336056,125.152
2.428246,125.097
2.528310,125.993
2.613792,126.439
2.613514,126.300
2.698684,126.435
2.795269,126.930
-2.562973,147.630
-2.571558,148.328
-2.479153,148.515
-2.383528,148.873
-2.293840,150.837
-2.294431,151.282
-2.200246,151.037
-2.111276,151.603
-2.018401,151.373
-2.022055,151.591
-1.930836,152.865
-1.840059,155.705
-1.747642,157.364
-1.732047,154.345
-1.635700,154.493
-1.545004,155.399
-1.454316,156.434
-1.454528,157.068
-1.366153,160.968
-1.279542,162.974
-1.278479,163.528
-1.187027,164.292
-1.098278,165.473
-1.008932,167.303
-1.008748,166.732
-0.916724,176.221
-0.826177,182.317
-0.732041,187.550
-0.730575,188.629
-0.639986,196.832
-0.548195,209.562
-0.459635,255.765
-0.459555,253.900
-0.369391,313.003
-0.277070,450.230
-0.184502,-3406.293
-0.185083,-2211.873
-0.098105,-126.483
-0.004474,-3.169
0.086979,42.176
0.085820,41.594
0.177208,65.224
0.269429,81.378
0.268685,81.949
0.361132,90.829
0.453089,97.621
0.541657,102.559
0.542787,102.725
0.632335,105.138
0.720888,109.941
0.814642,111.680
0.812811,111.493
0.901931,113.630
0.996592,114.256
1.087974,115.788
1.086065,116.081
1.177068,117.632
1.267254,119.213
1.359860,120.506
1.364226,120.993
1.454346,120.885
1.543435,121.529
1.543158,120.976
1.634427,122.550
1.724844,123.426
1.813204,123.740
1.805267,122.671
1.895421,122.692
1.989951,123.882
2.080035,123.888
2.082134,124.223
2.182781,126.055
2.271511,126.188
2.356387,125.904
2.355848,126.097
2.447968,126.679
2.537664,126.263
2.628496,127.470
2.632533,127.667
2.727375,127.474
2.812782,128.020
-2.551585,146.375
-2.550310,146.245
-2.461710,147.148
-2.377286,148.392
-2.275829,149.142
-2.276004,149.589
-2.185265,149.633
-2.095463,149.682
-2.004498,150.178
-2.005017,150.836
-1.914977,151.243
-1.824248,153.560
-1.732231,153.879
-1.732679,154.289
-1.640900,154.623
-1.550076,156.037
-1.458353,156.990
-1.461316,157.915
-1.373876,160.233
-1.280723,161.912
-1.281478,162.748
-1.188227,163.570
-1.098078,165.533
-1.010681,167.973
-1.010369,166.975
-0.919108,177.301
-0.831079,181.890
-0.738696,188.603
-0.738007,188.392
-0.645523,196.053
-0.554393,211.533
-0.463397,258.664
-0.461174,252.949
-0.368889,306.495
-0.277677,498.242
-0.185360,-5909.838
-0.187128,-23374.376
-0.094376,-138.289
-0.004207,-3.140
0.087152,44.000
0.085475,44.341
0.176035,66.190
0.266531,81.375
0.266494,82.195
0.362914,91.653
0.453994,97.866
0.545401,103.606
0.547390,103.788
0.637353,106.642
0.725979,111.246
0.816483,113.363
0.814265,112.086
0.906568,114.198
0.997333,115.150
1.085674,115.954
1.086363,115.879
1.178479,118.284
1.271511,120.259
1.362967,120.691
1.362071,120.716
1.452641,120.506
1.532717,120.654
1.537141,120.518
1.628816,121.701
1.727771,123.133
1.816149,123.459
1.813312,123.208
1.901289,123.007
1.993024,123.955
2.084774,124.360
2.089602,124.770
2.182880,125.660
2.269933,125.995
2.361826,126.285
2.362744,126.136
2.456192,126.379
2.546372,126.434
2.640285,127.012
2.642510,127.055
2.730044,127.335
2.817845,127.296
-2.545392,147.013
-2.547852,147.191
-2.457937,147.564
-2.366702,148.469
-2.275224,149.657
-2.275591,149.123
-2.185265,150.760
-2.091722,150.415
-2.000431,151.617
-2.000370,151.781
-1.909141,152.934
-1.815586,155.669
-1.727797,155.598
-1.727236,155.338
-1.644994,156.732
-1.561773,158.322
-1.471073,160.407
-1.469730,159.536
-1.381103,162.160
-1.288335,165.639
-1.291180,164.994
-1.200920,165.908
-1.107945,169.574
-1.021804,172.518
-1.013164,170.407
-0.914780,179.660
-0.823350,186.927
-0.732857,193.363
-0.737848,193.964
-0.645305,202.670
-0.548684,212.369
-0.459742,263.892
-0.458432,267.042
-0.366579,334.658
-0.275214,598.510
-0.184827,-1162.571
-0.184457,-1284.688
-0.093372,-115.911
-0.001373,-0.935
0.092022,43.417
0.092798,43.828
0.181709,64.592
0.273239,80.547
0.272639,80.579
0.364086,88.383
0.455475,94.931
0.546462,100.515
0.547892,101.110
0.638904,104.439
0.726524,107.925
0.819796,110.865
0.820988,111.550
0.910862,113.123
1.002595,114.579
1.094691,116.063
1.095189,116.289
1.185300,117.930
1.277755,119.152
1.369749,119.484
1.367120,119.716
1.454844,120.656
1.543214,120.394
1.544345,120.570
1.635187,121.883
1.724182,122.547
1.815038,123.016
1.817365,123.206
1.907753,123.144
2.000442,123.724
2.089413,124.419
2.089973,124.286
2.182315,124.976
2.274124,125.820
2.364614,125.801
2.363814,125.912
2.455543,126.455
2.540340,126.141
2.636892,127.301
2.638822,127.124
2.727649,127.391
2.819119,127.676
-2.542784,147.088
-2.544198,147.187
-2.450928,147.957
-2.362500,149.337
-2.275846,150.404
-2.276770,150.287
-2.186347,150.533
-2.094797,150.897
-2.003111,151.432
-2.001129,151.785
-1.909539,152.289
-1.819549,155.166
-1.728283,156.113
-1.727090,155.790
-1.635908,156.366
-1.546473,156.742
-1.456139,158.312
-1.453802,158.297
-1.366964,163.366
-1.272010,165.079
-1.274462,164.671
-1.181785,166.607
-1.090247,167.753
-1.004550,172.157
-1.002847,172.005
-0.910041,179.996
-0.820496,187.327
-0.732646,196.491
-0.736195,192.532
-0.642417,203.467
-0.549311,221.654
-0.460341,277.118
-0.460462,271.374
-0.366896,341.608
-0.277032,604.308
-0.185307,-1068.605
-0.188283,-1039.507
-0.096693,-114.386
-0.005354,-3.592
0.087876,40.264
0.088387,40.226
0.178362,61.736
0.268561,77.490
0.269107,77.585
0.361730,88.218
0.453344,94.974
0.542500,99.965
0.541887,99.237
0.632898,103.801
0.724537,107.470
0.812194,109.402
0.812010,110.061
0.905293,113.336
0.999995,113.989
1.087082,115.720
1.087823,115.540
1.176891,116.702
1.267759,117.837
1.361640,119.537
1.361401,119.361
1.452722,119.399
1.543469,120.228
1.542385,120.460
1.632927,121.600
1.723267,122.505
1.814624,123.891
1.814803,123.793
1.907350,123.724
2.001481,124.445
2.089229,124.773
2.091846,124.622
2.180606,125.395
2.270278,125.898
2.360083,126.248
2.363808,126.162
2.456929,126.727
2.544807,126.571
2.639100,127.786
2.638269,127.539
2.728825,127.412
2.817141,127.934
-2.545225,146.767
-2.552161,146.695
-2.463846,147.557
-2.370546,148.143
-2.278668,149.491
-2.278271,149.450
-2.186992,149.788
-2.097079,150.437
-2.006686,150.952
-2.006845,151.273
-1.913529,151.814
-1.823074,154.172
-1.729596,154.785
-1.730968,154.721
-1.641777,156.058
-1.550598,156.466
-1.457588,156.881
-1.454146,156.363
-1.364392,160.514
-1.274162,162.678
-1.272397,162.205
-1.182738,165.339
-1.091899,165.996
-1.005629,168.377
-1.003455,168.378
-0.911524,178.506
-0.822525,185.349
-0.730090,192.171
-0.732608,191.667
-0.639878,198.697
-0.547296,217.795
-0.455002,268.347
-0.453826,261.659
-0.363582,322.521
-0.275056,573.687
-0.181469,-1174.991
-0.181422,-1264.084
-0.088166,-106.336
0.001556,1.035
0.093782,43.497
0.094479,44.005
0.184103,64.706
0.275391,80.197
0.272223,80.201
0.361852,88.769
0.454777,96.011
0.545770,100.001
0.548589,100.425
0.638837,104.603
0.730232,109.346
0.818757,110.191
0.819358,111.111
0.909417,113.425
0.999173,113.469
1.092655,115.691
1.093546,115.931
1.185107,117.416
1.274890,119.071
1.363200,120.277
1.363997,120.412
1.453742,120.155
1.542896,120.337
1.540772,120.429
1.625330,120.726
1.716867,121.964
1.800992,122.195
1.799154,121.720
1.894577,122.083
1.991680,123.832
2.083358,124.181
2.083131,124.276
2.174875,125.205
2.263838,125.463
2.355656,125.719
2.357003,125.879
2.447301,126.217
2.536006,126.365
2.630471,127.382
2.630153,127.266
2.720331,126.830
2.808367,126.945
-2.559225,148.214
-2.564736,148.326
-2.475401,148.659
-2.383358,149.533
-2.294522,151.366
-2.289436,151.449
-2.203693,151.629
-2.111683,151.842
-2.020454,152.341
-2.016537,151.772
-1.925771,152.714
-1.835932,155.576
-1.742282,156.982
-1.738051,156.994
-1.645858,156.988
-1.556949,157.963
-1.465992,159.314
-1.466470,159.411
-1.376944,162.208
-1.286821,165.239
-1.288669,164.916
-1.198881,166.208
-1.106333,167.864
-1.014820,170.173
-1.014529,170.860
-0.924336,181.239
-0.833425,187.292
-0.743107,197.192
-0.743052,195.751
-0.652845,205.574
-0.562043,222.922
-0.471376,275.078
-0.470864,276.710
-0.379516,358.131
-0.274927,659.156
-0.179967,-1461.901
-0.180719,-1212.227
-0.091028,-112.885
0.000944,0.640
0.091263,43.442
0.092468,43.653
0.183541,65.422
0.276128,82.057
0.275569,80.443
0.366806,89.558
0.458378,96.547
0.548515,101.568
0.548075,101.770
0.638319,105.705
0.725730,109.653
0.816955,112.866
0.816911,111.858
0.903369,111.977
0.989400,113.279
1.082036,114.603
1.080257,114.628
1.171062,116.613
1.262646,117.721
1.354978,118.979
1.354239,118.865
1.442118,118.929
1.530302,120.124
1.527667,119.922
1.613518,119.929
1.711066,121.368
1.799720,121.781
1.801353,122.214
1.893041,122.508
1.985406,123.607
2.075798,123.766
2.075114,123.739
2.163253,124.736
2.252138,124.845
2.343832,125.141
2.343208,125.140
2.442569,125.721
2.542455,126.517
2.634628,127.519
2.633082,126.749
2.721244,126.847
2.815742,127.459
-2.549919,147.193
-2.548816,147.085
-2.457673,146.718
-2.368256,147.404
-2.276536,149.259
-2.273526,149.755
-2.185236,150.176
-2.093289,150.752
-2.004550,151.848
-2.004683,151.374
-1.913370,151.645
-1.820923,154.660
-1.727749,155.060
-1.727975,154.663
-1.635231,156.372
-1.545977,156.831
-1.455751,157.647
-1.453703,157.575
-1.364952,161.475
-1.274519,163.488
-1.274332,163.485
-1.183342,164.564
-1.092736,166.032
-1.004718,168.973
-1.004500,167.727
-0.914181,178.094
-0.823288,184.540
-0.733238,190.829
-0.732145,189.819
-0.641234,199.834
-0.550295,211.331
-0.459746,262.809
-0.457467,267.531
-0.365834,332.175
-0.274192,633.161
-0.182564,-916.978
-0.183242,-875.244
-0.093060,-105.821
-0.000185,-0.118
0.089957,41.295
0.088079,40.983
0.179296,63.738
0.271505,79.719
0.270854,78.596
0.361571,87.214
0.455155,94.274
0.546780,99.422
0.546503,98.815
0.638553,103.674
0.726902,108.285
0.819091,110.654
0.815741,110.068
0.908366,112.479
1.001382,113.332
1.091236,115.428
1.091596,115.724
1.184328,117.147
1.277157,118.384
1.365710,119.095
1.364737,119.414
1.454036,118.952
1.544951,120.311
1.545161,120.362
1.636347,121.572
1.723464,122.027
1.813156,122.203
1.811681,122.722
1.905414,123.203
1.996020,123.861
2.085912,124.227
2.085420,124.034
2.174409,125.130
2.270080,125.884
2.360700,125.410
2.361859,125.576
2.452631,126.439
2.543359,126.198
2.632890,126.981
2.632774,127.301
2.721307,127.247
2.813881,127.298
-2.546406,147.749
-2.549213,147.962
-2.455121,147.815
-2.366221,149.131
-2.276889,150.424
-2.277761,149.798
-2.189300,149.602
-2.097191,150.292
-2.004964,150.723
-2.005234,151.015
-1.911743,151.711
-1.825621,154.924
-1.740516,155.821
-1.740773,155.493
-1.649437,157.094
-1.556425,156.821
-1.465079,158.956
-1.461947,158.005
-1.366624,161.576
-1.276211,163.893
-1.277508,164.091
-1.182463,165.990
-1.090378,166.309
-1.003401,168.832
-1.000896,168.294
-0.911470,178.524
-0.821379,186.797
-0.735657,196.215
-0.737258,194.735
-0.651393,205.724
-0.563653,225.811
-0.474892,270.358
-0.473866,260.289
-0.380700,370.288
-0.276382,628.120
-0.182370,-1071.218
-0.185162,-985.485
-0.095463,-110.377
-0.002966,-1.918
0.088024,41.409
0.087324,40.589
0.177553,61.635
0.269421,78.064
0.268892,77.579
0.360517,87.053
0.449962,94.474
0.540236,98.897
0.541090,98.580
0.631731,103.186
0.723462,107.124
0.813002,109.223
0.811840,109.300
0.904978,112.257
0.995807,113.721
1.085053,114.604
1.086587,115.084
1.178416,116.830
1.267413,118.198
1.357629,118.752
1.359310,119.572
1.447849,119.624
1.540555,120.123
1.538070,120.003
1.630462,121.092
1.720538,121.957
1.812570,122.957
1.810749,123.097
1.904246,123.319
1.995716,123.860
2.089557,125.062
2.092263,124.961
2.180488,125.412
2.271095,125.608
2.361120,125.705
2.362898,126.048
2.455218,126.700
2.544680,126.236
2.635446,127.360
2.634450,127.155
2.725615,127.155
2.816192,127.719
1 -2.551330 146.577
2 -2.559320 147.359
3 -2.468040 147.658
4 -2.377662 148.037
5 -2.291219 150.350
6 -2.282701 149.436
7 -2.201699 150.562
8 -2.114140 151.455
9 -2.016523 151.214
10 -2.021160 151.138
11 -1.931157 152.373
12 -1.835527 154.545
13 -1.750495 156.288
14 -1.747580 156.271
15 -1.655665 157.200
16 -1.561584 157.700
17 -1.472658 159.022
18 -1.473689 158.726
19 -1.385178 163.187
20 -1.303134 165.479
21 -1.309201 166.380
22 -1.213878 167.220
23 -1.119556 169.214
24 -1.027553 168.409
25 -1.031092 171.526
26 -0.935920 181.211
27 -0.840410 184.844
28 -0.749365 194.408
29 -0.754224 196.701
30 -0.656968 202.473
31 -0.570845 219.621
32 -0.479354 256.241
33 -0.480470 250.381
34 -0.390544 308.168
35 -0.297065 497.784
36 -0.205259 -3502.258
37 -0.206526 -9683.441
38 -0.119472 -190.529
39 -0.037364 -26.292
40 0.050969 24.922
41 0.064256 32.231
42 0.159602 60.481
43 0.251753 76.913
44 0.243214 73.980
45 0.338061 84.663
46 0.422618 89.473
47 0.513242 96.050
48 0.518559 97.643
49 0.608791 100.787
50 0.700996 105.523
51 0.790413 108.282
52 0.793233 108.507
53 0.879419 110.162
54 0.971886 111.932
55 1.062055 113.126
56 1.058800 113.042
57 1.149099 114.760
58 1.232849 114.805
59 1.321679 116.285
60 1.322026 116.178
61 1.420296 117.329
62 1.515736 119.855
63 1.520187 120.301
64 1.611199 120.557
65 1.698500 121.539
66 1.791081 122.132
67 1.792093 122.072
68 1.873411 121.761
69 1.955346 121.194
70 2.052849 122.315
71 2.064650 123.327
72 2.148349 123.301
73 2.243999 124.031
74 2.339920 125.292
75 2.331527 124.106
76 2.414338 123.462
77 2.510177 124.474
78 2.613505 126.344
79 2.601799 125.393
80 2.690616 125.765
81 2.789141 126.764
82 -2.574735 148.324
83 -2.575143 147.639
84 -2.481704 148.148
85 -2.388541 148.946
86 -2.297629 151.515
87 -2.295381 150.642
88 -2.199380 150.737
89 -2.111052 151.336
90 -2.021967 151.854
91 -2.024937 150.974
92 -1.936116 153.183
93 -1.848769 156.320
94 -1.763482 157.686
95 -1.760643 158.007
96 -1.668421 158.410
97 -1.578948 158.640
98 -1.486042 160.136
99 -1.495252 161.325
100 -1.411263 168.133
101 -1.297125 165.467
102 -1.301517 165.766
103 -1.210345 168.517
104 -1.115181 170.781
105 -1.033512 173.243
106 -1.044634 176.828
107 -0.950448 182.546
108 -0.865405 193.568
109 -0.771007 204.661
110 -0.767041 203.941
111 -0.663421 205.891
112 -0.584616 226.536
113 -0.488449 256.347
114 -0.489279 254.136
115 -0.392588 336.192
116 -0.290269 558.764
117 -0.195860 -2883.048
118 -0.200502 -2562.205
119 -0.113408 -158.602
120 -0.025135 -17.737
121 0.069023 34.404
122 0.069729 33.714
123 0.164456 59.437
124 0.258051 76.366
125 0.257989 76.182
126 0.347807 86.002
127 0.436103 91.516
128 0.521425 96.486
129 0.521857 97.205
130 0.616516 100.860
131 0.709849 106.296
132 0.791532 107.728
133 0.790189 107.503
134 0.880904 110.782
135 0.970762 111.900
136 1.071131 114.579
137 1.060384 112.491
138 1.157920 115.033
139 1.251726 117.522
140 1.338388 118.307
141 1.342244 118.430
142 1.434334 118.682
143 1.527053 120.069
144 1.514612 118.729
145 1.609788 120.141
146 1.701134 121.500
147 1.790380 121.681
148 1.793046 121.724
149 1.883643 122.318
150 1.975696 123.093
151 2.064870 123.290
152 2.064658 123.389
153 2.156166 124.364
154 2.245049 124.318
155 2.337179 125.233
156 2.336056 125.152
157 2.428246 125.097
158 2.528310 125.993
159 2.613792 126.439
160 2.613514 126.300
161 2.698684 126.435
162 2.795269 126.930
163 -2.562973 147.630
164 -2.571558 148.328
165 -2.479153 148.515
166 -2.383528 148.873
167 -2.293840 150.837
168 -2.294431 151.282
169 -2.200246 151.037
170 -2.111276 151.603
171 -2.018401 151.373
172 -2.022055 151.591
173 -1.930836 152.865
174 -1.840059 155.705
175 -1.747642 157.364
176 -1.732047 154.345
177 -1.635700 154.493
178 -1.545004 155.399
179 -1.454316 156.434
180 -1.454528 157.068
181 -1.366153 160.968
182 -1.279542 162.974
183 -1.278479 163.528
184 -1.187027 164.292
185 -1.098278 165.473
186 -1.008932 167.303
187 -1.008748 166.732
188 -0.916724 176.221
189 -0.826177 182.317
190 -0.732041 187.550
191 -0.730575 188.629
192 -0.639986 196.832
193 -0.548195 209.562
194 -0.459635 255.765
195 -0.459555 253.900
196 -0.369391 313.003
197 -0.277070 450.230
198 -0.184502 -3406.293
199 -0.185083 -2211.873
200 -0.098105 -126.483
201 -0.004474 -3.169
202 0.086979 42.176
203 0.085820 41.594
204 0.177208 65.224
205 0.269429 81.378
206 0.268685 81.949
207 0.361132 90.829
208 0.453089 97.621
209 0.541657 102.559
210 0.542787 102.725
211 0.632335 105.138
212 0.720888 109.941
213 0.814642 111.680
214 0.812811 111.493
215 0.901931 113.630
216 0.996592 114.256
217 1.087974 115.788
218 1.086065 116.081
219 1.177068 117.632
220 1.267254 119.213
221 1.359860 120.506
222 1.364226 120.993
223 1.454346 120.885
224 1.543435 121.529
225 1.543158 120.976
226 1.634427 122.550
227 1.724844 123.426
228 1.813204 123.740
229 1.805267 122.671
230 1.895421 122.692
231 1.989951 123.882
232 2.080035 123.888
233 2.082134 124.223
234 2.182781 126.055
235 2.271511 126.188
236 2.356387 125.904
237 2.355848 126.097
238 2.447968 126.679
239 2.537664 126.263
240 2.628496 127.470
241 2.632533 127.667
242 2.727375 127.474
243 2.812782 128.020
244 -2.551585 146.375
245 -2.550310 146.245
246 -2.461710 147.148
247 -2.377286 148.392
248 -2.275829 149.142
249 -2.276004 149.589
250 -2.185265 149.633
251 -2.095463 149.682
252 -2.004498 150.178
253 -2.005017 150.836
254 -1.914977 151.243
255 -1.824248 153.560
256 -1.732231 153.879
257 -1.732679 154.289
258 -1.640900 154.623
259 -1.550076 156.037
260 -1.458353 156.990
261 -1.461316 157.915
262 -1.373876 160.233
263 -1.280723 161.912
264 -1.281478 162.748
265 -1.188227 163.570
266 -1.098078 165.533
267 -1.010681 167.973
268 -1.010369 166.975
269 -0.919108 177.301
270 -0.831079 181.890
271 -0.738696 188.603
272 -0.738007 188.392
273 -0.645523 196.053
274 -0.554393 211.533
275 -0.463397 258.664
276 -0.461174 252.949
277 -0.368889 306.495
278 -0.277677 498.242
279 -0.185360 -5909.838
280 -0.187128 -23374.376
281 -0.094376 -138.289
282 -0.004207 -3.140
283 0.087152 44.000
284 0.085475 44.341
285 0.176035 66.190
286 0.266531 81.375
287 0.266494 82.195
288 0.362914 91.653
289 0.453994 97.866
290 0.545401 103.606
291 0.547390 103.788
292 0.637353 106.642
293 0.725979 111.246
294 0.816483 113.363
295 0.814265 112.086
296 0.906568 114.198
297 0.997333 115.150
298 1.085674 115.954
299 1.086363 115.879
300 1.178479 118.284
301 1.271511 120.259
302 1.362967 120.691
303 1.362071 120.716
304 1.452641 120.506
305 1.532717 120.654
306 1.537141 120.518
307 1.628816 121.701
308 1.727771 123.133
309 1.816149 123.459
310 1.813312 123.208
311 1.901289 123.007
312 1.993024 123.955
313 2.084774 124.360
314 2.089602 124.770
315 2.182880 125.660
316 2.269933 125.995
317 2.361826 126.285
318 2.362744 126.136
319 2.456192 126.379
320 2.546372 126.434
321 2.640285 127.012
322 2.642510 127.055
323 2.730044 127.335
324 2.817845 127.296
325 -2.545392 147.013
326 -2.547852 147.191
327 -2.457937 147.564
328 -2.366702 148.469
329 -2.275224 149.657
330 -2.275591 149.123
331 -2.185265 150.760
332 -2.091722 150.415
333 -2.000431 151.617
334 -2.000370 151.781
335 -1.909141 152.934
336 -1.815586 155.669
337 -1.727797 155.598
338 -1.727236 155.338
339 -1.644994 156.732
340 -1.561773 158.322
341 -1.471073 160.407
342 -1.469730 159.536
343 -1.381103 162.160
344 -1.288335 165.639
345 -1.291180 164.994
346 -1.200920 165.908
347 -1.107945 169.574
348 -1.021804 172.518
349 -1.013164 170.407
350 -0.914780 179.660
351 -0.823350 186.927
352 -0.732857 193.363
353 -0.737848 193.964
354 -0.645305 202.670
355 -0.548684 212.369
356 -0.459742 263.892
357 -0.458432 267.042
358 -0.366579 334.658
359 -0.275214 598.510
360 -0.184827 -1162.571
361 -0.184457 -1284.688
362 -0.093372 -115.911
363 -0.001373 -0.935
364 0.092022 43.417
365 0.092798 43.828
366 0.181709 64.592
367 0.273239 80.547
368 0.272639 80.579
369 0.364086 88.383
370 0.455475 94.931
371 0.546462 100.515
372 0.547892 101.110
373 0.638904 104.439
374 0.726524 107.925
375 0.819796 110.865
376 0.820988 111.550
377 0.910862 113.123
378 1.002595 114.579
379 1.094691 116.063
380 1.095189 116.289
381 1.185300 117.930
382 1.277755 119.152
383 1.369749 119.484
384 1.367120 119.716
385 1.454844 120.656
386 1.543214 120.394
387 1.544345 120.570
388 1.635187 121.883
389 1.724182 122.547
390 1.815038 123.016
391 1.817365 123.206
392 1.907753 123.144
393 2.000442 123.724
394 2.089413 124.419
395 2.089973 124.286
396 2.182315 124.976
397 2.274124 125.820
398 2.364614 125.801
399 2.363814 125.912
400 2.455543 126.455
401 2.540340 126.141
402 2.636892 127.301
403 2.638822 127.124
404 2.727649 127.391
405 2.819119 127.676
406 -2.542784 147.088
407 -2.544198 147.187
408 -2.450928 147.957
409 -2.362500 149.337
410 -2.275846 150.404
411 -2.276770 150.287
412 -2.186347 150.533
413 -2.094797 150.897
414 -2.003111 151.432
415 -2.001129 151.785
416 -1.909539 152.289
417 -1.819549 155.166
418 -1.728283 156.113
419 -1.727090 155.790
420 -1.635908 156.366
421 -1.546473 156.742
422 -1.456139 158.312
423 -1.453802 158.297
424 -1.366964 163.366
425 -1.272010 165.079
426 -1.274462 164.671
427 -1.181785 166.607
428 -1.090247 167.753
429 -1.004550 172.157
430 -1.002847 172.005
431 -0.910041 179.996
432 -0.820496 187.327
433 -0.732646 196.491
434 -0.736195 192.532
435 -0.642417 203.467
436 -0.549311 221.654
437 -0.460341 277.118
438 -0.460462 271.374
439 -0.366896 341.608
440 -0.277032 604.308
441 -0.185307 -1068.605
442 -0.188283 -1039.507
443 -0.096693 -114.386
444 -0.005354 -3.592
445 0.087876 40.264
446 0.088387 40.226
447 0.178362 61.736
448 0.268561 77.490
449 0.269107 77.585
450 0.361730 88.218
451 0.453344 94.974
452 0.542500 99.965
453 0.541887 99.237
454 0.632898 103.801
455 0.724537 107.470
456 0.812194 109.402
457 0.812010 110.061
458 0.905293 113.336
459 0.999995 113.989
460 1.087082 115.720
461 1.087823 115.540
462 1.176891 116.702
463 1.267759 117.837
464 1.361640 119.537
465 1.361401 119.361
466 1.452722 119.399
467 1.543469 120.228
468 1.542385 120.460
469 1.632927 121.600
470 1.723267 122.505
471 1.814624 123.891
472 1.814803 123.793
473 1.907350 123.724
474 2.001481 124.445
475 2.089229 124.773
476 2.091846 124.622
477 2.180606 125.395
478 2.270278 125.898
479 2.360083 126.248
480 2.363808 126.162
481 2.456929 126.727
482 2.544807 126.571
483 2.639100 127.786
484 2.638269 127.539
485 2.728825 127.412
486 2.817141 127.934
487 -2.545225 146.767
488 -2.552161 146.695
489 -2.463846 147.557
490 -2.370546 148.143
491 -2.278668 149.491
492 -2.278271 149.450
493 -2.186992 149.788
494 -2.097079 150.437
495 -2.006686 150.952
496 -2.006845 151.273
497 -1.913529 151.814
498 -1.823074 154.172
499 -1.729596 154.785
500 -1.730968 154.721
501 -1.641777 156.058
502 -1.550598 156.466
503 -1.457588 156.881
504 -1.454146 156.363
505 -1.364392 160.514
506 -1.274162 162.678
507 -1.272397 162.205
508 -1.182738 165.339
509 -1.091899 165.996
510 -1.005629 168.377
511 -1.003455 168.378
512 -0.911524 178.506
513 -0.822525 185.349
514 -0.730090 192.171
515 -0.732608 191.667
516 -0.639878 198.697
517 -0.547296 217.795
518 -0.455002 268.347
519 -0.453826 261.659
520 -0.363582 322.521
521 -0.275056 573.687
522 -0.181469 -1174.991
523 -0.181422 -1264.084
524 -0.088166 -106.336
525 0.001556 1.035
526 0.093782 43.497
527 0.094479 44.005
528 0.184103 64.706
529 0.275391 80.197
530 0.272223 80.201
531 0.361852 88.769
532 0.454777 96.011
533 0.545770 100.001
534 0.548589 100.425
535 0.638837 104.603
536 0.730232 109.346
537 0.818757 110.191
538 0.819358 111.111
539 0.909417 113.425
540 0.999173 113.469
541 1.092655 115.691
542 1.093546 115.931
543 1.185107 117.416
544 1.274890 119.071
545 1.363200 120.277
546 1.363997 120.412
547 1.453742 120.155
548 1.542896 120.337
549 1.540772 120.429
550 1.625330 120.726
551 1.716867 121.964
552 1.800992 122.195
553 1.799154 121.720
554 1.894577 122.083
555 1.991680 123.832
556 2.083358 124.181
557 2.083131 124.276
558 2.174875 125.205
559 2.263838 125.463
560 2.355656 125.719
561 2.357003 125.879
562 2.447301 126.217
563 2.536006 126.365
564 2.630471 127.382
565 2.630153 127.266
566 2.720331 126.830
567 2.808367 126.945
568 -2.559225 148.214
569 -2.564736 148.326
570 -2.475401 148.659
571 -2.383358 149.533
572 -2.294522 151.366
573 -2.289436 151.449
574 -2.203693 151.629
575 -2.111683 151.842
576 -2.020454 152.341
577 -2.016537 151.772
578 -1.925771 152.714
579 -1.835932 155.576
580 -1.742282 156.982
581 -1.738051 156.994
582 -1.645858 156.988
583 -1.556949 157.963
584 -1.465992 159.314
585 -1.466470 159.411
586 -1.376944 162.208
587 -1.286821 165.239
588 -1.288669 164.916
589 -1.198881 166.208
590 -1.106333 167.864
591 -1.014820 170.173
592 -1.014529 170.860
593 -0.924336 181.239
594 -0.833425 187.292
595 -0.743107 197.192
596 -0.743052 195.751
597 -0.652845 205.574
598 -0.562043 222.922
599 -0.471376 275.078
600 -0.470864 276.710
601 -0.379516 358.131
602 -0.274927 659.156
603 -0.179967 -1461.901
604 -0.180719 -1212.227
605 -0.091028 -112.885
606 0.000944 0.640
607 0.091263 43.442
608 0.092468 43.653
609 0.183541 65.422
610 0.276128 82.057
611 0.275569 80.443
612 0.366806 89.558
613 0.458378 96.547
614 0.548515 101.568
615 0.548075 101.770
616 0.638319 105.705
617 0.725730 109.653
618 0.816955 112.866
619 0.816911 111.858
620 0.903369 111.977
621 0.989400 113.279
622 1.082036 114.603
623 1.080257 114.628
624 1.171062 116.613
625 1.262646 117.721
626 1.354978 118.979
627 1.354239 118.865
628 1.442118 118.929
629 1.530302 120.124
630 1.527667 119.922
631 1.613518 119.929
632 1.711066 121.368
633 1.799720 121.781
634 1.801353 122.214
635 1.893041 122.508
636 1.985406 123.607
637 2.075798 123.766
638 2.075114 123.739
639 2.163253 124.736
640 2.252138 124.845
641 2.343832 125.141
642 2.343208 125.140
643 2.442569 125.721
644 2.542455 126.517
645 2.634628 127.519
646 2.633082 126.749
647 2.721244 126.847
648 2.815742 127.459
649 -2.549919 147.193
650 -2.548816 147.085
651 -2.457673 146.718
652 -2.368256 147.404
653 -2.276536 149.259
654 -2.273526 149.755
655 -2.185236 150.176
656 -2.093289 150.752
657 -2.004550 151.848
658 -2.004683 151.374
659 -1.913370 151.645
660 -1.820923 154.660
661 -1.727749 155.060
662 -1.727975 154.663
663 -1.635231 156.372
664 -1.545977 156.831
665 -1.455751 157.647
666 -1.453703 157.575
667 -1.364952 161.475
668 -1.274519 163.488
669 -1.274332 163.485
670 -1.183342 164.564
671 -1.092736 166.032
672 -1.004718 168.973
673 -1.004500 167.727
674 -0.914181 178.094
675 -0.823288 184.540
676 -0.733238 190.829
677 -0.732145 189.819
678 -0.641234 199.834
679 -0.550295 211.331
680 -0.459746 262.809
681 -0.457467 267.531
682 -0.365834 332.175
683 -0.274192 633.161
684 -0.182564 -916.978
685 -0.183242 -875.244
686 -0.093060 -105.821
687 -0.000185 -0.118
688 0.089957 41.295
689 0.088079 40.983
690 0.179296 63.738
691 0.271505 79.719
692 0.270854 78.596
693 0.361571 87.214
694 0.455155 94.274
695 0.546780 99.422
696 0.546503 98.815
697 0.638553 103.674
698 0.726902 108.285
699 0.819091 110.654
700 0.815741 110.068
701 0.908366 112.479
702 1.001382 113.332
703 1.091236 115.428
704 1.091596 115.724
705 1.184328 117.147
706 1.277157 118.384
707 1.365710 119.095
708 1.364737 119.414
709 1.454036 118.952
710 1.544951 120.311
711 1.545161 120.362
712 1.636347 121.572
713 1.723464 122.027
714 1.813156 122.203
715 1.811681 122.722
716 1.905414 123.203
717 1.996020 123.861
718 2.085912 124.227
719 2.085420 124.034
720 2.174409 125.130
721 2.270080 125.884
722 2.360700 125.410
723 2.361859 125.576
724 2.452631 126.439
725 2.543359 126.198
726 2.632890 126.981
727 2.632774 127.301
728 2.721307 127.247
729 2.813881 127.298
730 -2.546406 147.749
731 -2.549213 147.962
732 -2.455121 147.815
733 -2.366221 149.131
734 -2.276889 150.424
735 -2.277761 149.798
736 -2.189300 149.602
737 -2.097191 150.292
738 -2.004964 150.723
739 -2.005234 151.015
740 -1.911743 151.711
741 -1.825621 154.924
742 -1.740516 155.821
743 -1.740773 155.493
744 -1.649437 157.094
745 -1.556425 156.821
746 -1.465079 158.956
747 -1.461947 158.005
748 -1.366624 161.576
749 -1.276211 163.893
750 -1.277508 164.091
751 -1.182463 165.990
752 -1.090378 166.309
753 -1.003401 168.832
754 -1.000896 168.294
755 -0.911470 178.524
756 -0.821379 186.797
757 -0.735657 196.215
758 -0.737258 194.735
759 -0.651393 205.724
760 -0.563653 225.811
761 -0.474892 270.358
762 -0.473866 260.289
763 -0.380700 370.288
764 -0.276382 628.120
765 -0.182370 -1071.218
766 -0.185162 -985.485
767 -0.095463 -110.377
768 -0.002966 -1.918
769 0.088024 41.409
770 0.087324 40.589
771 0.177553 61.635
772 0.269421 78.064
773 0.268892 77.579
774 0.360517 87.053
775 0.449962 94.474
776 0.540236 98.897
777 0.541090 98.580
778 0.631731 103.186
779 0.723462 107.124
780 0.813002 109.223
781 0.811840 109.300
782 0.904978 112.257
783 0.995807 113.721
784 1.085053 114.604
785 1.086587 115.084
786 1.178416 116.830
787 1.267413 118.198
788 1.357629 118.752
789 1.359310 119.572
790 1.447849 119.624
791 1.540555 120.123
792 1.538070 120.003
793 1.630462 121.092
794 1.720538 121.957
795 1.812570 122.957
796 1.810749 123.097
797 1.904246 123.319
798 1.995716 123.860
799 2.089557 125.062
800 2.092263 124.961
801 2.180488 125.412
802 2.271095 125.608
803 2.361120 125.705
804 2.362898 126.048
805 2.455218 126.700
806 2.544680 126.236
807 2.635446 127.360
808 2.634450 127.155
809 2.725615 127.155
810 2.816192 127.719

File diff suppressed because it is too large Load Diff

View File

@ -1,63 +0,0 @@
import numpy as np
from sklearn.metrics import r2_score
import matplotlib.pyplot as plt
import os
# Load data from the CSV file, skipping the first row (header) and handling missing or bad values
data = np.genfromtxt('data2.csv', delimiter=',', skip_header=1, invalid_raise=False, missing_values='NaN')
# Remove rows containing missing values
data = data[~np.isnan(data).any(axis=1)]
# Extract columns
diff_amplifier_measured = data[:, 2]
wavegen_measured = data[:, 1]
real_wavegen_gain = data[:, 4]
# Define polynomial degree
degree = 1
# Calculate polynomial fits
coefficients_measured = np.polyfit(wavegen_measured, diff_amplifier_measured, degree)
# Generate polynomial functions using the coefficients
poly_func_measured = np.poly1d(coefficients_measured)
# Calculate R^2 value
r_squared_measured = r2_score(diff_amplifier_measured, poly_func_measured(wavegen_measured))
# Calculate absolute percentage error for polynomial fits (handling zero values)
non_zero_indices = np.nonzero(diff_amplifier_measured)
absolute_percentage_error_measured = np.mean(np.abs((diff_amplifier_measured[non_zero_indices] - poly_func_measured(wavegen_measured[non_zero_indices])) / diff_amplifier_measured[non_zero_indices])) * 100
# Plot original data and fitted curves for "Wavegen Measured vs Diff Amplifier Measured"
plt.figure(figsize=(8, 6))
plt.scatter(wavegen_measured, diff_amplifier_measured, color='green', label='Amplifier Output', s=1)
plt.plot(wavegen_measured, poly_func_measured(wavegen_measured), color='red', label='Linear Fit')
plt.xlabel('Input (mV)')
plt.ylabel('Amplifier Output (V)')
plt.title('Amplifier Output vs Input')
plt.legend()
plt.grid(True)
plt.savefig("images/Amplifier Output vs Input")
plt.show()
os.system('cls' if os.name == 'nt' else 'clear')
# Print coefficients, R^2 value, and average absolute percentage error for "Wavegen Measured vs Diff Amplifier Measured"
print("\nPolynomial Fit Coefficients for Wavegen Measured vs Diff Amplifier Measured:", coefficients_measured)
print("R^2 Value for Wavegen Measured vs Diff Amplifier Measured:", r_squared_measured)
print("Average Absolute Percentage Error for Wavegen Measured vs Diff Amplifier Measured:", absolute_percentage_error_measured, "%")
plt.close()
# Plot "Wavegen Measured vs Real Wavegen Gain"
plt.figure(figsize=(8, 6))
plt.scatter(wavegen_measured, real_wavegen_gain, color='blue', label='Amplifier Gain', s=1)
plt.xlabel('Input (mV)')
plt.ylabel('Amplifier Gain')
plt.title('Amplifier Gain vs Input')
plt.legend()
plt.grid(True)
plt.savefig("images/Amplifier Gain vs Input")
plt.show()

View File

@ -1,39 +0,0 @@
import numpy as np
from sklearn.linear_model import LinearRegression
# Load data from the CSV file
data = np.genfromtxt('data2.csv', delimiter=',', skip_header=1, invalid_raise=False, missing_values='NaN')
# Number of data points in each set
set_size = 80
# List to store slopes of individual fitting functions
slopes = []
# Iterate through the data sets
for i in range(len(data) // set_size):
# Extract data for the current set
set_data = data[i * set_size: (i + 1) * set_size]
# Extract x and y values
x_values = set_data[:, 1]
y_values = set_data[:, 2]
# Fit linear regression model
model = LinearRegression().fit(x_values.reshape(-1, 1), y_values)
# Get slope of the linear fitting function
slope = model.coef_[0]
# Append slope to the list
slopes.append(slope)
# Print the slope for the current set
print("Slope of linear fitting function for set", i+1, ":", slope)
# Calculate the average slope
average_slope = np.mean(slopes)
# Print the average slope
print("\nAverage slope (V / V):", average_slope*1000)
print("STDEV slope :", np.std(slopes)*1000)

View File

@ -1,29 +0,0 @@
import numpy as np
from sklearn.metrics import r2_score
import matplotlib.pyplot as plt
# Load data from the CSV file, skipping the first row (header) and handling missing or bad values
data = np.genfromtxt('data.csv', delimiter=',', skip_header=1, invalid_raise=False, missing_values='NaN')
# Remove rows containing missing values
data = data[~np.isnan(data).any(axis=1)]
# Extract columns
wavegen_output = data[:, 0]
diff_amplifier_measured = data[:, 2]
wavegen_measured = data[:, 1]
# Define polynomial degree
degree = 1
# Calculate polynomial fits
coefficients_output = np.polyfit(wavegen_output, diff_amplifier_measured, degree)
coefficients_measured = np.polyfit(wavegen_measured, diff_amplifier_measured, degree)
# Generate polynomial functions using the coefficients
poly_func_output = np.poly1d(coefficients_output)
poly_func_measured = np.poly1d(coefficients_measured)
# Calculate R^2 value
r_squared_output = r2_score(diff_amplifier_measured, poly_func_output(wavegen_output))
r_squared_measured = r2_score(diff_amplifier_measured, poly_func_measured(wavegen_measured))

View File

@ -1,55 +1,55 @@
# Differential Amplifier for mV/V Instrumentation
## Overview
## Project Overview
This project showcases the design and calibration of a differential amplifier for mV/V instrumentation, such as load cells. The amplifier provides a gain of approximately 100 and shifts the output so that 2.5V corresponds to 0 differential voltage. This configuration makes it compatible with analog-to-digital converters (ADCs) that have an input range of 0 to 5V, such as those used in Arduino.
This project focuses on developing a differential amplifier tailored for mV/V instrumentation, specifically designed for use with load cells and other precision sensors. The amplifier boosts the signal to a level appropriate for reading by standard analog-to-digital converters (ADCs), like those found in Arduino platforms, providing a significant gain while also adjusting the zero-level output voltage for optimal ADC utilization.
## Key Features
- **High Gain**: The amplifier provides a gain of around 100, making it suitable for millivolt-range signals from load cells and other precision sensors.
- **Offset Shifting**: Shifts the output to 2.5V when the differential input voltage is 0, allowing for full utilization of ADCs with a 0-5V range.
- **Calibration via Analog Discovery 3**: Uses the Analog Discovery 3's signal generator and scope to calibrate the amplifier across a range of input voltages.
- **High Gain Capability**: Achieves a gain factor of approximately 100, ideal for amplifying millivolt signals from precision sensors to usable levels.
- **Output Offset Adjustment**: Ensures that a 0 mV differential input translates to a 2.5V output, maximizing the dynamic range of ADCs that operate within a 0-5V range.
- **Calibration with Analog Discovery 3**: Leverages the capabilities of the Analog Discovery 3 to automate the calibration process, enhancing the accuracy and reliability of the amplifier.
## Calibration Process
## Calibration Methodology
The calibration of the amplifier is automated using the Analog Discovery 3 and Python. Here's how the calibration is carried out:
Calibration is conducted using the Analog Discovery 3, which acts as both a signal generator and data logger, ensuring precise control and measurement of input-output relationships. The calibration script must be loaded into the Digilent WaveForms software.
### 1. **Signal Injection**
### Steps Involved:
- The Analog Discovery 3 generates small differential voltages to simulate the load cell signals, sweeping from -20mV to +20mV in custom increments (e.g., 0.5mV steps).
- It logs the generated input signal and the amplifier's output using its own scope.
1. **Signal Generation**: Differential voltages ranging from -20mV to +20mV are generated in increments (e.g., 0.5mV steps) to simulate sensor output.
2. **Data Logging**: During each input step, the amplifier's output is sampled over a 1-second interval to obtain average values.
3. **Repeated Measurements**: Multiple sweeps across the entire voltage range are conducted to ensure data consistency and reliability.
4. **Data Analysis**: A linear regression analysis is applied to the logged data to determine the amplifier's gain and offset, along with their respective uncertainties.
### 2. **Sampling and Logging**
## Implementation Details
- Over a 1-second period, the system samples both the input signal and the amplifier's output.
- It calculates the average value of each during this period.
The calibration script automates the signal generation, data logging, and analysis process, providing a robust framework for ensuring the amplifier's accuracy. This script is located at `src/analog_discovery_code`.
### 3. **Multiple Sweeps**
- **Customizable Parameters**: Users can set the voltage range, step size, and the number of sweeps.
- **Efficient Data Handling**: The script logs both input and output values for each voltage step, ensuring thorough data collection.
- **Advanced Analysis**: Uses linear regression to compute key parameters (gain and offset), incorporating uncertainty analysis to gauge calibration precision.
- The system performs multiple sweeps through the input range (e.g., -20mV to +20mV), repeating this process for a specified number of loops to ensure consistent data.
### Workflow Example:
### 4. **Linear Regression and Analysis**
1. **Initiate Calibration**: Load the calibration script into the Digilent WaveForms software and run it to start the process.
2. **Configure Parameters**: Define the input sweep range, step size, and loop count.
3. **Data Acquisition**: Log input and output voltages, averaging over defined intervals.
4. **Compute Results**: The Python script `src/analyze_data.py` analyzes the data, calculates gain and offset, and reports results with uncertainties.
- Once the data is collected, Python performs a linear regression on each sweep to calculate:
- **Average Amplification**: The gain of the amplifier.
- **Offset**: Any static offset in the output.
- The results include both the average amplification and offset, along with their uncertainties, providing a thorough calibration of the system.
## Visual Documentation
## Python Script Overview
Below are visual representations of the amplifier's performance, illustrating the calibration results and the physical setup:
The Python script used for calibration automates the process of sweeping, logging, and analyzing data from the Analog Discovery 3. Key functions include:
![Amplifier Board](readme_media/amplifier_board.jpg)
- **Signal Generation**: Customizable step sizes, voltage range, and number of sweeps.
- **Data Collection**: Logs both input and output voltages during each sweep.
- **Linear Regression**: Fits a line to the data for each sweep to calculate the amplifier's gain and offset.
- **Uncertainty Analysis**: Reports uncertainties in both the amplification and offset.
### Calibration Outputs
### Example Workflow:
- **Amplifier Gain vs Input**: Displays the relationship between input voltage and amplifier gain.
![Amplifier Gain vs Input](example_calibration/images/Amplifier%20Gain%20vs%20Input.png)
1. **Run the script** to initiate the calibration process.
2. **Set the input sweep parameters**: range, step size, and number of loops.
3. **Log the data**: Input and output values are sampled and averaged.
4. **Perform regression**: Python analyzes the data, calculates gain and offset, and reports results with uncertainties.
- **Amplifier Output vs Input**: Shows how the output voltage varies with input signal.
![Amplifier Output vs Input](example_calibration/images/Amplifier%20Output%20vs%20Input.png)
# TODO
1. Rename files for better easibility
This comprehensive documentation and systematic approach ensure that the differential amplifier is well-suited for high-precision applications, offering reliable performance tailored for mV/V instrumentation.

View File

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View File

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

View File

@ -1,16 +1,14 @@
clear(); // Clears window
var total_loops = 100;
var average_duration = 1;
var lower_end = -20; // Smallest mV to test
var upper_end = 20; // Largest mV to test
var step_size = 0.5; // Step size in mV
var total_loops = 100; // How many times we sweep through the inputs values
var average_duration = 1; // How long to sample amplifier output
var lower_end = -20; // Smallest mV to test
var upper_end = 20; // Largest mV to test
var step_size = 0.5; // Step size in mV
if(!('Scope' in this)) throw "Please open a Scope instrument";
if (!('Wavegen' in this)) throw "Please open a Wavegen instrument";
Wavegen.Channel1.Mode.text = "Simple";
Wavegen.run();
@ -32,12 +30,13 @@ Supplies.Output.NegativeSupply.Voltage.value = -5;
Supplies.MasterEnable.checked = 1;
print("Wavegen Output (mV),Wavegen Measured (mV),Diff Amplifier Measured (V),Single Amplifier Measured (V),Ideal Wavegen Gain,Real Wavegen Gain");
for (var i = 0; i < total_loops; i++) {
for (var offset = lower_end; offset <= upper_end; offset += step_size) {
var desired_output_voltage = offset / 1000
Wavegen.Channel1.Simple.Offset.value = desired_output_voltage; // Set offset for desired output voltage
wait(average_duration + 0.2);
wait(average_duration + 0.2); // Waiting for 0.2 extra seconds allows the data to be fully cleared
var diff_amp_out = Scope.Channel1.measure("Average");
var average_wavegen_reading = Scope.Channel2.measure("Average");
@ -49,15 +48,6 @@ for (var i = 0; i < total_loops; i++) {
var output = offset + "," + ((average_wavegen_reading)*1000).toFixed(3) + "," + (diff_amp_out.toFixed(3)) + "," + (single_amp_out.toFixed(3)) + ","+ (ideal_gain.toFixed(3)) + "," + real_gain.toFixed(3);
print(output);
/*
// Debug stuff
print("Desired Wavegen = " + (offset) + " mV");
print("Measured Wavegen = " + (average_wavegen_reading*1000) + " mV");
print("Measured Amplifier Output = " + (average_reading) + " V");
print("Calculated Gain from Ideal Wavegen = " + (average_reading / offset * 1000));
print("Calculated Gain from Actual Wavegen = " + (gain));
*/
}
}

64
src/analyze_data.py Normal file
View File

@ -0,0 +1,64 @@
import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import r2_score
from sklearn.linear_model import LinearRegression
import os
# Load data from CSV file, handling missing or malformed data
data = np.genfromtxt('data.csv', delimiter=',', skip_header=1, invalid_raise=False, missing_values='NaN')
# Remove any rows containing NaN values
data = data[~np.isnan(data).any(axis=1)]
# Data extraction from the cleaned dataset
wavegen_measured = data[:, 1] # Input voltage in mV
diff_amplifier_measured = data[:, 2] # Amplifier output in volts
real_wavegen_gain = data[:, 4] # Real gain from the dataset
# Linear regression for Wavegen Measured vs Diff Amplifier Measured
coefficients_measured = np.polyfit(wavegen_measured, diff_amplifier_measured, 1)
poly_func_measured = np.poly1d(coefficients_measured)
r_squared_measured = r2_score(diff_amplifier_measured, poly_func_measured(wavegen_measured))
# Calculate the absolute percentage error for the linear fit, avoiding division by zero
non_zero_indices = np.nonzero(diff_amplifier_measured)
absolute_percentage_error_measured = np.mean(np.abs((diff_amplifier_measured[non_zero_indices] - poly_func_measured(wavegen_measured[non_zero_indices])) / diff_amplifier_measured[non_zero_indices])) * 100
# Plotting the linear fit results
plt.figure(figsize=(8, 6))
plt.scatter(wavegen_measured, diff_amplifier_measured, color='green', label='Amplifier Output', s=1)
plt.plot(wavegen_measured, poly_func_measured(wavegen_measured), color='red', label='Linear Fit')
plt.xlabel('Input (mV)')
plt.ylabel('Amplifier Output (V)')
plt.title('Amplifier Output vs Input')
plt.legend()
plt.grid(True)
plt.savefig("images/Amplifier Output vs Input")
plt.show()
# Clear the console after plotting
os.system('cls' if os.name == 'nt' else 'clear')
# Output the results of the linear regression analysis
print("\nPolynomial Fit Coefficients for Wavegen Measured vs Diff Amplifier Measured:", coefficients_measured)
print("R^2 Value for Wavegen Measured vs Diff Amplifier Measured:", r_squared_measured)
print("Average Absolute Percentage Error for Wavegen Measured vs Diff Amplifier Measured:", absolute_percentage_error_measured, "%")
# Close the current plot
plt.close()
# Segment the data and fit multiple linear regression models
set_size = 80
slopes = []
for i in range(len(data) // set_size):
set_data = data[i * set_size: (i + 1) * set_size]
x_values = set_data[:, 1] # Input values
y_values = set_data[:, 2] # Output values
model = LinearRegression().fit(x_values.reshape(-1, 1), y_values)
slopes.append(model.coef_[0])
print("Slope of linear fitting function for set", i+1, ":", model.coef_[0])
# Calculate and print the average slope
average_slope = np.mean(slopes)
print("\nAverage slope (mV/V):", average_slope * 1000)
print("Standard Deviation of slopes:", np.std(slopes) * 1000)