electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » DIY Hardware and Software
Multi-Touch Proto 2
Post new topic   Reply to topic Moderators: jksuperstar, Scott Stites, Uncle Krunkus
Page 3 of 3 [74 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Goto page: Previous 1, 2, 3
Author Message
urbanscallywag



Joined: Nov 30, 2007
Posts: 317
Location: sometimes

PostPosted: Tue Dec 30, 2008 12:56 pm    Post subject: Reply with quote  Mark this post and the followings unread

I don't think it would work well, there are enough scanned key (and scanned output LED) devices that have a bad feel to me. Add in the pressure sensitivity and the large capacitance of the antennas slowing down your possible scan rate.

Plus TDM methods wouldn't scale well to 16 I/O for example. Scan times would go up quickly.
Back to top
View user's profile Send private message
Inventor
Stream Operator


Joined: Oct 13, 2007
Posts: 6221
Location: near Austin, Tx, USA
Audio files: 267

PostPosted: Tue Dec 30, 2008 1:16 pm    Post subject: Reply with quote  Mark this post and the followings unread

urbanscallywag wrote:
I don't think it would work well, there are enough scanned key (and scanned output LED) devices that have a bad feel to me. Add in the pressure sensitivity and the large capacitance of the antennas slowing down your possible scan rate.

Plus TDM methods wouldn't scale well to 16 I/O for example. Scan times would go up quickly.


OK, I'm thinking the opposite and here's why. First, could you clarify what you mean by the pressure sensitivity interfering with this method? I don't get it - but that explains a lot of things in my life, haha. I just don't get it!

Second, large capacitance: I think the capacitance is small.

Third, scaling to 16 I/O: at 20 kHz, 10 cycles, you can scan at 2 kHz. 2 kHz / 16 is about 100 Hz. That's faster than your average finger will ever move.

All in all I'm not convinced that there are problems with a TDM approach. You are certainly welcome to correct and educate me otherwise, but at this point in time I like TDM for this application. Cheers!

_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
Randy Jones



Joined: Dec 15, 2008
Posts: 12
Location: Seattle

PostPosted: Tue Dec 30, 2008 1:24 pm    Post subject: Reply with quote  Mark this post and the followings unread

Nicholas, you certainly do have some filter tricks up your sleeve! Your solution is very clever and uses building blocks I hadn't considered. thank you for writing it up so clearly. I will have to spend some more time in order to fully grok the CIC filters one of these days.

I am still not sure what the embedded hardware is going to look like. Depending on that, some of these tricks might come in handy. One issue is that I might not know the phase of the carrier signals: imagine that they are generated by some waveform synthesizer chip, separate from the demultiplexer.

I'm not too worried about optimizing the demultiplexer yet because generating the carriers is proving to be the tough part of the design. I want to make a significantly higher-resolution matrix next, on the order of 16 by 16. (or 4 by 64, etc.) The carriers need to be very accurate in frequency, and each on a separate conductor of course. If they are all in the same octave (ok, octave and a fifth), the design might work with square waves as carriers, which could lead to some cheaper solutions. I'm currently simulating some of these ideas on my prototype.

----

bugfight, time-division multiplexing could work-- it's normally how people do multi-part capacitive sensors. In principle it's fine, but in practice it's usually done way too slowly. Also, it creates timing offsets between the different parts of the surface that would probably have to be corrected for in software or hardware.

A more DSP-based solution lets me leverage hardware that is coming down in price all the time. I may end up using the internal mux in something like a DSPic.

----

mistercooper, the monome is definitely an inspiration. I'm committed to keeping all the software and hardware for this project open.
Back to top
View user's profile Send private message
urbanscallywag



Joined: Nov 30, 2007
Posts: 317
Location: sometimes

PostPosted: Tue Dec 30, 2008 2:05 pm    Post subject: Reply with quote  Mark this post and the followings unread

Thanks Randy.

I am not sure carrier phase is important. Actually when I first started the design I offset the phase between the carrier and the pickup but I don't think the simulations in my paper were done that way.

Sine generation is not a problem, for FPGA at least. They can be generated with very nice dynamic range and frequency resolution.

I think I could build a hardware version for $100-200 that would demodulate all of the signals, but I wouldn't know what to do with the data next. I didn't pay as close attention to the centroid finding algorithm or the actual synthesis methods. Would it be possible to have 5 CV/gate outputs and cap the maximum number of centroids to 5? How else could the data be easily loaded into a PC (minimal drivers, etc)?

I think putting all of the (pulse) carriers in 1 octave makes post processing more difficult.
Back to top
View user's profile Send private message
urbanscallywag



Joined: Nov 30, 2007
Posts: 317
Location: sometimes

PostPosted: Tue Dec 30, 2008 2:12 pm    Post subject: Reply with quote  Mark this post and the followings unread

Inventor: in his paper Randy mentioned the minimum update rate he wanted. I don't remember the specifics but 100Hz would not have met the requirements, his runs at 1300Hz.

I meant that detecting pressure in addition to which "switch" is pressed adds another variable to something that is traditionally done pretty poorly.

Why do you think the capacitance is small?

Build a TDM version, I am interested in seeing what you come up with!
Back to top
View user's profile Send private message
Inventor
Stream Operator


Joined: Oct 13, 2007
Posts: 6221
Location: near Austin, Tx, USA
Audio files: 267

PostPosted: Tue Dec 30, 2008 3:14 pm    Post subject: Reply with quote  Mark this post and the followings unread

urbanscallywag wrote:
Inventor: in his paper Randy mentioned the minimum update rate he wanted. I don't remember the specifics but 100Hz would not have met the requirements, his runs at 1300Hz.

OK, if you want that kind of update rate, but is it necessary? I feel that anything above 100 Hz is well beyond the requirements of the application.

urbanscallywag wrote:
I meant that detecting pressure in addition to which "switch" is pressed adds another variable to something that is traditionally done pretty poorly.

I see. Randy mentions that such devices are often scanned too slowly, I didn't know that. Maybe they scan slowly to reduce EMI, what do you think?

urbanscallywag wrote:
Why do you think the capacitance is small?

Well, if I recall correctly C = epsilon * A / d and epsilon is like 10^-12 or something like that, I don't recall, times the relative permitivity which can't be much. The rubber is thick, so d is large and A is small. You may be thinking that each square has the volume of a little electronics part, but those parts have really high relative permitivity and really small d. The capacitance can't be all that much.

urbanscallywag wrote:
Build a TDM version, I am interested in seeing what you come up with!

I'm working on my guitar concept. I'd be interested in your thoughts on it because you seem to be really sharp. It's here:

http://www.electro-music.com/forum/topic-31138.html

_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
bugfight



Joined: Aug 02, 2007
Posts: 188
Location: Arlington, TX USA

PostPosted: Tue Dec 30, 2008 3:28 pm    Post subject: Reply with quote  Mark this post and the followings unread

i won't be building this anytime soon, the queue is too fat and bloated already. his fatness is making him lethargic too...

a 1ms response is not too much to ask for though.

i am curious what would happen to a pulse when 2 or more, erm... appendages are applied to the same row...
Back to top
View user's profile Send private message
urbanscallywag



Joined: Nov 30, 2007
Posts: 317
Location: sometimes

PostPosted: Tue Dec 30, 2008 4:10 pm    Post subject: Reply with quote  Mark this post and the followings unread

You'd have to ask someone who has built the device on what the necessary update rate is. His reasoning and experience seems sound. I think that "feel" of an interface is often underrated, I can't stand laggy buttons, LCD, etc.

I maintain that the capacitance is large. Exclamation

I believe I have taken a look at your project before but I will when I get home tonight. Smile
Back to top
View user's profile Send private message
Randy Jones



Joined: Dec 15, 2008
Posts: 12
Location: Seattle

PostPosted: Tue Dec 30, 2008 4:39 pm    Post subject: Reply with quote  Mark this post and the followings unread

Inventor wrote:

OK, if you want that kind of update rate, but is it necessary? I feel that anything above 100 Hz is well beyond the requirements of the application.


Of your application maybe! Think of a MIDI keyboard-- they scan at around 1kHz, and with good reason. It takes this kind of sampling rate to convey a rhythmic feel accurately. Try this experiment: Get a MIDI recording of a musical performance you like, one that is rhythmically expressive. Now quantize it to 100Hz and listen again. It sounds broken, and is. Something like 500Hz is necessary before the rhythmic feel is right.

Now imagine scratching or rubbing the surface of the controller, which generates a noise based on friction. I'd like to be able to send all of those vibrations to a physical model, and 1kHz is not nearly enough bandwidth to do that. I'll be really satisfied only when my controller sampling rate is the same as the audio rate. But 1Khz is enough to play music in the meantime. Smile There's a lot more on this in my thesis, but basically I want to make computer instruments that offer the expressiveness of acoustic ones.

As to time-division, I still think if the rate is high enough there's nothing inherently wrong with it, but I think that's a harder and probably more expensive thing to build, because off-the-shelf components to do audio DSP are always getting cheaper. I don't think EMI is the problem, I think affordable computer speed has been the limiting factor in most sensor designs---that and a general lack of desire to make them faster.

The capacitance of each carrier / pickup pair in my prototype is about 1pF. This is large for a capacitive sensor, and I think it's pretty small from the perspective of worrying about switching.
Back to top
View user's profile Send private message
Inventor
Stream Operator


Joined: Oct 13, 2007
Posts: 6221
Location: near Austin, Tx, USA
Audio files: 267

PostPosted: Tue Dec 30, 2008 5:35 pm    Post subject: Reply with quote  Mark this post and the followings unread

Oh, I see now, you need such a high update rate for expressiveness, including scratching and rubbing... OK. I was just thinking in terms of finger motion but you're doing a lot more than that!
_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
urbanscallywag



Joined: Nov 30, 2007
Posts: 317
Location: sometimes

PostPosted: Tue Dec 30, 2008 6:00 pm    Post subject: Reply with quote  Mark this post and the followings unread

1pF is less than I expected.

If 6 kHz is the minimum that is passed, the R in the RC time constant is 26 Mohms, right? (1/(2*pi*6e3*1e-12). I'd expect the R to be a lot smaller, closer to whatever the input resistance is on the soundcard. Then again RC networks aren't my specialty.

Here's an example of why I don't think a capacitive switch network would work very well. Take an LED. I can't imagine it has much capacitance but I don't feel like looking it up. If you send a PWM to an LED with a high enough frequency (I thought it was around 1 kcps but its been awhile, its definitely not into 100s of kcps) the LED will appear to be on all the time even though it may only be on 50% of the time. I don't believe its because the eye doesn't react that fast because if the LED is moved around quickly (and the PWM frequency is high enough) the trails are a continuous blur rather than discrete on/off states (like some of those annoying LED brake lights).

I think if a pulse was run through a capacitive sensor and TDM the same sort of smearing would occur even if the capacitance were small.

How is finger motion different than expression? Confused
Back to top
View user's profile Send private message
urbanscallywag



Joined: Nov 30, 2007
Posts: 317
Location: sometimes

PostPosted: Tue Dec 30, 2008 6:16 pm    Post subject: Reply with quote  Mark this post and the followings unread

I did a simulation and my filter doesn't seem sensitive to phase differences between the carrier and pickup input. I doubt your FFT would be either.
Back to top
View user's profile Send private message
urbanscallywag



Joined: Nov 30, 2007
Posts: 317
Location: sometimes

PostPosted: Tue Dec 30, 2008 8:44 pm    Post subject: Reply with quote  Mark this post and the followings unread

...And I wouldn't worry too much about CIC filters. They are similar to boxcar integrators...or basically just a FIR with N taps equal to 1. When you do it in CIC form you save some additions and put it in a structure more friendly to sample rate changes. Actually I can probably be quoted as saying the CIC filter is mostly useless in the past couple months since its only useful in a couple applications like huge sample rate changes and signal smoothing/averaging. It just so happens that CIC fits this application extremely well since all of the undesired tones are known, so the zeros can be placed accordingly.

I also don't think tone generation is the biggest problem. You have a few choices. If you really like your FFT demodulator you could use an IFFT to generate the tones. You could also use a DDS/NCO which can be a lookup table with some dither or Taylor series correction or a CORDIC. Either way extremely precise tones can be had.

If I had the time/skills I would be building myself a 16x16 Randy-brand multitouch pad. Twisted Evil
Back to top
View user's profile Send private message
Inventor
Stream Operator


Joined: Oct 13, 2007
Posts: 6221
Location: near Austin, Tx, USA
Audio files: 267

PostPosted: Tue Dec 30, 2008 8:54 pm    Post subject: Reply with quote  Mark this post and the followings unread

urbanscallywag wrote:
If you send a PWM to an LED with a high enough frequency (I thought it was around 1 kcps but its been awhile, its definitely not into 100s of kcps) the LED will appear to be on all the time even though it may only be on 50% of the time. I don't believe its because the eye doesn't react that fast because if the LED is moved around quickly (and the PWM frequency is high enough) the trails are a continuous blur rather than discrete on/off states (like some of those annoying LED brake lights).

I think if a pulse was run through a capacitive sensor and TDM the same sort of smearing would occur even if the capacitance were small.

How is finger motion different than expression? Confused


urbanscallywag, the eye can't see anything faster than 50 or 60 Hz. That's why you don't see the scan lines on a tube television, which zig-zag their way from top to bottom at 50 Hz or 60 Hz depending on your country's standard. With a 1 pF capacitance and any reasonable resistance, there would be no smearing in this frequency range. 1 pF is nothing, I'm surprised it's that small, I was guessing 100 pF which is still quite small.

Finger motion is different than say scratching or rubbing because your finger motion is well within a 100Hz bandwidth. For example, try tapping your finger 100 times a second. or even 10 times a second. You can't do it because your finger just doesn't move that fast. That's why i *thought* that 100 Hz would be good enough.

In this application, however, I've now learned that we want to capture *expression*, which involves much higher frequencies. For example, scratching or rubbing must I imagine involve complex higher frequency subtle tiny motions as the surface interacts with the fingers or fingernails. Ideally we would like to capture expression at the full music sample rate of 44.1 kHz, but we cannot so we accept 1 kHz or so as a reasonable approximation.

I hope I have described those things clearly, please ask if I have not been clear enough.

_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
urbanscallywag



Joined: Nov 30, 2007
Posts: 317
Location: sometimes

PostPosted: Tue Dec 30, 2008 9:13 pm    Post subject: Reply with quote  Mark this post and the followings unread

Blink an LED at 100 Hz 50% duty cyclone and wave it around and tell me its a smooth line. Its not (as I remember). The modulation breaks the eye perception rule.

In fact the LED Christmas lights running at 60 Hz irritate my eyes quite a bit, along with monitors.
Back to top
View user's profile Send private message
Inventor
Stream Operator


Joined: Oct 13, 2007
Posts: 6221
Location: near Austin, Tx, USA
Audio files: 267

PostPosted: Tue Dec 30, 2008 9:37 pm    Post subject: Reply with quote  Mark this post and the followings unread

urbanscallywag wrote:
Blink an LED at 100 Hz 50% duty cyclone and wave it around and tell me its a smooth line. Its not (as I remember). The modulation breaks the eye perception rule.

In fact the LED Christmas lights running at 60 Hz irritate my eyes quite a bit, along with monitors.


Yes, this blinking and moving LED concept is the basis for the motion displays that are out there. If you mount a linear array of such LEDs and spin them around on a motor, then you create a two dimensional display, which is kind of an interesting phenomenon. In that case as you move the LEDs, the rods and cones in your eye at a certain location see only off or only on. This is due to the motion. The LEDs are blinked in such a way that each time they pass through the field of vision they are temporarily always on or off, for the duration of the pixel. For the same reason if you blink a single LED and wave it around you will see dots or a dotted line, I suppose. But for a fixed LED and no head motion, you don't see it blink.

For a fixed location, your eye may be irritated by 60 Hz blinking, as many people's eyes are, but do you actually see the 60 Hz blinking? In the Christmas light example, you see the lights twinkle on and off, but while they are on to you see the 60 Hz modulation? The answer is no, because your rods and cones are just not that fast.

Here's a Wikipedia article that might help explain it somewhat:

http://en.wikipedia.org/wiki/Refresh_rate

Think of it this way, if you could see 60 Hz then you would see a TV or computer display pulsing, but you don't.

_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
blue hell
Site Admin


Joined: Apr 03, 2004
Posts: 24423
Location: The Netherlands, Enschede
Audio files: 297
G2 patch files: 320

PostPosted: Tue Dec 30, 2008 9:44 pm    Post subject: Reply with quote  Mark this post and the followings unread

Inventor wrote:
Think of it this way, if you could see 60 Hz then you would see a TV or computer display pulsing, but you don't.


Well ... I do, actually ... Confused ... 60 Hz is irritating to me when I'm tired, 75 Hz is ok though Wink

_________________
Jan
also .. could someone please turn down the thermostat a bit.
Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message Visit poster's website
urbanscallywag



Joined: Nov 30, 2007
Posts: 317
Location: sometimes

PostPosted: Tue Dec 30, 2008 9:47 pm    Post subject: Reply with quote  Mark this post and the followings unread

But I do see CRT monitors pulsing at 60Hz, I cannot work on them. 75Hz is OK but 85Hz is pretty much necessary for me. Same with Christmas LED.

I understand refresh rates and all that, my point was at a certain fairly low frequency (say 1 kHz but I don't actually remember), devices with even a small capacitance like an LED can behave differently, going from discrete on-off points to a continuous on (when waved around) within a matter of Hz. I don't know if the diode capacitance is modeled as shunt or series though.

Either way I predict problems with a TDM approach. And why go there, Randy's method is sweet.
Back to top
View user's profile Send private message
Randy Jones



Joined: Dec 15, 2008
Posts: 12
Location: Seattle

PostPosted: Tue Dec 30, 2008 10:01 pm    Post subject: Reply with quote  Mark this post and the followings unread

urbanscallywag wrote:

I did a simulation and my filter doesn't seem sensitive to phase differences between the carrier and pickup input. I doubt your FFT would be either.


In your demodulator, you are multiplying the pickup signal by the carrier. So the resulting amplitude depends on the phase difference---if they are 180° apart you get no signal.

re: IFFT carrier generation, each carrier has to be on a separate conductor, so it's hard to see how to do this.
Back to top
View user's profile Send private message
Inventor
Stream Operator


Joined: Oct 13, 2007
Posts: 6221
Location: near Austin, Tx, USA
Audio files: 267

PostPosted: Tue Dec 30, 2008 10:28 pm    Post subject: Reply with quote  Mark this post and the followings unread

urbanscallywag wrote:
But I do see CRT monitors pulsing at 60Hz, I cannot work on them. 75Hz is OK but 85Hz is pretty much necessary for me. Same with Christmas LED.

I understand refresh rates and all that, my point was at a certain fairly low frequency (say 1 kHz but I don't actually remember), devices with even a small capacitance like an LED can behave differently, going from discrete on-off points to a continuous on (when waved around) within a matter of Hz. I don't know if the diode capacitance is modeled as shunt or series though.

Either way I predict problems with a TDM approach. And why go there, Randy's method is sweet.


Oh, OK, well 85 Hz then, I guess you have good eyes! That must be why they bother to make monitors with 85 Hz refresh rates. I was speaking generally though. I am not making distinctions within a factor of 2 like that. One internet source I found said the eye is capable of detecting up to 200 Hz. I think that would be a small-signal phenomenon, much like opamps that work faster with small signals than large ones.

The diode capacitance is shunt, ie. in parallel with the diode, and you're right about an RC circuit changing how things work at higher frequencies, of course. The thing is that in this example C is only 1 pF, so it's negligible. The RC time constant is way up there in frequency.

You may be correct about TDM not being the best way, I don't really know. I certainly agree that Randy's method is great because it captures expression so well.

_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
urbanscallywag



Joined: Nov 30, 2007
Posts: 317
Location: sometimes

PostPosted: Tue Dec 30, 2008 10:28 pm    Post subject: Reply with quote  Mark this post and the followings unread

Are you sure about multiplying 2 sinusoid that are 180 degrees out of phase giving no signal? If you were summing them sure. My simulation indicates no problem.

I think you're right about the IFFT, you'd need 1 per carrier unless you filtered each signal out. I was looking at it as an OFDM type problem but the IFFT automatically sums the waveforms making it less useful here.
Back to top
View user's profile Send private message
Randy Jones



Joined: Dec 15, 2008
Posts: 12
Location: Seattle

PostPosted: Tue Dec 30, 2008 11:38 pm    Post subject: Reply with quote  Mark this post and the followings unread

Quote:

Are you sure about multiplying 2 sinusoid that are 180 degrees out of phase giving no signal? If you were summing them sure.


Oops, I was thinking of addition.
Back to top
View user's profile Send private message
Randy Jones



Joined: Dec 15, 2008
Posts: 12
Location: Seattle

PostPosted: Thu Jun 11, 2009 2:27 pm    Post subject: Reply with quote  Mark this post and the followings unread

Shameless bump with recent developments.

Some students working with Dan Overholt at Aalborg University in Denmark are finishing up a controller in a guitar neck. For audio interfaces they are using some dirt-cheap USB 2x6 boards made by some Chinese company, then making them into an aggregate audio device on MacOS. See their videos [vimeo.com], and await more information as I am doing. Smile

I started a company, Madrona Labs. It has a website.
Back to top
View user's profile Send private message
monokinetic



Joined: Aug 01, 2006
Posts: 100
Location: prague

PostPosted: Fri Jun 12, 2009 1:11 am    Post subject: Reply with quote  Mark this post and the followings unread

Hi Randy,
just read through your site, wow it looks very interesting. Really glad you pursuing this idea. I'm just about to leave on holiday for a week but after that I plan on getting involved on your forum Smile

Good luck, looking forward to this one!

David
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic Moderators: jksuperstar, Scott Stites, Uncle Krunkus
Page 3 of 3 [74 Posts]
View unread posts
View new posts in the last week
Goto page: Previous 1, 2, 3
Mark the topic unread :: View previous topic :: View next topic
 Forum index » DIY Hardware and Software
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
You cannot attach files in this forum
You can download files in this forum


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use