200 likes | 496 Views
Radio345 with ECE 345 Senior Design Project - Fall 1999 Thomas Hicks Nitin Wadhwa Advisor: Lee Rumsey Introduction A Web based interactive FM radio station The server/transmitter processes song requests and maintains an informational Web page
E N D
Radio345 with ECE 345 Senior Design Project - Fall 1999 Thomas HicksNitin Wadhwa Advisor: Lee Rumsey
Introduction • A Web based interactive FM radio station The server/transmitterprocesses song requests andmaintains an informationalWeb page While listening to their radio, users look-up song info and make requests through the Web
Transmitter Description of Frequency Modulation • Protects signal from atmospheric noise • The carrier’s frequency becomes a function of time • AM broadcasts are more susceptible to distortion • FM waves allow for higher fidelity
Transmitter Specifications of an FM Wave • Equation of an FM wave: • Broadcast frequency of 88.7 MHz • Bandwidth of modulated carrier 150 kHz • Modulating frequency 15 kHz • Sufficient power to reach in-lab receiver(approximately 0-1 dBm)
Transmitter Operational Amplifier Design PCSoundcard Integrator Summer VCO RF DC PowerSupply
Transmitter Transistor Design PCSoundcard Audio ReactanceModulator RF Band-passfilter
Transmitter Transistor Design is Optimal Choice • Op-amp design has many more components • Each op-amp requires a battery • Voltage-controlled oscillator is very expensive • Transistor design powered by one 9V battery • Transistor design circuit is smaller
Transmitter Sub-Circuits of Final Design • Common-emitter (CE) audio amplifier • Loss-less Pi matching network • LC tank oscillator with feedback • CE Radio Frequency Amplifier • Radio Frequency Traps • Feedback and emitter resistors • DC blocking and bypass capacitors
Transmitter Testing and Verifications • Output connected to an oscilloscope to verify FM waveform and to measure the modulated frequency • Output connected to a spectrum analyzer to locate broadcast frequency and to measure the output power • Input connected to a function generator to apply various input waveforms
Transmitter Performance Specifications • Broadcast frequency of 88.7 MHz • Bandwidth of modulated carrier:42 kHz 150 kHz • Modulating frequency = 1 kHz 15 kHz • Output power of 7.70 dBm
Transmitter Finishing Touches • Cascade low cost amplifier chips at output for greater range • Add a frequency detection circuit to warn the listener that the frequency has shifted because of a low battery
User interface Displays the current song playlist Obtains users’ song selections/requests WinAmp interface Gets information from the WinAmp MP3 player Generates an HTML file with information about the current song RadioMonitor 2000
System Requirements • Nullsoft’s WinAmp 2.5 MP3 player • Sambar 4.2 Web Server • Cost: FREE!
User Interface • Perl script to parse the M3U playlist file and output an HTML file: #EXTM3U #EXTINF:339,Jamiroquai - Virtual Insanity C:\music\Jamiroquai - Virtual Insanity.mp3 #EXTINF:222,Lou Bega - Mambo No. 5 C:\music\Lou Bega - Mambo no. 5.mp3 #EXTINF:227,Will Smith - Gettin' Jiggy Wit It C:\music\Will Smith - Gettin' Jiggy Wit It.mp3
WinAmp Interface RadioMonitor 2000 communicates with the WinAmp Player HTML is generated (every second)
How it’s done! • Control Panel written in VisualBasic • Makes API calls to WinAmp for info • For example, to obtain Output Time: API defined: “An acronym for Application Program Interface, the set of commands that an application uses to request and carry out lower-level services performed by a computer's operating system.” Source: MSDN Library Visual Studio 6.0 In WinAMPFE.BAS: Public Const IPC_GETOUTPUTTIME = 105 In Main.BAS: WinAMPhWnd = FindWindow("Winamp v1.x", vbNullString) TempG = SendMessageM(WinAMPhWnd, WM_WA_IPC, 0, WinAMPFE.IPC_GETOUTPUTTIME)
Challenges • Topic not documented anywhere! • Updating playlist: • WinAmp only reads the playlist on startup • Solution: winamp /add demo2.mp3 • WinAmp only writes the playlist on close • Solution: Control panel makes an API call at regular intervals: SendMessageM(WinAMPhWnd, WM_WA_IPC, 0, WinAMPFE.IPC_WRITEPLAYLIST)
Challenges 2 • How often to refresh user’s pages? • Song info HTML (options in the control panel): • Dynamic update: if the host and WinAmp are running without interruption or intervention, page updates can occur at song’s end(When a user enters the page, the page refresh time is set to time remaining in the current song). • Fixed interval: Refresh page at host selected intervals from 5s to 30s • Playlist HTML: • Fairest way: fixed interval of 20s
Possible Improvements • Voting mechanism for song selection • User registration and security features • Advertising within pages
Concluding Remarks • Learned more design tools • Got accustomed to documenting in thesis format • Success with incorporating two disciplines • Perseverance