Another SDR program in Java

(This part can be skipped)

SDR technology has been developing for several years but only now are the technical means to exploit it economically.

SDR stands for Software Defined Radio. Everyone working in technology ever heard about digital signal processing or DSP.

Most of us see it as something distant that can only be faced by large organizations and is beyond the reach of the designers in Argentina. It's true.

It is also seen by companies as a technology that takes a great investment and has an uncertain return. It's true.

And at this point we should talk a little politics. I like to mix a project that should be technical policy. But all that is political
and technological development is heavily dependent on the policies established by governments.

 

So we can say:

Is it something that should be faced by large organizations? Yes, but large organizations means big business.
You can be a working group of people interested in technology.

Are you out of reach of Argentine designers? Yes. But that can be reversed if there is interest.

Does it take a great investment? yes. but that investment is what creates jobs wages for people as they develop systems worth many millions.

Do you have a return uncertain? Yes. The current policy of our government promotes economic development projects with advanced technology.

Therefore we can not expect immediate tech jobs. Also there seems to be many Argentines with interest in these projects.

You can also think of other restrictions such as:

Are there barriers to the import of materials for experimentation? Definitely not. While it may be that there are obstacles papers
(and this gives a character to the uncertain future of research) I never had any problems to import anything (ever tried to import
Chinese counterfeit perfume). This is important because many parts are not manufactured in Argentina and now it is possible to obtain
per unit at a price well under what a large field of experimentation, because there are things that before we saw them on TV and now
we can buy for experiment.

But done with politics and enter fully into the project.

 

Software Defined Radio

I'll define in a few words. A radio is an electronic communication, that is, a machine that has transistors, integrated circuits,
batteries, speaker, microphone, etc.. and serves to communicate. If one grabs an electronic book can be seen that each of these
circuits is represented by a series of equations (equation = mathematical formula). On the other hand, some already realized that a computer is basically a calculating machine biggie. Someone came up with the idea
of accommodating all circuits that integrate a radio and basically we can make calculations or calculations represent them by a
computer program and get rid of most of the hardware that is ugly, breaks, etc..

Oviamente this opened new possibilities, for example if we want to change something in a common radio (for example if you want
to hear shortwave) we modify the hardware of the radio or directly buy another radio. In a software defined radio just have to create an object of another class. This is a ventajita.

There is a lot of literature on SDR DSP and whoever wishes can read it, so I will not start with technical details.

 

Why another SDR program and Java?

The big question is why in Java and not in C or C + +

The C or C + + are much better for these things are more versatile and more efficient. But Java has the challenge of proving
that you can make high-performance developments although many say it is an interpreted language, which has a lot of overhead, etc..
So it is definitely not good for DSP projects and can be a little true. But I spent a few years old to make developments in Java and saw many programs with very
good performance. I think you can achieve something or not do and recognize that the world is right. By now the world is wrong.

The same modules can be mixed and where convenient java has the advantage that there is much open software developed and many
useful libraries which greatly facilitates the work.

It also has another shortcoming alguana Seller JavaSound important as having severe limitations.

Anyway for those who like turnkey programs there are three or four very good SDR implementations (some of the authors are
partners in this project) can stop reading this now and search on Google, later put the links by now look HDSdr, SDRSharp or Linrad.
This is a project most of all education and awareness.

It only remains to add that the hardware is very economical (economical means all arround u $ s 20. -) To start experimenting.
To make professional development the sky is the limit.

 

 

The project itself.

Basically and to do so very long in principle is based on a signal capture, digitize and after processing.

In a computer have two easily accessible ways to digitize a signal.The first is through still sound board and the second is to use
an external device to give us the signal and digitized by a USB port. We will use both methods, but as something we have to start with
the sound card. Those who are interested can see USB devices Osmcom project (Google again but do not worry because the links are
coming)

The current status of the project is the following is done

ProyectoSDR.java: Main Module does nothing more than call the rest.

Pantalla.java: module that draws the screen and has the actionListener and actionPerformed and long a thread in background with
other processes.

IniciarPlacaDeSonido.java: Data capture, ie signal samples and puts a treatable form the rest of the program

CooleyTuckey.java: Calculate the Fourier transform of the signal samples. There is another method to calculate the transform is best, is called "arbitrary basis" but not
yet implemented.

Gráficos.java: Build graphics and update the values in the main screen.. The graphics are not very good, I am using a free software
library. In the future will have to be something better.

The screen looks as follow

 Screen

The upper two charts represent samples obtained in the two channels, namely the waveform. This is not very useful and in the future
will disappear, only useful for adjustments and is invaluable during development, so it is. The chart below is the Fourier Transform of what we have above. In this case what you see is the sound of a guitar gauge put in 440Hz near a microphone. So are the two waveforms equal (because the microphone is mono) and spectral composition is a first mark (called bean) in 440Hz and successive harmonics at 880 etc.

Unfortunately yesterday (2013-02-19) my hard drive was no longer among the living and lost the latest version of the program,
only I was the dist directory of Netbeans so I can not yet upload the source code to rebuild it.Luckily I have a previous version and the code is not obfuscated. 2013-03-05
I've uploaded the jar file of the latest version. Sources are available via mail gvillamayor@gmail.com The lib directory contains the graphic library. It can be downloaded from jchart2d site

 

Hardware SDR


There is a designer who has some very good SDR circuits, provided the idea is to keep the hardware in its simplest form and I think
he succeeded. This time I'll put the link because I think is important. Whoever came up here and read has minimal interest.

 

YU1LM/QRP site

Those who are interested in radio equipment this page has some very interesting things. I think some boards can be assembled by some $ 10. - And does not sell well unless one is purchased
electronics are fried.

 

Next Steps

1. - Represent positive and negative frequencies

2. - Implement other algorithms besides Cooley-Tukey FFT to calculate

3. - Implement the IQ correction algorithm