General Engineering Projects/RADIO FMXMIT
Problem
editTransmitting 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
editPreviously 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
editThese are the RTL schematics that describe how all of the parts work within the code.
-
rtl1.
-
rtl2.
-
rtl3.
These are pictures of the Papillo with antenna inserted, a close up, and the radio that was used.
-
This is the unit with antenna.
-
This is a closeup.
-
This is the radio receiver used for testing.
Implement
editI uploaded the code to github. https://github.com/aadavis/fmxmit.git
And also had specific settings for the Digital Clock Manager
-
This is the Digital Clock Manager set to 92.3 (a real example of a radio station).
Operate
editIt should be an expectation to hear the signal being transmitted over the station that the DCM is set to.
Next Steps
edit- Get a better antenna!
- Create different tones (possibly by multiplexing).
- Use state logic to decode regular letters or ANSII into morse-code!
I, the copyright holder of this work, hereby release it into the public domain. This applies worldwide. If this is not legally possible:
|