diff --git a/soft/PjtKEIL_DFT_Signal_Reel/Src/DFT.s b/soft/PjtKEIL_DFT_Signal_Reel/Src/DFT.s
index a97462a..f196410 100644
--- a/soft/PjtKEIL_DFT_Signal_Reel/Src/DFT.s
+++ b/soft/PjtKEIL_DFT_Signal_Reel/Src/DFT.s
@@ -48,7 +48,7 @@ SumLoop
and r7, #0x3F ; mod 64
add r4, #1 ; ++n
cmp r4, #64 ;
- bcc SumLoop ; if n < 64 refaire
+ blt SumLoop ; if n < 64 refaire
mov r0, r3 ; 5.27
smull r0, r9, r3, r3 ; reel*reel
diff --git a/soft/PjtKEIL_StepDFT/Src/DFT.s b/soft/PjtKEIL_StepDFT/Src/DFT.s
index a97462a..2d2353c 100644
--- a/soft/PjtKEIL_StepDFT/Src/DFT.s
+++ b/soft/PjtKEIL_StepDFT/Src/DFT.s
@@ -24,7 +24,7 @@
export DFT_ModuleAuCarre
;for i in 0...63
-;signal[i]*Cos[k*i]
+;signal[i]*Cos[k*i] +=
DFT_ModuleAuCarre proc
push {r4, r5, r6, r8, r9, r10} ;
@@ -36,25 +36,31 @@ DFT_ModuleAuCarre proc
ldr r6, =TabSin ; les adresses du tableau "TabSin"
SumLoop
- ldrsh r8, [r0, r4, lsl #1] ; Chargement des éléments du signal d'entrée
- ldrsh r9, [r5, r7, lsl #1] ;Cos
- ldrsh r10,[r6, r7, lsl #1] ;Sin
- mul r9, r8, r9 ; Multiplication de l'élément du signal d'entrée avec l'élément correspondant des tableaux "TabCos" et "TabSin" (en utilisant une multiplication longue pour éviter la saturation).
- mul r10, r8, r10
- add r3, r3, r9 ; Mise à jour des parties réelles et imaginaires du résultat.
- add r2, r2, r10
+ ldrsh r8, [r0, r4, lsl #1] ; Chargement des éléments du signal d'entrée 4.12
+ ldrsh r9, [r5, r7, lsl #1] ;Cos 1.15
+ ldrsh r10,[r6, r7, lsl #1] ;Sin 1.15
+ mul r9, r8, r9 ;* Multiplication de l'élément du signal d'entrée avec l'élément correspondant des tableaux "TabCos" et "TabSin" (en utilisant une multiplication longue pour éviter la saturation).
+ mul r10, r8, r10 ;5.27
+ asr r9, #6
+ asr r10, #6
+ add r3, r3, r9 ; +=Mise à jour des parties réelles et imaginaires du résultat.
+ add r2, r2, r10 ;5+6 11.21
mul r7, r4, r1 ; i*k
and r7, #0x3F ; mod 64
- add r4, #1 ; ++n
+ add r4, r4, #1 ; ++n
cmp r4, #64 ;
- bcc SumLoop ; if n < 64 refaire
+ blt SumLoop ; if n < 64 refaire
- mov r0, r3 ; 5.27
- smull r0, r9, r3, r3 ; reel*reel
+ mov r0, r3 ; 5.27 reel
+ asr r3, #16
+ mul r9, r3, r3 ; reel*reel
mov r0, r9
- smull r0, r10, r2, r2 ; im*im
+ asr r2, #16
+ mul r10, r2, r2 ; im*im
add r0, r9, r10 ; 10.22
+
+ ;mov r0, r2 ;test im
pop {r4, r5, r6, r8, r9, r10}
bx lr
diff --git a/soft/PjtKEIL_StepDFT/StepDFT.uvoptx b/soft/PjtKEIL_StepDFT/StepDFT.uvoptx
index c58527a..4a552af 100644
--- a/soft/PjtKEIL_StepDFT/StepDFT.uvoptx
+++ b/soft/PjtKEIL_StepDFT/StepDFT.uvoptx
@@ -165,6 +165,11 @@
1
test[k]
+
+ 2
+ 1
+ \\StepDFT\Src/principal.c\test[32]
+