This commit is contained in:
2025-10-23 17:29:25 +02:00
parent c46136b803
commit 9b652e9338
3 changed files with 511 additions and 421 deletions

View File

@ -1,416 +1,416 @@
-0.44721360 -0.44721360 -0.48961254 -0.44544459
-0.44721360 1.34164079 -0.46513110 1.40428312
-0.44721360 1.34164079 -0.29307347 1.38893240
1.34164079 -0.44721360 1.31089689 -0.55680171
-0.44721360 1.34164079 -0.38632169 1.36097312
-0.44721360 1.34164079 -0.33123545 1.38726262
-1.34164079 1.34164079 -1.26549075 1.37974405
-1.34164079 -1.34164079 -1.49852105 -1.19958987
-0.44721360 1.34164079 -0.31017669 1.30222164
1.34164079 1.34164079 1.50729893 1.24105325
-0.44721360 0.44721360 -0.43017215 0.48948646
-0.44721360 -0.44721360 -0.54096932 -0.28558853
-0.44721360 1.34164079 -0.26310886 1.41585924
-0.44721360 0.44721360 -0.43457847 0.44417363
-0.44721360 1.34164079 -0.19980151 1.35561085
-0.44721360 -0.44721360 -0.44785998 -0.33107245
-1.34164079 1.34164079 -1.14331753 1.50994919
0.44721360 -1.34164079 0.14820610 -1.42291697
-1.34164079 1.34164079 -1.10811359 1.44551804
-1.34164079 -1.34164079 -1.57079461 -1.11961078
-0.44721360 0.44721360 -0.38427593 0.43042485
-0.44721360 -1.34164079 -0.81528420 -1.22676725
-0.44721360 0.44721360 -0.44084375 0.55211323
-1.34164079 1.34164079 -1.12415715 1.46959617
-0.44721360 1.34164079 -0.22904642 1.34965939
-0.44721360 -0.44721360 -0.50438838 -0.39136139
-0.44721360 1.34164079 -0.20762621 1.38489848
0.44721360 -0.44721360 0.33614255 -0.59435058
-0.44721360 0.44721360 -0.42253847 0.49986333
-1.34164079 -1.34164079 -1.60347736 -0.95239233
-0.44721360 1.34164079 -0.03566900 1.37591841
-0.44721360 -0.44721360 -0.51774331 -0.40091728
-0.44721360 0.44721360 -0.44026540 0.59544844
1.34164079 1.34164079 1.61978249 0.94637465
-1.34164079 1.34164079 -0.92149464 1.71093438
-1.34164079 -1.34164079 -1.56102417 -0.94051892
-0.44721360 1.34164079 -0.01285030 1.38478328
-1.34164079 0.44721360 -1.19627264 0.83013282
-0.44721360 1.34164079 -0.06307302 1.47052202
-0.44721360 -0.44721360 -0.58523530 -0.26077664
-1.34164079 1.34164079 -0.98115028 1.59689715
-1.34164079 -1.34164079 -1.66141576 -0.88628493
-0.44721360 1.34164079 -0.00852613 1.43712353
-1.34164079 1.34164079 -0.94510653 1.68296522
-0.44721360 1.34164079 0.02796472 1.45841907
0.44721360 -1.34164079 0.04359314 -1.43960140
-0.44721360 1.34164079 0.02915805 1.41430273
0.44721360 0.44721360 0.59530686 0.23857004
-0.44721360 1.34164079 0.01512380 1.39441413
0.44721360 1.34164079 0.87304003 1.07342230
-0.44721360 1.34164079 0.03850944 1.47994568
-0.44721360 -1.34164079 -0.74819139 -1.08237048
-1.34164079 1.34164079 -0.80309466 1.82889157
-1.34164079 -1.34164079 -1.69114176 -0.75838051
-0.44721360 0.44721360 -0.22871349 0.55763008
-0.44721360 0.44721360 -0.28017727 0.51990165
-0.44721360 1.34164079 0.05134513 1.43745319
1.34164079 -1.34164079 0.70298158 -1.76376530
-0.44721360 1.34164079 0.06299865 1.44501145
1.34164079 -0.44721360 1.04763519 -0.94454689
-0.44721360 0.44721360 -0.14211486 0.57473317
-1.34164079 0.44721360 -1.05659494 0.90567818
-0.44721360 1.34164079 0.21562582 1.42864813
1.34164079 0.44721360 1.43794919 -0.18192650
-0.44721360 0.44721360 -0.17191186 0.72065825
1.34164079 -0.44721360 1.06943225 -1.00399960
-1.34164079 1.34164079 -0.62563602 1.77948004
-1.34164079 -1.34164079 -1.75877350 -0.58976746
-0.44721360 1.34164079 0.15742790 1.38156984
-1.34164079 -0.44721360 -1.36716105 0.18569423
-0.44721360 0.44721360 -0.10959253 0.56159108
-1.34164079 -0.44721360 -1.38029979 0.27498475
-0.44721360 0.44721360 -0.16662433 0.63815496
-0.44721360 -0.44721360 -0.69299949 -0.22078711
-0.44721360 1.34164079 0.24097931 1.43158061
-0.44721360 -0.44721360 -0.56183026 -0.17886504
-0.44721360 0.44721360 -0.20186054 0.69913865
-0.44721360 -0.44721360 -0.62490100 -0.14390235
-0.44721360 0.44721360 -0.20291470 0.59305976
1.34164079 -1.34164079 0.51209376 -1.90033204
-1.34164079 1.34164079 -0.45613235 1.87052028
0.44721360 -1.34164079 -0.33525878 -1.36406488
-1.34164079 1.34164079 -0.52204801 1.87033049
-1.34164079 -1.34164079 -1.80395817 -0.49649028
-0.44721360 -0.44721360 -0.56417371 -0.09817205
-0.44721360 1.34164079 0.33527724 1.34641187
-0.44721360 1.34164079 0.25267449 1.38825080
1.34164079 -0.44721360 0.89090250 -1.07383883
-0.44721360 1.34164079 0.29405742 1.35820577
-0.44721360 1.34164079 0.34849465 1.37038226
-1.34164079 1.34164079 -0.31128450 1.84170483
-1.34164079 -1.34164079 -1.79739912 -0.39840073
-0.44721360 1.34164079 0.33475505 1.42320930
1.34164079 1.34164079 1.73584529 0.41520891
-0.44721360 0.44721360 -0.11884979 0.65144257
-0.44721360 -0.44721360 -0.58057834 -0.09703036
-0.44721360 1.34164079 0.41486733 1.25197673
-0.44721360 0.44721360 -0.08610506 0.61807043
-0.44721360 1.34164079 0.48157488 1.34603546
-0.44721360 -0.44721360 -0.51959424 -0.10279402
-1.34164079 1.34164079 -0.22181939 1.85567303
0.44721360 -1.34164079 -0.43696196 -1.32625724
-1.34164079 1.34164079 -0.22859344 1.91431107
-1.34164079 -1.34164079 -1.86197344 -0.21673157
-0.44721360 0.44721360 -0.07335711 0.70160975
-0.44721360 -1.34164079 -1.19148834 -0.78920537
-0.44721360 0.44721360 -0.13331574 0.62574148
-1.34164079 1.34164079 -0.12591132 1.90861215
-0.44721360 1.34164079 0.55253930 1.36648515
-0.44721360 -0.44721360 -0.61017418 -0.07900305
-0.44721360 1.34164079 0.56494240 1.25763125
0.44721360 -0.44721360 0.03588819 -0.60607038
-0.44721360 0.44721360 -0.16605597 0.61282039
-1.34164079 -1.34164079 -1.83991758 -0.05832141
-0.44721360 1.34164079 0.44707974 1.32300615
-0.44721360 -0.44721360 -0.58169728 -0.00595536
-0.44721360 0.44721360 0.04035602 0.60491026
1.34164079 1.34164079 1.82488117 0.13148933
-1.34164079 1.34164079 -0.09894890 1.85431403
-1.34164079 -1.34164079 -1.94432949 -0.01478929
-0.44721360 1.34164079 0.65139963 1.21039977
-1.34164079 0.44721360 -0.73792715 1.19409828
-0.44721360 1.34164079 0.61274010 1.20774353
-0.44721360 -0.44721360 -0.55048746 0.06897033
-1.34164079 1.34164079 -0.00216719 1.94731226
-1.34164079 -1.34164079 -1.90572088 -0.00961994
-0.44721360 1.34164079 0.63257907 1.28332411
-1.34164079 1.34164079 -0.03658697 1.88600425
-0.44721360 1.34164079 0.72958333 1.30050643
0.44721360 -1.34164079 -0.69441386 -1.20574763
-0.44721360 1.34164079 0.59432528 1.18046372
0.44721360 0.44721360 0.57212587 0.03035341
-0.44721360 1.34164079 0.72664451 1.15150859
0.44721360 1.34164079 1.33739250 0.53193906
-0.44721360 1.34164079 0.65798374 1.22337579
-0.44721360 -1.34164079 -1.27476518 -0.49007002
-1.34164079 1.34164079 0.05715084 1.91518006
-1.34164079 -1.34164079 -1.92376764 0.20568610
-0.44721360 0.44721360 0.03337894 0.52213641
-0.44721360 0.44721360 0.09766169 0.76246638
-0.44721360 1.34164079 0.72672206 1.20756452
1.34164079 -1.34164079 -0.24726369 -1.82461637
-0.44721360 1.34164079 0.84049477 1.19627841
1.34164079 -0.44721360 0.45402707 -1.32737360
-0.44721360 0.44721360 0.10396333 0.67426301
-1.34164079 0.44721360 -0.46558946 1.36599073
-0.44721360 1.34164079 0.75612467 1.20061076
1.34164079 0.44721360 1.20224816 -0.82351951
-0.44721360 0.44721360 0.09945559 0.64980823
1.34164079 -0.44721360 0.40092147 -1.39275741
-1.34164079 1.34164079 0.28095155 1.95902585
-1.34164079 -1.34164079 -1.89902051 0.38443177
-0.44721360 1.34164079 0.81312652 1.06565550
-1.34164079 -0.44721360 -1.10523485 0.81614169
-0.44721360 0.44721360 0.17539027 0.60607147
-1.34164079 -0.44721360 -1.08341524 0.85037101
-0.44721360 0.44721360 0.11703295 0.56780442
-0.44721360 -0.44721360 -0.62514703 0.08280138
-0.44721360 1.34164079 0.93688915 1.13972258
-0.44721360 -0.44721360 -0.62616770 0.08694894
-0.44721360 0.44721360 0.07656169 0.60466805
-0.44721360 -0.44721360 -0.58304627 0.12275201
-0.44721360 0.44721360 0.14060574 0.65332465
1.34164079 -1.34164079 -0.46504121 -1.86336679
-1.34164079 1.34164079 0.47300263 1.79896550
0.44721360 -1.34164079 -0.91510621 -1.05313216
-1.34164079 1.34164079 0.47114393 1.85433307
-1.34164079 -1.34164079 -1.77301753 0.46009286
-0.44721360 -0.44721360 -0.54507731 0.16083904
-0.44721360 1.34164079 0.88330875 0.97594803
-0.44721360 1.34164079 0.84930908 0.97970934
1.34164079 -0.44721360 0.26180808 -1.39899938
-0.44721360 1.34164079 0.92125691 0.88504166
-0.44721360 1.34164079 1.04997851 1.00795302
-1.34164079 1.34164079 0.52998259 1.81511825
-1.34164079 -1.34164079 -1.71489073 0.52823691
-0.44721360 1.34164079 0.98904512 1.04053873
1.34164079 1.34164079 1.82532442 -0.57436133
-0.44721360 0.44721360 0.13520730 0.50528308
-0.44721360 -0.44721360 -0.61914934 0.21982490
-0.44721360 1.34164079 1.01503204 1.05277598
-0.44721360 0.44721360 0.21159036 0.57605876
-0.44721360 1.34164079 0.91660475 0.94049546
-0.44721360 -0.44721360 -0.61541016 0.29095564
-1.34164079 1.34164079 0.62609787 1.74017153
0.44721360 -1.34164079 -1.08752399 -0.99132647
-1.34164079 1.34164079 0.76525865 1.72200222
-1.34164079 -1.34164079 -1.76420782 0.71663228
-0.44721360 0.44721360 0.22353957 0.49553689
-0.44721360 -1.34164079 -1.36548697 -0.13614393
-0.44721360 0.44721360 0.30057974 0.60480370
-1.34164079 1.34164079 0.72688319 1.69890859
-0.44721360 1.34164079 1.02144075 0.87191682
-0.44721360 -0.44721360 -0.53104473 0.20727986
-0.44721360 1.34164079 1.12890578 0.89874637
0.44721360 -0.44721360 -0.34307893 -0.59073421
-0.44721360 0.44721360 0.21189859 0.47810079
-1.34164079 -1.34164079 -1.67898034 0.75335891
-0.44721360 1.34164079 1.11877996 0.92515156
-0.44721360 -0.44721360 -0.53524443 0.19639758
-0.44721360 0.44721360 0.40246637 0.55394168
1.34164079 1.34164079 1.71671976 -0.84851742
-1.34164079 1.34164079 0.85241157 1.67085885
-1.34164079 -1.34164079 -1.65999861 0.88996632
-0.44721360 1.34164079 1.14343675 0.77619951
-1.34164079 0.44721360 0.01973882 1.50709965
-0.44721360 1.34164079 1.23496270 0.84604907
-0.44721360 -0.44721360 -0.58865986 0.31450775
-1.34164079 1.34164079 0.90706106 1.63673024
-1.34164079 -1.34164079 -1.64951586 0.99700496
-0.44721360 1.34164079 1.23705620 0.79200846
-1.34164079 1.34164079 0.90811187 1.69230330
-0.44721360 1.34164079 1.21871516 0.77786107
0.44721360 -1.34164079 -1.21417902 -0.82676679
-0.44721360 1.34164079 1.21843545 0.79754650
0.44721360 0.44721360 0.46830390 -0.39568361
-0.44721360 1.34164079 1.23591198 0.75994717
0.44721360 1.34164079 1.30664386 -0.15646879
-0.44721360 1.34164079 1.20837214 0.66956495
-0.44721360 -1.34164079 -1.33597135 0.20770639
-1.34164079 1.34164079 1.07684938 1.58402836
-1.34164079 -1.34164079 -1.63631303 0.97690329
-0.44721360 0.44721360 0.42837377 0.46174780
-0.44721360 0.44721360 0.33755803 0.49496571
-0.44721360 1.34164079 1.28309836 0.72649413
1.34164079 -1.34164079 -1.02856457 -1.51936209
-0.44721360 1.34164079 1.27789182 0.74562945
1.34164079 -0.44721360 -0.22354338 -1.43585457
-0.44721360 0.44721360 0.40585314 0.61327824
-1.34164079 0.44721360 0.18263466 1.44556002
-0.44721360 1.34164079 1.29947395 0.65836781
1.34164079 0.44721360 0.67059393 -1.27143638
-0.44721360 0.44721360 0.30976849 0.50595737
1.34164079 -0.44721360 -0.35133388 -1.38306488
-1.34164079 1.34164079 1.09424882 1.46139023
-1.34164079 -1.34164079 -1.54993037 1.18919991
-0.44721360 1.34164079 1.26990578 0.58664272
-1.34164079 -0.44721360 -0.64627153 1.28576337
-0.44721360 0.44721360 0.40915803 0.43278891
-1.34164079 -0.44721360 -0.60210501 1.29808665
-0.44721360 0.44721360 0.31782993 0.51648304
-0.44721360 -0.44721360 -0.53174512 0.34997737
-0.44721360 1.34164079 1.27252369 0.54738946
-0.44721360 -0.44721360 -0.50931719 0.38587497
-0.44721360 0.44721360 0.37844860 0.43542442
-0.44721360 -0.44721360 -0.57010280 0.32272275
-0.44721360 0.44721360 0.41449300 0.52494515
1.34164079 -1.34164079 -1.27703904 -1.43171480
-1.34164079 1.34164079 1.31351682 1.41133254
0.44721360 -1.34164079 -1.33669046 -0.53197769
-1.34164079 1.34164079 1.20667648 1.34711079
-1.34164079 -1.34164079 -1.36551992 1.34228552
-0.44721360 -0.44721360 -0.53606785 0.42397625
-0.44721360 1.34164079 1.42643488 0.52754677
-0.44721360 1.34164079 1.25063823 0.46187229
1.34164079 -0.44721360 -0.38606726 -1.35182299
-0.44721360 1.34164079 1.35171097 0.53935539
-0.44721360 1.34164079 1.35062855 0.42160177
-1.34164079 1.34164079 1.36233237 1.34029509
-1.34164079 -1.34164079 -1.31043230 1.34643901
-0.44721360 1.34164079 1.38244016 0.39373355
1.34164079 1.34164079 1.25066238 -1.44855873
-0.44721360 0.44721360 0.43200556 0.46788979
-0.44721360 -0.44721360 -0.42134427 0.47098778
-0.44721360 1.34164079 1.36281212 0.46815575
-0.44721360 0.44721360 0.44083823 0.36229051
-0.44721360 1.34164079 1.38305322 0.32810010
-0.44721360 -0.44721360 -0.45110773 0.46380056
-1.34164079 1.34164079 1.43603839 1.20120537
0.44721360 -1.34164079 -1.32190338 -0.37624311
-1.34164079 1.34164079 1.49449818 1.20125391
-1.34164079 -1.34164079 -1.20567682 1.55232534
-0.44721360 0.44721360 0.58422493 0.41427894
-0.44721360 -1.34164079 -1.20715782 0.48988342
-0.44721360 0.44721360 0.34866497 0.39151998
-1.34164079 1.34164079 1.49886828 1.20337418
-0.44721360 1.34164079 1.44048084 0.19095526
-0.44721360 -0.44721360 -0.39314298 0.50199366
-0.44721360 1.34164079 1.37274013 0.21145366
0.44721360 -0.44721360 -0.51646556 -0.34849968
-0.44721360 0.44721360 0.46286982 0.32106549
-1.34164079 -1.34164079 -1.11795301 1.55817381
-0.44721360 1.34164079 1.43635472 0.12670014
-0.44721360 -0.44721360 -0.45229655 0.46130994
-0.44721360 0.44721360 0.51300846 0.36804529
1.34164079 1.34164079 1.09069505 -1.46299574
-1.34164079 1.34164079 1.56406300 1.04566660
-1.34164079 -1.34164079 -0.99216278 1.57795669
-0.44721360 1.34164079 1.48352041 0.22764812
-1.34164079 0.44721360 0.67153229 1.22104534
-0.44721360 1.34164079 1.38989645 0.16687950
-0.44721360 -0.44721360 -0.26628596 0.55482193
-1.34164079 1.34164079 1.55176085 1.05592934
-1.34164079 -1.34164079 -1.00805648 1.59717399
-0.44721360 1.34164079 1.39738347 0.13954744
-1.34164079 1.34164079 1.64093666 1.09085350
-0.44721360 1.34164079 1.33149219 0.07607907
0.44721360 -1.34164079 -1.49718163 -0.19222213
-0.44721360 1.34164079 1.46484721 0.11587303
0.44721360 0.44721360 0.30323162 -0.52722447
-0.44721360 1.34164079 1.44154326 -0.04261822
0.44721360 1.34164079 1.15996483 -0.78417104
-0.44721360 1.34164079 1.46808337 0.06327806
-0.44721360 -1.34164079 -1.13150524 0.70882611
-1.34164079 1.34164079 1.73417711 0.92971637
-1.34164079 -1.34164079 -0.88679017 1.65283145
-0.44721360 0.44721360 0.65323782 0.27004474
-0.44721360 0.44721360 0.62156850 0.23908697
-0.44721360 1.34164079 1.43120236 -0.01977933
1.34164079 -1.34164079 -1.69704199 -0.81548161
-0.44721360 1.34164079 1.50195468 -0.11010930
1.34164079 -0.44721360 -0.89704982 -1.11511745
-0.44721360 0.44721360 0.51339586 0.28540725
-1.34164079 0.44721360 0.86939319 1.07216313
-0.44721360 1.34164079 1.41848331 -0.03882423
1.34164079 0.44721360 -0.12057756 -1.45947991
-0.44721360 0.44721360 0.69599133 0.22852746
1.34164079 -0.44721360 -0.91695338 -1.05331735
-1.34164079 1.34164079 1.78578231 0.74835257
-1.34164079 -1.34164079 -0.74016968 1.81822295
-0.44721360 1.34164079 1.40289027 -0.11172712
-1.34164079 -0.44721360 0.07084859 1.43723720
-0.44721360 0.44721360 0.58119839 0.21524718
-1.34164079 -0.44721360 0.04198519 1.49789145
-0.44721360 0.44721360 0.57210920 0.22097615
-0.44721360 -0.44721360 -0.22366343 0.58627521
-0.44721360 1.34164079 1.42455620 -0.12982301
-0.44721360 -0.44721360 -0.13362457 0.68263829
-0.44721360 0.44721360 0.54696227 0.24686813
-0.44721360 -0.44721360 -0.24118480 0.58089469
-0.44721360 0.44721360 0.56356655 0.30392984
1.34164079 -1.34164079 -1.77517966 -0.69108184
-1.34164079 1.34164079 1.83172461 0.61442927
0.44721360 -1.34164079 -1.42019865 0.19993192
-1.34164079 1.34164079 1.84241886 0.55973948
-1.34164079 -1.34164079 -0.54492246 1.84798540
-0.44721360 -0.44721360 -0.22529925 0.58683552
-0.44721360 1.34164079 1.42416898 -0.22866871
-0.44721360 1.34164079 1.44660767 -0.19126394
1.34164079 -0.44721360 -1.06656064 -1.02613643
-0.44721360 1.34164079 1.33374832 -0.27671784
-0.44721360 1.34164079 1.35663736 -0.31437592
-1.34164079 1.34164079 1.81277928 0.50904140
-1.34164079 -1.34164079 -0.42071499 1.94048571
-0.44721360 1.34164079 1.34430120 -0.30054542
1.34164079 1.34164079 0.49215095 -1.80490515
-0.44721360 0.44721360 0.55692097 0.14763690
-0.44721360 -0.44721360 -0.09100418 0.57967127
-0.44721360 1.34164079 1.31097206 -0.32851058
-0.44721360 0.44721360 0.60454127 0.10088269
-0.44721360 1.34164079 1.38250158 -0.31253244
-0.44721360 -0.44721360 -0.03627446 0.57912606
-1.34164079 1.34164079 1.85238460 0.35877373
0.44721360 -1.34164079 -1.35123008 0.43176677
-1.34164079 1.34164079 1.94955103 0.36646367
-1.34164079 -1.34164079 -0.35021803 1.81764768
-0.44721360 0.44721360 0.64238008 0.17451633
-0.44721360 -1.34164079 -0.82792393 1.19165344
-0.44721360 0.44721360 0.61155272 0.17222952
-1.34164079 1.34164079 1.81529035 0.32912303
-0.44721360 1.34164079 1.34665515 -0.39850446
-0.44721360 -0.44721360 -0.07146229 0.59176372
-0.44721360 1.34164079 1.31666474 -0.42121180
0.44721360 -0.44721360 -0.66679149 -0.07441151
-0.44721360 0.44721360 0.65795799 0.16475121
-1.34164079 -1.34164079 -0.23277688 1.87718572
-0.44721360 1.34164079 1.28531280 -0.57869031
-0.44721360 -0.44721360 -0.03715614 0.63080589
-0.44721360 0.44721360 0.63786408 0.09445329
1.34164079 1.34164079 0.20978234 -1.91444420
-1.34164079 1.34164079 1.89066545 0.19889781
-1.34164079 -1.34164079 -0.14577078 1.89789268
-0.44721360 1.34164079 1.30375767 -0.50887943
-1.34164079 0.44721360 1.20271768 0.69208730
-0.44721360 1.34164079 1.33826305 -0.56560928
-0.44721360 -0.44721360 -0.06780183 0.63430771
-1.34164079 1.34164079 1.93393669 0.05628379
-1.34164079 -1.34164079 -0.13854581 1.90279530
-0.44721360 1.34164079 1.28577881 -0.54780021
-1.34164079 1.34164079 1.89384896 0.06695432
-0.44721360 1.34164079 1.33780890 -0.55354551
0.44721360 -1.34164079 -1.25558620 0.66576944
-0.44721360 1.34164079 1.33159009 -0.48283724
0.44721360 0.44721360 0.04017382 -0.64200065
-0.44721360 1.34164079 1.23844040 -0.59677820
0.44721360 1.34164079 0.68829395 -1.26704094
-0.44721360 1.34164079 1.29130299 -0.59222046
-0.44721360 -1.34164079 -0.67535838 1.20820049
-1.34164079 1.34164079 1.93869890 -0.05791543
-1.34164079 -1.34164079 0.12713845 1.87484374
-0.44721360 0.44721360 0.77657913 0.02040247
-0.44721360 0.44721360 0.63160102 0.00660691
-0.44721360 1.34164079 1.24244624 -0.67370943
1.34164079 -1.34164079 -1.84109063 0.08797837
-0.44721360 1.34164079 1.28182793 -0.69719047
1.34164079 -0.44721360 -1.31319236 -0.52642967
-0.44721360 0.44721360 0.63488504 -0.07598658
-1.34164079 0.44721360 1.32781009 0.62256655
-0.44721360 1.34164079 1.22594177 -0.71521729
1.34164079 0.44721360 -0.76582438 -1.24994760
-0.44721360 0.44721360 0.63268726 -0.15553386
1.34164079 -0.44721360 -1.32682719 -0.53291695
-1.34164079 1.34164079 2.01777801 -0.13027800
-1.34164079 -1.34164079 0.14464114 1.90637156
-0.44721360 1.34164079 1.12406593 -0.75712395
-1.34164079 -0.44721360 0.78498751 1.21465878
-0.44721360 0.44721360 0.62142786 -0.04518144
-1.34164079 -0.44721360 0.77876616 1.15380949
-0.44721360 0.44721360 0.61338544 -0.00774816
-0.44721360 -0.44721360 0.06401641 0.66848491
-0.44721360 1.34164079 1.15548903 -0.83882198
-0.44721360 -0.44721360 0.12182780 0.68004504
-0.44721360 0.44721360 0.54187921 -0.06399507
-0.44721360 -0.44721360 0.02153134 0.60988530
-0.44721360 0.44721360 0.75335082 -0.07216479
1.34164079 -1.34164079 -1.85238231 0.19396941

