From: whit3rd on
On Jul 1, 10:16 am, andy baxter <n...(a)earthsong.null.free-
online.co.uk> wrote:

> The data rate is pretty low - the situation is that we have a large
> number of transmitters (which have to use as little power as possible),
> and a smaller number of receivers...

> The modulation technique we are using at the moment is to generate pulses
> of one of two given frequencies

So, frequency-shift keying...

>then decode them by putting them through a pair
> of tuned filters.

Filters have a Q, so there'll be a delay... could you use
synchronous rectification as your keying filter, instead?
You'd still want a bandpass filter to include your signals and
exclude the larger noise bandwidth.

POTS modems use multiple frequencies and get good
noise performance through rejection of 'illegal' combinations.
That might help you out, and the benefit of pushing
data faster means your low-power devices can shut off
more often.
From: Vladimir Vassilevsky on


andy baxter wrote:

> On Thu, 01 Jul 2010 09:49:04 -0700, John Larkin wrote:
>
>
>>What's your data rate? What's the data like? How are uou applying the
>>modulation? How are you detecting it?
>>
>>Spread-spectrum won't necessarily give better performance, unless you
>>have some special-case interferance problems.
>
>
> The data rate is pretty low - the situation is that we have a large
> number of transmitters (which have to use as little power as possible),
> and a smaller number of receivers. The problem is for each receiver to
> continuously detect which transmitters are connected on the same physical
> channel as it is operating on. We can send analog electronic signals over
> this channel, but it is very lossy and subject to noise. (Sorry not to be
> more specific but my boss has asked me not to talk about the actual
> application in too much detail).
>
> The data is just a unique id of each transmitter, sent around 10 times a
> second.
>
> The modulation technique we are using at the moment is to generate pulses
> of one of two given frequencies using a programmable oscillator connected
> to a microcontroller, and then decode them by putting them through a pair
> of tuned filters.

That's simple. Assign unique FFT bin frequency for each of the
transmitters. Do an FFT at the receiver side. Provided your channel is
frequency flat and impaired with white noise, this scheme would be as
energy efficient as it could ever be.



Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
http://www.abvolt.com






From: Nico Coesel on
andy baxter <news(a)earthsong.null.free-online.co.uk> wrote:

>Hello,
>
>I am working for a small company who are working on a system which needs
>to send digital signals over a noisy medium. We have something working
>which uses a pair of frequencies (in the 100kHz-1Mhz range) to represent
>0s and 1s, but would like something that gives better noise rejection.

What is a noisy medium? What you are looking for is probably a good
old modem.

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
nico(a)nctdevpuntnl (punt=.)
--------------------------------------------------------------
From: Tim Wescott on
On 07/01/2010 10:16 AM, andy baxter wrote:
> On Thu, 01 Jul 2010 09:49:04 -0700, John Larkin wrote:
>
>> What's your data rate? What's the data like? How are uou applying the
>> modulation? How are you detecting it?
>>
>> Spread-spectrum won't necessarily give better performance, unless you
>> have some special-case interferance problems.
>
> The data rate is pretty low - the situation is that we have a large
> number of transmitters (which have to use as little power as possible),
> and a smaller number of receivers. The problem is for each receiver to
> continuously detect which transmitters are connected on the same physical
> channel as it is operating on. We can send analog electronic signals over
> this channel, but it is very lossy and subject to noise. (Sorry not to be
> more specific but my boss has asked me not to talk about the actual
> application in too much detail).
>
> The data is just a unique id of each transmitter, sent around 10 times a
> second.
>
> The modulation technique we are using at the moment is to generate pulses
> of one of two given frequencies using a programmable oscillator connected
> to a microcontroller, and then decode them by putting them through a pair
> of tuned filters.

Depending on how many transmitters you have, and how organic the network
is, there are a number of things that might work.

Vladimir's suggestion of just having each transmitter on a different
frequency would work if you can assign enough channels and if
single-tone signaling works in your environment (which it will if the
noise is wideband, or has specific, predictable frequencies that must be
avoided).

Spread-spectrum (code division multiplexing, really) makes sense if you
have single-tone interference that you can't trust to stay on frequency,
but trying to find a scheme that keeps the receiver's cheap may be a
challenge. Spread spectrum won't do you much good if the noise is
completely random and is already swamping your receivers.

What about time-division multiplexing? Is there any reason you can't
have the transmitters cooperate to send at different times, perhaps in
round-robin order? Or are you already doing this?

Like Vladimir, I could help you with this. I think you should seriously
consider getting an expert to at least help you kick things off -- there
are a lot of ins and outs in this sort of thing, and I very much doubt
that they're all going to be collected in one book for you. In
particular, you don't want to get dazzled by some complicated technique
when there's a simple expedient that would work well.

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" was written for you.
See details at http://www.wescottdesign.com/actfes/actfes.html
From: andy baxter on
On Thu, 01 Jul 2010 14:44:25 -0700, Tim Wescott wrote:

>
> Depending on how many transmitters you have, and how organic the network
> is, there are a number of things that might work.
>
> Vladimir's suggestion of just having each transmitter on a different
> frequency would work if you can assign enough channels and if
> single-tone signaling works in your environment (which it will if the
> noise is wideband, or has specific, predictable frequencies that must be
> avoided).

The problem with this is that the number of transmitters could
potentially be quite large - several thousand at a guess - so giving each
one its own frequency might not be so easy.

>
> Spread-spectrum (code division multiplexing, really) makes sense if you
> have single-tone interference that you can't trust to stay on frequency,
> but trying to find a scheme that keeps the receiver's cheap may be a
> challenge. Spread spectrum won't do you much good if the noise is
> completely random and is already swamping your receivers.

This is something I'm trying to clear up in my own mind - do spread
spectrum techniques have inherently better noise rejection than
traditional methods, or does it depend on the situation?

Also, how do noise rejection and data rate work together? I'm guessing
that you can get better noise rejection by lowering the data rate, but
this is only an intuitive guess, and I was thinking that there are
probably equations which have been worked out covering this sort of
question, which we could get from a decent book on the subject.

Another question - what about chirp spread spectrum? The thing that
kicked all this off was my boss was talking about how he thought we ought
to be using spread spectrum techniques, and I offered to do some research
on the subject, and set up a demo for them of chirp spread spectrum in
the audio domain using supercollider (an audio synthesis programming
language). I chose to do the demo using CSS because it looked like it was
a simpler way of getting the benefits of spread spectrum than CDMA.

> What about time-division multiplexing? Is there any reason you can't
> have the transmitters cooperate to send at different times, perhaps in
> round-robin order? Or are you already doing this?

I don't think this would work - the transmitters have to be kept as
simple and low power as possible, so we want to avoid putting any
receiving capabilities on them. Something like ethernet where they each
broadcast a short id code at random intervals might work though, if we
make the receivers capable of detecting collisions.

> Like Vladimir, I could help you with this. I think you should seriously
> consider getting an expert to at least help you kick things off -- there
> are a lot of ins and outs in this sort of thing, and I very much doubt
> that they're all going to be collected in one book for you. In
> particular, you don't want to get dazzled by some complicated technique
> when there's a simple expedient that would work well.

We have considered this, but the point for us is that even if we do get
someone else in to work on this part of the project, it would be useful
to know a bit more about the subject ourselves first just to have a
better idea of whether this is justified, and to be able to assess the
work they are doing if we do take someone else on. Which is why I
suggested that we should look for a good book that would at least teach
us the language of the subject and give us an idea of what is what in
that field.

andy

--
(remove 'null' to email me)