wireless signal transmission

Thread Starter

jameschristian

Joined Nov 24, 2011
58
Hey all,

So, I'm working on a project and I am not sure how to progress. What I need is a way to transmit a wireless signal from a moving subject to a stationary object with distances ranging from a few yards to upwards of about three hundred feet. The signal will probably have to pass through moving people on its way to the receiver. I'm wondering if RF is the way to do this. Latency is a big issue, so any advice on how to cut down on latency during the process of signal transmission/reception would be awesome too. I'm also wondering what the limiting factors would be in terms of the frequency of the signal transmission. That is to say, how often could I send a signal? Thanks for any and all help you can offer.
 

sirch2

Joined Jan 21, 2013
1,037
Sounds like RF is the way to go. There are plenty of RF modules out there that operate on the license free ISM bands. Some are serial cable replacements so fairly easy to use to send data continuously.

What are your specific latency requirements?
 

Thread Starter

jameschristian

Joined Nov 24, 2011
58
I just need it to be as low as possible. Milliseconds at most. Can you (or anyone) recommend any resources that aren't too technically dense on how to construct a transmitter and receiver? I was also thinking of using an arduino or something similar, possibly, if it'd be a lot less of a hassle than building it. There are going to be a lot of signals being transmitted at once, from various sources, so is there anything else I should know about decoding the signals? Like, say, do they all need their own frequency, or can I piggy back the signals somehow? Also, will one receiver be enough for all the signals? At most there will be twenty or thirty signals operating simultaneously.
 

MikeML

Joined Oct 2, 2009
5,444
Another important parameter is the bandwidth of the information you want to telemeter. Sending video is entirely different from sending serial data at a few thousand baud.
 

Papabravo

Joined Feb 24, 2006
21,225
RF over those distances has a latency of about 1 nanosecond per foot. Serial data on the other hand has a latency equal to the number of bits times the length of the bit plus a little bit of processing time for the entire message.

I'm not aware that moving people have much effect on RF propagation. I do know that the microwave guys only try communicating when the humidity is low and they aim their dish antennas with rifle scopes because the beam is so narrow.
 

Thread Starter

jameschristian

Joined Nov 24, 2011
58
Firstly, thanks for all the responses. This forum absolutely rocks. The signals will only be carrying the voltage output from a piezo transducer. I'm working on a concept for a performance piece, where each performer will trigger the piezos at various times, and some will trigger multiple piezos at once. In other words, certain performers will be sending signals from about ten piezos while others will only trigger one piezo, but I need them to be received in such a way that the receiver can tell when signals are triggered at the same time (or not) and produce the right output accordingly. The performers will be moving, which is why I asked about sending signals through other people. The latency is an issue because it'll be a live performance, and I need the signals to be transmitted with as little time as possible between the moment of triggering and the output being produced. Thanks again everyone!
 

WBahn

Joined Mar 31, 2012
30,058
You will need to either channelize your system or implement some kind of a MAC (medium access control) protocol so that the signals don't stomp on each other.
 

Thread Starter

jameschristian

Joined Nov 24, 2011
58
By channelize do you mean that I assign each signal it's own frequency, and then just write the code to read both the frequency being transmitted and the voltage serially? With a nanosecond latency, I think it might not matter if the data had to wait in line a little bit. I know there's some latency added while the signal is being read and translated, and I'm curious what factors I can use to my advantage to reduce that time? Does having a faster CPU or using USB 3.0 or that kind of thing really matter a lot? Is there a way (well, I'm sure there's a way, but do y'all happen to know how) to calculate the latency? How do I figure out how many bits are being sent? Even a somewhat rough estimate would be great.

edit:succinctness
 

WBahn

Joined Mar 31, 2012
30,058
Assigning each to it's own frequency is one way to channelize the system. You can also use spread spectrum (frequency hopping, direct sequence, ultrawideband, or concurrent code) to channelize things, although concurrent code spread spectrum would have latency issues that would likely make it unacceptable for this app. Using frequency separation is probably the easiest in a very small system, but off course your receiver has to monitor all frequencies simultaneously (or you have to have multiple receivers all feeding data into the same system).

It sounds like the first thing you need to do is to determine a maximum limit on the latency that is acceptable for your application. And "as small as possible" is not good enough. In an earlier post, you said "milliseconds at most". Where did this limit come from?

You then need to decide how much data has to be transmitted to accomplish your communication requirements.
 

Thread Starter

jameschristian

Joined Nov 24, 2011
58
I have no idea how any of the stuff you describe (frequency hopping, direct sequence, etc) works. I'm sure I can Google it and learn more about it, but Wikipedia and definitions don't really get me that much closer to implementation. I'm not saying I'm not up for trying them, but I need it explained to me like I'm five, or at least I need step by step instructions on how to construct a system that would use these techniques. I'm not expecting you to do that, but if you could point me in the right direction I'd be grateful.

I chose milliseconds arbitrarily, what I am going for is the appearance of zero latency, but I realize that is impossible. What needs to happen is that the audience should not be able to discern a difference between when the performer triggers the signal and when the signal is turned into a musical note. I thought a few millisconds of latency might accomplish this.

