diff --git a/soft/PjtKEIL_StepDFT/Src/DFT.s b/soft/PjtKEIL_StepDFT/Src/DFT.s index 3f6b5d4..090cb64 100644 --- a/soft/PjtKEIL_StepDFT/Src/DFT.s +++ b/soft/PjtKEIL_StepDFT/Src/DFT.s @@ -1,6 +1,7 @@ PRESERVE8 - THUMB - + THUMB + export DFTReel + import LeSignal ; ====================== zone de réservation de données, ====================================== ;Section RAM (read only) : @@ -21,6 +22,28 @@ area moncode,code,readonly ; écrire le code ici +DFTReel proc + push {lr} + mov r2, #0 + mov r3, #0 +;;Pour i allant de 0 à M-1 (ici, M = 64) +SommeFor +;; Rsom += Signal[i] * TabCos[k*i] + ldrsh r4, [r0,r3] + mul r5, r1, r3 + and r5, #63 + ldr r6, =TabCos + ldrsh r5, [r6,r5] + mla r2, r4, r5, r2 + add r3, #1 + cmp r3, #64 + bne SommeFor +;;Fin Pour + str r2, [r0] + pop {pc} + + endp +;;// Renvoie Rsom, Isom (format 5.27) ou Rsom^2 + Isom^2 (format 10.54) diff --git a/soft/PjtKEIL_StepDFT/Src/principal.c b/soft/PjtKEIL_StepDFT/Src/principal.c index 1a347ae..a1c15e8 100644 --- a/soft/PjtKEIL_StepDFT/Src/principal.c +++ b/soft/PjtKEIL_StepDFT/Src/principal.c @@ -2,8 +2,10 @@ #include "DriverJeuLaser.h" - - +extern int DFTReel(short int *Signal, int k); +extern short int LeSignal[]; +int tabDFT[64]; +int i; int main(void) { @@ -11,7 +13,7 @@ int main(void) // ============= INIT PERIPH (faites qu'une seule fois) ===================== // =========================================================================== -// Après exécution : le coeur CPU est clocké à 72MHz ainsi que tous les timers +// Apr�s ex�cution : le coeur CPU est clock� � 72MHz ainsi que tous les timers CLOCK_Configure(); @@ -20,15 +22,14 @@ CLOCK_Configure(); //============================================================================ -/* Algo DFT module au carre - - - -*/ - + int tabDFT[64]; + int i = 0; while (1) { + for(i = 0;i<63;i++){ + tabDFT[i] = DFTReel(&(LeSignal[0]), i); + } } } diff --git a/soft/PjtKEIL_StepDFT/StepDFT.uvoptx b/soft/PjtKEIL_StepDFT/StepDFT.uvoptx index 0d72cfc..4d9c77c 100644 --- a/soft/PjtKEIL_StepDFT/StepDFT.uvoptx +++ b/soft/PjtKEIL_StepDFT/StepDFT.uvoptx @@ -75,7 +75,7 @@ 1 0 - 0 + 1 18 @@ -154,6 +154,26 @@ + + + 0 + 1 + tabDFT + + + 1 + 1 + i + + + + + 1 + 1 + 0x20000300 + 0 + + 0 @@ -267,7 +287,7 @@ 1 0 - 1 + 0 18 @@ -628,7 +648,7 @@ Sys - 1 + 0 0 0 0 @@ -648,7 +668,7 @@ Driver - 1 + 0 0 0 0 @@ -666,6 +686,38 @@ + + Signal + 1 + 0 + 0 + 0 + + 4 + 4 + 2 + 0 + 0 + 0 + .\Src\Signal.asm + Signal.asm + 0 + 0 + + + 4 + 5 + 2 + 0 + 0 + 0 + .\Src\DFT.s + DFT.s + 0 + 0 + + + ::CMSIS 0 diff --git a/soft/PjtKEIL_StepDFT/StepDFT.uvprojx b/soft/PjtKEIL_StepDFT/StepDFT.uvprojx index 9031782..8053821 100644 --- a/soft/PjtKEIL_StepDFT/StepDFT.uvprojx +++ b/soft/PjtKEIL_StepDFT/StepDFT.uvprojx @@ -410,6 +410,21 @@ + + Signal + + + Signal.asm + 2 + .\Src\Signal.asm + + + DFT.s + 2 + .\Src\DFT.s + + + ::CMSIS @@ -819,6 +834,21 @@ + + Signal + + + Signal.asm + 2 + .\Src\Signal.asm + + + DFT.s + 2 + .\Src\DFT.s + + + ::CMSIS @@ -1297,6 +1327,21 @@ + + Signal + + + Signal.asm + 2 + .\Src\Signal.asm + + + DFT.s + 2 + .\Src\DFT.s + + + ::CMSIS @@ -1322,7 +1367,7 @@ - <Project Info> + StepDFT 0 1 diff --git a/soft/PjtKEIL_StepSon/StepSon.uvoptx b/soft/PjtKEIL_StepSon/StepSon.uvoptx index 6bbbbac..f3a504f 100644 --- a/soft/PjtKEIL_StepSon/StepSon.uvoptx +++ b/soft/PjtKEIL_StepSon/StepSon.uvoptx @@ -289,7 +289,7 @@ 1 0 - 0 + 1 18 @@ -396,7 +396,7 @@ 0 0 0 - 0 + 1 0 0 0 @@ -482,7 +482,7 @@ 1 0 - 1 + 0 18 diff --git a/soft/PjtKEIL_StepSon/StepSon.uvprojx b/soft/PjtKEIL_StepSon/StepSon.uvprojx index 2849fe6..33cf5aa 100644 --- a/soft/PjtKEIL_StepSon/StepSon.uvprojx +++ b/soft/PjtKEIL_StepSon/StepSon.uvprojx @@ -434,7 +434,7 @@ CibleSondeKEIL 0x4 ARM-ADS - 5060750::V5.06 update 6 (build 750)::.\ARMCC + 5060960::V5.06 update 7 (build 960)::.\ARMCC 0