Question for you math-heads about single pole filters
Posted: Fri Jul 18, 2014 1:23 pm
Many of the code examples have these sneaky few lines in them with magical numbers that are never explained very well. Well maybe they ARE explained somewhere, but I'm just dense and need better explanations to understand things.
For example, the low pass filter acting as a control smoother prior to the RDA instruction:
Here I'm mostly interested in this line:
rdfx del_read, 0.0125
and the source and meaning of the "magic" number 0.0125.
The knowledge base article on simple filters implies that the factor used in the RDFX instruction is (1 - e^(-2 * PI * f0/fs)).
So, if 0.0125 = (1 - e^(-2 * PI * f0/fs)), then (step by step)
e^(-2 * PI * f0/fs) = 1 - 0.0125 = 0.9875
take natural log of both sides....
-2 * PI * f0/fs = ln(0.9875) which is about -0.012579.
making f0 = 0.012579 * fs /(2 * PI)
= 0.012579 * 32768/(6.283) = 65.6 Hz.
Is this correct?
For example, the low pass filter acting as a control smoother prior to the RDA instruction:
Code: Select all
rdax adcl,1
wra delay,0
clr
or 32767*256
mulx POT1
sof maxlength/1000,0
rdfx del_read, 0.0125
wrax del_read,1
wrax addr_ptr,0
rdfx del_read, 0.0125
and the source and meaning of the "magic" number 0.0125.
The knowledge base article on simple filters implies that the factor used in the RDFX instruction is (1 - e^(-2 * PI * f0/fs)).
So, if 0.0125 = (1 - e^(-2 * PI * f0/fs)), then (step by step)
e^(-2 * PI * f0/fs) = 1 - 0.0125 = 0.9875
take natural log of both sides....
-2 * PI * f0/fs = ln(0.9875) which is about -0.012579.
making f0 = 0.012579 * fs /(2 * PI)
= 0.012579 * 32768/(6.283) = 65.6 Hz.
Is this correct?