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

View file

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

View file

@ -3,6 +3,9 @@
#include "DriverJeuLaser.h"
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[];
int tabDFT[64];
int i;
@ -26,7 +29,7 @@ while (1)
{
for(i = 0;i<64;i++){
//tabDFT[0] = DFTReel(&(LeSignal[0]), 0);
tabDFT[i] = DFTReel(&(LeSignal[0]), i);
tabDFT[i] = DFTTotale(&(LeSignal[0]), i);
//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