Hi Sajeev,

thanks for adding more information!

There’s two things I’d like to mention at this point; after that, I

think it might be a good idea to let this discussion thread die. I feel

I’m digressing too much, and it’ll be easier for you to come up with a

new email that says “Hey, do you know research on XY, possibly related

to GNU Radio”, now that we have mentioned so many concepts with names,

and you can pick one or a few XYs from these. Bombarding you with more

terms really won’t help either of us, I guess

So these two things are 1. quantifying your ideas, and 2. cognitive

communications:

- telecommunication with electromagnetic waves is not very much like

looking at objects with the human eye, I agree.

But that’s basically because the sensory apparati involved are so

different: The eye is a focussable matrix detector for photons, which

means you kind of get a whole set of per-frequency-bin intensities at

once, whereas digital communication usually needs to rely on a single

(or a few) antennas receiving a signal, which only has a single quality

– voltage over time.

Thus, your comparison kind of needs to take a step back: First of all,

you’d need to make some kind of “image” out of the temporal signal,

before you can do anything cognitive on it. In fact, projecting a

received signal into a vector space is a method very common to almost

all digital transmission systems:

RF engineers of think of signals as combination of points in a

N-dimensional room, constructed by base vectors of independent vectors,

just like a 2D image might be constructed by mapping colors to points in

the plane.

The art of finding appropriate signal representations has led to a whole

lot of different transmission schemes, some of which are

constellation/pulse shape based (think of a PSK with a matched filter),

some employ orthogonality of specific frequency components to first map

a set of symbols to a time signal (OFDM), some simply represent

different symbols/users by different sequences of chips (CDMA);

detectors for these different representations use the characteristics of

the signal model to optimize correct decoding. “Optimize” is a hard

word, here: It demands that the signal model is somewhat mathematical,

which allows the engineer to find an *optimal* decoder, in many cases.

After that, there’s the art of channel coding (as opposed to source

coding, and largely unrelated to CDMA), which approaches the actual

information to be sent from a information theoretical point of view; it

adds redundancy at the transmitter to make it easier for the receiver to

correctly decode what has been sent, and it gives the receiver

appropriate methods to maximize probability of correct decoding. Network

Coding is somewhat related to this, and is yet another discipline of

communications engineering you should have a look at.

Again, there’s a *large* mathematical background to this, and a lot of

things have upper bounds for how well things can possibly work, there

are solutions to specific cases that are proven mathematically to be the

optimum, and there are lots of research to be done – most of the codes

we know today are rather bad compared to what we know must exist, but

science has not been able to find better ones, so far[1].

Somewhere in between the mapping of physical quantities to code words,

and finding good codes to encode information, to maximize

speed/reliability/spectrum efficiency of transmission [2], or somewhere

across, sits equalizing. Now, equalizers have a lot of properties that

people consider “smart”, “adaptive”, and thus somewhat “cognitive”, but

that brings me to my second issue

- “cognition” is one of the buzzwords of RF communication of the last

15 years, thanks to Mitola '98, who coined the term “cognitive radio”,

to describe systems that are aware of their RF environment and act based

on this awareness. This comes with a whole lot of theory on what a radio

must/can/could know, how to exchange that kind of info etc. Network

coding once again comes into play – you should definitely have a look

at that.

Now, I’m not totally sure you’re going after cognitive radio – from

what you describe, designing a good channel code that reaches the

channel capacity[3], maybe combined with an equalizer, fits what you’re

looking for, which is recognizing advanced patterns in a

more-than-1-dimensional representation of the signal. There’s a lot of

approaches that do this – chose the one you want to dig deeper into

Computer vision is a fairly mature field of research, and it has led to

a lot of signal models for 2D images; all the things I said about

mathematical optimization above apply to these models, too, and the

point here is that it’s always crucial to find a good representation

(ie. a well-fitting model) that explains the signal to your detection

algorithm.

There are a lot of decoder classes that are what one could call learning

– iterative methods that use the information gathered in the last

processing step to aid and improve the next step – be it a definite

decision about the (N-1)th bit employed to calculate the likelihoods of

the Nth bit, or be it a soft decision state used in a iterative decoder

arbitrary times. Have a look at Turbo Decoders – they interleave

decoding and equalizing, and thus learn from symbols of the past to

interpret the coming symbols more accurately.

So, to conclude: 1. you say you want to see things being done better,

but you’ll need to mathematically define “better”; in many cases, the

structures employed are mathematically proven to be optimal, and 2.

you’re comparison to recognition of things by the human eye needs to

first find a mathematical model that makes an image from the signal, and

for which you can be smarter than the solutions that are already known.

Best regards,

Marcus

[1] which, to me, was one of the core things I took away from my channel

coding course.

[2] Note that I use these three different goals as one thing here – you

can often do this, because the common problem is “for this given

channel, how can we get a maximum of bits across”, and a good solution

solves all the three problems.

[3] Wow, my footnotes are getting channel coding centered these days.

Reaching channel capacity means: No matter what you do, for the SNR in

this channel you can’t get more bits across (with arbitrarily little

error) than possible with this code.