forkattu lähteestä acco/chti23
début de la dft (somme réelle et imaginaire commmentée)
This commit is contained in:
vanhempi
d553a2b2e4
commit
788676daa7
1 muutettua tiedostoa jossa 43 lisäystä ja 0 poistoa
|
@ -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
|
Ladataan…
Viittaa uudesa ongelmassa