Spin Semiconductor Forum Index Spin Semiconductor
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Pot Tracking Speed
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Spin Semiconductor Forum Index -> FV-1 hardware questions
View previous topic :: View next topic  
Author Message
elmood



Joined: 01 Jun 2008
Posts: 16
Location: Toronto Canada

PostPosted: Fri Jun 13, 2008 8:39 pm    Post subject: Pot Tracking Speed Reply with quote

So far I'm loving the FV-1 and working on several designs with it! But one thing that bugs me is that the pot inputs feel sluggish. It doesn't seem to track the turning of the physical pot and sort of plays catch up when you stop turning. I often find that once things settle down I've actually over-adjusted the control.

I'm hoping to use this part as the master section of a guitar amplifier. But it will be weird if some of my controls (the analog ones) operate normally, and some (the FV-1 ones) operate with the strange lag. Is there any way to adjust this?

I understand that the inputs are smoothed, but it feels excessive. It's really the only thing that bugs me. Smile Oh, and not having a few general I/O pins, but that might be feature creep. Smile
Back to top
View user's profile Send private message Visit poster's website
frank



Joined: 19 Oct 2005
Posts: 958

PostPosted: Fri Jun 13, 2008 9:38 pm    Post subject: Reply with quote

The pot inputs have a bit of hysteresis and there is about a 100mS time constant due to the design. There really isn't anything that can be done from software except to not add any smoothing in your program.
_________________
Frank Thomson
Experimental Noize
Back to top
View user's profile Send private message Visit poster's website
donstavely



Joined: 07 Jan 2010
Posts: 50
Location: Windsor, Colorado

PostPosted: Thu Aug 05, 2010 11:34 am    Post subject: Reply with quote

I have been thinking about this issue for awhile, and I think I have a slick and simple solution to the pot speed issue. This should make a pot input usable for an expression pedal, for example.

All that is needed is to counteract the action of the slow lowpass filter on the pot with a shelving highpass filter in the code. You place the highpass corner frequency such that it cancels the pot lowpass corner frequency, extending the response of the pot. Then the shelving corner frequency rolls it back off at a higher frequency (say 4X higher), thereby preserving most of the noise filtering. Since the shelving filter speeds up but attenuates the control signal, we need to gain it up again. It costs five instructions in all:

Code:

equ   potfilt   reg0
equ   fastpot reg1   

rdax   pot0, 1
rdfx   potfilt, 0.001    ; this is the shelving highpass filter
wrhx   potfilt, -0.75    ; it cuts lower freqs by factor of 4
rdax   fastpot, 0.75     ; this gives 4X recursive gain
wrax   fastpot, 1        ; to recover full range


So now when you would have used a "mulx pot0" instruction, you instead use "mulx fastpot". That is all there is to it.

If you want to make the control faster than 4X better, you just need to adjust the filter and gain coefficients.

I tested the algorithm by injecting a 1Hz square wave into the pot input to simulate instantaneous changes to the control. The normal pot output has a long (100ms) time constant. The fast control output is indeed 4X faster, and is still clean and filtered. I have a scope picture, but I can't directly attach it.

This should be much more usable with a expression pedal, without compromising the noise filtering too much.

Don
_________________
Don Stavely
Back to top
View user's profile Send private message
donstavely



Joined: 07 Jan 2010
Posts: 50
Location: Windsor, Colorado

PostPosted: Tue Aug 10, 2010 9:22 am    Post subject: Reply with quote

So Frank, I thought you would be pretty interested in this, since people (including me) have complained about the pot lag for a long time. It might be good for others to hear that this idea makes some sense.

BTW, I hope people are still interested in the FV-1. There hasn't been much activity on the forum lately.
_________________
Don Stavely
Back to top
View user's profile Send private message
frank



Joined: 19 Oct 2005
Posts: 958

PostPosted: Tue Aug 10, 2010 1:32 pm    Post subject: Reply with quote

Actually I'm very interested but as you did a great job with the shelving filter approach (which never even occurred to me to try) I didn't really have anything of value to add.

Forum activity...not much lately.

Email activity from people doing commercial design so they don't want to post in the forum...all I can say is watch the next few trade shows (including the small local ones) and play "what has an FV-1 in it", it may surprise you what is being done with it.
_________________
Frank Thomson
Experimental Noize
Back to top
View user's profile Send private message Visit poster's website
donstavely



Joined: 07 Jan 2010
Posts: 50
Location: Windsor, Colorado

PostPosted: Tue Aug 10, 2010 6:47 pm    Post subject: Reply with quote

It is really great to hear that there are some commercial customers that you are working with. To be honest, I was getting a little worried that the FV-1 might not reach the "critical mass" needed for long-term support and future development.

I saw what happened to the Line6/Freescale pedal - great idea, sketchy tools, very hard to program, no support. Now an orphan product. I almost bit, before finding the FV-1.

Tell those big guys that they can use my fast pot idea - no charge. Seriously, it would be great if commercial developers participated in the forum. They can share too, without giving away their crown jewels.
_________________
Don Stavely
Back to top
View user's profile Send private message
frank



Joined: 19 Oct 2005
Posts: 958

PostPosted: Tue Aug 10, 2010 10:41 pm    Post subject: Reply with quote

There's already a lot of stuff shipping with the FV-1, a good portion is consumer so the pro audio community simply doesn't see it. And the companies (consumer and pro audio) ask that I not reveal who they are.
_________________
Frank Thomson
Experimental Noize
Back to top
View user's profile Send private message Visit poster's website
seancostello



