TMS320C6713-DSP Based FSK Modem with Timing, Frequency
Transcription
TMS320C6713-DSP Based FSK Modem with Timing, Frequency
TMS320C6713-DSP Based FSK Modem with Timing, Frequency, and Phase Synchronisation Kandeepan Sithamparanathan Leif W. Hanlen Wireless Signal Processing Program National ICT Australia Wireless Signal Processing Program National ICT Australia Abstract— In this paper we present a Texas Instruments TMS320C6713- DSP based communication testbed, designed for testing algorithms, channel measurements and performance analysis of digital receivers. The testbed is used to implement a frequency shift keying (FSK) modem with synchronisation capabilities at the base band. The modem operates at a data rate of 600bps with a sampling frequency of 48 KHz. Here, we present the design and architecture of the modem, and some results obtained using Matlab. Manual Input Control panel Text input Characters to binary timer timer Forward Error Correction Frame data Disk I. I NTRODUCTION The Texas Instruments TMS320— series DSP platforms are well known in terms of fast prototyping and use through academia and industry. In this paper we outline a particular application of the TMS320C6713-DSP platform for use as an acoustic FSK modem. The modem is designed as an introductory tool and teaching aid, for undergraduate and postgraduate students. The students are introduced to the DSP through a simple collection of matlab scripts, which permit pseudo-realtime transmission and reception of signals through an acoustic medium. Application of daughter boards will allow direct application of the DSP to cm-wave (2GHz) radio frequency applications. For the purpose of this paper we outline the implementation of a simple binary frequency-shift-key acoustic modem. The modem operates at a sampling frequency of 48kHz, and has carrier frequencies of 4kHz and 8kHz. The BFSK modem uses Matlab to perform base-band processing and the DSP to act as a software-define modulator. Matlab Transmit System Binary data on disk DSP DSP sampled data Matlab Receive System Correlator Decoder Display timer timer Fig. 1. Matlab interface. Processes are riven by timer objects, which are controlled centrally through a graphical user interface. Processes controlled by timers do not require II. M ATLAB I MPLEMENTATION The intention of the Matlabtm interface of the testbed is to encourage fast implementation of the communication tools onto the DSP platform. We have deliberately avoided “add-on” software such as simulink, Matlab toolboxes and the DSP’s own Matlab interface for the following two reasons: 1) They are not universally available, particularly for students using edcuation versions of Matlab software. 2) The simulink-style boxes tend to limit the functionality of the DSP platform to a well-developed subset of DSP uses. While choosing to not use the complete gammit of toolboxes etc, may seem to limit the applicability of the tools, it is our hope that we may more easily find a balance between ease of use, and realistic flexibility in terms of testbed implementations. The Matlab interface is described in figure 1. The modem comprises basic aspects of common communication systems – character to binary conversion, buffering (achieved on disk) some minor forward error correction and correlation decoding. The objective of the modem is not to provide a novel FSK system, but through its simplicity facilitate further development by students. At its core, Matlabtm is a script-based language. Although newer instantiations, such as the real-time toolbox provide some process-based applications, the majority of code written in Matlabtm is linear. The initial process model for the matlab modem was to use while(true)...end language constructions, however these were replaced with timer objects. The Matlab timer object is defined as a standard inclusion in Matlab 5 and above, and allows functions to be activated outside the normal linear operation of a matlab script. With sufficiently small (low complexity) functions, and timer periods of 0.1–0.5 seconds, the modem appears to run in real time. The advantages of the timer-based over the continuous while(true)...end loops are two-fold: the processes can be arbitrarily timed – faster or slower – and may be run asynchronously. The asynchronous component of the timer, allows to user to stop and start the simulation easily from a main control window. A. Transmitter The transmit side of the modem uses a simple bitstream, saved in a text file for the DSP o read. The file is controlled through a semaphore [1] based system. The current arrangement requires both the DSP and the Matlab code to open a locking file which contains a single text character which may be in one of two states – read and write – which prevents over-writing of data. The bit stream is re-generated through the use of a small Matlab function which is called through the use of a timer object. The file is then read by the DSP code, which creates a BFSK sequence of samples. B. Packet structure The modem has no feed-back channel – so repeat requests are not possible. The data frames are designed to be robust against erasure. The modem uses a series of frames, with a fixed number of bits. We have used 17 bits per frame, described as follows: header z p0 | p1 }| { p2 p3 f0 f1 d0 {z } | {z } | parity frame num d1 ... {z data d9 } C. Receiver The receiver side of the Matlab code consists of three timer controlled processes: • • • detect The detector uses a correlator (matched filter) system to match the received FSK samples to known frequency sinusoids. This provides soft data outputs, which are given to the decoder. decode The current decoder uses a simple nearest neighbour threshold test to determine the bit value. The structure of the matlab system is designed to allow arbitrry decoders to be “plugged in” and replace the threshold test. display The display function provides simple output for the data, including a constellation diagram, real-time detector output along with bit error results. Fig. 2. Awesome photo ACKNOWLEDGEMENT National ICT Australia is funded through the Australian Government’s Backing Australia’s Ability initiative, in part through the Australian Research Council. L. Hanlen has adjunct status with the Australian National University. R EFERENCES [1] W. H. Stallings, Operating Systems, 4th ed. Jersey 07458: Prentice-Hall, 2001. Upper Saddle River, New