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 2 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 Next
Author Message
urbanscallywag



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

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

Alright I have verified my design, looks promising! Shocked

I have reduced the computations per input channel from a 32 point FFT to 8 multiplies and 16 additions (and some memory). In general N multiplies and 2*N additions where N is the number of carriers/pickups you're using. So I think there is a significant savings compared with a 32 point FFT, but as the FFT grows to accommodate more channels I think this method will show an even greater efficiency.

I am very curious to see whether it has the same/better/worse usability as the FFT method. The result is calculated on a per-sample basis but could be down sampled at will for free (basically) so I think it should have a good "feel" when playing. The dynamic range exceeds 100dB using double precision floats. I'm very interested to see how well it would work in your real world system.

I will prepare some drawings and plots and try to get my thoughts into words. Very Happy
Back to top
View user's profile Send private message
urbanscallywag



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

PostPosted: Mon Dec 29, 2008 8:39 pm    Post subject: Reply with quote  Mark this post and the followings unread

Hello Randy,

Here's my design. Let me know what you think and if you'll try it. I am interested in the real world "feel" of it, also the computational savings.

http://homepage.mac.com/nicksdsu/temp/randyfilt2.pdf

Let me know if you have any questions, I wrote that paper up in a rush.


Nicholas
Back to top
View user's profile Send private message
urbanscallywag



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

PostPosted: Mon Dec 29, 2008 8:57 pm    Post subject: Reply with quote  Mark this post and the followings unread

Note: I'd call this a poor mans FFT. Laughing
Back to top
View user's profile Send private message
gogmagog



Joined: Nov 08, 2008
Posts: 19
Location: Nashville, TN

PostPosted: Mon Dec 29, 2008 8:59 pm    Post subject: Reply with quote  Mark this post and the followings unread

So, your solution is basically a DFT on only the eight carrier frequencies? That would make sense...
Back to top
View user's profile Send private message
urbanscallywag



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

PostPosted: Mon Dec 29, 2008 9:03 pm    Post subject: Reply with quote  Mark this post and the followings unread

That's not what I originally had in mind, but yes. Very Happy

I was originally thinking of some polyphase bandpass filters which I think is probably on the same level of computations of the FFT, but this modulator -> CIC seems to beat all of the above.
Back to top
View user's profile Send private message
urbanscallywag



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

PostPosted: Mon Dec 29, 2008 9:09 pm    Post subject: Reply with quote  Mark this post and the followings unread

Something still doesn't add up. An 8 point DFT should have N^2=64 multiplies. What I did only has 8.

I don't think this is a DFT but similar. The CIC filter is where the magic happens. Either way I think its pretty cool.
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: Mon Dec 29, 2008 11:10 pm    Post subject: Reply with quote  Mark this post and the followings unread

Hi, this is a truly brilliant invention! My thoughts on the possibility of a hardware implementation are as follows:

Send a composite signal out on one channel of the headphone output of your computer into a bank of active band-pass filters to drive the stimulus array. Then use a buffered summing amp to receive the signals and send them to one channel of the line-in jack of the computer. Use an FFT in software to obtain the response data. This would completely remove the multichannel sound card and would still leave one channel of line-in and one channel of headphone out for audio purposes. If you have a multichannel sound card anyway then you can still have your stereo or whatever on the remaining channels.

Have you thought of this approach? I'm sure you probably have. It would be very inexpensive and would not require digital circuitry at all, just some opamp circuits. Besides low cost and simplicity, it allows any computer user without a multichannel sound card to simply hook up your product and work with it right away. What can I say, I love my opamps!

Again, wonderful job and thanks for making such an excellent video and sharing your technology with the DIY community.

Edit: Then again, perhaps a dsPIC could do this job very well with a little opamp output filtering, and give you a USB interface instead of the audio jacks. Well, I guess there are lots of possibilities and I'm sure you've given them all some thought.

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



Joined: Jul 17, 2006
Posts: 62
Location: Seattle

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

Simply amazing. I've been messing around with some applications for the iphone/ipod touch recently, and the potential is incredible. I think a dsp powered version of this with a dac would make an excellent diy project in the model of the monome... Write a serial bridge and let everyone tweak opensource maxmsp patchers!
Back to top
View user's profile Send private message
gogmagog



Joined: Nov 08, 2008
Posts: 19
Location: Nashville, TN

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

urbanscallywag wrote:
Something still doesn't add up. An 8 point DFT should have N^2=64 multiplies. What I did only has 8.

I don't think this is a DFT but similar. The CIC filter is where the magic happens. Either way I think its pretty cool.


Wouldn't a DFT on N frequencies only be N*2 multiplies? One for sine, one for cosine? Or am I waaayy off base (all too possible)?
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:19 am    Post subject: Reply with quote  Mark this post and the followings unread