Joined: 11 Sep 2006
Posts: 74

PostPosted: Sun Aug 28, 2011 1:18 pm    Post subject: Reply with quote

donstavely wrote:
I have been thinking about this issue for awhile, and I think I have a slick and simple solution to the pot speed issue. This should make a pot input usable for an expression pedal, for example.

All that is needed is to counteract the action of the slow lowpass filter on the pot with a shelving highpass filter in the code. You place the highpass corner frequency such that it cancels the pot lowpass corner frequency, extending the response of the pot. Then the shelving corner frequency rolls it back off at a higher frequency (say 4X higher), thereby preserving most of the noise filtering. Since the shelving filter speeds up but attenuates the control signal, we need to gain it up again. It costs five instructions in all:

Code:

equ   potfilt   reg0
equ   fastpot reg1   

rdax   pot0, 1
rdfx   potfilt, 0.001    ; this is the shelving highpass filter
wrhx   potfilt, -0.75    ; it cuts lower freqs by factor of 4
rdax   fastpot, 0.75     ; this gives 4X recursive gain
wrax   fastpot, 1        ; to recover full range


So now when you would have used a "mulx pot0" instruction, you instead use "mulx fastpot". That is all there is to it.

If you want to make the control faster than 4X better, you just need to adjust the filter and gain coefficients.

I tested the algorithm by injecting a 1Hz square wave into the pot input to simulate instantaneous changes to the control. The normal pot output has a long (100ms) time constant. The fast control output is indeed 4X faster, and is still clean and filtered. I have a scope picture, but I can't directly attach it.

This should be much more usable with a expression pedal, without compromising the noise filtering too much.

Don


This is a GREAT idea. I plan on doing some development for the TipTop Audio Z-DSP unit soon, and this would allow for the control voltages to be usable for faster LFO signals. I was thinking along the lines of pure differentiation, but your shelving filter is a much better idea.

Sean Costello
Back to top
View user's profile Send private message
donstavely



Joined: 07 Jan 2010
Posts: 50
Location: Windsor, Colorado

PostPosted: Sat Sep 10, 2011 3:17 pm    Post subject: Reply with quote

Thanks, Sean.

I am thinking that this method should work fine, even with the variable speed clock of the Z-DSP. Since the built-in lowpass filters on the pots are implemented digitally, they should track exactly with the compensation filter code. So the code I posted should work regardless of clock frequency.

But keep in mind that the pot lag will still vary with clock frequency, with or without this code. The lag will just be 4X faster with the code. This makes sense, right?

Don
_________________
Don Stavely
Back to top
View user's profile Send private message
seancostello



Joined: 11 Sep 2006
Posts: 74

PostPosted: Sat Sep 10, 2011 5:53 pm    Post subject: Reply with quote

donstavely wrote:
Thanks, Sean.

I am thinking that this method should work fine, even with the variable speed clock of the Z-DSP. Since the built-in lowpass filters on the pots are implemented digitally, they should track exactly with the compensation filter code. So the code I posted should work regardless of clock frequency.

But keep in mind that the pot lag will still vary with clock frequency, with or without this code. The lag will just be 4X faster with the code. This makes sense, right?


Totally. I don't think that trying for a specific time constant is realistic. Just getting faster than the existing lag should be good enough, while still retaining some smoothing.
Back to top
View user's profile Send private message
Alex MAK



Joined: 05 Nov 2010
Posts: 89

PostPosted: Sun Sep 23, 2012 11:15 pm    Post subject: Reply with quote

Hey, guys! Is it possible to use a similar approach to reduce the delay to pitch shifter?
Back to top
View user's profile Send private message
frank



Joined: 19 Oct 2005
Posts: 958

PostPosted: Mon Sep 24, 2012 7:31 pm    Post subject: Reply with quote

Alex MAK wrote:
Hey, guys! Is it possible to use a similar approach to reduce the delay to pitch shifter?


No, the delay in the pitch transpose is due to the buffering required.
_________________
Frank Thomson
Experimental Noize
Back to top
View user's profile Send private message Visit poster's website
Sweetalk



Joined: 15 Oct 2009
Posts: 95

PostPosted: Tue Sep 25, 2012 4:53 am    Post subject: Reply with quote

Great idea Don!!, I'll try it soon and post the results. It's a clever and simple solution.
Back to top
View user's profile Send private message
MacroMachines



Joined: 12 Dec 2014
Posts: 70
Location: Detroit,MI

PostPosted: Fri Jul 08, 2016 10:31 pm    Post subject: Reply with quote

It seems like this works well on the upward movement, but the downward movement is still showing the hysteresis. I was trying out having a micro controller and dac to use for controlling the pot inputs, so any improvement is good, Ill try playing with your numbers some more and see if I can get it as fast as possible, or maybe I should use a second order highpass by duplicating the filter code? I also noticed when I scoped the pots without this HP filter code it wouldn't make it anywhere near the top or bottom, and now its showing a far larger range.
_________________
http://MacroMachines.net
Digital Control for your Analog Soul.
Back to top
View user's profile Send private message Visit poster's website AIM Address
Digital Larry



Joined: 12 Nov 2012
Posts: 266

PostPosted: Sun Jul 10, 2016 5:18 am    Post subject: Reply with quote

Move the pot slowly to make sure it isn't clipping going up. "Theoretically" an RDFX filter (or any filter working linearly), the rise/fall time should be the same.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Spin Semiconductor Forum Index -> FV-1 hardware questions All times are GMT - 8 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group