BIN
QAM/out

Binary file not shown.

100
QAM/qam.c
View File

@ -234,6 +234,86 @@ double complex* concat_preamble_signal(double complex* preamble_mod, int preambl
return s_concat; return s_concat;
} }
// Coarse Frequency Offset avec préambule avec N = 1 (lag 1)
void cfo(double complex* s_with_preamble, int N, int L, double Fs, int total_samples, double Fc) {
double complex sum = 0;
int lag = 5;
for (int n = lag; n < L * N; n++) {
sum += s_with_preamble[n] * conj(s_with_preamble[n - lag]);
}
double phi = carg(sum);
double f_est = (phi / (2.0 * M_PI * lag)) * Fs;
double f_offset = f_est - Fc;
printf("CFO estimé : %f Hz \n", f_offset);
for (int n = 0; n < total_samples; n++) {
s_with_preamble[n] *= cexp(-I * 2.0 * M_PI * f_offset * n / Fs);
}
}
// Fine Frequency Offset (FFO) Correction
void ffo(qam_system* qam, double complex* s_with_preamble, double complex* preamble_ref, int L, int total_samples) {
double complex r_preamble[L];
for (int k = 0; k < L; k++) {
double complex r = 0;
for (int n = 0; n < qam->N; n++) {
int idx = k * qam->N + n;
r += s_with_preamble[idx] * cexp(-2 * I * M_PI * qam->Fc * ((double)idx / qam->Fs)) / A;
}
r /= qam->N;
r_preamble[k] = r;
}
double complex diff_phase_sum = 0;
double Ts_symbole = qam->N / qam->Fs;
for (int k = 1; k < L; k++) {
double complex error_k = r_preamble[k] * conj(preamble_ref[k]);
double complex error_k_minus_1 = r_preamble[k - 1] * conj(preamble_ref[k - 1]);
diff_phase_sum += error_k * conj(error_k_minus_1);
}
double phi_sym = carg(diff_phase_sum);
double delta_f_fine_est = phi_sym / (2.0 * M_PI * Ts_symbole);
printf("FFO estimé (Delta f fine) : %f Hz\n", delta_f_fine_est);
for (int n = 0; n < total_samples; n++) {
s_with_preamble[n] *= cexp(-I * 2.0 * M_PI * delta_f_fine_est * n / qam->Fs);
}
}
// Phase Offset (PO) Correction
void po(qam_system* qam, double complex* s_with_preamble, double complex* preamble_ref, int L, int total_samples) {
double complex r_preamble[L];
for (int k = 0; k < L; k++) {
double complex r = 0;
for (int n = 0; n < qam->N; n++) {
int idx = k * qam->N + n;
r += s_with_preamble[idx] * cexp(-2 * I * M_PI * qam->Fc * ((double)idx / qam->Fs)) / A;
}
r /= qam->N;
r_preamble[k] = r;
}
double complex phase_error_sum = 0;
for (int k = 0; k < L; k++) {
phase_error_sum += r_preamble[k] * conj(preamble_ref[k]);
}
double phi_est = carg(phase_error_sum);
printf("Phase Offset (PO) estimée : %f radians (soit %f degrés)\n", phi_est, phi_est * 180.0 / M_PI);
double complex phase_corr = cexp(-I * phi_est);
for (int n = 0; n < total_samples; n++) {
s_with_preamble[n] *= phase_corr;
}
}
int main () { int main () {
// Initialisation du system qam // Initialisation du system qam
qam_system qam; qam_system qam;
@ -274,22 +354,29 @@ int main () {
double complex* s_with_preamble = concat_preamble_signal(preamble_mod, L, s_mod, nb_symbols, qam.N); double complex* s_with_preamble = concat_preamble_signal(preamble_mod, L, s_mod, nb_symbols, qam.N);
// Ajout du bruit // Ajout du bruit
add_noise(s_with_preamble, total_samples, 0); add_noise(s_with_preamble, total_samples, 10);
FILE *fp_ref = fopen("constellation_ref.dat", "w"); FILE *fp_ref = fopen("constellation_ref.dat", "w");
fill_constellation_data(&qam, fp_ref); fill_constellation_data(&qam, fp_ref);
fclose(fp_ref); fclose(fp_ref);
// Ajout de dephasage // Ajout de dephasage
//add_dephasage(s, M_PI / 6.0, total_samples); add_dephasage(s_with_preamble, M_PI / 6.0 , total_samples);
// AJout de decalage de fréquence // AJout de decalage de fréquence
add_freq(&qam, s_with_preamble, 0, total_samples); add_freq(&qam, s_with_preamble, 10, total_samples);
// Estimation / correction du CFO
cfo(s_with_preamble, qam.N, L, qam.Fs, total_samples, qam.Fc);
ffo(&qam, s_with_preamble, preamble, L, total_samples);
// Correction phase
po(&qam, s_with_preamble, preamble, L, total_samples);
// Démodulation // Démodulation
FILE *fp_constel = fopen("constellation.dat", "w"); FILE *fp_constel = fopen("constellation.dat", "w");
uint8_t* output_bits = (uint8_t*)malloc(nb_bits * sizeof(uint8_t)); uint8_t* output_bits = (uint8_t*)malloc(nb_bits * sizeof(uint8_t));
demodulate(&qam, s_mod, nb_symbols, output_bits, fp_constel); demodulate(&qam, s_with_preamble + L * qam.N, nb_symbols, output_bits, fp_constel);
fclose(fp_constel); fclose(fp_constel);
// Reconstruction du texte // Reconstruction du texte
@ -307,7 +394,10 @@ int main () {
free(input_bits); free(input_bits);
free(output_bits); free(output_bits);
free(symbols); free(symbols);
free(s); free(preamble);
free(preamble_mod);
free(s_with_preamble);
free(texte_recup);
free_constellation(&qam); free_constellation(&qam);
return 0; return 0;