General Engineering Projects/RADIO FMXMIT

Problem
Transmitting signals over FM frequencies is part of Software Defined Radio (SDR). The goal in this project was to build on the last project. Previously this project was done to accomodate to a new type of papillo hardware. This time around I used the same hardware and wanted to be able to send different morse-code signals over the FM frequencies. Another thing I set out to do was to be able to use this signal on any FM frequency.

Conception
Previously this project was done to accomodate to a new type of papillo hardware (spartan 3E XC3S250E). This time around I used the same hardware and wanted to be able to send different morse-code signals over the FM frequencies. Another thing I set out to do was to be able to use this signal on any FM frequency.

This project advanced in 4 stages.

--stage 1--

This involved copying the original code from http://hamsterworks.co.nz/mediawiki/index.php/FM_SOS, and updating to my own new file entitled radio. This step involved a lot of debuggging. The code at first did not work because ISE:Webpack did not recognize the Digital clock manager Instances and Components that were in the main module of the code. This problem was solved by simply creating a new DIGITAL CLOCK MANAGER, and copying instances and components over to the main module. Lastly, I Cleaned the project files (which is a category under project in ISE webpack).

Secondly, I had to rename constraints and pick a pin to use.

--stage 2--

This stage just involved choosing what message to say in morse code and also how to convey it using the given code. I chose to say HELLO HCC instead of the SOS signal that was being sent out at first.

I figured out that the string of characters in the message string was what made the different beep noises at the specified frequency.

--stage 3--

I changed the string of characters in message from a 31 string line to a 94 character string of 1's and 0's to convey the HELLO HCC message in morse code.

--stage 4--

At this point it was time to make the radio work on any desired station. Previously the station selected was 91.0. In order to test a real frequency, I changed the frequency to 92.3 in the digital clock manager. The radio then worked on this station as well when both antennas were very close to each other.

Design
These are the RTL schematics that describe how all of the parts work within the code.

Implement
I uploaded the code to github. https://github.com/aadavis/fmxmit.git

And also had specific settings for the Digital Clock Manager

Operate
It should be an expectation to hear the signal being transmitted over the station that the DCM is set to.

video

Next Steps

 * Get a better antenna!
 * Create different tones (possibly by multiplexing).
 * Use state logic to decode regular letters or ANSII into morse-code!