I was wondering about how to monitor all the frequencies, and I would like to avoid having a sea of antennas that are all picking up the various signals, although it's not a deal breaker. I am a fan of simplicity, so the simpler I can keep this system, the happier I will be. That being said, if having five antennas instead of one will enable the system to function with less latency, then I will use five antennas (or ten, etc). I'm not sure having multiple antennas is the solution, I'm really just using antennas as a place holder for whatever hardware would be necessary to get all the signals interpreted in a synchronous fashion, but I should say that my finances are extremely limited, so if it involves a ton of fairly expensive hardware I might have to write the idea off. Any clue you could give me on what would be required would be very helpful.

The amount of data being transmitted is going to vary, but the maximum would be when all the performers are triggering their piezos at once, so that would mean about forty signals needing to be interpreted, with each signal carrying only that which would define from where the signal came and at what voltage each signal was triggered.

Thanks again for the help.
 

WBahn

Joined Mar 31, 2012
30,058
I'd suggest that you focus on off-the-shelf solutions. There are chip sets that use spreadspectrum, usually frequency hopping, that are pretty much plug and play. The same with MAC protocols. But most of the chips you will find are intended for single-user narrowband comms and you will run into interference issues with those unless you can set each pair up for their own dedicated frequency.

You can have multiple receivers using the same antenna, though there are limits in all things and forty might well be past it.

If you use a digital comms approach, then a source ID would need to consist of at least 6 bits (would permit you to have 64 sources). How much resolution do you need on the voltage signal?
 

Thread Starter

jameschristian

Joined Nov 24, 2011
58
When you say 'off the shelf' and 'plug and play', I am envisioning an Arduino or that TI equivalent (etc) doing the work, with some add-on doing the transmitting/receiving, is that about right? If not, could you tell me what you mean?

Just for grins and giggles, would it be way too hard to figure out how to build a system from scratch? I really like knowing how things work, and when something goes wrong, which it almost invariably does, it always makes it easier to fix if I built the thing myself. I have a little bit of background in EE, as I took two years of classes in it at a community college, so I may be able to give it a solid go. We didn't study wireless stuff much, except to discuss the theory behind how using certain filters can give you a range of frequencies to work with, but I love messing around in Eagle and programming in assembly. Ok, maybe love is too strong a word, but I like the challenge of building a thing from a clean board. I don't want to sound overconfident, and if you really think it'd be crazy hard, please say so. I'm just wondering because it feels doable.

As for the resolution on the voltage, I think MIDI only allows for 128 different volume levels, but that may be able to be extrapolated, I don't know. So I guess 7 bits of resolution for that, at least until I figure out if that provides enough contrast for the piece being performed.
 

WBahn

Joined Mar 31, 2012
30,058
I think it would be much too hard for you to design and build something from scratch that will satisfy your needs in anything resembling a reasonable time frame.

Use off-the-shelf to get something that works. Then, if you want, go back and design replacements for parts of the system one at a time.
 

WBahn

Joined Mar 31, 2012
30,058
You're welcome and good luck. Another point I realized last night is that making the transmitters from scratch is going to be quite difficult given that you need them to be small, light, and easily concealable.
 

Thread Starter

jameschristian

Joined Nov 24, 2011
58
I'll definitely need a little luck, but these forums are my secret weapon :D I started shopping last night and the off the shelf solutions are pretty versatile and not all that expensive. I am wondering about range though. Most of the DSSS chips I'm seeing have ranges in 30-50m range if they even specify. I am aware that I can theoretically boost a signal with an amplifier and get it to go farther, right? Does that mess up the spread spectrum phenomenon at all? Any easy metric to calculate what size amplifier I need to get the signal to 100-150m? I'm seriously considering running the thing at 2.4 GHz because it's such an industry standard, but I am wondering about through put. I'm seeing transfer rates of 1Mb/sec at most and this one

http://www.cypress.com/?rID=14280

is even less at 62.5 kbits/sec

If I'm am pushing 13 bits per signal that (62.5 kb/s) amounts to ~.002 seconds latency, although that completely neglects the transferrance of the signal to MIDI and then to the sound module.

Any chance you could reco a good part? I'm sorting through the wealth of parts out there and getting a little overwhelmed. I have an Arduino UNO I'd like to try and run this through, so if you have any thoughts along those lines, I'd love to hear them. I'm definitely open to using other frequencies as long as I can pull of the DSSS aspect if that's an option too.
 

WBahn

Joined Mar 31, 2012
30,058
You need to be careful about going for extended range as you will quickly run up against FCC limits for unlicensed transmitters.
 

Thread Starter

jameschristian

Joined Nov 24, 2011
58
What would that (using wifi) look like? Can I still go into the Arduino environment and code the signal to send what I want, or is there more to it than that, e.g. do I have to interact with the internet to get it to send my info? For some reason I thought that the 2.4Ghz band the transceivers, like the one I posted about, were using was the same band as typical wifi, so I guess I thought somehow we already were on that level. Obviously there is some difference, but I don't know what it is...

I certainly do NOT want to break any transmission rules. Is 300 feet too far to do it without a permit, or buying a frequency or something? If so, what is the limit? I live in the States.
 
Top