Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
10/23/07 16:47
Read: times


 
#146088 - Climax time
Responding to: ???'s previous message
Jason Arkwright said:

How would I adjust sample time and integration time?
,
Christoph Franck said:

The latter by modifying a. By sample time, do you mean the sampling period of the ADC ?


1)By sample time, means the time taken between each ADC sample, in my case this is 0.35 secs, which calibrates the filter to secs

2)By integration time, means adjusting your CR time whilst the processor is running, in otherwords the end user can adjust the filter time in mSecs,secs,minutes or hours to his desire.


Heres your difference equation:

y(n) = (1 - a) * y(n-1) + a * x(n-1)


How would I adjust it as outlined in 1 and 2 using your difference equation?

Christoph Franck said:

The homogenous part of the differential equation should be the same no matter whether you're charging or discharging the capacitor, since the charging/discharging is expressed in the particular part of the equation.


Correct, I introduced the negative sign to indicate the gradient dVc/dt goes negative during discharging and positive during charging.

Christoph Franck said:

The are other ways of getting from other domains to a difference equation (for example the bilinear transformation, which transforms a transfer function in the Laplace domain to a transfer function in the z domain).



Christoph, I am well aware of what Z transforms do, they produce iterative/recursive difference equations whilst Laplace/Heaveside_switchers transforms transform from the frequency domain to time domain. There are other much easier ways of handling differential equations, like using commutating methods, which I use, but we don't even have do that and infact we can run a differential equation(ODE) directly in software with a little thought.

we have....

dVc=[(E-Vc)/cr]*dt.....(1)charging
dVc=[(Vc-E)/cr]*dt.....(2)discharging

final output(Vc(t+1))=Vc(t)+dVc

cr= adjustable integration time of the filter
dt= sample time, in my case 0.35 secs

Heres my CR filter routine....



 In_filter:
Dti = Adc_present - Adc_last ;test charging/discharging
If Dti < 0 Then              ; if neg. then exec. following code
Dti = Adc_last - Adc_present
Dti = Dti * 0.35             ; calibrate filter to secs
Dti = Dti / Fil_time         ; fil_time=cr time (adjustable)
Adc_last = Adc_last - Dti    ; form final output
Gosub Disp                   ; display it
Return                       
End If
Dti = Dti * 0.35             ; if discharging then go here
Dti = Dti / Fil_time
Adc_last = Adc_last + Dti
Gosub Disp
Return



Cheers
Jason

List of 64 messages in thread
TopicAuthorDate
ADC last digit stability            01/01/70 00:00      
   DVM            01/01/70 00:00      
      DVM's only 10 bits?            01/01/70 00:00      
         Frequency response            01/01/70 00:00      
            Typically twice or more the sampling frequency            01/01/70 00:00      
               Missing the point            01/01/70 00:00      
   You usually don\'t _want_ a stable last digit.            01/01/70 00:00      
      Result            01/01/70 00:00      
         Hm.            01/01/70 00:00      
      Averaging/DSP/FIR filters            01/01/70 00:00      
         Math lecture ?            01/01/70 00:00      
            Can't use average-too slow            01/01/70 00:00      
               Analysis            01/01/70 00:00      
               already stated            01/01/70 00:00      
               Derivation            01/01/70 00:00      
                  The nitty gritty stuff            01/01/70 00:00      
                     Simulate using a spreadsheet            01/01/70 00:00      
                        Hi Russ and thanks for that            01/01/70 00:00      
                           My spreadsheet vs. your spreadsheet            01/01/70 00:00      
                              Unit test !            01/01/70 00:00      
                     As I said...            01/01/70 00:00      
                        Calibration?            01/01/70 00:00      
                           Horsefeathers            01/01/70 00:00      
                              Longs?            01/01/70 00:00      
                                 A long is more "accurate" than a float.            01/01/70 00:00      
                                    Yes it is, but....            01/01/70 00:00      
                                       _Known_ transfer functions.            01/01/70 00:00      
                                          FP pitfalls            01/01/70 00:00      
                                             The compiler isn't going to take care of that.            01/01/70 00:00      
                                                Mantissa fields            01/01/70 00:00      
                                                   Misunderstandings ?            01/01/70 00:00      
                                                      Adding FP's accurately            01/01/70 00:00      
                                 can you not read ?            01/01/70 00:00      
                           Nonsense ...            01/01/70 00:00      
                              Calculator?            01/01/70 00:00      
                     If you're really curious ...            01/01/70 00:00      
                        Climax time            01/01/70 00:00      
                           OOPS!!....            01/01/70 00:00      
                           Equations            01/01/70 00:00      
                              Quantisation            01/01/70 00:00      
                                 Works in unsigned integer, too:            01/01/70 00:00      
                                    Abstract?            01/01/70 00:00      
                                       Useful abstractions.            01/01/70 00:00      
                                          Nice talking with you, Christoph.            01/01/70 00:00      
                           What are the actual requirements ?            01/01/70 00:00      
                              re filters            01/01/70 00:00      
                              And moving forward            01/01/70 00:00      
               You can not due to Dither            01/01/70 00:00      
         Clueless ?            01/01/70 00:00      
            Just dump the LSB            01/01/70 00:00      
               Don't forget proper rounding.            01/01/70 00:00      
            Speaking of DSP            01/01/70 00:00      
         Fluke stability            01/01/70 00:00      
   Oh yes they do!            01/01/70 00:00      
   my take on this            01/01/70 00:00      
      Walk, don't run            01/01/70 00:00      
         :)            01/01/70 00:00      
      Hello Erik            01/01/70 00:00      
         have fun, Jason            01/01/70 00:00      
            I am having fun            01/01/70 00:00      
               Ok, you are aware of this            01/01/70 00:00      
                  He's learning            01/01/70 00:00      
                  Assumptions            01/01/70 00:00      
                     and I ...            01/01/70 00:00      

Back to Subject List