Timeline for how a signal for which calculate RMS can be filtered and have a fast settling time?
Current License: CC BY-SA 4.0
12 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Feb 14, 2021 at 1:45 | history | edited | Dan Boschen | CC BY-SA 4.0 |
deleted 8 characters in body
|
Nov 25, 2019 at 3:20 | comment | added | Ben | Yep you're right sorry. | |
Nov 25, 2019 at 3:18 | comment | added | Dan Boschen | @Ben I think you meant to comment on the OP's question--- my answer doesn't suggest an FIR filter but a simple accumulator (or other related loop filter). | |
Nov 25, 2019 at 3:16 | comment | added | Ben | using an FIR in a control loop is a bad idea. It will add too much delay | |
Nov 25, 2019 at 2:42 | history | edited | Dan Boschen | CC BY-SA 4.0 |
added 43 characters in body
|
Nov 24, 2019 at 20:04 | history | edited | Dan Boschen | CC BY-SA 4.0 |
added 219 characters in body
|
Nov 24, 2019 at 20:00 | comment | added | Dan Boschen | At that point for further improvement you could go to a 2nd order Type 2 PI loop (adding an proportional path summed with the integrator output followed by another integrator) and then perhaps further improvement with a PID beyond that depending on the loop dynamics. | |
Nov 24, 2019 at 19:59 | comment | added | Dan Boschen | You can set level with a sinusoidal signal with this kind of feedback- ultimately your loop bandwidth needs to be wider than the sinusoidal signal if you want the loop to keep up with it (AM modulate your signal). So in your case you can do the same thing (the simpler first order type 1 loop) by accumulating your error and then using the scaled accumulated output to control your duty cycle. Adjust K to vary your loop bandwidth. You can add additional high frequency filtering in the loop but it will soon make it unstable- | |
Nov 24, 2019 at 19:55 | comment | added | Dan Boschen | What you are doing is a control loop--- PID is complicated if you are not intimately familiar with control loop design. But your "simpler way" of minimizing the error is exactly what a control loop is doing--- your change of duty cycle is the control parameter and your difference is the error signal. | |
Nov 24, 2019 at 19:53 | history | edited | Dan Boschen | CC BY-SA 4.0 |
added 835 characters in body
|
Nov 24, 2019 at 19:49 | comment | added | franticSE | set level in my application is a sinusoidal signal... i don't know if it is so easy use that kind of feedback. I tried with PID in the past but i couldn't make it work. Then I chose a simpler way, that is to minimize the difference between rms read and desirable and tuning with the change of duty... duty changes until the difference of two rms is near zero.... | |
Nov 24, 2019 at 19:33 | history | answered | Dan Boschen | CC BY-SA 4.0 |