Stevens REU 2007

Jacob Alperin-Sheriff

Week 1

 

    Note: pvals(a,n,k) finds values of p (where pq=n) based on the knowledge that

  p2+(-1-k-lg(k)+(a-n)/k))p + n > 0

Chebyshev approximations:

A Chebyshev polynomial Tn(z) of the first kind is defined as the following contour integral enclosing the origin, traversed

counterclockwise:               

Using these polynomials, define

cj =

cj =

Then

This formula gives a very close approximation to the minimax polynomial, which is important for the purposes of modulation/demodulation.

 

Week 2

Learned that my project would involve adapting the Software Defined Radio to support dynamic communication. The goal is to have it change frequencies if the current frequency is “noisy,” that is, already occupied by someone else. Currently, this is not done automatically, but hopefully at the end of these 10 weeks I’ll be able to get it to do so. I fixed the given source code a little so that it compiles and runs. The bugs present are likely not really serious bugs, per se, but just situations that arise when the radio hardware isn’t working correctly with the software. 

I also continued going through and commenting the given code provided by Flex-Radio. I believe I have found the variable that controls the data-rate. However, I’ll need to actually get the radio integrated with the software to be sure.

Background Reading:

Modern Digital Signal Processing by Roberto Cristi

Software Radio by Jeffrey Reed

Goals for Week 3

-Continue reading through and commenting the given code

-Get the radio to work with software so I can actually see what i’s really going on

-Do some testing with the radio to better understand the code

-Continue with the background reading

-Read up on noisy channel conditions

-Use the radio to get a feel for what noisy channel conditions are like

Week 3

Frequency Shift Keying

 

I decided to use frequency shift keying to transmit the data, as that was the method used by Nishant Kumar

, a very grammatically challenged former masters student at Stevens, in his modification to the Software Defined Radio several years ago. Although it was tough to figure out what he was saying from his awful grammar and lack of detail, I picked up enough to Wikipedia it.

The way it works is that the frequency changes to signify a 1, and stays the same to signify a 0

 

Goals for Week 4

Week 4

Before

After

 

Goals for Week 5

Week 5

This week I began programming the software defined radio to detect noisy channel conditions. The basis of the

 detection algorithm is standard deviation. I was hoping that if the channel deviates more than a certain number of standard deviations (2.5 seems to be good), then that tells us that the channel is noisy. It works pretty well in most cases. However, if there’s only a gentle curve up from the signal, it doesn’t detect that the channel is noisy even though it seems to be. The checking for the noisy channel is done on the average signal after a few seconds, to minimize the distortions which inevitably occur in radio signals.  Below are some pictures of the signal and the detections.

SUCCESS noisy
SUCCESS noisy
SUCCESS not noisy
FAILURE should be noisy


Goals for Week 6

Week 6

This week I began working on getting the Software Defined Radio to find a quiet channel to transmit on dynamically, as the project requirements specified. The basic idea is as follows: