DSP modems for the DSP56002EVM

Workshop at the 12. international Packet Radio meeting
20./21. April 1996

Jürgen Hasch, DG1SCR@DB0RBS

1. Das DSP56002EVM

Until a few years ago, realtime signal processing was very expensive. With the advances in microprocessor technology, special signal processors came up and changed this completely. And when Texas Instruments introduced their simple DSK26 evaluation board, digital signal processing really went cheap.

Motorola followed that track and created their DSP56002 evaluation module:


Figure 1: block diagram of the DSP56002EVM

Auf der Platine befinden sich neben dem Signalprozessor DSP56002 noch ein 16 Bit Stereo-Codec CS4215, der die Wandlung der analogen Signale übernimmt, 32KW externer Speicher, ein Sockel für ein (Flash-)Eprom, einige Erweiterungsstecker, sowie zwei Anschlüsse für einen PC mit serieller Schnittstelle.

Zwei serielle Anschlüsse klingen ein wenig nach Verschwendung, entpuppen sich jedoch als sehr clevere Idee. Der DSP56002 besitzt nämlich eine sog. OnCe-Schnittstelle, was für 'On-Chip Emulation' steht. Damit läßt sich von außen direkt in die Internas des Prozessor eingreifen, ohne daß ein spezieller Debugger auf dem Signalprozessor ablaufen müßte. Jetzt kann man sich ganz bequem vom PC aus anschauen, was auf dem DSP gerade passiert. Die Ansteuerung des OnCE wird von einem 68HC705 Microcontroller übernommen, der die Befehle auf die serielle Schnittstelle umsetzt.

Der zweite serielle Anschluß geht direkt zur SCI-Schnittstelle des DSP56002 und kann vom eigenen Programm benutzt werden. Die Übertragung der Sende- und Empfangsdaten bei den vorgestellten Modems geschieht ebenfalls über den SCI-Port.

Abbildung 2: Prozessorkern des DSP56002

Die Abbildung zeigt den Aufbau des DSP56002 Prozessorkerns. Alle Datenpfade sind 24 Bit breit, entsprechend einem Dynamikbereich von 144dB. Zwischenergebnisse in den beiden Akkumulatoren werden sogar mit 56 Bit zwischengespeichert. Der Prozessor erlaubt, wie bei Signalprozessoren üblich, einen hohen Grad an Parallelität bei der Programmausführung, so lassen sich beispielsweise ein Multiplikation, eine Addition und zwei Datentransfers mit gleichzeitiger Aktualisierung der Datenzeiger ausführen.

Weitere Eigenschaften des 56002:

Der DSP56002 im EVM wird über die eingebaute PLL mit einer Taktfrequenz von 40MHz betrieben, was eine Befehlszykluszeit von 50ns ergibt. Die in den neuesten Kits ausgelieferten Prozessoren erlauben sogar einen Betrieb mit einer Taktfrequenz von 66MHz.

2. Modems

As an example of the power of the EVM, I want to show you packet radio modems, programmed by Pawle Jalocha SP9VRC. The G3RUH modem was programmed by Jarkko Vuori, OH2LNS.

The time and ferquency domain plots were measured with and DSP card using an 320C25 processor.

2.1 Leonid

A software modem contains more than only the modulator and demodulator. It also needs to provide some means of processing the binary data stream, e.g. CRC checking.

The software package 'leonid', developed by OE6EH and OH2LNS, provides the neccessary functions between modulator/demodulator and the well known kiss software interface.

Now the modem software just needs to send the received data bit to Leonid and ask for a new databit to be sent and Leonid takes care for all the rest.

Figure 3: Leonid as interface layer

2.2 Skeleton of a modem

A simple modem could look like this:

waitblk
jsr demodulator
putbit
getbit
jsr modulator
jmp loop 

macro, wait for new samples from the codec
call demodulator
sent received bit toLeonid
get new transmit bit from Leonid
call modulator
back to waitblk

2.3 CPFSK

The 'standard' modulation for packet radio is 1k2 AFSK, also called CPFSK because of its continuous phase.
Figure 4 shows a typical CPFSK signal containing 1200Hz and 2200Hz tones:

Figure 4: CPFSK signal

The frequency spectrum shows two maximas at the FSK frequencies:

Figure 5: frequency spectrum of a CPFSK signal

Description of the modem:

The received signal first passes an AGC and ist mixed down by a mid frequency of 1700Hz. The resulting base band signal with its I and Q value is compared to the previus sample and after a low pass filter the phase difference gets to the decider. The decider sends the received data value to Leonid.

The modulator is very simple, an oscillator gets frequency keyed by the transmission data and is filtered afterwards.

Figure 6: block diagram of the CPFSK-Modem

2.4 PAM

An nowadays very common modulation type is direct FSK, also called after G3RUH. Basically this is a king of pulse amplitude modulation (PAM), because depending on the value to be sent, an impulse is sent out (or not).

Figure 7: PAM signal

Figure 8: frequency spectrum of a PAM signal

Figure 9: block diagram of the PAM modem

Description of the modem:

The received signal gets sampled with 48kHz. It first gets decimated to 19,2kHz by a polyphase filter. After low pass filtering and passing through an AGC it is decimated again and the signal value is decided and descrambled.

