DE10316800B4 - Power loss optimized radio receiver architecture - Google Patents

Power loss optimized radio receiver architecture Download PDF

Info

Publication number
DE10316800B4
DE10316800B4 DE2003116800 DE10316800A DE10316800B4 DE 10316800 B4 DE10316800 B4 DE 10316800B4 DE 2003116800 DE2003116800 DE 2003116800 DE 10316800 A DE10316800 A DE 10316800A DE 10316800 B4 DE10316800 B4 DE 10316800B4
Authority
DE
Germany
Prior art keywords
pipeline structure
pipeline
data
function
clock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE2003116800
Other languages
German (de)
Other versions
DE10316800A1 (en
Inventor
Michael HOFSTÄTTER
Wolfgang Haas
Thomas Herndl
Filip Netrval
Burkhard Becker
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Deutschland GmbH
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE2003116800 priority Critical patent/DE10316800B4/en
Publication of DE10316800A1 publication Critical patent/DE10316800A1/en
Application granted granted Critical
Publication of DE10316800B4 publication Critical patent/DE10316800B4/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B2201/00Indexing scheme relating to details of transmission systems not covered by a single group of H04B3/00 - H04B13/00
    • H04B2201/69Orthogonal indexing scheme relating to spread spectrum techniques in general
    • H04B2201/707Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation
    • H04B2201/70707Efficiency-related aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Hardwareabschnitt zur Signalverarbeitung in einem Funkempfänger, welcher aufweist:
– eine erste Pipeline-Struktur, die eine Sequenz von mehreren alternierend angeordneten Funktionsblöcken (F1, F2, F3, F4) und getakteten ersten Registern (R1, R2, R3, R4) zur Verarbeitung von Daten umfasst, welche der ersten Pipeline-Struktur an einem Eingang derselben zugeführt werden,
– eine zweite Pipeline-Struktur, die eine Sequenz von parallel zu den ersten Registern (R1, R2, R3, R4) angeordneten und synchron zu den ersten Registern getakteten zweiten Registern (R1', R2', R3', R4') aufweist, zur Weiterleitung von Funktionsparametern für die Funktionsblöcke (F1, F2, F3, F4),
– Verbindungen zwischen der zweiten Pipeline-Struktur und Funktionsblöcken (F1, F2, F3, F4) der ersten Pipeline-Struktur, über welche zumindest einige der Funktionsblöcke jeweilige Funktionsparameter aus der zweiten Pipeline-Struktur beziehen, und
– ein Mittel zum Erzeugen von Register-Taktsignalen für die Paare korrespondierender erster und zweiter Register (R1, R1'; R2, R2'; R3, R3'; R4, R4').
Hardware section for signal processing in a radio receiver, comprising:
A first pipeline structure comprising a sequence of a plurality of alternately arranged function blocks (F1, F2, F3, F4) and clocked first registers (R1, R2, R3, R4) for processing data corresponding to the first pipeline structure be supplied to an input thereof
A second pipeline structure having a sequence of second registers (R1 ', R2', R3 ', R4') arranged in parallel with the first registers (R1, R2, R3, R4) and clocked in synchronism with the first registers, for forwarding functional parameters for the function blocks (F1, F2, F3, F4),
Connections between the second pipeline structure and function blocks (F1, F2, F3, F4) of the first pipeline structure, via which at least some of the function blocks obtain respective function parameters from the second pipeline structure, and
A means for generating register clock signals for the pairs of corresponding first and second registers (R1, R1 ', R2, R2', R3, R3 ', R4, R4').

Figure 00000001
Figure 00000001

Description

In Mobilfunkstandards der dritten Generation wird ein weiter Bereich von unterschiedlichen Datenraten unterstützt. Im UMTS-(Universal Mobile Telecommunications System-)Standard sind im WCDMA/FDD-(Wideband-Code Division Multiple Access/Frequency Division Duplex-)Betrieb beispielsweise Datenraten zwischen 10 kBit/s und 2 MBit/s definiert.In Third generation mobile radio standards will be a wide area supported by different data rates. In UMTS (Universal Mobile Telecommunications System) standard are in WCDMA / FDD (Wideband Code Division Multiple Access / Frequency Division Duplex) operation, for example Data rates between 10 kbit / s and 2 Mbit / s defined.

Der Empfänger und damit sämtliche Hardware-Einheiten innerhalb desselben müssen für die maximale Datenrate (2 MBit/s) ausgelegt sein. Hierfür sind die Hardware-Einheiten im Empfänger zumeist parallel aufgebaut, um, bezogen auf den Verarbeitungstakt, die maximale Datenrate bewältigen zu können.Of the receiver and therefore all Hardware units within it must be set for the maximum data rate (2 Mbps). Therefor the hardware units in the receiver are usually set up in parallel, in order to be able to cope with the maximum data rate, based on the processing cycle.

Da Datenraten innerhalb einer bestehenden Verbindung geändert werden können, ist eine hohe Dynamik bezüglich der Auslastung der parallelisierten Hardware-Einheiten vorhanden. Nicht benötigte Hardware-Einheiten können unabhängig voneinander abgeschaltet, d.h. von der Taktversorgung getrennt werden. Die Steuerung der Hardware-Einheiten wird durch eine oder mehrere FSM (Finite State Machines) durchgeführt. Die Anpassung der unterschiedlichen Datenraten an die maximale Verarbeitungsgeschwindigkeit erfolgt dabei mit Hilfe von Handshake-Mechanismen.There Data rates can be changed within an existing connection can, is a high dynamic regarding the utilization of the parallelized hardware units. Unnecessary hardware units can independently disconnected from each other, i. be disconnected from the clock supply. The control of the hardware units is by one or more FSM (Finite State Machines) performed. The adaptation of the different Data rates to the maximum processing speed doing so with the help of handshake mechanisms.

Die vorstehenden Ausführungen verdeutlichen, dass das Architektur-Konzept eines Funkempfängers, insbesondere Mobilfunkempfängers, im Bezug auf die Auslegung und Anordnung seiner Hardware-Einheiten sowie die Steuerung derselben einen bestimmenden Einfluss auf die optimale Verwendung von Hardware-Ressourcen (Chipfläche) und den Leistungsverbrauch hat. Darüber hinaus wird bei dem Entwurf einer Architektur der Hardware-Einheiten ein möglichst hohes Maß an Modularität und Skalierbarkeit angestrebt. Ein modulares Konzept und eine ho he Skalierbarkeit der Architektur erhöhen die Design-Sicherheit, erniedrigen die Entwicklungskosten beim Entwurf der Schaltung und erleichtern die Erweiterbarkeit und zukünftige Fortentwickung der Schaltung.The above clarify that the architecture concept of a radio receiver, in particular Mobile radio receiver, in terms of the design and arrangement of its hardware units and the control of the same a determining influence on the optimal use of hardware resources (Chip area) and has the power consumption. In addition, in the design architecture of the hardware units the highest possible degree of modularity and scalability sought. A modular concept and a high degree of scalability Increase architecture the design security, lower the development costs when designing the circuit and facilitate the extensibility and future development of the circuit.

In der Schrift WO 00/25437 ist ein RAKE-Empfänger beschrieben, der eine Pipeline-Architektur mit mehreren Pipeline-Stufen aufweist, in denen einzelne Signalverarbeitungsschritte bzw. Rechenschritte wie am Fließband abgearbeitet werden. Zwischen den einzelnen Pipeline-Stufen sind Register zur Datenpufferung vorhanden. Die einzelnen Pipeline-Stufen werden durch FSM gesteuert und lokal mit den erforderlichen Funktionsparametern versorgt.In the document WO 00/25437 a RAKE receiver is described which a Includes pipeline architecture with multiple pipeline stages, in which individual signal processing steps or computing steps as on the assembly line be processed. Between each pipeline stages are Register for data buffering available. The individual pipeline stages are controlled by FSM and locally with the required function parameters provided.

Der Erfindung liegt die Aufgabe zugrunde, einen Hardwareabschnitt in einer Funkstation anzugeben, dessen Aufbau und Strukturierung die oben angegebenen Auslegungskriterien möglichst gut erfüllen soll. Insbesondere soll ein universeller und leicht erweiterbarer Hardwareabschnitt mit hohem Leistungsoptimierungspotential bei variierenden Datenraten geschaffen werden.Of the Invention is based on the object, a hardware section in specify a radio station whose structure and structuring the above interpretation criteria should meet as well as possible. In particular, a universal and easily expandable hardware section with high performance optimization potential at varying data rates be created.

Die der Erfindung zugrunde liegende Aufgabenstellung wird durch die Merkmale des Anspruchs 1 gelöst.The The invention is based task by the Characteristics of claim 1 solved.

Demnach weist ein erfindungsgemäßer Hardwareabschnitt zur Signalverarbeitung in einem Funkempfänger eine erste Pipeline-Struktur auf, die eine Sequenz von mehreren alternierend angeordneten Funktionsblöcken und getakteten ersten Registern zur Verarbeitung von Daten umfasst, welche der ersten Pipeline-Struktur an einem Eingang derselben zugeführt werden. Ferner umfasst der Hardwareabschnitt eine zweite Pipeline-Struktur, die eine Sequenz von parallel zu den ersten Registern angeordneten und synchron zu den ersten Registern getakteten zweiten Registern aufweist, welche zur Weiterleitung von Funktionsparametern für die Funktionsblöcke dient. Durch Verbindungen zwischen der zweiten Pipeline-Struktur und Funk tionsblöcken (jedoch nicht notwendigerweise sämtlichen Funktionsblöcken) der ersten Pipeline-Struktur können zumindest einige der Funktionsblöcke jeweilige Funktionsparameter aus der zweiten Pipeline-Struktur beziehen. Darüber hinaus umfasst der Hardwareabschnitt ein Mittel zum Erzeugen von Register-Taktsignalen für die Paare korrespondierender erster und zweiter Register.Therefore has an inventive hardware section for signal processing in a radio receiver, a first pipeline structure auf, which is a sequence of several alternately arranged function blocks and comprises clocked first registers for processing data, which are fed to the first pipeline structure at an input thereof. Furthermore, the hardware section comprises a second pipeline structure comprising a Sequence of parallel to the first registers arranged and synchronous to the first registers clocked second registers, which is used to forward function parameters for the function blocks. By connections between the second pipeline structure and function blocks (however not necessarily all Function blocks) the first pipeline structure at least some of the functional blocks Obtain respective function parameters from the second pipeline structure. About that In addition, the hardware portion includes means for generating Register clock signals for the pairs of corresponding first and second registers.

Die erste Pipeline-Struktur ermöglicht eine Datenflussorientierte Verarbeitung der eingangsseitig zugeführten Daten in den einzelnen Funktionsblöcken. Die Funktionsblöcke (welche durch einzelne Hardware-Module realisiert sind) führen zumindest teilweise eine durch Funktionsparameter gesteuerte Datenverarbeitung durch. Die zweite Pipeline-Struktur dient der Bereitstellung dieser Funktionsparameter für die Funktionsblöcke der ersten Pipeline-Struktur. Durch die synchrone Taktung der Register-Paare in der ersten und zweiten Pipeline-Struktur wird erreicht, dass die benötigten Funktionsparameter "datenbegleitend", d.h. im gleichen Takt wie die Daten, durch die zweite Pipeline-Struktur hindurch geschoben werden. Dadurch wird ein einfaches und einheitliches Steuerungskonzept für die Datenprozessierung und die zeitrichtige Bereitstellung von Funktionsparametern geschaffen.The first pipeline structure allows a data flow-oriented processing of the input-side supplied data in the individual function blocks. The functional blocks (which are realized by individual hardware modules) lead at least partially a data processing controlled by function parameters. The second pipeline structure serves to provide these function parameters for the function blocks the first pipeline structure. Due to the synchronous timing of the register pairs in the first and second pipeline structure is achieved that the required Function parameter "data accompanying", i. in the same Clock like the data, through the second pipeline structure be pushed. This will be a simple and consistent control concept for the Data processing and the timely provision of functional parameters created.

Ein besonderer Vorteil dieses Hardwareabschnitts besteht darin, dass er optimal auf die Verlustleistungs-Optimierung beim Auftreten variierender Datenraten zugeschnitten ist. Tritt eine Erniedrigung der Datenrate auf, ermöglicht der erfindungsgemäße Hardwareabschnitt, die Register-Taktsignale mit einer geringeren mittleren Frequenz als zuvor zu erzeugen. Dadurch wird erreicht, dass Schaltvorgänge nur bei tatsächlich benötigten Datenmanipulationen stattfinden, wodurch der Leistungsverbrauch minimiert wird.A particular advantage of this hardware In short, it is optimally tailored to power loss optimization when varying data rates occur. When the data rate decreases, the hardware portion of the present invention allows the register clock signals to be generated at a lower average frequency than before. This ensures that switching takes place only when data manipulation is actually required, which minimizes power consumption.

Vorzugsweise umfasst der Hardwareabschnitt eine Sequenzer-Schaltung, die sowohl der ersten Pipeline-Struktur als auch der zweiten Pipeline-Struktur vorgeschaltet ist, zur Bereit stellung der Daten für die erste Pipeline-Struktur und der Funktionsparameter für die zweite Pipeline-Struktur. D.h., dass sowohl die erste Pipeline-Struktur als auch die zweite Pipeline-Struktur nur an ihren jeweiligen Eingängen mit den jeweiligen Größen (Daten- bzw. Funktionsparametern) gespeist werden. Insbesondere werden die Funktionsparameter nicht über lokale FSM an den jeweiligen Funktionsblöcken bereitgestellt. Dadurch wird die Modularität und Design-Sicherheit des erfindungsgemäßen Hardwareabschnitts gefördert.Preferably For example, the hardware section includes a sequencer circuit that is both the first pipeline structure preceded by the second pipeline structure, ready for deployment the data for the first pipeline structure and the function parameter for the second Pipeline structure. That is, both the first pipeline structure as well as the second pipeline structure only at their respective inputs the respective sizes (data or functional parameters) are fed. In particular, the Function parameter not over provided local FSM at the respective function blocks. Thereby becomes the modularity and design security of the hardware portion of the invention promoted.

Eine weitere vorteilhafte Weiterbildung des erfindungsgemäßen Hardwareabschnitts kennzeichnet sich dadurch, dass das Mittel zum Erzeugen der Register-Taktsignale ein Systemtakt-Erzeugungsmittel zur Erzeugung eines Systemtaktes und eine dritte Pipeline-Struktur, bestehend aus parallel zu den Register-Paaren angeordneten Stufen, zum jeweiligen Abschalten der Taktversorgung der Register-Paare in Abhängigkeit von einem Steuersignal umfasst, das der dritten Pipeline-Struktur an ihrem Eingang zugeleitet wird. In der dritten Pipeline-Struktur wird somit ebenfalls datenbegleitend das am Eingang der dritten Pipeline-Struktur eingegebene Steuersignal geführt, welches für jedes Registerstufen-Paar den Systemtakt lokal durchschaltet oder ausblendet.A further advantageous development of the hardware section according to the invention characterized in that the means for generating the register clock signals a system clock generating means for generating a system clock and a third pipeline structure, consisting of steps arranged parallel to the register pairs, for respectively switching off the clock supply of the register pairs dependent on from a control signal, that of the third pipeline structure is forwarded at its entrance. In the third pipeline structure will thus also during data input at the input of the third pipeline structure Control signal guided, which for each register stage pair turns on the system clock locally or fades.

Eine weitere vorteilhafte Ausgestaltung der Erfindung kennzeichnet sich dadurch, dass die Sequenzer-Schaltung ausgelegt ist, die Pipeline-Strukturen im Zeitmultiplex zu betreiben. In diesem Fall wird die (physikalisch nur einmal in Hardware realisierte) erste Pipeline-Struktur zur Verarbeitung mehrerer paralleler Datenströme eingesetzt, wobei der Verarbeitungstakt entsprechend erhöht werden muss. Die Taktabschaltung der Register-Paare erfolgt nun einerseits zur Datenratenanpassung und andererseits zum Ausblenden des jeweiligen Datenstroms, wenn er nicht benötigt wird.A further advantageous embodiment of the invention is characterized in that the sequencer circuit is designed, the pipeline structures operate in time multiplex. In this case, the (physically only once realized in hardware) first pipeline structure for Processing multiple parallel data streams used, where the processing clock increased accordingly must become. The clock switching off of the register pairs now takes place on the one hand for data rate adjustment and on the other hand for hiding the respective data stream when it is not needed.

Der erfindungsgemäße Hardwareabschnitt kann praktisch in allen Datenfluss-orientierten, in Hardware prozessierten Algo rithmen angewandt werden. Gemäß einem bevorzugten Anwendungsbeispiel der Erfindung kann ein Scrambling- oder Channelization-Code-Generator in einem Funkempfänger einen erfindungsgemäßen Hardwareabschnitt umfassen. Ein weiterer bevorzugter Anwendungsfall betrifft einen RAKE-Empfänger in einem Funkempfänger, welcher einen erfindungsgemäßen Hardwareabschnitt umfasst.Of the inventive hardware section can Virtually all data flow-oriented, hardware-processed Algo rithmen be applied. According to a preferred application example The invention may be a scrambling or channelization code generator in a radio receiver comprise a hardware section according to the invention. Another preferred application relates to a RAKE receiver in a radio receiver, which is a hardware section according to the invention includes.

Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben. advantageous Embodiments and developments of the invention are specified in the subclaims.

Die Erfindung wird nachfolgend anhand von Beispielen unter Bezugnahme auf die Zeichnung näher erläutert; in dieser zeigt:The Invention will now be described by way of example with reference to FIG closer to the drawing explains; in this shows:

1 eine schematische Darstellung eines erfindungsgemäßen Hardwareabschnitts in Hardware-Einheiten zur Bearbeitung von Datenfluss-orientierten Algorithmen in einem Funkempfänger; 1 a schematic representation of a hardware section according to the invention in hardware units for processing data flow-oriented algorithms in a radio receiver;

2 eine Darstellung des zeitlichen Zusammenhangs der Bearbeitung von vier unabhängigen Datenströmen im Zeitmultiplex-Betrieb von dem in 1 gezeigten Hardwareabschnitt; 2 a representation of the temporal relationship of the processing of four independent data streams in the time division operation of the in 1 shown hardware section;

3 ein Blockschaltbild eines RAKE-Empfängers umfassend einen in 1 gezeigten Hardwareabschnitt; 3 a block diagram of a RAKE receiver comprising an in 1 shown hardware section;

4 eine Darstellung der zeitlichen Abfolge der Berechnungsschritte der einzelnen Hardware-Elemente des in 3 gezeigten Rake-Fingers; und 4 a representation of the temporal sequence of the calculation steps of the individual hardware elements of in 3 shown rake finger; and

5 ein Schaltbild eines Scrambling-Code- und Channelization-Code-Generators umfassend einen in 1 dargestellten Hardwareabschnitt. 5 a schematic diagram of a scrambling code and channelization code generator comprising an in 1 shown hardware section.

1 zeigt das erfindungsgemäße Architektur-Konzept für einen Funkempfänger, insbesondere Mobilfunkempfänger. Eine erste Pipeline, die im Folgenden als Daten-Pipeline bezeichnet wird, besteht aus einer sequentiellen Anordnung von Funktionsblöcken F1, F2, F3, F4. Zwischen den Funktionsblöcken F1, F2, F3, F4 sind jeweils Register R1, R2, R3 angeordnet. Der in Datenflussrichtung hinterste Funktionsblock F4 ist von einem weiteren Register R4 gefolgt. 1 shows the inventive architecture concept for a radio receiver, in particular mobile radio receiver. A first pipeline, referred to below as a data pipeline, consists of a sequential arrangement of function blocks F1, F2, F3, F4. Between the function blocks F1, F2, F3, F4 each register R1, R2, R3 are arranged. The function block F4 which is behind in the data flow direction has been followed by another register R4.

Parallel zu der Daten-Pipeline erstreckt sich eine zweite Pipeline, die im Folgenden als Steuerungs-Pipeline bezeichnet wird. Die Steuerungs-Pipeline besteht aus einer sequentiellen Anordnung von Registern R1', R2', R3', R4'.Parallel to the data pipeline, a second pipeline extending in the Hereafter referred to as a control pipeline. The control pipeline consists of a sequential arrangement of registers R1 ', R2', R3 ', R4'.

Korrespondierende Register R1, R1' bzw. R2, R2' bzw. R3, R3' sowie R4, R4' der Daten-Pipeline und der Steuerungs-Pipeline werden mit einem gemeinsamen Taktsignal T1 bzw. T2 bzw. T3 bzw. T4 getaktet. Jedes Taktsignal T1, T2, T3, T4 wird von einer Takt-Abschaltzelle C1, C2, C3, C4 bereitgestellt. Jede Takt-Abschaltzelle C1, C2, C3, C4 erhält an einem ersten Eingang einen Systemtakt clk und an einem zweiten Eingang ein Enable-Signal ena1, ena2, ena3, ena4. Das Enable-Signal ena1, ena2, ena3, ena4 gibt an, ob ein Taktpuls des Systemtakts clk auf die Taktleitung T1, T2, T3, T4 durchgeschaltet oder von der betreffenden Takt-Abschaltzelle C1, C2, C3, C4 ausgeblendet werden soll. Dabei wird das für die eingangsseitige Takt-Abschaltzelle C1 vorgesehene Enable-Signal ena1 als Eingabegröße zur Verfügung gestellt, während die weiteren Enable-Signale ena2, ena3, ena4 für die Takt-Abschaltzellen C2, C3, C4 jeweils an den Ausgängen einer Kaskade bestehend aus Flip-Flops DF1, DF2, DF3 abgegriffen werden. Ein viertes Flip-Flop DF4 erzeugt ein Enable-Signal ena5 für ein Rechenmodul (nicht dargestellt), das der in 1 dargestellten Architektur nachgeschaltet ist. Die Dateneingänge D der Flip-Flops DF1, DF2, DF3, DF4 werden von den Enable-Signalen ena1 (externe Eingabegröße), ena2 (erzeugt von DF1), ena3 (erzeugt von DF2) und ena4 (erzeugt von DF3) gespeist.Corresponding registers R1, R1 'or R2, R2' or R3, R3 'and R4, R4' of the data pipe line and the control pipeline are clocked with a common clock signal T1 and T2 or T3 and T4. Each clock signal T1, T2, T3, T4 is provided by a clock shutdown cell C1, C2, C3, C4. Each clock turn-off cell C1, C2, C3, C4 receives a system clock clk at a first input and an enable signal ena1, ena2, ena3, ena4 at a second input. The enable signal ena1, ena2, ena3, ena4 indicates whether a clock pulse of the system clock clk is to be switched through to the clock line T1, T2, T3, T4 or hidden by the relevant clock shutdown cell C1, C2, C3, C4. In this case, provided for the input-side clock-Abschaltzelle C1 enable signal ena1 is provided as input size, while the other enable signals ena2, ena3, ena4 for the clock-off cells C2, C3, C4 respectively at the outputs of a cascade consisting of Flip-flops DF1, DF2, DF3 are tapped. A fourth flip-flop DF4 generates an enable signal ena5 for a computing module (not shown), which is the one in 1 shown downstream architecture. The data inputs D of the flip-flops DF1, DF2, DF3, DF4 are fed by the enable signals ena1 (external input size), ena2 (generated by DF1), ena3 (generated by DF2) and ena4 (generated by DF3).

Die durch die Takt-Abschaltzellen C1, C2, C3 und C4 sowie die Flip-Flops DF1, DF2, DF3, DF4 aufgebaute gemeinsame Taktversorgung für die Daten-Pipeline und die Steuerungs-Pipeline ist selber als eine Pipeline-Struktur realisiert. Sie gibt den Verarbeitungstakt in der Daten-Pipeline und in der Steuerungs-Pipeline vor. Durch die Taktversorgungs-Pipeline werden sämtliche Schaltvorgänge in der Daten-Pipeline und der Steuerungs-Pipeline gesteuert.The by the clock turn-off cells C1, C2, C3 and C4 as well as the flip-flops DF1, DF2, DF3, DF4 designed common data pipeline clock supply and the control pipeline itself is a pipeline structure realized. It returns the processing clock in the data pipeline and in the control pipeline. Through the clock supply pipeline be all switching operations controlled in the data pipeline and the control pipeline.

Sämtliche Pipelines (Daten-Pipeline, Steuerungs-Pipeline und Taktversorgungs-Pipeline) werden nur an ihren Eingängen gespeist. In sämtlichen Pipelines erfolgt der Informationsfluss (Daten, Funktionsparameter, Enable-Signale) nur in einer Richtung.All Pipelines (data pipeline, control pipeline and clock supply pipeline) are only at their entrances fed. In all pipelines the information flow takes place (data, function parameters, enable signals) only in one direction.

Die Versorgung der drei Pipelines kann beispielsweise durch einen einzigen Schaltkreis SQ (Sequenzer) vorgenommen werden.The Supply of the three pipelines can, for example, by a single Circuit SQ (sequencer) are made.

Die Funktionsweise der in 1 dargestellten Architektur ist wie folgt. Ausgehend von einer geforderten maximalen Datenrate wird ein Signalverarbeitungsalgorithmus, den es in der in 1 dargestellten Architektur abzuarbeiten gilt, in sequentielle Teile gegliedert, die Subfunktionen des Gesamtalgorithmus sind. Diese Subfunktionen werden in den aneinander gereihten Funktionsblöcken F1, F2, F3, F4 in Hardware implementiert. Algorithmisch kann die in 1 dargestellte Daten-Pipeline also durch einen Gesamtalgorithmus beschrieben werden, welcher sich in einzelne Funktionen F1(·), F2(·), F3(·) und F4(·) aufgliedert, die sequentiell abzuarbeiten sind, z.B. gemäß:

F1 (x,a,b) → Reg → F2 (F1,a,c) → Reg → F3 (F2,d) → Reg → F4 (F3,a,e)
The functioning of in 1 The architecture shown is as follows. Starting from a required maximum data rate, a signal processing algorithm, which can be found in the in 1 architecture is processed, divided into sequential parts, which are sub-functions of the overall algorithm. These subfunctions are implemented in the sequenced function blocks F1, F2, F3, F4 in hardware. Algorithmically, the in 1 Thus, the data pipeline represented by an overall algorithm, which is broken down into individual functions F1 (·), F2 (·), F3 (·) and F4 (·), which are to be processed sequentially, for example according to:

F1 (x, a, b) → Reg → F2 (F1, a, c) → Reg → F3 (F2, d) → Reg → F4 (F3, a, e)

Dabei bezeichnet die Variable x Eingangsdaten für die erste Funktion F1(·) und a, b, c, d, e bezeichnen Parameter der Funktionen F1(·) , F2(·), F3(·), F4(·), die in der 1 in Form von Funktionsparametern den jeweiligen Funktionsblöcken F1, F2, F3, F4 zur Verfügung gestellt werden. Reg bezeichnet die Abspeicherung eines Funktionswertes in einem Register, namentlich in den Registern R1, R2 und R3.In this case, the variable x denotes input data for the first function F1 (·) and a, b, c, d, e denote parameters of the functions F1 (·), F2 (·), F3 (·), F4 (·), which in of the 1 in the form of functional parameters to the respective function blocks F1, F2, F3, F4 are made available. Reg refers to the storage of a function value in a register, namely in the registers R1, R2 and R3.

Jede Funktion F1(·), F2(·), F3(·), F4(·) wird von dem zugeordneten Funktionsblock F1, F2, F3, F4 innerhalb eines Systemtaktes oder einer konstanten, für jeden der Funktionsblöcke F1, F2, F3, F4 identischen Anzahl von Systemtakten ausgeführt. Nach jedem Register R1, R2, R3, R4 steht das Funktionsergebnis der Subfunktion mit jedem Verarbeitungstakt (ein Systemtakt oder eine konstante Anzahl von Systemtakten) zur Verfügung. Die Anzahl der Register (hier 4 Stück) bestimmt die Latenz des ersten fertig berechneten Datenwerts am Ausgang der Daten-Pipeline. Mit jedem Verarbeitungstakt wird am Ausgang der Daten-Pipeline ein weiterer berechneter Datenwert ausgegeben. Der maximale Datendurchsatz wird mit dem Systemtakt als Verarbeitungstakt, d.h. ohne „clock-gating" durch die Takt-Abschaltzellen C1, C2, C3, C4 erreicht.each Function F1 (·), F2 (·) F3 (·) F4 (·) is from the associated function block F1, F2, F3, F4 within a system clock or a constant, for each of the function blocks F1, F2, F3, F4 executed identical number of system clocks. To Each register R1, R2, R3, R4 is the function result of the subfunction with each processing clock (a system clock or a constant Number of system clocks). The number of registers (here 4 pieces) determines the latency of the first calculated data value on Output of the data pipeline. With each processing cycle is at the output the data pipeline outputs another calculated data value. The maximum data throughput is calculated with the system clock as the processing clock, i. without "clock gating" by the clock shutdown cells C1, C2, C3, C4 reached.

In der Steuerungs-Pipeline werden die erforderlichen Parameter a, b, c, d, e geführt. Jeder Funktionsblock F1, F2, F3, F4 verwendet diejenigen Parameter aus der Steuerungs-Pipeline, die er benötigt. D.h., der Funktionsblock F1 bezieht in dem oben angegebenen Beispiel die Parameter a, b, der Funktionsblock F2 bezieht die Parameter a, c, der Funktionsblock F3 bezieht den Parameter d und der Funktionsblock F4 bezieht die Parameter a, e. Die Parameter werden nur bis zu demjenigen Funktionsblock F1, F2, F3, F4 weitergeleitet, in dem sie für die Bearbeitung verwendet werden. D.h., die Parameter b, c und d werden in dem oben angegebenen Beispiel lediglich bis zu den Funktionsblöcke F1, F2 bzw. F3 weitergeleitet. Aufgrund der Gleichtaktung der Register-Paare R1, R1' bzw. R2, R2' bzw. R3, R3' bzw. R4, R4' wird eine datenbegleitende Weiterleitung der Funktionsparameter gewährleistet.In the control pipeline become the required parameters a, b, c, d, e led. Each function block F1, F2, F3, F4 uses those parameters from the control pipeline he needs. That is, the functional block In the example given above, F1 refers to the parameters a, b, the function block F2 relates the parameters a, c, the function block F3 obtains the parameter d and the function block F4 obtains the Parameters a, e. The parameters are only up to that function block F1, F2, F3, F4, where it is used for processing become. That is, the parameters b, c and d are in the above Example only forwarded to the function blocks F1, F2 or F3. Due to the common-timing of the register pairs R1, R1 'or R2, R2' or R3, R3 'or R4, R4' is a data-accompanying Forwarding of the function parameters guaranteed.

Die 1 verdeutlicht die Modularität der erfindungsgemäßen Architektur. Das zur Abarbeitung der Subfunktion F3(·) vorgesehene Modul ist in 1 durch eine strichpunktierte Linie umrandet.The 1 illustrates the modularity of the architecture of the invention. The module provided for processing the subfunction F3 (·) is in 1 surrounded by a dash-dotted line.

Die Anpassung an eine niedrigere Datenrate erfolgt über das in die Taktversorgungs-Pipeline eingegebene Takt-Steuersignal, welches gleichzeitig das Enable-Signal ena1 für die erste Takt-Abschaltzelle C1 darstellt. Bei einer niedrigeren Datenrate wird dieses Takt-Steuersignal nicht bei jedem Systemtakt, sondern nur bei einer beliebigen konstanten Anzahl von Systemtakten aktiviert. Das von der Schaltung SQ ausgegebene Takt-Steuersignal wird in Form der Enable-Signale ena1, ena2, ena3 und ena4 durch die Taktversorgungs-Pipeline geführt. Da dieses Signal ena1, ena2, ena3, ena4 dieselbe Verzögerung pro Pipeline-Stufe hat, wirkt es ebenfalls datenbegleitend. Durch die Steuerung der Takt-Abschaltzellen C1, C2, C3, C4 durch die Enable-Signale ena1, ena2, ena3, ena4 wird erreicht, dass Schaltvorgänge in sämtlichen Pipelines nur mit der durch die benötigte Datenrate vorgesehenen Frequenz stattfinden, wodurch der Leistungsverbrauch in sämtlichen Pipelines minimiert wird. Allein die Leitung 1 für den Systemtakt clk zur Ansteuerung der Flip-Flops DF1, DF2, DF3, DF4 ist immer (auch bei reduzierter Datenrate) aktiv.Adapting to a lower data rate is done via the input into the clock supply pipeline clock control signal, which simultaneously represents the enable signal ena1 for the first clock Abschaltzelle C1. At a lower data rate, this clock control signal is not activated at every system clock, but only at any constant number of system clocks. The clock control signal output by the circuit SQ is passed through the clock supply pipeline in the form of enable signals ena1, ena2, ena3 and ena4. Since this signal ena1, ena2, ena3, ena4 has the same delay per pipeline stage, it also has a data-accompanying effect. By controlling the clock-off cells C1, C2, C3, C4 by the enable signals ena1, ena2, ena3, ena4 it is achieved that switching operations in all pipelines take place only at the frequency provided by the required data rate, whereby the power consumption in all Pipelines is minimized. Alone the line 1 for the system clock clk to control the flip-flops DF1, DF2, DF3, DF4 is always active (even at a reduced data rate).

Die in 1 dargestellte Architektur kann im Zeitmultiplex-Betrieb eingesetzt werden. In diesem Fall wird die oben angegebene Gleichung auf mehrere parallele Datenströme (Datenkanäle) angewandt. Der Zeitmultiplex-Betrieb erfordert eine entsprechende Erhöhung des Systemtakts im Vergleich zu dem Fall ohne Zeitmultiplex-Betrieb. Der Vorteil besteht darin, dass trotz der Parallelverarbeitung von mehreren Datenkanälen die gesamte Architektur physikalisch nur einmal in Hardware realisiert sein muss. Die lokale Taktabschaltung der Funktionsstufen erfolgt nun einerseits zur Datenratenanpassung und andererseits zur Ausblendung eines Datenkanals, wenn dieser nicht benötigt wird. Die Steuerung erfolgt weiterhin nach dem oben genannten Prinzip, nämlich durch den Sequenzer-Schaltkreis SQ an den Eingängen der jeweiligen Pipelines.In the 1 shown architecture can be used in time-division multiplex operation. In this case, the equation given above is applied to several parallel data streams (data channels). Time-divisional operation requires a corresponding increase in the system clock compared to the case without time-division multiplexing. The advantage is that despite the parallel processing of multiple data channels, the entire architecture must be physically implemented only once in hardware. The local clock shutdown of the function levels is now on the one hand for data rate adjustment and on the other hand to hide a data channel when it is not needed. The control continues to take place according to the above-mentioned principle, namely by the sequencer circuit SQ at the inputs of the respective pipelines.

2 zeigt die zeitliche Bearbeitung von vier unabhängigen Datenströmen (data channel 1, data channel 2, data channel 3, data channel 4) im Zeitmultiplex-Betrieb. Dargestellt ist, zu welchem Zeitpunkt t die Daten-Pipeline an dem Ausgang der Sequenzer-Schaltung SQ, an dem Register R1, an dem Register R2, an dem Register R3 und an dem Register R4 Daten aus welchem Datenkanal bearbeitet. Der Multiplex-Betrieb erfolgt in der zeitlichen Abfolge data channel 1 → data channel 2 → data channel 3 → data channnel 4. Ein am Ausgang der Sequenzer-Schaltung SQ in die Daten-Pipeline eingegebenes Datum des Datenkanals 4 wird jeweils mit einer Zeitverzögerung von einem Systemtakt in jeder Stufe der Daten-Pipeline prozessiert und liegt als Ergebniswert im Register R4 am Ausgang der Daten-Pipeline nach vier Systemtakten vor. Die 2 veranschaulicht den Fall einer maximalen Datenrate, bei welcher die Daten- und Funktionsparameter-Pipelines in jedem Systemtakt (clock) getaktet werden. Bei einer Erniedrigung der Datenrate ist die 2 weiterhin gültig, bezieht sich jedoch nicht auf den Systemtakt sondern auf den von der Taktversorgungs-Pipeline bestimmten kleineren mittleren Verarbeitungstakt. 2 shows the time processing of four independent data streams (data channel 1, data channel 2, data channel 3, data channel 4) in time-division multiplex operation. It is shown at which time t the data pipeline at the output of the sequencer circuit SQ, at the register R1, at the register R2, at the register R3 and at the register R4 processes data from which data channel. The multiplex operation takes place in the time sequence data channel 1 → data channel 2 → data channel 3 → data channel 4. A date of the data channel entered at the output of the sequencer circuit SQ into the data pipeline 4 is each processed with a time delay of one system clock in each stage of the data pipeline and is present as the result value in register R4 at the output of the data pipeline after four system clocks. The 2 illustrates the case of a maximum data rate at which the data and function parameter pipelines are clocked in each system clock. When the data rate is lowered, the 2 still valid, but does not refer to the system clock but to the smaller average processing clock determined by the clock supply pipeline.

Sofern ein Datenkanal (data channel) nicht mehr benötigt wird, kann die Taktversorgung in diesem Zeitraum vollständig abgeschaltet werden. Die vollständige Abschaltung wird dadurch bewirkt, dass in dem Zeitschlitz, der dem betreffenden Kanalanfang am Ausgang der Schaltung SQ zugeordnet ist, das Takt-Steuerungssignal (entspricht dem Enable-Signal ena1) deaktiviert wird. Die Pipeline-Struktur wird dadurch anschaulich gesprochen in 1 von links nach rechts (d.h. Funktionsblock für Funktionsblock) im Verarbeitungstakt abgeschaltet und nach Ablauf der Zeitschlitzdauer für den nicht benötigten Datenkanal von links nach rechts (d.h. Funktionsblock für Funktionsblock) im Verarbeitungstakt wieder eingeschaltet. Zu keinem Zeitpunkt wird irgendein nicht benötigtes Re gister getaktet, d.h. es tritt kein einziger unnützer (energieverbrauchender) Schaltvorgang auf.If a data channel is no longer needed, the clock supply can be completely switched off during this period. The complete shutdown is effected in that in the time slot, which is assigned to the relevant channel start at the output of the circuit SQ, the clock control signal (corresponding to the enable signal ena1) is deactivated. The pipeline structure is thus clearly spoken in 1 switched off from left to right (ie function block for function block) in the processing cycle and switched on again after the time slot duration for the unneeded data channel from left to right (ie function block for function block) in the processing cycle. At no time is any unneeded register clocked, ie, there is not a single useless (power consuming) switching operation.

3 zeigt ein vereinfachtes Schaltbild eines Rake-Empfängers einer Mobilstation. 3 shows a simplified circuit diagram of a rake receiver of a mobile station.

Die Struktur umfasst einen digitalen Signalprozessor DSP, der über einen Bus B mit Parameterspeichern SP1, SP2, SP3 in Verbindung steht, einen Eingabespeicher RAKE_RAM mit einem Adressgenerator A_GEN, einen Rake-Finger RF bestehend aus den Funktionsblöcken P/S-Wandler 2, TVI (Time Variant Interpolator) 3, Entspreizstufe 4, und Integrate&Dump 5 sowie der parallel geführten Steuerungs-Pipeline Ctrl Pipe 9, eine Steuerung CON mit einem Chip-Zähler CNT für den Rake-Finger RF, einen Rake-Controller RAKE_CON, einen Code-Generator CG für Scrambling- und Channelization-Codes, und einen Early/Late-Korrelator EL. Die Steuerungs-Pipeline Ctrl Pipe 9 umfasst hier auch die Taktversorgungs-Pipeline gemäß 1 Die Funktionsweise der angesprochenen Einheiten in einem Rake-Empfänger ist weitgehend bekannt. Der Eingabespeicher RAKE_RAM nimmt Abtastwerte entgegen, die von einem Analog-Digital-Umsetzer (nicht dargestellt) durch Quantisieren eines analogen Empfangssignals über eine Eingangs-Datenverbindung 10 erhalten werden. Bei dem analogen Empfangssignal handelt es sich um das in den Zwischenfrequenzbereich oder das Basisband heruntergemischte Antennensignal.The structure comprises a digital signal processor DSP, which communicates via a bus B with parameter memories SP1, SP2, SP3, an input memory RAKE_RAM with an address generator A_GEN, a rake finger RF consisting of the function blocks P / S converter 2 , TVI (Time Variant Interpolator) 3 , Despreading stage 4 , and Integrate & Dump 5 and the parallel control pipeline Ctrl Pipe 9 , a controller CON with a chip counter CNT for the rake finger RF, a rake controller RAKE_CON, a code generator CG for scrambling and channelization codes, and an early / late correlator EL. The control pipeline Ctrl Pipe 9 here also includes the clock supply pipeline according to 1 The functioning of the addressed units in a rake receiver is widely known. The input memory RAKE_RAM accepts samples received from an analog-to-digital converter (not shown) by quantizing an analog receive signal over an input data link 10 to be obtained. The analog received signal is the antenna signal mixed down into the intermediate frequency band or the baseband.

Die Abtastwerte werden in dem Eingabespeicher RAKE_RAM in zeitlicher Abfolge gespeichert. In dem hier beschriebenen Beispiel wird mit einer 2-fachen Überabtastung bezogen auf den Chip-Zeittakt gearbeitet, so dass in dem Eingabespeicher RAKE_RAM Halb-Chips der Inphase-(I-)Komponente und der Quadratur-(Q-)Komponenten abgelegt sind.The samples are stored in the input memory RAKE_RAM in chronological order. In the example described here, a 2-fold oversampling based on the chip clock is used, so that in the input memory RAKE_RAM half-chips of Inpha Se (I) component and the quadrature (Q) components are stored.

Die Chip-Zeitdauer ist in CDMA-Systemen durch den jeweiligen Standard definiert und beträgt im hier betrachteten UMTS-Standard 0,26 μs.The Chip time is in CDMA systems by the respective standard defined and amounts to here considered UMTS standard 0.26 μs.

Die erfindungsgemäße Architektur wird durch die Steuerung CON (entspricht der in 1 dargestellten Sequenzer-Schaltung SQ) und dem Rake-Finger RF repräsentiert. Die anderen Blöcke des Schaltbildes sind für die Funktionalität der Schaltung erforderlich, aber nicht für das erfindungsgemäße Konzept relevant. Die Arbeitsweise dieser im Stand der Technik auch bereits bekannten Blöcke wird daher nur kurz beschrieben:
Das Funktionsprinzip eines Rake-Empfängers beruht bekanntlich darauf, Empfangssignalversionen, welche aufgrund der Mehrwege-Ausbreitung über unterschiedliche Ausbreitungswege am Empfänger empfangen wurden, getrennt (d.h. Ausbreitungsweg für Ausbreitungsweg) auszuwerten und dann zeitrichtig zu überlagern. Grundvoraussetzung für die getrennte Auswertung der Abtastwerte ist eine Delay-Schätzung, mit welcher die Verzögerungszeiten (Delays) der verschiedenen Ausbreitungswege eines Signals gemessen werden. Die Verzögerungszeiten werden in dem hier dargestellten Rake-Empfänger zweistufig geschätzt und ausgeglichen. Zunächst erfolgt mittels einer nicht dargestellten Einheit eine Grob-Schätzung der Mehrwegeverzögerung im Abtastzeitraster, d.h. mit einer durch die Abtastrate (z.B. doppelte Chiprate) begrenzten Genauigkeit. Diese Schätzung wird in ständiger Wiederholung durchgeführt und die entsprechenden Grob-Verzögerungszeiten werden in dem Speicher SP1 abgelegt und der Steuerung CON über die Datenverbindung 12 mitgeteilt.
The inventive architecture is controlled by the controller CON (corresponds to the in 1 represented sequencer circuit SQ) and the rake finger RF represents. The other blocks of the schematic are required for the functionality of the circuit, but not relevant to the inventive concept. The mode of operation of these already known in the prior art blocks is therefore described only briefly:
The principle of operation of a rake receiver is known to be based on receiving signal versions, which were received due to the multipath propagation over different propagation paths at the receiver, separated (ie propagation path for propagation path) evaluated and then superimposed time correct. The basic prerequisite for the separate evaluation of the samples is a delay estimation with which the delay times (delays) of the different propagation paths of a signal are measured. The delay times are estimated and balanced in two stages in the rake receiver shown here. First, by means of a unit, not shown, a coarse estimation of the multipath delay in the sampling time frame, ie with an accuracy limited by the sampling rate (eg double the chip rate). This estimation is performed in continuous repetition and the corresponding coarse delay times are stored in the memory SP1 and the controller CON via the data link 12 communicated.

Ferner legt der DSP in dem Speicher SP1 Konfigurationsparameter ab, welche angeben, wie viele und welche Rake-Finger (im Zeitmultiplex-Betrieb) aktiv sein sollen, und welcher Rake-Finger welchem Ausbreitungsweg zugeordnet ist. Diese Konfigurationsparameter für den Rake-Finger RF werden von der Steuerung CON ebenfalls über die Datenverbindung 12 bezogen.Further, the DSP stores in the memory SP1 configuration parameters indicating how many and which rake fingers are to be active (in time multiplexed operation) and which rake finger is assigned to which propagation path. These configuration parameters for the rake finger RF are also provided by the controller CON via the data connection 12 based.

Eine Aufgabe der Steuerung CON besteht darin, mittels der über die Datenverbindung 12 erhaltenen Grob-Verzögerungszeiten ein Steuersignal zu generieren, das über die Datenverbindung 13 dem Adressgenerator A_GEN des Eingabespeichers RAKE_RAM zugeleitet wird und angibt, in welchen Speicherbereichen diejenigen Abtastwerte abgespeichert sind, die auf dasselbe ausgesendete Signal zurückgehen, jedoch aufgrund der Mehrwegeverzögerung zu unterschiedlichen Zeitpunkten am Empfänger erhalten wurden (und deshalb in dem Eingabespeicher RAKE_RAM auch in unterschiedlichen Speicherbereichen abgelegt sind). Der Eingabespeicher RAKE_RAM stellt für jeden (gemultiplexten) Rake-Finger RF also das Finger-spezifische Verzögerungsglied zur (Grob-)Kompensation der Mehrwege-Verzögerung dar.One task of the controller CON is by means of the data connection 12 obtained coarse delay times to generate a control signal via the data connection 13 the address generator A_GEN of the input memory RAKE_RAM is supplied and indicates in which memory areas those samples are stored, which go back to the same emitted signal, but due to the multipath delay at different times were obtained at the receiver (and therefore are stored in the input memory RAKE_RAM in different memory areas ). The input memory RAKE_RAM thus represents for each (multiplexed) rake finger RF the finger-specific delay element for (coarse) compensation of the multipath delay.

Die Fein-Kompensation der Mehrwege-Verzögerung erfolgt im Normalbetrieb mittels des Early-/Late-Korrelators EL und dem Interpolator TVI 3. Die hier noch zu kompensierenden Zeitfehler sind kleiner als die Abtastzeitdauer und können deshalb als Abtastzeitfehler betrachtet werden. Ein Abtastzeitfehler tritt auf, weil der optimale Abtastzeitpunkt (der Zeitpunkt der maximalen Energie jedes erhaltenen Chips) bei der Abtastung nicht bekannt ist. Der Early-/Late-Korrelator EL ist über eine Datenverbindung 14 mit der Daten-Pipeline des Rake-Fingers RF verbunden und greift die in der Stufe P/S-Wandler 2 parallel-zu-seriell umgesetzten Abtastwerte ab. Die Abtastwerte werden gegebenenfalls nach einer Ratenanpassung in einer Stufe DPA (Data Pipe Adaption) dem Early-/Late-Korrelator EL zugeleitet. Der Early-/Late-Korrelator EL umfasst gemäß üblicher Bauweise eine eingangsseitige E/L-Entspreizstufe 6, eine im Signalweg hinter der E/L-Entspreizstufe 6 angeordnete E/L-Integrate&Dump-Einheit 7 und eine E/L-Schätz- und Steuerstufe B. Am Ausgang der E/L-Schätz- und Steuerstufe 8 wird ein Abtastzeitfehler μ ausgegeben, welcher über eine Datenverbindung 15 dem Bus 8 und über eine Datenverbindung 16 dem Interpolator TVI des Rake-Fingers RF zugeleitet wird. Der Ab tastzeitfehler μ gibt den Zeitfehler der Abtastung an, welcher kleiner als die Abtastzeitdauer ist. Anschaulich gesprochen wird der Zeitfehler in dem Early-/Late-Korrelator EL dadurch ermittelt, dass die Energien der frühen Abtastwerte und der späten Abtastwerte jeweils über eine Symbolzeitdauer in der Einheit E/L-Integrate&Dump 7 summiert werden (d.h. bei einem Spreizfaktor sf wird jeweils eine Summe aus sf Werten gebildet) und in der E/L-Schätz- und Steuerstufe 8 miteinander verglichen werden. Ist beispielsweise die Energie in den frühen Abtastwerten größer als in den späten Abtastwerten, wird ein Zeitfehler μ berechnet, welcher den optimalen Abtastwert näher an den frühen Abtastwert als an den späten Abtastwert legt.The fine compensation of the multipath delay takes place in normal operation by means of the early / late correlator EL and the interpolator TVI 3 , The time errors to be compensated here are smaller than the sampling time duration and can therefore be regarded as sampling time errors. A sampling time error occurs because the optimum sampling time (the maximum energy time of each chip received) is not known in the sampling. The early / late correlator EL is via a data connection 14 connected to the data pipeline of the rake finger RF and attacks the in-stage P / S converter 2 parallel-to-serial converted samples. The samples are optionally fed to the early / late correlator EL after rate matching in a DPA (Data Pipe Adaptation) stage. The early / late correlator EL comprises, according to the conventional design, an input E / L despreading stage 6 , one in the signal path behind the E / L despreading stage 6 arranged E / L integrates & dump unit 7 and an E / L estimation and control stage B. At the output of the E / L estimation and control stage 8th a sampling time error μ is output, which via a data connection 15 the bus 8th and via a data connection 16 is fed to the interpolator TVI of the rake finger RF. The sample time error μ indicates the time error of the sampling which is smaller than the sampling period. Illustratively speaking, the time error in the early / late correlator EL is determined by taking the energies of the early samples and the late samples each over a symbol period in the unit E / L Integrate & Dump 7 are summed (ie, a sum of sf values is formed for a spreading factor sf) and in the E / L estimation and control stage 8th compared with each other. For example, if the energy in the early samples is greater than in the late samples, a time error μ is calculated which places the optimal sample closer to the early sample than to the late sample.

Der Interpolator TVI berechnet durch eine Interpolation der erhaltenen Abtastwerte neue Abtastwerte an den durch den Abtastzeitfehler μ bestimmten optimalen Abtastzeitpunkten.Of the Interpolator TVI calculated by an interpolation of the obtained Samples new samples at the one determined by the sampling time error μ optimal sampling times.

Durch den E/L-Korrelator EL und den Interpolator TVI 3 wird somit der Abtastzeitfehler nachträglich aus dem bereits quantisierten Signal heraus gerechnet. Hinter dem Interpolator TVI 3 liegen die Abtastwerte jedes Ausbreitungsweges eines über den Kanal übertragenen Signals in vollständiger Synchronität vor. (Sofern kein Zeitmultiplex-Betrieb vorgesehen ist und infolgedessen mehrere physikalische Rake-Finger RF gemäß der in 3 dargestellten Anordnung vorhanden sein müssen, sind die Abtastwerte der einzelnen Ausbreitungswege hinter den Interpolatoren TVI 3 verschiedener Rake-Finger tatsächlich völlig zeitsynchron; beim Zeitmultiplex-Betrieb, bei welchem mit einem wesentlich höheren Verarbeitungstakt als dem Chip-Zeittakt gearbeitet wird, bezieht sich die Synchronität der Abtastwerte aus den unterschiedlichen Ausbreitungswegen auf den jeweiligen Zeitmultiplex-Zyklus. D.h., werden z.B. innerhalb eines Zeitmultiplex-Zyklus der Reihe nach 29 virtuelle Rake-Finger von dem einen physikalisch vorhandenen Rake-Finger RF prozessiert, erfolgt die Prozessierung der virtuellen Rake-Finger im Zeitmultiplex-Betrieb zwar zeitlich sequentiell, betrifft jedoch jeweils zeitsynchrone Abtastwerte für jeden virtuellen Rake-Finger).Through the E / L correlator EL and the interpolator TVI 3 Thus, the sampling time error is subsequently calculated from the already quantized signal out. Behind the interpolator TVI 3 For example, the samples of each propagation path of a signal transmitted over the channel are in complete synchronism. (Provided that no time-division multiplex operation is provided and as a result, a plurality of physical rake fingers RF according to the in 3 dargestell th Arrangement must be present, the samples of the individual propagation paths are behind the interpolators TVI 3 different rake fingers actually completely time-synchronized; in time-divisional mode, which operates on a much higher processing clock than the chip clock, the synchronicity of the samples from the different propagation paths relates to the respective time-division multiplex cycle. In other words, if, for example, 29 virtual rake fingers are processed in sequence within a time division multiplex cycle by the one physically present rake finger RF, the processing of the virtual rake fingers in time division multiplexing takes place sequentially but relates to time-synchronous sampling values for each every virtual rake finger).

Der Code-Generator CG ist über eine Datenverbindung 17 mit dem Speicher SP2 zur Speicherung der Konfigurationsparameter für den Scrambling-Code und den Channelization-Code verbunden. Wie im Folgenden noch näher erläutert, werden diese beiden Spreizcodes getrennt erzeugt, miteinander multipliziert und das Produkt aus Channelization- und Scrambling-Code in der Entspreizstufe 4 des Rake-Fingers RF zeitrichtig mit den Abtastwerten multipliziert.The code generator CG is over a data connection 17 connected to the memory SP2 for storing the configuration parameters for the scrambling code and the channelization code. As explained in more detail below, these two spreading codes are generated separately, multiplied together and the product of channelization and scrambling code in the despreading 4 of the rake finger RF timely multiplied by the samples.

Der durch die Entspreizstufe 4 realisierte Funktionsblock der Daten-Pipeline 2, 3, 4, 5 nimmt somit eine gewisse Sonderrolle ein. Er wird (wie alle Funktionsblöcke) von der Steuerungs-Pipeline gesteuert und hat im Unterschied zu den anderen Funktionsblöcken einen zweiten Dateneingang, über welchen er die Code-Bits von dem Code-Generator CG bezieht. Diese Daten-Pipeline-Kreuzung wird mittels des Pufferspeichers BF realisiert. Aus funktioneller Sicht muss der Code-Generator CG die erforderlichen Code-Bits bei einem über 4 Chipzeitdauern laufenden Zeitmultiplex-Zyklus 4 Chips im voraus berechnen. Die Synchronisierung der Code-Generierung mit dem Rake-Finger-Prozessing erfolgt über die Datenverbindung 22 durch den Rake-Controller RAKE_CON. Mit dem Pufferspeicher BF ist eine beliebige Zuordnung der erzeugten Codes zu den virtuellen Rake-Fingern möglich. Diese Zuordnung wird durch Funktionsparameter vorgegeben, die über die Datenverbindung 24 von der Steuerungs-Pipeline 9 bezogen werden. Die jeweils benötigten Spreizcode-Bits werden dann über die Datenverbindung 25 der Entspreizstufe 4 zugeleitet.The through the despreading 4 realized functional block of data pipeline 2 . 3 . 4 . 5 thus takes on a certain special role. It is controlled (like all functional blocks) by the control pipeline and, unlike the other functional blocks, has a second data input over which it obtains the code bits from the code generator CG. This data pipeline crossing is realized by means of the buffer memory BF. From a functional point of view, the code generator CG must pass the required code bits over one 4 Chip time running time division multiplex cycle 4 Calculate chips in advance. The synchronization of the code generation with the rake finger processing takes place via the data connection 22 through the rake controller RAKE_CON. With the buffer memory BF, any assignment of the generated codes to the virtual rake fingers is possible. This assignment is specified by function parameters that are transmitted via the data connection 24 from the control pipeline 9 be obtained. The respectively required spreading code bits are then transmitted via the data connection 25 the despreading stage 4 fed.

Die in der Steuerungs-Pipeline 9 übermittelten Parameter für die Steuerung der Entspreizstufe 4 des Rake-Fingers RF werden über die Datenverbindung 18 der E/L-Entspreizstufe 6 des Early-/Late-Korrelators EL zugeleitet. Ferner erhält die E/L- Entspreizstufe 6 des Early-/Late-Korrelators EL über die Datenverbindung 23 den aktuellen Spreizcode.The in the control pipeline 9 transmitted parameters for the control of the despreading 4 of the rake finger RF are over the data connection 18 the E / L despreading stage 6 fed to the early / late correlator EL. Further, the E / L despreading stage is obtained 6 the early / late correlator EL via the data connection 23 the current spreading code.

Der im Signalpfad hinterste Funktionsblock (Integrate&Dump-Einheit 5) des Rake-Fingers RF wird ebenfalls über Funktionsparameter in der Steuerungs-Pipeline 9 gesteuert. Über die Datenverbindung 19 werden diese Funktionsparameter der E/L-Integrate&Dump-Einheit des Early-/Late-Korrelators EL zugeleitet.The function block behind in the signal path (Integrate & Dump unit 5 ) of the rake finger RF is also via function parameters in the control pipeline 9 controlled. About the data connection 19 These function parameters are fed to the E / L Integrate & Dump unit of the early / late correlator EL.

Am Ausgang der Integrate&Dump-Einheit 5 des Rake-Fingers RF stehen die aus den einzelnen Chips gebildeten Symbole der I- und Q-Signalkomponenten bereit. Diese werden zur weiteren Verarbeitung über eine Datenverbindung 20 an weitere Hardware-Module des Rake-Empfängers weitergereicht. Dabei kann vorgesehen sein, dass diese weiteren Hardware-Module ebenfalls nach dem erfindungsgemäßen Prinzip arbeiten, d.h. mit einer Daten-Pipeline und einer Steuerungs-Pipeline ausgestattet sind. Dieser Fall ist in 3 dargestellt. Am Ausgang der Steuerungs-Pipeline 9 vorhandene Funktionsparameter werden über die Datenverbindung 21 einer Steuerung CON_PER für eine nachfolgende Verarbeitungseinheit ("Peripherie") PER zugeleitet. Die nachfolgende Verarbeitungseinheit PER ist ebenfalls in Form der in 1 dargestellten erfindungsgemäßen Doppel-Pipeline-Struktur aufgebaut. Die Steuerung CON_PER übernimmt die Aufgabe der Sequencer-Schaltung SQ für die Verarbeitungseinheit PER.At the output of the Integrate & Dump unit 5 of the rake finger RF, the symbols of the I and Q signal components formed from the individual chips are ready. These are for further processing via a data connection 20 passed on to other hardware modules of the Rake receiver. It can be provided that these other hardware modules also work according to the principle of the invention, ie are equipped with a data pipeline and a control pipeline. This case is in 3 shown. At the output of the control pipeline 9 existing function parameters are via the data connection 21 a controller CON_PER for a subsequent processing unit ("periphery") PER supplied. The subsequent processing unit PER is also in the form of in 1 constructed according to the invention double-pipeline structure. The controller CON_PER takes over the task of the sequencer circuit SQ for the processing unit PER.

Die Steuerung CON_PER steht über eine Datenverbindung 11 mit einem Speicher SP4 in Verbindung, welcher seinerseits über den Bus B mit dem DSP verbunden ist. Über die Datenverbindung 11 bezieht die Steuerung CON_PER zusätzliche Funktionsparameter, die in dem Speicher SP4 bereitgehalten und für die weitere Datenverarbeitung in der Verarbeitungseinheit PER benötigt werden. Die benötigten zusätzlichen Funktionsparameter, mit welchen die Steuerungs-Pipeline in der Verarbeitungseinheit PER angereichert wird, können über Funktionsparameter von der vorausgehenden Einheit (Rake-Finger RF) referenziert werden. Wie später noch näher erläutert wird, bezeichnet beispielsweise einer der über die Datenverbindung 21 übergebenen Funktionsparameter die Fingernummer des virtuellen Rake-Fingers. Die Fingernummer referenziert dann die benötigten, diesem Finger zugeordneten Funktionsparameter für die Verarbeitungseinheit PER.The controller CON_PER is connected via a data connection 11 with a memory SP4 in connection, which in turn is connected via the bus B to the DSP. About the data connection 11 the controller CON_PER obtains additional function parameters that are kept in the memory SP4 and needed for further data processing in the processing unit PER. The required additional function parameters with which the control pipeline is enriched in the processing unit PER can be referenced via function parameters from the preceding unit (rake-finger RF). As will be explained in more detail later, for example, one of the designated over the data connection 21 Function parameters passed the finger number of the virtual rake finger. The finger number then references the required function parameters assigned to this finger for the processing unit PER.

Die Steuerung CON_PER wirkt somit als Entkopplungsstufe zwischen zwei sequentiell angeordneten Doppel-Pipeline-Strukturen. Eine solche Entkopplungsstufe hinter der Integrate&Dump-Einheit 5 ist vorteilhaft, da im weiteren Signalweg die Datenverarbeitung im Symboltakt (und nicht mehr im Chiptakt) erfolgt. Es wäre daher unter dem Gesichtspunkt des Leistungsverbrauchs ungünstig, die Steuerungsparameter in der Verarbeitungseinheit PER weiterhin im Chiptakt zu prozessieren.The controller CON_PER thus acts as a decoupling stage between two sequentially arranged double-pipeline structures. Such a decoupling stage behind the Integrate & Dump unit 5 is advantageous because in the further signal path, the data processing takes place in the symbol clock (and no longer in the chip clock). It would therefore be unfavorable from the point of view of power consumption to continue to process the control parameters in the processing unit PER in chip clock.

4 zeigt den zeitlichen Ablauf der Prozessierung der Abtastwerte in dem zeitgemultiplexten Rake-Finger RF. Mit dem Bezugszeichen 50 ist der Systemtakt clk von z.B. 124,8 MHz angegeben, welcher bei maximaler Datenrate gleichzeitig den Verarbeitungstakt im Rake-Finger RF realisiert. Ein Zeitmultiplex-Zyklus umfasst beispielsweise 4 Chips der Zeitdauer 0,26 μs. In diesem Fall stehen in jedem Zeitmultiplex-Zyklus 130 Systemtakte für die Verarbeitung von 4 Chips pro (virtuellem) Rake-Finger RF zur Verfügung. Im vorliegenden Beispiel werden 29 virtuelle Rake-Finger im Zeitmultiplex-Betrieb eingesetzt. Da 4 (Anzahl der Chips) * 29 (Anzahl der virtuellen Rake-Finger) kleiner als 130 ist, können diese 29 virtuellen Rake-Finger bei einem Systemtakt von 124,8 MHz "gleichzeitig" betrieben werden. 4 shows the timing of the processing of the samples in the time multiplexed rake finger RF. With the reference number 50 For example, the system clock clk of, for example, 124.8 MHz is specified, which simultaneously realizes the processing clock in the rake finger RF at maximum data rate. A time-division multiplex cycle comprises, for example, 4 chips of the duration 0.26 μs. In this case, there are system clocks available for processing 4 chips per (virtual) rake finger RF in each time division multiplex cycle 130. In the present example, 29 virtual rake fingers are used in time-division multiplex mode. Since 4 (number of chips) * 29 (number of virtual rake fingers) is smaller than 130, these 29 virtual rake fingers can be "simultaneously" operated at a system clock of 124.8 MHz.

Die Bezugszeichen 60.1, 60.2 und 60.3 bezeichnen die Steuersignale finger_enable_i, finger_nr_i bzw. RAKE_RAM_adr_o für den Eingabespeicher RAKE_RAM. während der High-Zeitdauer des Steuersignals 60.1 wird der Eingabe-Speicher RAKE_RAM gele sen. Das Steuersignal 60.2 gibt die Nummer des Fingers finger_nr_i = 1, 2, ..., 29 an, für welchen die ausgelesenen Abtastwerte bestimmt sind. Die zugehörigen Leseadressen sind durch das Adress-Signal 60.3 veranschaulicht. Es wird deutlich, dass über 2 Systemtakte zunächst auf 2 Adressen (Adressen A11, A12) für den ersten virtuellen Rake-Finger finger_nr_i = 1 zugegriffen wird. In den darauf folgenden 2 Systemtakten findet kein Speicherzugriff statt. Anschließend werden für den zweiten virtuellen Rake-Finger finger_nr_i = 2 wiederum Halb-Chips unter zwei Adressen A21, A22, ausgelesen, usw.The reference numerals 60.1 . 60.2 and 60.3 denote the control signals finger_enable_i, finger_nr_i and RAKE_RAM_adr_o for the input memory RAKE_RAM. during the high-time period of the control signal 60.1 the input memory RAKE_RAM is read. The control signal 60.2 indicates the number of the finger finger_nr_i = 1, 2, ..., 29 for which the readout samples are determined. The associated read addresses are by the address signal 60.3 illustrated. It becomes clear that over 2 system clocks first 2 addresses (addresses A 11 , A 12 ) for the first virtual Rake finger finger_nr_i = 1 are accessed. There is no memory access in the following 2 system clocks. Subsequently, for the second virtual rake finger finger_nr_i = 2 again half-chips are read out at two addresses A 21 , A 22 , etc.

Eine Besonderheit der hier verwendeten Architektur des Speichers RAKE_RAM besteht darin, dass mit der ersten Adressierung (A11 bzw. A21 bzw. A31) jeweils 8 Halb-Chips ausgelesen werden, während mit der zweiten Adressierung A12 bzw. A22 bzw. A32 jeweils nur ein einziger Halb-Chip ausgelesen wird. Die Aufgabe des P/S-Wandlers 2 besteht darin, diese Besonderheit des Auslesevorgangs zu kompensieren. Der P/S-Wandler 2 wird einen Systemtakt später als der Speicher RAKE_PAM über die Steuerungs-Pipeline 9 aktiviert. Dies ist durch das Aktivierungssignal finger_enable_i 70.1 veranschaulicht. Der P/S-Wandler 2 ist während seiner Aktivzeitdauer die ersten 4 Systemtakte für den ersten Rake-Finger finger_nr_i = 1 tätig, die zweiten 4 Systemtakte für den zweiten Rake-Finger finger_nr_i = 2 tätig, usw., siehe das Steuersignal 70.2.A special feature of the architecture of the memory RAKE_RAM used here is that with the first addressing (A 11 or A 21 or A 31 ) each 8 half-chips are read, while with the second addressing A 12 and A 22 and A 32 only a single half-chip is read out. The task of the P / S converter 2 is to compensate for this peculiarity of the readout process. The P / S converter 2 will cycle one system clock later than the RAKE_PAM memory over the control pipeline 9 activated. This is due to the activation signal finger_enable_i 70.1 illustrated. The P / S converter 2 During its active period of time, the first 4 system clocks for the first rake finger finger_nr_i = 1 are active, the second 4 system clocks for the second rake finger finger_nr_i = 2 operate, etc., see the control signal 70.2 ,

Die Signale 70.3 und 70.4 repräsentieren den Eingangs- bzw. den Ausgangsdatenstrom der Abtastwerte des P/S-Wandlers 2. D11 bezeichnet 8 Halb-Chips h0, h1, h2, ..., h7, welche bei der Adressierung A11 aus dem Speicher RAKE_RAM für den ersten Rake-Finger (finger_nr_i = 1) ausgelesen wurden. D12 bezeichnet den neunten Halb-Chip h8, welcher für den ersten Rake-Finger durch die Adressierung A12 aus dem Speicher RAKE_RAM ausgelesen wurde. Ausgangsseitig werden pro Systemtakt mit einer Zeitverzögerung von einem Systemtakt jeweils 3 Halb-Chips ausgegeben. Dabei bezeichnet H11 die 3 Halb-Chips h0, h1 , h2 , H12 bezeichnet die 3 Halb-Chips h2, h3, h4, H13 bezeichnet die 3 Halb-Chips h4, h5, h6 und H14 bezeichnet die 3 Halb-Chips h6, h7, h8.The signals 70.3 and 70.4 represent the input and output data streams of the samples of the P / S converter 2 , D 11 designates 8 half chips h0, h1, h2,..., H7, which were read out from the memory RAKE_RAM for the first rake finger (finger_nr_i = 1) during the addressing A 11 . D 12 denotes the ninth half-chip h8 which has been read out of the memory RAKE_RAM for the first rake finger by the addressing A 12 . On the output side, 3 half-chips are output for each system clock with a time delay of one system clock. H 11 denotes the 3 Half-chips h0, h1, h2, H 12 denotes the 3 half-chips h2, h3, h4, H 13 denotes the 3 half-chips h4, h5, h6 and H 14 denotes the 3 half-chips h6, h7, h8 ,

Die von dem P/S-Wandler 2 ausgegebenen Abtastwerte (Halb-Chips) werden in dem Interpolator TVI 3 zur Berechnung interpolierter Datenwerte umgerechnet. Aus 3 Halb-Chips H11 bzw. H12 bzw. H13 bzw. H14 wird mittels einer Interpolation unter Berücksichtigung des Abtastzeitfehlers μ jeweils ein interpolierter Chip C11 bzw. C12 bzw. C13 bzw. C14 berechnet. Der Interpolator TVI 3 erniedrigt die Sample-Rate somit um den Faktor 2. Der auf der Basis von 3 Halb-Chips H11 bzw. H12 bzw. H13 bzw. H14 berechnete Chip-Wert C11 bzw. C12 bzw. C13 bzw. C14 wird einen Systemtakt später ausgegeben, siehe den Vergleich der eingangsseitig erhaltenen Abtastwerte 70.4 (jeweils 3 Halb-Chips) mit den ausgangsseitig berechneten Abtastwerten im Ausgangsdatenstrom 70.5 (jeweils ein interpolierter Chip).The from the P / S converter 2 output samples (half-chips) are in the interpolator TVI 3 converted to calculate interpolated data values. Out 3 Half chips H 11 or H 12 or H 13 or H 14 is calculated by means of an interpolation taking into account the sampling time error μ respectively an interpolated chip C 11 or C 12 or C 13 and C 14 . The interpolator TVI 3 thus reduces the sample rate by the factor 2 , The on the basis of 3/2 chips H 11 and H 12 and H 13 and H 14 calculated chip value C 11 or C 12 or C 13 and C 14 is outputted one clock cycle later, see Comparative the samples obtained on the input side 70.4 (each 3 half-chips) with the output calculated values in the output data stream 70.5 (one interpolated chip each).

Die obige Beschreibung gilt analog für die weiteren Rake-Finger, finger_nr_i = 2, 3, ..., mit Anfangs-Indizes 2, 3,The above description applies analogously to the other rake fingers, finger_nr_i = 2, 3,..., With initial indices 2 . 3 .

Die Entspreizstufe 4 wird wiederum einen Systemtakt später als der Interpolator TVI 3 aktiviert, siehe das Aktivierungssignal finger_enable_i 80.1. In 4 Systemtakten werden jeweils 4 interpolierte Chips für jeweils einen der Rake-Finger finger_nr_i = 1, 2, ..., 29 prozessiert, siehe das Steuerungssignal 80.2. Die interpolierten Chips 70.5 bilden die Eingabedaten für die Entspreizstufe 4. Die entspreizten (d.h. mit einem jeweiligen Spreizcode-Bit multiplizierten) Chips werden einen Systemtakt verzögert am Ausgang der Entspreizstufe 4 ausgegeben, wie dies durch den Ausgabe-Datenstrom 80.3 veranschaulicht ist.The despreading stage 4 again becomes a system clock later than the TVI interpolator 3 activated, see the activation signal finger_enable_i 80.1 , In 4 system clocks, 4 interpolated chips are processed for each of the rake fingers finger_nr_i = 1, 2, ..., 29, see the control signal 80.2 , The interpolated chips 70.5 form the input data for the despreading stage 4 , The despread (ie multiplied by a respective spreading code bit) chips are delayed one system clock at the output of the despreading stage 4 output as indicated by the output data stream 80.3 is illustrated.

Die Intergrate&Dump-Einheit 5 nimmt eingangsseitig diesen Ausgabe-Datenstrom 80.3 der Entspreizstufe 4 entgegen und integriert (bei sf = 4) jeweils 4 entspreizte Chip-Werte auf.The Intergrate & Dump unit 5 takes this output data stream on the input side 80.3 the despreading stage 4 opposite and integrated (at sf = 4) in each case 4 despread chip values.

Ein Systemtakt nach dem Erhalt der letzten entspreizten Chips C14, C24 ... usw. wird das auf diese Weise gewonnene Symbol S1, S2, ... usw. ausgegeben, siehe den Ausgabe-Datenstrom 80.4 des Funktionsblockes Integrate&Dump 5. Die Datenrate ist dabei um den Spreizfaktor sf erniedrigt.A system clock after receiving the last despread chips C 14 , C 24 ..., etc., is output the thus obtained symbol S 1 , S 2 , ..., etc., see the output data stream 80.4 of the function block Integrate & Dump 5 , The data rate is reduced by the spreading factor sf.

Bei der vorstehenden Beschreibung wurde eine Entspreizung mit einem bestimmten ausgewählten Code (Code4) betrachtet. Für einen anderen Rake-Finger RF, der mit einem anderen Code (Code1) betrieben wird, erfolgt die Prozessierung der Daten in der Entspreizstufe 4 und der Integrate&Dump-Einheit 5 analog.In the above description, despreading with a certain selected code (Code4) was considered. For another rake finger RF, with a different code (Code1) is operated, the data is processed in the despreading step 4 and the Integrate & Dump unit 5 analogous.

Zusammenfassend ist festzustellen, dass jeder virtuelle Rake-Finger RF 4 Systemtakte aktiv ist und über Enable-Signale 60.1, 70.1 bzw. 80.1 Funktionsblock-individuell aktiviert bzw. deaktiviert werden kann. Die Enable-Signale 70.1, 80.1 entsprechen dabei den Enable-Signalen ena1 und ena3, die Enable-Signale ena2 und ena4 sind in 4 nicht dargestellt.In summary, it should be noted that every virtual rake-finger RF 4 system clocks is active and has enable signals 60.1 . 70.1 respectively. 80.1 Function block-individually can be activated or deactivated. The enable signals 70.1 . 80.1 correspond to the enable signals ena1 and ena3, the enable signals ena2 and ena4 are in 4 not shown.

Die Anzahl der aktiven Finger richtet sich nach der Anzahl der zu demodulierenden Ausbreitungspfade. In 4 werden lediglich 3 Ausbreitungspfade demoduliert. Die Datenrate der Daten-Pipeline wird einerseits über den Spreizfaktor sf und andererseits über die Anzahl der aktiven Rake-Finger eingestellt. Aufgrund des kleinsten Spreizfaktors (bei UMTS FDD: sf = 4) wird am Ausgang der Daten-Pipeline ein neues Datum (Symbol) in 4 Systemtakten (Zeitmultiplex-Schema) ausgegeben.The number of active fingers depends on the number of propagation paths to be demodulated. In 4 only 3 propagation paths are demodulated. The data rate of the data pipeline is set, on the one hand, via the spreading factor sf and, on the other hand, via the number of active rake fingers. Due to the smallest spreading factor (with UMTS FDD: sf = 4), a new date (symbol) is output at the output of the data pipeline in 4 system clocks (time-division multiplexing scheme).

Neben dem Enable-Signal 70.1 (entspricht ena1) können unter anderem die folgenden weiteren Funktionsparameter durch die Steuerungs-Pipeline 9 übertragen werden:

  • – Generator ID: Eine Angabe desjenigen Einzel-Code-Generators ECG1, ..., ECG47 (siehe 5), welcher die aktuellen Spreizcode-Bits erzeugt und gespeichert bereit hält; dieser Funktionsparameter wird bis zur Entspreizstufe 4 geleitet und steht außerdem über die Datenverbindung 18, 24 dem Pufferspeicher BF zur Verfügung.
  • – Zeitfehler μ: Es kann ein Betriebsmodus vorgesehen sein, in welchem der Zeitfehler μ temporär nicht von dem Early-/Late-Korrelator EL sondern direkt von dem DSP bereitgestellt wird. Bei diesem Betriebsmodus wird der Zeitfehler μ über die Steuerungs-Pipeline 9 dem Interpolator TVI 3 zugeleitet.
Next to the enable signal 70.1 (equivalent to ena1) may include the following additional functional parameters through the control pipeline 9 be transmitted:
  • - Generator ID: An indication of the single code generator ECG1, ..., ECG47 (see 5 ) which generates and stores stored the current spreading code bits; this function parameter is up to the despreading stage 4 and is also on the data connection 18 . 24 the buffer BF available.
  • Time error μ: An operating mode can be provided in which the time error μ is temporarily not provided by the early / late correlator EL but directly by the DSP. In this mode of operation, the time error μ is via the control pipeline 9 the interpolator TVI 3 fed.

Der Funktionsblock P/S-Wandler 2 kann autonom sein, d.h. lediglich – wie jeder Funktionsblock – durch das zugehörige Enable-Signal ena1 gemäß dem erfindungsgemäßen Prinzip des „clock-gatings" angesteuert werden. Ferner wird darauf hingewiesen, dass weitere Funktionsparameter, wie beispielsweise Betriebsmodi-Signale und dergleichen, über die Steuerungs-Pipeline 9 übertragen werden können.The function block P / S converter 2 may be autonomous, ie merely - like any functional block - be driven by the associated enable signal ena1 according to the inventive principle of "clock-gating." It is further noted that other functional parameters, such as operating mode signals and the like, over the control pipeline 9 can be transmitted.

5 zeigt ein zweites Anwendungsbeispiel der erfindungsgemäßen Hardware-Architektur in einem Funkempfänger. Dargestellt ist eine Code-Generatorsteuerung CON', welche die Quelle für zwei Daten-Pipelines und eine gemeinsame Steuerungs-Pipeline ist, die zur Erzeugung eines Scrambling-Codes und eines Channelization-Codes benötigt werden. Die Daten-Pipeline für den Channelization-Code-Generator besteht aus drei Funktionsblöcken , nämlich einer Multiplex-Taktschema-Anspassungstufe ("2 clock to 4 clock scheure conversion") 100, einem Channelization-Code-Generator 101 und einer Pipeline-Tiefenanpassungsstufe ("pipe depth adaption") 102. Für den Scrambling-Code-Generator besteht die Daten-Pipeline aus den Funktionsblöcken "ROM address calculation" 103, "Scrambling Code ROM X" 104 – "Scrambling Code ROM Y" 105 und "Scrambling Generator Seed value calculation" 106. Die Steuerungs-Pipeline "ctrl Pipe" ist mit dem Bezugszeichen 110 bezeichnet und umfasst, wie in dem in 3 dargestellten Beispiel, die Taktversorgungs-Pipeline. 5 shows a second application example of the hardware architecture according to the invention in a radio receiver. Shown is a code generator controller CON ', which is the source for two data pipelines and a common control pipeline needed to generate a scrambling code and a channelization code. The data pipeline for the channelization code generator consists of three functional blocks, namely a "2 clock to 4 clock scheure conversion" multiplex clock scheme matching stage. 100 , a channelization code generator 101 and a pipe depth adaptation stage 102 , For the scrambling code generator, the data pipeline consists of the function blocks "ROM address calculation" 103 , "Scrambling Code ROM X" 104 - "Scrambling Code ROM Y" 105 and "scrambling generator seed value calculation" 106. The control pipeline "ctrl pipe" is designated by the reference numeral 110 and includes, as in the in 3 illustrated example, the clock supply pipeline.

Die beiden Daten-Pipelines 100, 101, 102 bzw. 103, 104/105, 106 sind im Prinzip unabhängig voneinander, werden aber von der gemeinsamen Steuerungs-Pipeline 110 angesteuert. Die Funktionen in den aufeinander folgenden Funktionsblöcken 100, 101, 102 bzw. 103, 104/105, 106 werden jeweils in einem Verarbeitungstakt (entspricht bei maximaler Rate dem Systemtakt von 124,8 MHz) abgearbeitet, wodurch sich aufgrund der Pipeline-Tiefe eine Latenz von 3 Verarbeitungstakten ergibt.The two data pipelines 100 . 101 . 102 respectively. 103 . 104 / 105 . 106 are basically independent of each other, but are from the common control pipeline 110 driven. The functions in the successive function blocks 100 . 101 . 102 respectively. 103 . 104 / 105 . 106 are each processed in a processing cycle (corresponds to the system clock of 124.8 MHz at maximum rate), resulting in a latency of 3 processing cycles due to the pipeline depth.

An den in der erfindungsgemäßen Pipeline-Architektur aufgebauten ersten Abschnitt CG1 des Code-Generators CG schließt sich ein zweiter Abschnitt CG2 an. Der zweite Schaltungsabschnitt CG2 umfasst beispielsweise 47 Einzel-Code-Generatoren ECG1, ..., ECG47. Jeder Einzel-Code-Generator ECG1, ..., ECG47 weist eingangsseitig einen Scrambling-Code-Bit-Generator SCBG auf. Dem Scrambling-Code-Bit-Generator SCBG werden die Ausgangssignale 111 der Daten-Pipeline zur Erzeugung eines Scrambling-Codes und der Ausgang der Steuerungs-Pipeline 110 zugeleitet.The first section CG1 of the code generator CG, which is constructed in the pipeline architecture according to the invention, is adjoined by a second section CG2. The second circuit section CG2 includes, for example, 47 single-code generators ECG1, ..., ECG47. Each individual code generator ECG1, ..., ECG47 has on the input side a scrambling code bit generator SCBG. The scrambling code bit generator SCBG becomes the output signals 111 the data pipeline for generating a scrambling code and the output of the control pipeline 110 fed.

Scrambling-Code-Bit-Generatoren SCBG sind im Stand der Technik bekannt. Es handelt sich um rückgekoppelte Schieberegister, welche eine feste, durch den Standard vorgegebene Funktionsbeschaltung aufweisen. Der Scrambling-Code-Generator für den UMTS-Standard ist in "3 GPP: Spreading and Modulation (FDD)", 3rd Generation Partnership Project TS 25.213 V4.2.0 (2001-12), in Kap. 5.2.2, beschrieben. Demnach umfasst der Scrambling-Code-Bit-Generator im UMTS-Standard zwei rückgekoppelte Schieberegister, wobei die feste Funktionsbeschaltung des ersten Schieberegisters durch das Polynom f1(x) = 1 + x7 + x18 und die Funktionsbeschaltung des zweiten Schieberegisters durch das Polynom f2(x) = 1 + x5 + x7 + x10 + x18 bestimmt sind. Zum Verständnis der in 5 dargestellten Schaltung ist es lediglich erforderlich zu wissen, dass ein bestimmter Scrambling-Code dadurch erzeugt wird, dass beide Schieberegister des Scrambling-Code-Bit-Generators SCBG mit einer zuvor in der Daten-Pipeline 103, 104/105, 106 berechne ten bestimmten Anfangsbelegung initialisiert werden. Diese Anfangsbelegungen werden als X Seed und Y Seed bezeichnet. Zu ihrer Erzeugung werden die zugehörigen Code-Nummern von der Code-Generator-Steuerung CON' ausgegeben, in dem Funktionsblock 103 werden entsprechende Adressen zum Lesen von charakteristischen Parametern für die X und Y Seeds berechnet, die Parameter werden aus den Funktionsblöcken (ROM-Speichern) 104, 105 ausgelesen, und aus den Parametern werden in dem Funktionsblock 106 die entsprechenden X und Y Seeds berechnet und über die Datenverbindung 111 in die beiden Schieberegister des jeweiligen Scrambling-Code-Bit-Generators SCBG geschrieben. Damit ist der Scrambling-Code-Bit-Generator SCBG initialisiert. Die Erzeugung der eigentlichen Code-Bits erfolgt durch ein gemeinsames Takten der beiden rückgekoppelten Schieberegister eines Scrambling-Code-Bit-Generators SCBG und eine Verknüpfung der Ausgänge der beiden Schieberegister in der in dem oben angegebenen Standard vorgegebenen Weise. Am Ausgang 112 des Scrambling-Code-Bit-Generators SCBG werden die Bits des in dem jeweiligen Einzel-Code-Generator ECG1, ..., ECG47 erzeugten Scrambling-Codes ausgegeben. Nicht benötigte Scrambling-Code-Bit-Generatoren SCBG werden über das am Ausgang der Steuerung-Pipeline 110 zur Verfügung stehende Enable-Signal deaktiviert.Scrambling code bit generators SCBG are known in the art. These are feedback shift registers which have a fixed function circuit predetermined by the standard. The scrambling code generator for the UMTS standard in "3GPP: Spreading and Modulation (FDD)," 3rd Generation Partnership Project TS 25.213 V4.2.0 (2001-12), in Chap. 5.2.2, described. Accordingly, the UMTS standard scrambling code bit generator comprises two feedback shift registers, the fixed function circuit of the first shift register being defined by the polynomial f 1 (x) = 1 + x 7 + x 18 and the function shift of the second shift register by the polynomial f 2 (x) = 1 + x 5 + x 7 + x 10 + x 18 are determined. To understand the in 5 It is only necessary to know that a particular scrambling code is generated by having both shift registers of the scrambling code bit generator SCBG with one previously in the data pipeline 103 . 104 / 105 . 106 be calculated initialized certain initial occupancy. These initial assignments are referred to as X Seed and Y Seed. For their generation, the associated code numbers are output from the code generator controller CON ', in the function block 103 corresponding addresses for reading characteristic parameters for the X and Y seeds are calculated, the parameters are calculated from the function blocks (ROM memories) 104 . 105 read out, and from the parameters are in the function block 106 the corresponding X and Y seeds are calculated and sent via the data connection 111 written in the two shift registers of the respective scrambling code bit generator SCBG. This initializes the scrambling code bit generator SCBG. The actual code bits are generated by jointly clocking the two feedback shift registers of a scrambling code bit generator SCBG and linking the outputs of the two shift registers in the manner specified in the above-indicated standard. At the exit 112 of the scrambling code bit generator SCBG, the bits of the scrambling code generated in the respective single code generator ECG1, ..., ECG47 are output. Unnecessary scrambling code bit generators SCBG are beyond the output of the control pipeline 110 available enable signal disabled.

Die einzelnen Bits des Channelization-Codes werden bereits in dem Funktionsblock 101 des ersten Abschnitts CG1 des Code-Generators CG erzeugt. Der Funktionsblock 101 umfasst dabei zwei Channelization-Code-Generatoren. Jeder Channelization-Code-Generator arbeitet im 4-Takt-Schema, d.h. er erzeugt immer genau 4 aufeinander folgende Bits eines Channelization-Codes. Als Information benötigt jeder Channelization-Code-Generator die Nummer des Channelization-Codes, den Spreizfaktor des Channelization-Codes und den zeitlichen Offset, d.h. eine Angabe, welche 4 Chips des bis zu 256 Chips umfassenden Codes aktuell erzeugt werden sollen. Diese Informationen liegen am Eingang der Multiplex-Taktschema-Anpassungsstufe 100 im 2-Takt-Schema vor, da alle zwei Systemtakte einer der bei den Channelization-Code-Generatoren im Funktionsblock 101 neu gestartet wird. Die Aufgabe der Multiplex-Taktschema-Anpassungsstufe 100 besteht darin, diese im 2-Takt-Schema erhaltenen Informationen (Channelization-Code-Nummer, Spreizfaktor, zeitlicher Offset) jeweils über vier Systemtakte stabil zu halten, damit sie für die Ansteuerung der beiden Channelization-Code-Generatoren im Funktionsblock 101 geeignet ist.The individual bits of the channelization code are already in the function block 101 of the first section CG1 of the code generator CG. The function block 101 includes two channelization code generators. Each channelization code generator operates on the 4-clock scheme, ie it always generates exactly 4 consecutive bits of a channelization code. As information, each channelization code generator requires the number of the channelization code, the spreading factor of the channelization code and the time offset, ie an indication of which 4 chips of the up to 256 chip code are currently to be generated. This information is at the input of the multiplex clock scheme adaptation stage 100 in the 2-clock scheme, since every two system clocks is one of the channelization code generators in the function block 101 is restarted. The task of the multiplex clock scheme adaptation stage 100 consists of keeping these information (channelization code number, spreading factor, time offset), obtained in the 2-cycle scheme, stable over four system clocks in each case so that they can be used to drive the two channelization code generators in the function block 101 suitable is.

Die Pipeline-Tiefenanpassungsstufe 102 ist eine reine Verzögerungsstufe, d.h. sie wird lediglich dafür benötigt, um die Datensynchronität zwischen den beiden Daten-Pipelines 100, 101, 102 bzw. 103, 104/105, 106 sicherzustelle. Die am Ausgang des Funktionsblockes 102 über eine Datenverbindung 113 ausgegebenen Bits des Channelization-Codes werden in dem Multiplizierer MUL mit den über die Datenverbindung 112 erhaltenen Bits des erzeugten Scrambling-Codes multipliziert. Dabei werden in jedem Einzel-Code-Generator ECG1, ..., ECG47 jeweils 4 komplexwertige Bits (d.h. eigentlich 8 Bits) des erzeugten (komplexwertigen) Scrambling-Codes mit den (aufgrund der Stufe 102 richtigen) 4 Bits des über die Datenverbindung 113 erhaltenen (reellwertigen) Channelization-Codes in dem Multiplizierer MUL multipliziert und als 4 Bit Sequenz des gesuchten Spreizcodes an einen ersten Multiplexer MUX1 ausgegeben. In einem Zeitmultiplex-Zyklus (130 Systemtakte einer Frequenz von 128,4 MHz) werden sämtliche 47 Einzel-Code-Generatoren ECG1, ..., ECG47 der Reihe nach betrieben, wobei jeden zweiten Systemtakt der nächste Einzel-Code-Generator gestartet wird. Für jeden Einzel-Code-Generator ECG1, ..., ECG47 stehen dann vier Systemtakte für die Prozessierung zur Verfügung. Die 4 komplexwertigen Spreizcode-Bits werden mittels des ersten Multiplexers MUX1 wechselweise in einen ersten 4-Bit-Speicherbereich BF1 (für komplexwertige Bits) des Pufferspeichers BF und in einen zweiten 4-Bit-Speicherbereich BF2 (für komplexwertige Bits) des Pufferspeichers BF geschrieben. Gleichzeitig erfolgt über einen zweiten Multiplexer MUX2, der am Ausgang des Pufferspeichers BF angeordnet ist, ein ebenfalls wechselweiser Zugriff auf denjenigen Spei cherbereich BF1, BF2, der eingangsseitig aktuell nicht beschrieben wird. Die komplementäre Steuerung der beiden Multiplexer MUX1 und MUX2 erfolgt über eine Steuerleitung 114, die von der Steuerung RAKE_CON Zeitmultiplex-Zyklus für Zeitmultiplex-Zyklus (d.h. alle 4 Chip-Takte) umgeschaltet wird.The pipeline depth adjustment level 102 is a pure delay stage, ie it is only needed to synchronize the data between the two data pipelines 100 . 101 . 102 respectively. 103 . 104 / 105 . 106 sicherzustelle. The at the output of the function block 102 via a data connection 113 output bits of the channelization code are in the multiplier MUL with the over the data connection 112 received bits of the generated scrambling code multiplied. In this case, in each individual code generator ECG1, ..., ECG47 each 4 complex-valued bits (ie actually 8 bits) of the generated (complex-valued) scrambling code with the (due to the stage 102 right) 4 bits of the data connection 113 obtained (real-valued) channelization codes multiplied in the multiplier MUL and output as a 4-bit sequence of the searched spreading code to a first multiplexer MUX1. In a time multiplex cycle ( 130 System clocks of a frequency of 128.4 MHz) are all 47 Single-code generators ECG1, ..., ECG47 operated in sequence, with every second system clock, the next single-code generator is started. For each individual code generator ECG1, ..., ECG47, four system clocks are available for processing. The 4 complex-value spreading-code bits are alternately written by means of the first multiplexer MUX1 into a first 4-bit memory area BF1 (for complex-valued bits) of the buffer memory BF and into a second 4-bit memory area BF2 (for complex-valued bits) of the buffer memory BF. At the same time via a second multiplexer MUX2, which is arranged at the output of the buffer BF, a likewise alternate access to those memory area BF1, BF2, the input side is currently not described. The complementary control of the two multiplexers MUX1 and MUX2 via a control line 114 which is toggled by the RAKE_CON Time Division Multiplexing Cycle (ie, every 4 chip clocks).

Ein weiterer Multiplexer MUX3 nimmt sämtliche 47 komplexwertige 4-Bit-Code-Abschnitte, die von den Einzel-Code-Generatoren ECG1, ..., ECG47 im Multiplex-Betrieb geliefert werden, entgegen und leitet in Abhängigkeit von dem über die Datenverbindung 24 bezogenen Funktionsparameter den gerade benötigten Code-Abschnitt über die Datenverbindung 25 der Entspreizstufe 4 im Rake-Finger RF zu.Another multiplexer MUX3 takes all 47 Complex-valued 4-bit code sections, which are supplied by the single-code generators ECG1, ..., ECG47 in the multiplex mode, and depending on the over the data connection 24 related function parameters the currently required code section via the data connection 25 the despreading stage 4 in the rake finger RF too.

Die Code-Generator-Steuerung CON', welche die Sequenzer-Schaltung SQ der in 5 dargestellten Architektur bildet, steht mit einem ersten Parameterspeicher S_RAM, in welchem Parameter für die Erzeugung der Scrambling-Codes abgelegt sind, und einem zweiten Parameterspeicher C_RAM, in welchem Parameter für die Erzeugung des Channelization-Codes abgelegt sind, in Verbindung. Diese Parameter sind die Parameter für die Ansteuerung der jeweiligen Daten-Pipeline (d.h. mit den Parametern aus dem Parameterspeicher C_RAM werden die Funktionsblöcke 100, 101 und 102 angesteuert, während mit den Parametern aus dem Parameterspeicher S_RAM die Funktionsblöcke 103, 104/105 und 106 angesteuert werden). Die Parameterspeicher S_RAM und C_RAM entsprechen in der 3 dem Parameter-Speicher SP2.The code generator controller CON ', which the sequencer circuit SQ of in 5 illustrated architecture, is connected to a first parameter memory S_RAM, in which are stored parameters for the generation of the scrambling codes, and a second parameter memory C_RAM, in which parameters are stored for the generation of the channelization code. These parameters are the parameters for controlling the respective data pipeline (ie the parameters from the parameter memory C_RAM become the function blocks 100 . 101 and 102 controlled, while with the parameters from the Parameterpei S_RAM the function blocks 103 . 104 / 105 and 106 be controlled). The parameter memories S_RAM and C_RAM correspond in the 3 the parameter memory SP2.

Über die gemeinsame Steuerungs-Pipeline 110 können beispielsweise die folgenden Funktionsparameter übertragen werden: Für die Pipeline 103, 104/105, 106:

  • – Scrambling-Code-Nummer
  • – Scrambling-Code-Timing,
für die Pipeline 100, 101, 102:
  • – Channelization-Code-Nummer
  • – Spreizfaktor
  • – zeitlicher Offset (Channelization-Code Timing).
About the common control pipeline 110 For example, the following function parameters can be transferred: For the pipeline 103 . 104 / 105 . 106 :
  • - Scrambling code number
  • - Scrambling code timing,
for the pipeline 100 . 101 . 102 :
  • - Channelization code number
  • - Spreading factor
  • - Time offset (channelization code timing).

Ferner umfasst die Steuerungs-Pipeline 110, wie in 1 dargestellt, die Taktversorgung-Pipeline und erzeugt somit die Funktionsblock-spezifischen Enable-Signale ena1, ena2, .... Da, wie bereits erwähnt, infolge des hier gewählten Zeitmultiplex-Betriebs alle 2 Systemtakte ein anderer Channelization- und/oder Scrambling-Code in dem Code-Generator CG erzeugt wird, können sich die jeweiligen Enable-Signale ena1, ena2, ... bei diesem Ausführungsbeispiel nur alle 2 Systemtakte ändern. Wenn beispielsweise ein bestimmter Scrambing-Code Generator nicht konfiguriert zu werden braucht, so wird der Funktionsblock 103 für die Adressberechnung der Scrambling-Code-Initialisierungswerte (Seeds) während der 2 Systemtakte, die für die Erzeugung dieses Scrambling-Codes in der Zeitmultiplex-Prozessierung vorgesehen sind, deaktiviert.Further, the control pipeline includes 110 , as in 1 shown, the clock supply pipeline and thus generates the function block-specific enable signals ena1, ena2, .... Since, as already mentioned, due to the time-division multiplex operation selected here, every 2 system clocks, a different channelization and / or scrambling code is generated in the code generator CG, the respective enable signals ena1, ena2, ... change in this embodiment only every 2 system clocks. For example, if a particular scrambing code generator does not need to be configured, the function block becomes 103 for the address calculation of the scrambling code initialization values (seeds) during the 2 system clocks which are provided for the generation of this scrambling code in the time-division multiplexing processing.

Claims (10)

Hardwareabschnitt zur Signalverarbeitung in einem Funkempfänger, welcher aufweist: – eine erste Pipeline-Struktur, die eine Sequenz von mehreren alternierend angeordneten Funktionsblöcken (F1, F2, F3, F4) und getakteten ersten Registern (R1, R2, R3, R4) zur Verarbeitung von Daten umfasst, welche der ersten Pipeline-Struktur an einem Eingang derselben zugeführt werden, – eine zweite Pipeline-Struktur, die eine Sequenz von parallel zu den ersten Registern (R1, R2, R3, R4) angeordneten und synchron zu den ersten Registern getakteten zweiten Registern (R1', R2', R3', R4') aufweist, zur Weiterleitung von Funktionsparametern für die Funktionsblöcke (F1, F2, F3, F4), – Verbindungen zwischen der zweiten Pipeline-Struktur und Funktionsblöcken (F1, F2, F3, F4) der ersten Pipeline-Struktur, über welche zumindest einige der Funktionsblöcke jeweilige Funktionsparameter aus der zweiten Pipeline-Struktur beziehen, und – ein Mittel zum Erzeugen von Register-Taktsignalen für die Paare korrespondierender erster und zweiter Register (R1, R1'; R2, R2'; R3, R3'; R4, R4').Hardware section for signal processing in one Radio receiver which has: - one first pipeline structure, alternating a sequence of several arranged function blocks (F1, F2, F3, F4) and clocked first registers (R1, R2, R3, R4) for processing data representing the first pipeline structure at a Input supplied to the same become, - one second pipeline structure, which is a sequence parallel to the first Registers (R1, R2, R3, R4) arranged and synchronous to the first Registers clocked second registers (R1 ', R2', R3 ', R4'), for forwarding of functional parameters for the function blocks (F1, F2, F3, F4), - Links between the second pipeline structure and function blocks (F1, F2, F3, F4) of the first pipeline structure over which at least some of the functional blocks relate respective function parameters from the second pipeline structure, and - one Means for generating register clock signals for the pairs of corresponding ones first and second registers (R1, R1 ', R2, R2', R3, R3 ', R4, R4'). Hardwareabschnitt nach Anspruch 1, gekennzeichnet durch eine Sequenzer-Schaltung (SQ), die der ersten Pipeline-Struktur und der zweiten Pipeline-Struktur vorgeschaltet ist, zur Bereitstellung der Daten für die erste Pipeline-Struktur und der Funktionsparameter für die zweite Pipeline-Struktur.Hardware section according to claim 1, characterized through a sequencer circuit (SQ), which is the first pipeline structure and upstream of the second pipeline structure for deployment the data for the first pipeline structure and the function parameter for the second Pipeline structure. Hardwareabschnitt nach Anspruch 1 oder 2, gekennzeichnet durch, dass das Mittel zum Erzeugen der Register-Taktsignale aufweist: – ein Systemtakt-Erzeugungsmittel zur Erzeugung eines Systemtaktes (clk), und – eine dritte Pipeline-Struktur bestehend aus parallel zu den Register-Paaren (R1, R1'; R2, R2'; R3, R3'; R4, R4') angeordneten Stufen (C1; DF1, C2; DF2, C3; DF3, C4) zum jeweiligen Abschalten der Taktversorgung der Register-Paare in Abhängigkeit von einem Steuersignal (ena1), das der dritten Pipeline-Struktur an ihrem Eingang zugeleitet wird.Hardware section according to claim 1 or 2, characterized in that the means for generating the register clock signals comprises: A system clock generating means for generating a system clock (clk), and - a third Pipeline structure consisting of parallel to the register pairs (R1, R1 ', R2, R2', R3, R3 ', R4, R4') arranged stages (C1, DF1, C2, DF2, C3, DF3, C4) for respectively switching off the clock supply the register pairs depending from a control signal (ena1), that of the third pipeline structure is forwarded at its entrance. Hardwareabschnitt nach Anspruch 2 oder 3, gekennzeichnet durch, dass die Sequenzer-Schaltung (SQ) ausgelegt ist, die Pipeline-Strukturen im Zeitmultiplex zu betreiben.Hardware section according to claim 2 or 3, characterized by that the sequencer circuit (SQ) is designed, the pipeline structures operate in time multiplex. Rake-Empfänger in einem Funkempfänger, umfassend einen Hardwareabschnitt nach einem der vorhergehenden Ansprüche.Rake receiver in a radio receiver, comprising a hardware section according to any one of the preceding claims. Rake-Empfänger nach Anspruch 5, gekennzeichnet durch, dass als Funktionsblöcke (F2, F3, F4) der ersten Pipeline-Struktur vorgesehen sind: – ein Block (3) zur Berechnung eines interpolierten Datensignals, – ein Block (4) zur Entspreizung des interpolierten Datensignals mit einem Spreizcode, und – ein Block (5) zum Bilden von Symbolen aus einer Anzahl von sf Chips, wobei sf der Spreizfaktor des verwendeten Spreizcodes ist.Rake receiver according to claim 5, characterized in that as function blocks (F2, F3, F4) of the first pipeline structure are provided: - a block ( 3 ) for calculating an interpolated data signal, - a block ( 4 ) for despreading the interpolated data signal with a spreading code, and - a block ( 5 ) to form symbols from a number of sf chips, where sf is the spreading factor of the spreading code used. Rake-Empfänger nach Anspruch 6, gekennzeichnet durch, dass ferner ein Block (2) zur Parallel-zu-Seriell-Wandlung als eingangsseitig erster Funktionsblock (F1) der ersten Pipeline-Struktur vorgesehen ist.Rake receiver according to claim 6, characterized in that further comprises a block ( 2 ) is provided for parallel-to-serial conversion as the input side first functional block (F1) of the first pipeline structure. Scrambling- oder Channelization-Code Generator in einem Funkempfänger, umfassend einen Hardwareabschnitt nach einem der Ansprüche 1 bis 4.Scrambling or channelization code generator in a radio receiver, comprising a hardware section according to one of claims 1 to 4. Scrambling-Code Generator nach Anspruch 8, gekennzeichnet durch, dass als Funktionsblöcke (F1, F2, F3) der ersten Pipeline-Struktur vorgesehen sind: – ein Funktionsblock (103) zur Berechnung von Adressen für einen nichtflüchtigen Speicher (104, 105), – ein nichtflüchtigen Speicher (104, 105), in welchem Scrambling-Code-spezifische Parameter für die Berechnung einer Initialbelegung eines Scrambling-Code-Bit-Generators (SCBG) abgelegt sind, und – ein Funktionsblock (106) zur Berechnung der Initialbelegung eines Scrambling-Code-Bit-Generators (SCBG).Scrambling code generator according to claim 8, characterized in that as function blocks (F1, F2, F3) of the first pipeline structure are provided: - a function block ( 103 ) for calculating addresses for a non-volatile memory ( 104 . 105 ), - a non-volatile memory ( 104 . 105 ), in which scrambling code-specific parameters for the calculation of an initial assignment of a scrambling co de bit generator (SCBG) are stored, and - a function block ( 106 ) for calculating the initial assignment of a scrambling code bit generator (SCBG). Channelization-Code Generator nach Anspruch 8, gekennzeichnet durch, dass als Funktionsblöcke (F1, F2, F3) der ersten Pipeline-Struktur vorgesehen sind: – eine Multiplex-Taktschema-Anpassungsstufe (100), – ein Channelization-Code-Generator (101), und – eine Pipeline-Tiefenanpassungsstufe (102).Channelization code generator according to claim 8, characterized in that as function blocks (F1, F2, F3) of the first pipeline structure are provided: - a multiplexing timing scheme adaptation stage ( 100 ), - a channelization code generator ( 101 ), and - a pipeline depth adjustment stage ( 102 ).
DE2003116800 2003-04-11 2003-04-11 Power loss optimized radio receiver architecture Expired - Fee Related DE10316800B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2003116800 DE10316800B4 (en) 2003-04-11 2003-04-11 Power loss optimized radio receiver architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2003116800 DE10316800B4 (en) 2003-04-11 2003-04-11 Power loss optimized radio receiver architecture

Publications (2)

Publication Number Publication Date
DE10316800A1 DE10316800A1 (en) 2004-11-04
DE10316800B4 true DE10316800B4 (en) 2005-07-07

Family

ID=33103338

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003116800 Expired - Fee Related DE10316800B4 (en) 2003-04-11 2003-04-11 Power loss optimized radio receiver architecture

Country Status (1)

Country Link
DE (1) DE10316800B4 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000025437A1 (en) * 1998-10-27 2000-05-04 Siemens Aktiengesellschaft Rake receiver in third generation mobile radiotelephone systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000025437A1 (en) * 1998-10-27 2000-05-04 Siemens Aktiengesellschaft Rake receiver in third generation mobile radiotelephone systems

Also Published As

Publication number Publication date
DE10316800A1 (en) 2004-11-04

Similar Documents

Publication Publication Date Title
DE69736444T2 (en) Efficient multi-channel filtering for CDMA modems
DE60118715T2 (en) CORRELATION FILTER FOR THE REVERSE CHANNEL IN A WIRELESS CDMA SYSTEM WITH MULTIPLE BIT RATES
DE60037541T2 (en) Apparatus and method for generating encryption keys in a UMTS mobile messaging system
DE69724922T2 (en) CDMA chip synchronization circuit
DE69628885T2 (en) RECEIVER AND METHOD FOR GENERATING SPREAD CODES IN A RECEIVER
DE60013443T2 (en) SIGNAL-FITTED FILTER WITH REDUCED POWER CONSUMPTION USING PRE-CALCULATIONS
DE60033705T2 (en) Efficient spreader for spread spectrum transmission systems
DE60009759T2 (en) SIGNAL-ADJUSTED FILTER USING PRESET COMBINATIONS IN A TIME-MULTIPLEXED PROCESS
DE69829263T2 (en) Digital filter, digital signal processing and communication device
DE10316800B4 (en) Power loss optimized radio receiver architecture
DE60225729T2 (en) A memory-based device and method for channel estimation in a digital communications receiver
DE10004874C2 (en) Device for performing search procedures in a mobile radio receiver
EP1495552A1 (en) Method and device for calculating an iterated state of feedback shift register arrangement
DE60124817T2 (en) Synchronization detection device
DE10241693B4 (en) Method and device for performing a plurality of correlation procedures in a mobile radio environment
EP1469609B1 (en) Method and system for radio transmission
DE602004012863T2 (en) SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR DEMODULATING QUADRATURE AMPLITUDE MODULATED SIGNALS DUE TO RECEIVER SPEED
EP1221194A2 (en) Device and method for spectral shaping of a transmission signal in a radio transmitter
DE10149512A1 (en) Synchronization of data transmission between two circuits e.g. of different technology, by adjusting phase of both clocks before reading data from buffer at second clock rate
DE10306301B3 (en) Spreading code generating arrangement for mobile radio system has first channelizaton code generating unit device(s) and/or code generator unit(s) has second channelizaton code generating unit
EP1400018B1 (en) Signal generator for a dsss or cdma signal
DE102004017488B4 (en) A method and apparatus for combining symbols for different transmit antenna diversity modes in a Rake receiver
DE102007043767B4 (en) Receiver of a CDMA system with a path matching circuit
DE19910344A1 (en) Hardware based code generator for universal personal telecommunications
DE10260653B4 (en) A mobile radio receiver architecture and method for synchronizing hardware blocks of a mobile radio receiver

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R081 Change of applicant/patentee

Owner name: INTEL MOBILE COMMUNICATIONS GMBH, DE

Free format text: FORMER OWNER: INTEL MOBILE COMMUNICATIONS TECHNOLOGY GMBH, 85579 NEUBIBERG, DE

Effective date: 20130306

Owner name: INTEL MOBILE COMMUNICATIONS GMBH, DE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 81669 MUENCHEN, DE

Effective date: 20130306

Owner name: INTEL MOBILE COMMUNICATIONS GMBH, DE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES DELTA GMBH, 85579 NEUBIBERG, DE

Effective date: 20130306

Owner name: INTEL DEUTSCHLAND GMBH, DE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES DELTA GMBH, 85579 NEUBIBERG, DE

Effective date: 20130306

Owner name: INTEL DEUTSCHLAND GMBH, DE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 81669 MUENCHEN, DE

Effective date: 20130306

Owner name: INTEL DEUTSCHLAND GMBH, DE

Free format text: FORMER OWNER: INTEL MOBILE COMMUNICATIONS TECHNOLOGY GMBH, 85579 NEUBIBERG, DE

Effective date: 20130306

R081 Change of applicant/patentee

Owner name: INTEL DEUTSCHLAND GMBH, DE

Free format text: FORMER OWNER: INTEL MOBILE COMMUNICATIONS GMBH, 85579 NEUBIBERG, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee