DFT module au carré testée et fonctionnelle

This commit is contained in:
Baptiste Henriet 2023-05-16 16:18:49 +02:00
parent 552c7a052f
commit be9d64d04b
4 changed files with 140 additions and 75 deletions

View file

@ -35,11 +35,8 @@ SommeForReel
ldrsh r4, [r0,r3,lsl #1] ldrsh r4, [r0,r3,lsl #1]
mul r5, r1, r3 mul r5, r1, r3
and r5, #63 and r5, #63
;;mov r7, r5
;mul r7, r5
ldr r6, =TabCos ldr r6, =TabCos
ldrsh r5, [r6,r5,lsl #1] ldrsh r5, [r6,r5,lsl #1]
;;smlal r2, r7, r4, r5
mla r2, r4, r5, r2 mla r2, r4, r5, r2
add r3, #1 add r3, #1
cmp r3, #64 cmp r3, #64
@ -64,11 +61,8 @@ SommeForImage
ldrsh r4, [r0,r3,lsl #1] ldrsh r4, [r0,r3,lsl #1]
mul r5, r1, r3 mul r5, r1, r3
and r5, #63 and r5, #63
;;mov r7, r5
;mul r7, r5
ldr r6, =TabSin ldr r6, =TabSin
ldrsh r5, [r6,r5,lsl #1] ldrsh r5, [r6,r5,lsl #1]
;;smlal r2, r7, r4, r5
mla r2, r4, r5, r2 mla r2, r4, r5, r2
add r3, #1 add r3, #1
cmp r3, #64 cmp r3, #64
@ -82,18 +76,18 @@ SommeForImage
DFTTotale proc DFTTotale proc
push {lr} push {lr}
mov r7, r0 mov r7, r0 ;;On sauvegarde les arguments de la fonction dans r7 et r8
mov r8, r1 mov r8, r1
bl DFTReel bl DFTReel
mov r3, r7 mov r3, r7
mov r7, r0 mov r7, r0 ;;On sauvegarde la valeur de retour de DFTReel
mov r0, r4 mov r0, r3
mov r3, r8 mov r3, r8
mov r8, r1 mov r8, r1
mov r1, r3 mov r1, r3
bl DFTImage bl DFTImage
smull r0, r1, r0, r0 smull r1, r0, r0, r0
smlal r0, r1, r7, r7 smlal r1, r0, r7, r7
pop {pc} pop {pc}
endp endp

View file

@ -1,68 +1,68 @@
AREA Signal, DATA, READONLY AREA Signal, DATA, READONLY
export LeSignal export LeSignal
LeSignal LeSignal
DCW 0x0fff ; 0 4095 0.99976 DCW 0x0800 ; 0 2048 0.50000
DCW 0x0ff6 ; 1 4086 0.99756 DCW 0x08c9 ; 1 2249 0.54907
DCW 0x0fd9 ; 2 4057 0.99048 DCW 0x0990 ; 2 2448 0.59766
DCW 0x0fa8 ; 3 4008 0.97852 DCW 0x0a53 ; 3 2643 0.64526
DCW 0x0f64 ; 4 3940 0.96191 DCW 0x0b10 ; 4 2832 0.69141
DCW 0x0f0e ; 5 3854 0.94092 DCW 0x0bc5 ; 5 3013 0.73560
DCW 0x0ea7 ; 6 3751 0.91577 DCW 0x0c72 ; 6 3186 0.77783
DCW 0x0e2f ; 7 3631 0.88647 DCW 0x0d13 ; 7 3347 0.81714
DCW 0x0da8 ; 8 3496 0.85352 DCW 0x0da8 ; 8 3496 0.85352
DCW 0x0d13 ; 9 3347 0.81714 DCW 0x0e2f ; 9 3631 0.88647
DCW 0x0c72 ; 10 3186 0.77783 DCW 0x0ea7 ; 10 3751 0.91577
DCW 0x0bc5 ; 11 3013 0.73560 DCW 0x0f0e ; 11 3854 0.94092
DCW 0x0b10 ; 12 2832 0.69141 DCW 0x0f64 ; 12 3940 0.96191
DCW 0x0a53 ; 13 2643 0.64526 DCW 0x0fa8 ; 13 4008 0.97852
DCW 0x0990 ; 14 2448 0.59766 DCW 0x0fd9 ; 14 4057 0.99048
DCW 0x08c9 ; 15 2249 0.54907 DCW 0x0ff6 ; 15 4086 0.99756
DCW 0x0800 ; 16 2048 0.50000 DCW 0x0fff ; 16 4095 0.99976
DCW 0x0737 ; 17 1847 0.45093 DCW 0x0ff6 ; 17 4086 0.99756
DCW 0x0670 ; 18 1648 0.40234 DCW 0x0fd9 ; 18 4057 0.99048
DCW 0x05ad ; 19 1453 0.35474 DCW 0x0fa8 ; 19 4008 0.97852
DCW 0x04f0 ; 20 1264 0.30859 DCW 0x0f64 ; 20 3940 0.96191
DCW 0x043b ; 21 1083 0.26440 DCW 0x0f0e ; 21 3854 0.94092
DCW 0x038e ; 22 910 0.22217 DCW 0x0ea7 ; 22 3751 0.91577
DCW 0x02ed ; 23 749 0.18286 DCW 0x0e2f ; 23 3631 0.88647
DCW 0x0258 ; 24 600 0.14648 DCW 0x0da8 ; 24 3496 0.85352
DCW 0x01d1 ; 25 465 0.11353 DCW 0x0d13 ; 25 3347 0.81714
DCW 0x0159 ; 26 345 0.08423 DCW 0x0c72 ; 26 3186 0.77783
DCW 0x00f2 ; 27 242 0.05908 DCW 0x0bc5 ; 27 3013 0.73560
DCW 0x009c ; 28 156 0.03809 DCW 0x0b10 ; 28 2832 0.69141
DCW 0x0058 ; 29 88 0.02148 DCW 0x0a53 ; 29 2643 0.64526
DCW 0x0027 ; 30 39 0.00952 DCW 0x0990 ; 30 2448 0.59766
DCW 0x000a ; 31 10 0.00244 DCW 0x08c9 ; 31 2249 0.54907
DCW 0x0000 ; 32 0 0.00000 DCW 0x0800 ; 32 2048 0.50000
DCW 0x000a ; 33 10 0.00244 DCW 0x0737 ; 33 1847 0.45093
DCW 0x0027 ; 34 39 0.00952 DCW 0x0670 ; 34 1648 0.40234
DCW 0x0058 ; 35 88 0.02148 DCW 0x05ad ; 35 1453 0.35474
DCW 0x009c ; 36 156 0.03809 DCW 0x04f0 ; 36 1264 0.30859
DCW 0x00f2 ; 37 242 0.05908 DCW 0x043b ; 37 1083 0.26440
DCW 0x0159 ; 38 345 0.08423 DCW 0x038e ; 38 910 0.22217
DCW 0x01d1 ; 39 465 0.11353 DCW 0x02ed ; 39 749 0.18286
DCW 0x0258 ; 40 600 0.14648 DCW 0x0258 ; 40 600 0.14648
DCW 0x02ed ; 41 749 0.18286 DCW 0x01d1 ; 41 465 0.11353
DCW 0x038e ; 42 910 0.22217 DCW 0x0159 ; 42 345 0.08423
DCW 0x043b ; 43 1083 0.26440 DCW 0x00f2 ; 43 242 0.05908
DCW 0x04f0 ; 44 1264 0.30859 DCW 0x009c ; 44 156 0.03809
DCW 0x05ad ; 45 1453 0.35474 DCW 0x0058 ; 45 88 0.02148
DCW 0x0670 ; 46 1648 0.40234 DCW 0x0027 ; 46 39 0.00952
DCW 0x0737 ; 47 1847 0.45093 DCW 0x000a ; 47 10 0.00244
DCW 0x0800 ; 48 2048 0.50000 DCW 0x0000 ; 48 0 0.00000
DCW 0x08c9 ; 49 2249 0.54907 DCW 0x000a ; 49 10 0.00244
DCW 0x0990 ; 50 2448 0.59766 DCW 0x0027 ; 50 39 0.00952
DCW 0x0a53 ; 51 2643 0.64526 DCW 0x0058 ; 51 88 0.02148
DCW 0x0b10 ; 52 2832 0.69141 DCW 0x009c ; 52 156 0.03809
DCW 0x0bc5 ; 53 3013 0.73560 DCW 0x00f2 ; 53 242 0.05908
DCW 0x0c72 ; 54 3186 0.77783 DCW 0x0159 ; 54 345 0.08423
DCW 0x0d13 ; 55 3347 0.81714 DCW 0x01d1 ; 55 465 0.11353
DCW 0x0da8 ; 56 3496 0.85352 DCW 0x0258 ; 56 600 0.14648
DCW 0x0e2f ; 57 3631 0.88647 DCW 0x02ed ; 57 749 0.18286
DCW 0x0ea7 ; 58 3751 0.91577 DCW 0x038e ; 58 910 0.22217
DCW 0x0f0e ; 59 3854 0.94092 DCW 0x043b ; 59 1083 0.26440
DCW 0x0f64 ; 60 3940 0.96191 DCW 0x04f0 ; 60 1264 0.30859
DCW 0x0fa8 ; 61 4008 0.97852 DCW 0x05ad ; 61 1453 0.35474
DCW 0x0fd9 ; 62 4057 0.99048 DCW 0x0670 ; 62 1648 0.40234
DCW 0x0ff6 ; 63 4086 0.99756 DCW 0x0737 ; 63 1847 0.45093
END END

View file

@ -3,6 +3,9 @@
#include "DriverJeuLaser.h" #include "DriverJeuLaser.h"
extern int DFTReel(short int *Signal, int k); extern int DFTReel(short int *Signal, int k);
extern int DFTImage(short int *Signal, int k);
extern int DFTTotale(short int *Signal, int k);
extern short int LeSignal[]; extern short int LeSignal[];
int tabDFT[64]; int tabDFT[64];
int i; int i;
@ -26,7 +29,7 @@ while (1)
{ {
for(i = 0;i<64;i++){ for(i = 0;i<64;i++){
//tabDFT[0] = DFTReel(&(LeSignal[0]), 0); //tabDFT[0] = DFTReel(&(LeSignal[0]), 0);
tabDFT[i] = DFTReel(&(LeSignal[0]), i); tabDFT[i] = DFTTotale(&(LeSignal[0]), i);
//tabDFT[2] = DFTReel(&(LeSignal[0]), 2); //tabDFT[2] = DFTReel(&(LeSignal[0]), 2);
} }
} }

68
soft/Signal.asm Normal file
View file

@ -0,0 +1,68 @@
AREA Signal, DATA, READONLY
export LeSignal
LeSignal
DCW 0x0800 ; 0 2048 0.50000
DCW 0x08c9 ; 1 2249 0.54907
DCW 0x0990 ; 2 2448 0.59766
DCW 0x0a53 ; 3 2643 0.64526
DCW 0x0b10 ; 4 2832 0.69141
DCW 0x0bc5 ; 5 3013 0.73560
DCW 0x0c72 ; 6 3186 0.77783
DCW 0x0d13 ; 7 3347 0.81714
DCW 0x0da8 ; 8 3496 0.85352
DCW 0x0e2f ; 9 3631 0.88647
DCW 0x0ea7 ; 10 3751 0.91577
DCW 0x0f0e ; 11 3854 0.94092
DCW 0x0f64 ; 12 3940 0.96191
DCW 0x0fa8 ; 13 4008 0.97852
DCW 0x0fd9 ; 14 4057 0.99048
DCW 0x0ff6 ; 15 4086 0.99756
DCW 0x0fff ; 16 4095 0.99976
DCW 0x0ff6 ; 17 4086 0.99756
DCW 0x0fd9 ; 18 4057 0.99048
DCW 0x0fa8 ; 19 4008 0.97852
DCW 0x0f64 ; 20 3940 0.96191
DCW 0x0f0e ; 21 3854 0.94092
DCW 0x0ea7 ; 22 3751 0.91577
DCW 0x0e2f ; 23 3631 0.88647
DCW 0x0da8 ; 24 3496 0.85352
DCW 0x0d13 ; 25 3347 0.81714
DCW 0x0c72 ; 26 3186 0.77783
DCW 0x0bc5 ; 27 3013 0.73560
DCW 0x0b10 ; 28 2832 0.69141
DCW 0x0a53 ; 29 2643 0.64526
DCW 0x0990 ; 30 2448 0.59766
DCW 0x08c9 ; 31 2249 0.54907
DCW 0x0800 ; 32 2048 0.50000
DCW 0x0737 ; 33 1847 0.45093
DCW 0x0670 ; 34 1648 0.40234
DCW 0x05ad ; 35 1453 0.35474
DCW 0x04f0 ; 36 1264 0.30859
DCW 0x043b ; 37 1083 0.26440
DCW 0x038e ; 38 910 0.22217
DCW 0x02ed ; 39 749 0.18286
DCW 0x0258 ; 40 600 0.14648
DCW 0x01d1 ; 41 465 0.11353
DCW 0x0159 ; 42 345 0.08423
DCW 0x00f2 ; 43 242 0.05908
DCW 0x009c ; 44 156 0.03809
DCW 0x0058 ; 45 88 0.02148
DCW 0x0027 ; 46 39 0.00952
DCW 0x000a ; 47 10 0.00244
DCW 0x0000 ; 48 0 0.00000
DCW 0x000a ; 49 10 0.00244
DCW 0x0027 ; 50 39 0.00952
DCW 0x0058 ; 51 88 0.02148
DCW 0x009c ; 52 156 0.03809
DCW 0x00f2 ; 53 242 0.05908
DCW 0x0159 ; 54 345 0.08423
DCW 0x01d1 ; 55 465 0.11353
DCW 0x0258 ; 56 600 0.14648
DCW 0x02ed ; 57 749 0.18286
DCW 0x038e ; 58 910 0.22217
DCW 0x043b ; 59 1083 0.26440
DCW 0x04f0 ; 60 1264 0.30859
DCW 0x05ad ; 61 1453 0.35474
DCW 0x0670 ; 62 1648 0.40234
DCW 0x0737 ; 63 1847 0.45093
END