From 788676daa7a7fbe48373c3b4269d2b19cc7a94e7 Mon Sep 17 00:00:00 2001 From: Firmin Rousseau Date: Wed, 19 Apr 2023 13:07:16 +0200 Subject: [PATCH] =?UTF-8?q?d=C3=A9but=20de=20la=20dft=20(somme=20r=C3=A9el?= =?UTF-8?q?le=20et=20imaginaire=20commment=C3=A9e)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soft/PjtKEIL_StepDFT/Src/DFT.s | 43 ++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/soft/PjtKEIL_StepDFT/Src/DFT.s b/soft/PjtKEIL_StepDFT/Src/DFT.s index 3f6b5d4..d89973d 100644 --- a/soft/PjtKEIL_StepDFT/Src/DFT.s +++ b/soft/PjtKEIL_StepDFT/Src/DFT.s @@ -10,6 +10,9 @@ ;Section RAM (read write): area maram,data,readwrite +ModuleAuCarre dcd 0 +PartieReelle dcd 0 +PartieIm dcd 0 ; =============================================================================================== @@ -160,7 +163,47 @@ TabSin DCW -6393 ; 62 0xe707 -0.19510 DCW -3212 ; 63 0xf374 -0.09802 +DFT_ModuleAuCarre proc + + push {r4, r5, r6, r7, r8} + + ldr r0, =TabCos + ldr r8, =TabSin + ldr r1, =LeSignal + ldr r6, =PartieReelle + ldr r7, =PartieIm + mov r3, #0 + +debut_boucle + ldrsh r4, [r1,r3, lsl #1];lecture de la valeur du signal à l'adresse r1 décalé de l'index r3 + ldrsh r2, [r0,r3, lsl #1];lecture de la valeur du cos à l'adresse r0 décalé de l'index r3 + + + ;attention format à prendre en compte............................. + + mul r5, r2, r4 ;calcul + ldr r2, [r6] ;lecture de la valeur de la partie réelle + add r2, r5 ; on y ajoute la valeur calculée + strh r2, [r6] ; on store la valeur à l'adresse + + ldrsh r2, [r8,r3, lsl #1];lecture de la valeur du sin + mul r5, r2, r4 ; calcul en reprenant la valeur du signal qui ne change pas dans r4 + ldr r2, [r7];lecture de la valeur de la partie imaginaire + add r2, r5 + strh r2, [r7] + + + + add r3, #1 ;incrémentation de l'index + cmp r3, #64 ;on compare pour sortir de la boucle + bne debut_boucle + +fin_boucle + + pop {r4, r5, r6, r7, r8} + bx lr + endp END \ No newline at end of file