A DFT takes N*N multiplies, an FFT N*log2(N) multiplies (that's log base 2, and depending on FFT algorithm). So if you could do a Fourier Transform with 2*N multiplies you'd be famous! Smile

http://en.wikipedia.org/wiki/Fft
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:38 am    Post subject: Reply with quote  Mark this post and the followings unread

Inventor: I've thought about trying to do all of the outputs over 1 DAC but I don't think that's the way to do it (but then again I'm a whole lot less analog than some of you!). Smile

His tones are separated by 1.3 kHz. The easiest case will be at low frequency, so 6 kHz up to 7.3 kHz. That's almost a quarter octave. So your filter needs a minimum of 40dB attenuation in a quarter octave, or 160dB/oct. Wow can that be right? You could try and build a high Q notch filter but components tolerances would be a problem, but then again its been awhile since I did the hardcore analog thing.

Meanwhile an 8 channel CODEC is $14 in quantity 1, and will take up less space and fewer (low tolerance) components. It might even be lower power but I'm not sure.

Now on the receiver I don't understand how you can sum all of the signals into 1 line.
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:53 am    Post subject: Reply with quote  Mark this post and the followings unread

urbanscallywag, you're right, I didn't think of that! How about a PIC sending out square waves that get low-passed? Or is that what you're doing? I haven't understood your posts well enough. Anyway, cool that you're developing something.
_________________
"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 8:59 am    Post subject: Reply with quote  Mark this post and the followings unread

I'm not doing anything in hardware, just providing alternatives for the FFT.

Let's see a pulse wave with an LPF. Second harmonic of 6 kHz is 12 kHz, which also happens to be an octave so a minimum of 40 dB/octave, that's realistic and worth a try.

But if I still need 8 inputs for the audio I can get the 8 outputs for "free" in a CODEC.
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:07 am    Post subject: Reply with quote  Mark this post and the followings unread

OK, i'll take your word for it. The only CODEC i'm familiar with is a telecom interface chip.

There's also PWM and SAR waveforms which would have low harmonics, but hey, you can't do better than "free", as you say!

Could you tell me 'bout your CODEC chip a little?

_________________
"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 10:31 am    Post subject: Reply with quote  Mark this post and the followings unread

why not skip the audio encoding altogether, and just send pulses via a digital pin down each row in sequence, and use adc pin (or mux) for each column?
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:46 am    Post subject: Reply with quote  Mark this post and the followings unread

bugfight wrote:
why not skip the audio encoding altogether, and just send pulses via a digital pin down each row in sequence, and use adc pin (or mux) for each column?


I'm trying to imagine the recognition algorithm for that. Maybe if the frequencies were done like notes, packed within an octave, then you could use an FFT for it and detect the fundamentals, is that what you were thinking? Yeah, that would remove the need for filters altogether I guiess, though you would probably want a passive RC in there just to knock the corners off a bit to prevent too much harmonic return siignal.

_________________
"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:54 am    Post subject: Reply with quote  Mark this post and the followings unread

With pulses I think you'd have to do time division multiplexing or else analysis is a lot more difficult since pulses have more than 1 tone.
Back to top
View user's profile Send private message
bugfight



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

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

should be no need for fft, processing would be all time domain. this is how a digital scan matrix works, just adding adc to the receivers. maybe the capacitive coupling would throw a wrench in...
Back to top
View user's profile Send private message
urbanscallywag



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

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

I thought there were 8in 8 out chips, I was mistaken. You'd need 2 of the 4 in 6 out chips @ $10 each:

http://mouser.com/search/ProductDetail.aspx?qs=bUPhaerQQeG3UcUEoPvkSQ%3d%3d
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 11:32 am    Post subject: Reply with quote  Mark this post and the followings unread

bugfight wrote:
should be no need for fft, processing would be all time domain. this is how a digital scan matrix works, just adding adc to the receivers. maybe the capacitive coupling would throw a wrench in...


Yeah, that should work just fine.

_________________
"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 11:38 am    Post subject: Reply with quote  Mark this post and the followings unread

Without an FFT how would you distinguish which regions were pressed? You could with time division multiplexing but sine waves are much more elegant I think.
Back to top
View user's profile Send private message
urbanscallywag



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

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

I don't think the key-scanning method would work well in this application.
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 12:24 pm    Post subject: Reply with quote  Mark this post and the followings unread

urbanscallywag wrote:
I don't think the key-scanning method would work well in this application.


How about scanning with a pulsed sine wave or square wave? That would work.

_________________
"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 12:29 pm    Post subject: Reply with quote  Mark this post and the followings unread

Using time division or frequency division?
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 12:48 pm    Post subject: Reply with quote  Mark this post and the followings unread

urbanscallywag wrote:
Using time division or frequency division?


I guess you'd call it time division. You send a square or sine wave into channel one and measure it on every channel with the dacs, then you shut that off and move to channel 2, and so on. for an 8x8 device you could use a PIC and do the whole job for a few bucks, plus get a USB interface to boot. It's a simple solution and I think it would work OK.

_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic Moderators: jksuperstar, Scott Stites, Uncle Krunkus
Page 2 of 3 [74 Posts]
View unread posts
View new posts in the last week
Goto page: Previous 1, 2, 3 Next
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