Anbieter zum Thema
Virtuelle Instrumente konfigurieren USRP-Hardware
Mit der Entwicklungsumgebung LabVIEW können Anwender benutzerdefinierte kompilierte Softwareanwendungen erstellen. Die in LabVIEW entworfenen Anwendungen, auch virtuelle Instrumente genannt, bestehen aus interaktiven Benutzeroberflächen, mit denen die angeschlossene USRP-Hardware konfiguriert wird und die empfangenen Signale verarbeitet oder für eine Übertragung synthetisiert werden. Bei einem LabVIEW-VI wird der Programmcode mit grafischer Datenflussprogrammierung anhand von Symbolen und Drähten bildhaft dargestellt. Dabei stehen die Symbole für Subroutinen, mit denen die von den Drähten bereitgestellten Daten verarbeitet werden. LabVIEW bietet einsatzbereite Symbole, um Signale zu verarbeiten und anzuzeigen, die mit der Nachrichtentechnik zusammenhängen, sowie einen neuen Softwaretreiber für die Anbindung an USRP-Hardware.
Wie ein Sender-Empfänger-Paar implementiert wird
Das Bild zeigt den Aufbau eines Ausgangssystems mit zwei USRP-Geräten, die an einen Host-Computer mit Windows 7 angeschlossen sind. In diesem Beispiel sind die USRP-Geräte als Sender-Empfänger-Paar konfiguriert, wobei ein Gerät als Empfänger fungiert, mit dem die von dem anderen Gerät gesendeten Signale überwacht werden. Die Software hat die LabVIEW-VIs für das Senden und Empfangen erstellt. Diese VIs rufen den NI-USRP-Softwaretreiber auf, um die USRP-Hardware zu konfigurieren und mit ihr zu kommunizieren. Das Empfänger-VI im Bild oben führt folgende Befehle aus:
- 1. Start der USRP-Sitzung: Softwareanbindung an eine USRP-Hardwarekomponente,
- 2. Konfigurierung von Empfängerparametern, darunter Mittenfrequenz, I/Q-Rate, Antennengewinn und Antennenport entsprechend der benutzerdefinierten Einstellungen,
- 3. Beginn der Signalübertragung: Die USRP-Hardware leitet Samples von I/Q-Signalen an den Host-Computer zurück.
- 4. Wiederholtes Erfassen der Basisband-I/Q-Signale, die von der USRP-Hardware übertragen werden, sowie Anzeige der I/Q-Signale auf einem Graphen
- 5. Bei einem Klick auf die Schaltfläche "Stopp" beendet das VI die Signalerfassung sowie die USRP-Sitzung.
Das Sender-VI führt folgende Befehle aus:
- 1. Start der USRP-Sitzung: Softwareanbindung an eine USRP-Hardwarekomponente.
- 2. Konfigurierung von Empfängerparametern, darunter Mittenfrequenz, I/Q-Rate, Antennengewinn und Antennenport entsprechend der benutzerdefinierten Einstellungen.
- 3. Beginn der Signalübertragung: Die USRP-Hardware leitet Samples von I/Q-Signalen an den Host-Computer zurück.
- 4. Wiederholtes Erfassen der Basisband-I/Q-Signale, die von der USRP-Hardware übertragen werden, sowie Anzeige der I/Q-Signale auf einem Graphen.
- 5. Bei einem Klick auf die Schaltfläche "Stopp" beendet das VI die Signalerfassung sowie die USRP-Sitzung
Schneller entwickeln mit hostgestützter Signalverarbeitung
Mit USRP-SDR-Hardware kann der Host-Computer die benutzerdefinierten Signalverarbeitungsalgorithmen auf Samples der Basisband-I/Q-Signale ausführen, während sie an die USRP-Hardware übertragen oder von ihr zurückgeleitet werden. Interaktive Softwareentwicklungsumgebungen bleiben verfügbar und unterstützen einen Programmentwurf über einen zügigen Modifizierungs-/Kompilierungs-/Ausführungszyklus. Das Empfänger-VI kann beispielsweise schnell rekonfiguriert und so um neue SDR-Eigenschaften erweitert werden. Wird ein Aufruf mit dem VI „FFT Power Spectrum“ verdrahtet, kann das Leistungsspektrum des empfangenen Live-Signals berechnet werden. Ähnlich kann der gleiche Beispielempfänger als FM-Radio verwendet werden. Dazu wurde ein FM-Demodulationsalgorithmus implementiert, der auf Grundlage der erfassten I/Q-Samples ausgeführt wird. Dieser stellt das Monosignal eines UKW-Rundfunksenders wieder her.
Eine Motivation für Inline-Verarbeitung
Die Fähigkeit, SDR-Algorithmen schnell zu rekonfigurieren, spielt für einen dynamischen Ansatz eine zentrale Rolle bei der SDR-Entwicklung. Der Wert für Bildung und Forschung liegt darin, dass Anwender SDR-Algorithmen besser untersuchen können. Der Einsatz von Inline-Verarbeitung bei Live-Signalen kann Studenten eines Ingenieurstudiengangs motivieren, da mit ihr die Bedeutung von Theorien der Nachrichtentechnik eindeutig belegt werden kann, indem diese an ein praktisches Anwendungsbeispiel gekoppelt werden. Forschern, die mit Live-Signalen arbeiten, ermöglichen diese, praktische Implementierungskonflikte zu widerlegen.
Um ein Gespür für die SDR-Entwicklung zu bekommen, kann der FM-Demodulationsalgorithmus des zuvor ausgeführten Beispiels herangezogen werden. Die Bandbreite eines UKW-Rundfunkkanals (in den USA 200 kHz) schränkt die Entwicklung ein, da sie eine Übertragung bei Audio- und Unterträgerfrequenzen von bis zu 100 kHz erlaubt. Alle 100-kHz-Signale können nur erfasst werden, wenn die komplexen Samples des Basisbands mit mindestens 200 kS/s abgetastet werden. Das mit 200 kHz abgetastete Basisband-I/Q-Signal muss von der Host-gestützten Signalverarbeitung verarbeitet werden, damit FM-Demodulation und Tiefpassfilter bis 15 MHz durchgeführt werden können. Bei der Verarbeitung werden außerdem die 200-kHz-Samples bis zur 44,1-kHz-Rate abgetastet, die von der vorliegenden Soundkarte benötigt wird.
Verarbeitung und Anzeige sollen mit der Übertragung Schritt halten
Durch Aufrufen des NI-USRP-Treibers lässt sich die Verarbeitungsphase einer Anwendung anhand von Frames der eingehenden Samples des Basisband-I/Q-Signals ermitteln. Die Frames sind phasenkontinuierlich. Die Phase des ersten Samples eines neuen Frames stimmt mit der nächsten Phase überein, die von dem letzten Sample des vorangegangenen Frames ausgegeben wird. Idealerweise soll ein System implementiert werden, in dem die Verarbeitung und Anzeige mit der empfangenen Übertragung, die fortlaufend durchgeführt wird, Schritt halten kann. Das Ziel dieses spezifischen Beispiels ist, der Soundkarte die Ausgabe eines fortwährenden Audiosignals zu ermöglichen. Dazu ist eine Anwendung erforderlich, welche die Daten stetig verarbeiten kann, wodurch eine vom Hörer wahrgenommene Unterbrechung verhindert wird.
Dies führt zu einem weiteren entscheidenden Implementierungskonflikt: Die Dauer bis zur Verarbeitung und Anzeige des empfangenen Signals muss kleiner oder gleich der Dauer für die Erfassung eines neuen Daten-Frames sein. Somit ist die Effizienz der eingesetzten Signalverarbeitungsalgorithmen zu überdenken. Zu Beginn wurde beispielsweise ein FM-Demodulationsalgorithmus [13] gewählt, der zunächst einen Arkustangens anwendet, um die Phase anzunähern. Durch Phase Unwrapping und Ableitungsfunktionen ergibt sich eine Momentanfrequenz, aus der die Audionachricht wiederhergestellt werden kann. Das Ersetzen dieses Algorithmus durch einen FM-Diskriminator ergab identische Ergebnisse, war jedoch effizienter, da kein Phase Unwrapping benötigt wurde.
Von welchen Faktoren die Verarbeitungsrate abhängt
Dieses Beispiel zeigt, dass der Host-Computer Samples der Basisband-I/Q-Signale schon bei der Signalerfassung live und inline verarbeiten kann. Wie zuvor erwähnt, muss der Host-Computer für Inline-Verarbeitung mit ausreichend Verarbeitungsfunktionalität ausgestattet sein, um Samples von I/Q-Signalen verarbeiten zu können.
Diese Samples werden mit NI-USRP-Hardware bei einer Frequenz erfasst, die sich auf dem gleichen oder einem höheren Niveau als die Sample-Rate der NI-USRP-Hardware befindet. Die verfügbare Verarbeitungsrate kennzeichnet eine Obergrenze für die Bandbreite des I/Q-Signals, das während der Erfassung oder Übertragung kontinuierlich inline verarbeitet wird. Die Verarbeitungsrate hängt von der Effizienz der Implementierung, der Geschwindigkeit des Host-Computers, der Anzahl der Anwendungen, die parallel oder im Hintergrund ausgeführt werden, der Speichermenge sowie vielen weiteren Faktoren ab.
Referenzen
1. SDRF Cognitive Radio Definitions Working Document, SDRF-06-R-0011-V1.0.0, [Online]. Available: http://groups.winnforum.org/d/do/1585
2. J.H. Reed, Software Radio: A Modern Approach to Radio Engineering. Upper Saddle River, NJ: Prentice Hall, 2002. ISBN 0-13-081158-0
3. http://www.ni.com/usrp
4. http://www.ettus.com
5. Tucker, D.C.; Tagliarini, G.A.; , "Prototyping with GNU radio and the USRP - Where to Begin," Southeastcon, 2009. SOUTHEASTCON '09. IEEE , vol., no., pp.50-54, 5-8 March 2009.
6. http://warp.rice.edu;
7. Amiri, K.; Yang Sun; Murphy, P.; Hunter, C.; Cavallaro, J.R.; Sabharwal, A.; , "WARP, a Unified Wireless Network Testbed for Education and Research," Microelectronic Systems Education, 2007 IEEE International Conference on, pp.53-54, 3-4 June 2007.
8. http://www.lyrtech.com
9. Peng Zhang; Qiu, R.; Nan Guo; , "Demonstration of Spectrum Sensing with Blindly Learned Features," Communications Letters, IEEE , vol.15, no.5, pp.548-550, May 2011.
10. Declerck, J.; Raghavan, P.; Naessens, F.; Aa, T.V.; Hollevoet, L.; Dejonghe, A.; Van der Perre, L.; , "SDR platform for 802.11n and 3-GPP LTE," Embedded Computer Systems (SAMOS), 2010 International Conference on , vol., no., pp.318-323, 19-22 July 2010.
11. Gustafsson, O.; Amiri, K.; Andersson, D.; Blad, A.; Bonnet, C.; Cavallaro, J.R.; Declerck, J.; Dejonghe, A.; Eliardsson, P.; Glasse, M.; Hayar, A.; Hollevoet, L.; Hunter, C.; Joshi, M.; Kaltenberger, F.; Knopp, R.; Le, K.; Miljanic, Z.; Murphy, P.; Naessens, F.; Nikaein, N.; Nussbaum, D.; Pacalet, R.; Raghavan, P.; Sabharwal, A.; Sarode, O.; Spasojevic, P.; Yang Sun; Tullberg, H.M.; Vander Aa, T.; Van der Perre, L.; Wetterwald, M.; Wu, M.; , "Architectures for cognitive radio testbeds and demonstrators — An overview," Cognitive Radio Oriented Wireless Networks & Communications (CROWNCOM), 2010 Proceedings of the Fifth International Conference on , pp.1-6, 9-11 June 2010 (http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5577684&isnumber=5577658)
12. Wolf, W. 2005. "Building the Software Radio," Computer, vol. 38, no. 3, pp. 87-89, Mar. 2005, doi:10.1109/MC.2005.82.
13. Lyons, R. 2010. Understanding Digital Signal Processing. 3rd ed. Prentice Hall PTR, Upper Saddle River, NJ. ISBN: 0137027419
* Sam Shearman ist Senior Software Engineer, Communications und Signal Processing bei National Instruments.
(ID:32944170)