The modulator is very simple, after the scrambler the binary data stream gets filtered by a cos² pulse former filter.

2.5 BPSK

Eine weitere Modulationsart ist BSPK, binary phase shift keying. Dabei wird ein Trägersignal, beispielsweise mit einer Frequenz von 1200Hz,ausgesendet. Soll ein '0'-Bit übertragen werden wird der Träger um 180° in der Phase gedreht, bei einem '1'-Bit bleibt die Phase gleich. Die Abbildung zeigt ein solches BPSK-Signal:

Figure 10: BPSK signal

Im Frequenzbereich erkennt man ein Maximum in der Nähe der Trägerfrequenz:

Figure 11: frequency spectrum of a BPSK signal

Description of the modem:

Das Eingangssignal gelangt nach der AGC auf einen Bandpaß mit Hilbert-Transformator, wo es in ein komplexes Signal umgewandelt wird. Danach gelangt es auf den Mischer, wird die Nullage herunter gemischt und gelangt auf den Entscheider.

Abbildung 12 zeigt das Konstellationsdiagramm am Entscheider, der Punkt auf dem Kreis stellt das gerade empfangene Symbol dar:

Figure 12: constellation diagramm

Wird eine '1' übertragen, bleibt die Phase zwischen zwei aufeinanderfolgenden Symbole gleich, die Konstellation am Entscheider ändert sich damit ebenfalls nicht. Wir eine '0' übertragen so ändert sich, bei gleichbleibender Amplitude, die Phase um 180°, die Konstellation am Entscheider entspricht jetzt dem Kreuz. Der Entscheider wertet also aus, ob sich an der Konstellation eine entsprechend große Phasenänderung einstellt.

Da der Empfänger keine PLL zur Phasenstarren Synchronisation auf das Trägersignal besitzt, ergibt sich eine langsame Drehung des Punktes auf einem Kreis im Konstellationsdiagramm.

Figure 13: block diagram ot the BPSK modem

Der Modulator is auch hier recht einfach aufgebaut. Da bei einer Phasenumtastung um 180° nur das Vorzeichen gedreht werden muß, wir einfach ein Amplitudenwert von +1 oder -1 mit dem Trägersignal multipliziert und über einen Bandpaß gegeben.

2.6 Multitone-QPSK

Das Multiton-QPSK-Modem ist das bei weitem aufwendigste der vorgestellten Modems. Die Übertragung geschieht mit Hilfe 15 diskreter Träger im Abstand von 125Hz. Die einzelnen Träger werden mit 4-DPSK phasenmoduliert.

Die Übertragung geschieht jeweils in kurzen Datenbursts von 12ms Länge, was eine Schrittgeschwindigkeit von 83,3Baud ergibt Rechnet man jetzt für 15 Träger und je 2 Bit pro Träger für die 4-DPSK, ergibt sich eine Übertragungsgeschwindigkeit von 2500bps.

Dibit

Phasenänderung

00
01
10
11


90°
180°
270°

Figure14: constellation diagram for one Träger

In Abbildung 15 ist der Verlauf eines 12ms langen Datenbursts zu sehen:

Figure 15: QPSK burst signal

Man kann auch die Form der verwendeten Fensterfunktion an der Hüllkurve des Signals erahnen.
Im Frequenzspektrum sind die einzelnen Töne durch die Phasenumtastung nicht mehr zu unterscheiden:

Figure16: frequency spectrum of a QPSK burst

Figure 17: block diagram of the QPSK modems

Description of the modem:

Die Abtastfrequenz beträgt 8000Hz. Das Empfangssignal gelangt nach der AGC auf einen Dezimator, danach erhält man eine neue Abtastfrequenz von 2666Hz. Jetzt wird das Eingangssignal in ein komplexes Signal umgewandelt und in die Nullage gemischt. Nach der Fensterung des Datenbursts wird eine FFT ausgeführt, da die weitere Auswertung im Frequenzbereich stattfindet. Mit Hilfe der Phaseninformation aus der FFT kann für die einzelnen Träger die PSK-Demodulation durchgeführt werden.

Der Modulator funktioniert analog zum Demodulator. Zuerst wird die inverse FFT vorbereitet, indem Amplituden- und Phasenwerte der Träger in den IFFT-Speicher eingetragen werden. Nach der IFFT steht dann ein 12ms lange Datenstrom zur Verfügung, der über eine Fensterfunktion geglättet wird und anschließend aus der Nullage in den Übertragungskanal gemischt wird.

Bevor in einem Sendevorgang die eigentliche Datenübertragung stattfinden kann, muß noch eine Trainingsphase absolviert werden. Das Training ist notwendig, damit sich Empfänger auf den Sender synchronisieren kann, d.h. die empfangenen Töne auch richtig ausgewertet werden.

The QPSK modem has a training mode consisting of two phases:

Figure 18: frequency spectrum in training mode

First, 4 tones are sent by the transmitter and the receiver tries to adjusts its local oscillator to these four tones.

In the second phase, the receiver clock is synchronized with the transmitter clock. This is achieved by phase modulating the four tones sent.

Anhang A: References