Transférer les fichiers vers 'soft/PjtKEIL_StepDFT/Src'

DFT partie imaginaire fonctionnelle, DFT totale avancée mais non testée
This commit is contained in:
Baptiste Henriet 2023-05-16 12:23:46 +02:00
parent 8864a81d99
commit 552c7a052f

View file

@ -1,6 +1,8 @@
PRESERVE8 PRESERVE8
THUMB THUMB
export DFTReel export DFTReel
export DFTImage
export DFTTotale
import LeSignal import LeSignal
; ====================== zone de réservation de données, ====================================== ; ====================== zone de réservation de données, ======================================
@ -28,12 +30,12 @@ DFTReel proc
mov r3, #0 mov r3, #0
;;Pour i allant de 0 à M-1 (ici, M = 64) ;;Pour i allant de 0 à M-1 (ici, M = 64)
SommeFor SommeForReel
;; Rsom += Signal[i] * TabCos[k*i] ;; Rsom += Signal[i] * TabCos[k*i]
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 ;;mov r7, r5
;mul r7, r5 ;mul r7, r5
ldr r6, =TabCos ldr r6, =TabCos
ldrsh r5, [r6,r5,lsl #1] ldrsh r5, [r6,r5,lsl #1]
@ -41,7 +43,7 @@ SommeFor
mla r2, r4, r5, r2 mla r2, r4, r5, r2
add r3, #1 add r3, #1
cmp r3, #64 cmp r3, #64
bne SommeFor bne SommeForReel
;;Fin Pour ;;Fin Pour
mov r0, r2 mov r0, r2
pop {pc} pop {pc}
@ -49,8 +51,52 @@ SommeFor
endp endp
;;// Renvoie Rsom, Isom (format 5.27) ou Rsom^2 + Isom^2 (format 10.54) ;;// Renvoie Rsom, Isom (format 5.27) ou Rsom^2 + Isom^2 (format 10.54)
;; DFT Partie imaginaire
DFTImage proc
push {lr}
mov r2, #0
mov r3, #0
;;Pour i allant de 0 à M-1 (ici, M = 64)
SommeForImage
;; Rsom += Signal[i] * TabCos[k*i]
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
bne SommeForImage
;;Fin Pour
mov r0, r2
pop {pc}
endp
DFTTotale proc
push {lr}
mov r7, r0
mov r8, r1
bl DFTReel
mov r3, r7
mov r7, r0
mov r0, r4
mov r3, r8
mov r8, r1
mov r1, r3
bl DFTImage
smull r0, r1, r0, r0
smlal r0, r1, r7, r7
pop {pc}
endp
;Section ROM code (read only) : ;Section ROM code (read only) :
AREA Trigo, DATA, READONLY AREA Trigo, DATA, READONLY