FR2754366A1 - Coprocesseur de filtre - Google Patents
Coprocesseur de filtre Download PDFInfo
- Publication number
- FR2754366A1 FR2754366A1 FR9710122A FR9710122A FR2754366A1 FR 2754366 A1 FR2754366 A1 FR 2754366A1 FR 9710122 A FR9710122 A FR 9710122A FR 9710122 A FR9710122 A FR 9710122A FR 2754366 A1 FR2754366 A1 FR 2754366A1
- Authority
- FR
- France
- Prior art keywords
- filter
- sep
- data
- complex
- purely
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03006—Arrangements for removing intersymbol interference
- H04L25/03178—Arrangements involving sequence estimation techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H7/00—Multiple-port networks comprising only passive electrical elements as network components
- H03H7/30—Time-delay networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
- Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
- Complex Calculations (AREA)
- Filters That Use Time-Delay Elements (AREA)
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
- Preparation Of Compounds By Using Micro-Organisms (AREA)
- Filters And Equalizers (AREA)
- Facsimile Image Signal Circuits (AREA)
- Tone Control, Compression And Expansion, Limiting Amplitude (AREA)
- Hydrogenated Pyridines (AREA)
- Advance Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Un coprocesseur de filtre (figure 1) situé dans un processeur de signaux numériques (DSP) tire profit de la nature orthogonale de signaux modulés pendant le processus d'égalisation. Etant donné que, après la réception, seules certaines valeurs réelles/imaginaires du signal reçu sont utiles pour la démodulation, le coprocesseur de filtre (figure 1) ne traite que ces valeurs pour estimer le signal transmis. En ne traitant que les valeurs utiles pour la démodulation, le coprocesseur de filtre (figure 1) est capable de traiter plus d'informations dans un temps donné, avec pour conséquence un traitement accru par comparaison avec la technique antérieure.
Description
COPROCESSEUR DE FILTRE
Domaine de l'invention
La présente invention concerne généralement les coprocesseurs et plus particulièrement les coprocesseurs de filtre mis en oeuvre dans des processeurs de signaux numériques.
Domaine de l'invention
La présente invention concerne généralement les coprocesseurs et plus particulièrement les coprocesseurs de filtre mis en oeuvre dans des processeurs de signaux numériques.
Arrière plan de l'invention
Les systèmes de communication sans fil actuels, tels que les systèmes cellulaires numériques, nécessitent un traitement de signaux numériques important pour effectuer l'égalisation de voie, le codage/décodage de voie et le codage de parole. Un de ces systèmes cellulaires numériques est le système cellulaire numérique groupe spécial mobile (GSM). Dans une configuration typique de système cellulaire numérique
GSN, un processeur de signaux numériques (DSP) séparé est affecté & un créneau temporel, et ainsi huit DSP sont nécessaires pour égaliser une seule porteuse radiofréquence (RF). Toutefois, chaque sortie de l'égaliseur doit être entrée dans un autre DSP séparé pour effectuer le décodage de voie. Au total, seize DSP sont nécessaires pour égaliser/décoder une seule porteuse RF.
Les systèmes de communication sans fil actuels, tels que les systèmes cellulaires numériques, nécessitent un traitement de signaux numériques important pour effectuer l'égalisation de voie, le codage/décodage de voie et le codage de parole. Un de ces systèmes cellulaires numériques est le système cellulaire numérique groupe spécial mobile (GSM). Dans une configuration typique de système cellulaire numérique
GSN, un processeur de signaux numériques (DSP) séparé est affecté & un créneau temporel, et ainsi huit DSP sont nécessaires pour égaliser une seule porteuse radiofréquence (RF). Toutefois, chaque sortie de l'égaliseur doit être entrée dans un autre DSP séparé pour effectuer le décodage de voie. Au total, seize DSP sont nécessaires pour égaliser/décoder une seule porteuse RF.
Si 1'on considère le grand nombre de porteuses RF déployé dans un système cellulaire tel que le GSM, le nombre de DSP utilisé dans un récepteur devient coûteux.
Outre le coût, la taille du DSP est telle qu'en grand nombre, ils occupent une quantité importante de place, qui est précieuse à l'intérieur du récepteur. En outre, le grand nombre de DSP dissipe une quantité correspondante de chaleur qui doit être éliminée du récepteur. En bref, le grand nombre de DSP mis en oeuvre dans un récepteur tel que décrit ci-dessus présente un grand nombre d'inconvénients. Il existe donc un besoin de trouver une manière de recevoir le même nombre de signaux présents sur une seule porteuse RF sans avoir besoin du grand nombre de DSP affectés de l'art antérieur.
Brève description des dessins
La figure 1 décrit généralement, sous forme de schéma fonctionnel, l'architecture matérielle d'un coprocesseur de filtre suivant la présente invention.
La figure 1 décrit généralement, sous forme de schéma fonctionnel, l'architecture matérielle d'un coprocesseur de filtre suivant la présente invention.
La figure 2 représente une organisation générale de données, coefficients et de sortie pouvant être utilisée dans le coprocesseur de filtre de la figure 1.
Les figures 3 à 12 représentent l'organisation générale de données comme illustré sur la figure 2 pour des valeurs de décimation diverses de corrélation et de convolution pour les modes O et 1 lorsqu'elles sont appliquées à l'architecture matérielle de la figure 1.
La figure 13 représente généralement un égaliseur capable de bénéficiser du coprocesseur de filtre suivant la présente invention.
Les figures 14 à 19 représentent l'organisation générale de données comme représenté sur la figure 2, pour des valeurs de décimation diverses de corrélation et un filtrage adapté pour les modes 2 et 3 lorsqu'elles sont appliquées à l'architecture matérielle de la figure 1.
La figure 20 représente généralement le coprocesseur de filtre de la figure 1 mis en oeuvre de façon profitable dans un récepteur d'un système de communication sans fil.
Description détaillée d'un mode de réalisation préféré
De manière générale, un coprocesseur de filtre situé dans un processeur de signaux numériques (DSP) tire profit de la nature orthogonale des signaux modulés pendant le processus d'égalisation. Etant donné que, après la réception, seules certaines valeurs réelles/imaginaires du signal reçu sont utiles pour la démodulation, le coprocesseur de filtre ne traite que ces valeurs pour estimer le signal transmis. En ne traitant que les valeurs utiles pour la démodulation, le coprocesseur de filtre est capable de traiter plus d'informations dans un temps donné, avec pour conséquence un traitement accru par rapport à l'art antérieur.
De manière générale, un coprocesseur de filtre situé dans un processeur de signaux numériques (DSP) tire profit de la nature orthogonale des signaux modulés pendant le processus d'égalisation. Etant donné que, après la réception, seules certaines valeurs réelles/imaginaires du signal reçu sont utiles pour la démodulation, le coprocesseur de filtre ne traite que ces valeurs pour estimer le signal transmis. En ne traitant que les valeurs utiles pour la démodulation, le coprocesseur de filtre est capable de traiter plus d'informations dans un temps donné, avec pour conséquence un traitement accru par rapport à l'art antérieur.
Dans le mode de réalisation préféré, le coprocesseur de filtre comprend une première mémoire destinée à enregistrer des informations de données et une deuxième mémoire destinée à enregistrer des coefficients.
Le coprocesseur de filtre comporte également un contrôleur destiné à commander un multiplicateur/accumulateur pour effectuer des fonctions de multiplication/accumulation dans une pluralité de modes de fonctionnement et destiné à coordonner la récupération des informations de données et des coefficients.
Dans le mode de réalisation préféré, un mode de fonctionnement comprend en outre une corrélation entre une séquence de données complexes et une séquence de groupe moyen de données, la séquence de groupe moyen de données comprenant en alternance des valeurs complexes purement réelles/purement imaginaires. En outre, un autre mode de fonctionnement comprend une décimation de la sortie de la corrélation. Dans le mode de réalisation lié à la corrélation, un autre mode de fonctionnement comprend également une corrélation entre une séquence de données complexes suréchantillonnées 2X et une séquence de groupe moyen de données, la séquence de groupe moyen de données comprenant des valeurs complexes purement réelles/purement imaginaires en alternance 1X.
Toujours dans le mode de réalisation préféré, un mode de fonctionnement comprend en outre un filtrage adapté où les données d'entrée sont complexes, les coefficients liés au filtrage adapté sont complexes, et la sortie est une séquence réelle de données purement réelles/purement imaginaires en alternance. Un autre mode de fonctionnement comprend une décimation de la sortie du filtrage adapté.
Le coprocesseur de filtre décrit ci-dessus génère une sortie destinée à être utilisée par un algorithme d'estimation de séquences de probabilité maximum (MLSE).
Les coefficients du coprocesseur de filtre comprennent les coefficients de réponse de voies et les coefficients de filtre adapté. Pour minimiser l'intervention d'une unité centrale de traitement, le coprocesseur de filtre fonctionne dans un mode de fonctionnement dans lequel un appareil d'accès à la mémoire directe est utilisé pour transférer les données entrées depuis la mémoire dans le coprocesseur de filtre et une sortie allant du coprocesseur de filtre à la mémoire.
Le coprocesseur de filtre peut être appliqué à un égaliseur pour utilisation dans un récepteur compatible avec un système de communication sans fil. Dans ce mode de réalisation, l'égaliseur comprend un bloc de corrélation destiné à corréler une séquence de données complexes et une séquence de groupe moyen de données, la séquence de groupe moyen de données comprenant des valeurs complexes purement réelles/purement imaginaires et un bloc de filtrage adapté pour une entrée complexe de filtrage adapté en utilisant des coefficients complexes et en sortant une séquence réelle de données purement réelles/purement imaginaires en alternance. Un bloc d'estimation de séquence de probabilité maximum (MLSE) estime un signal transmis dans le système de communication sans fil sur la base de la sortie du bloc du filtrage adapté.
Dans ce mode de réalisation, le bloc de corrélation et le bloc de filtrage adapté sont mis en oeuvre à l'aide de la première et de la deuxième mémoires et d'un contrôleur destiné à commander un multiplicateur/accumulateur pour effectuer des fonctions de multiplication/accumulation dans un premier mode correspondant à la corrélation et un second mode correspondant au filtrage adapté. Le premier mode correspondant à la corrélation et le deuxième mode correspondant au filtrage adapté sont effectués dans le coprocesseur de filtre à l'intérieur d'un processeur de signaux numériques.
La figure 1 représente généralement l'architecture matérielle d'un coprocesseur de filtre suivant l'invention. Dans le mode de réalisation préféré, le coprocesseur de filtre est un coprocesseur de réponse impulsionnelle finie (FIR). Comme représenté sur la figure 1, le système est constitué par un bloc de mémoire de données 103 et un bloc de mémoire de coefficients 106 couplés ' à un multiplicateur/accumulateur 109 (MAC). La taille des blocs de mémoire est laissée à l'appréciation du concepteur du matériel, mais doit être assez importante pour s'adapter à la norme de télécommunication
GSM. La figure 1 illustre également deux voies spécialisées d'accès à la mémoire directe (DMA) 112 et 113, la première 112 étant destinée au transfert de données dans le bloc de mémoire de données et la deuxième 113 étant destinée au transfert de données des résultats de FIR renvoyés à l'unité centrale de traitement CPU.
GSM. La figure 1 illustre également deux voies spécialisées d'accès à la mémoire directe (DMA) 112 et 113, la première 112 étant destinée au transfert de données dans le bloc de mémoire de données et la deuxième 113 étant destinée au transfert de données des résultats de FIR renvoyés à l'unité centrale de traitement CPU.
Avec cette configuration, la quantité d'intervention de la CPU est minimisée pour être réduite à l'initialisation. Un tampon d'entrée de quatre mots 115 et un tampon de sortie d'un mot 118 constituent l'interface entre le processus de transfert DMA et le processus d'acquisition de données FIR. Le numéro de filtre 121 a pour tâche de commander la longueur du filtre FIR. Le générateur d'adresses 124 est responsable de la génération des pointeurs d'adresse en direction des blocs de mémoire 103 et 106 suivant un mode sélectionné.
L'unité de commande 127 commande le fonctionnement de FIR et assure l'interface avec la CPU.
Comme représenté sur la figure 1, une seule opération de Multiplication/Accumulation (MAC) est effectuée par cycle d'horloge. Cet architecture assure une flexibilité maximum pour gérer une grande variété d'applications de filtrage FIR, tout en maintenant un minimum d'étapes de calcul pour chaque application. Cela contribue à rendre cette solution peu coûteuse par rapport à la surface et au temps de calcul total.
Comme mentiqnné ci-dessus, l'architecture du coprocesseur de filtre présentée sur la figure 1 peut gérer de multiples modes. Dans le mode de réalisation préféré, quatre modes de fonctionnement (configurés par 2 bits de mode) sont gérés
1. Mode 0 - Filtre FIR réel.
1. Mode 0 - Filtre FIR réel.
2. Mode 1 - Filtre FIR complexe.
3. Mode 2 - Filtre FIR complexe générant des sorties purement réelles/purement imaginaires en alternance.
4. Mode 3 - Corrélation complexe entre une séquence de données entièrement complexe et une séquence complexe composée d'éléments de données purement~réelles/purement imaginaires en alternance.
Un bit de mode Non~Décimation/Décimation~par~2 supplémentaire a été défini pour gérer des systèmes de communication à Espace-T et Espace-T/2. Ainsi, les trois bits programmables permettent une mise en oeuvre efficace d'une large gamme d'applications de filtrage FIR, dont certaines sont énumérées et brièvement décrites cidessous
Filtre FIR à convolution réelle (figure 3)
Filtre FIR à convolution réelle avec décimation de sortie par 2 (figure 4)
Filtre FIR à corrélation réelle (figure 5) ;
Filtre FIR à corrélation réelle avec décimation de sortie par 2 (figure 6)
Filtre FIR à convolution complexe (figure 7)
Filtre FIR à convolution complexe avec décimation de sortie par 2 (figure 8)
Filtre FIR à convolution complexe générant uniquement des sorties réelles (figure 9)
Filtre FIR à convolution complexe générant uniquement des sorties imaginaires (figure 10) ;
Filtre FIR à corrélation complexe (figure 11)
Filtre FIR à corrélation complexe avec décimation de sorties par 2 (figure 12)
Filtre FIR complexe générant en alternance des sorties purement réelles/purement imaginaires (figure 14)
Filtre FIR complexe générant en alternance des sorties purement réelles/purement imaginaires décimées par 2 (figure 15) ;
Corrélation complexe entre une séquence de données entièrement complexe et une séquence complexe composée d'éléments de données purementréelles/purement~imaginaires en alternance (figures 16 et 17);
Corrélation complexe entre une séquence de données entièrement complexes suréchantillonnées par 2 et une séquence complexe composée d'éléments de données purement~réelles/purement~imaginaires en alternance (figures 18 et 19).
Filtre FIR à convolution réelle (figure 3)
Filtre FIR à convolution réelle avec décimation de sortie par 2 (figure 4)
Filtre FIR à corrélation réelle (figure 5) ;
Filtre FIR à corrélation réelle avec décimation de sortie par 2 (figure 6)
Filtre FIR à convolution complexe (figure 7)
Filtre FIR à convolution complexe avec décimation de sortie par 2 (figure 8)
Filtre FIR à convolution complexe générant uniquement des sorties réelles (figure 9)
Filtre FIR à convolution complexe générant uniquement des sorties imaginaires (figure 10) ;
Filtre FIR à corrélation complexe (figure 11)
Filtre FIR à corrélation complexe avec décimation de sorties par 2 (figure 12)
Filtre FIR complexe générant en alternance des sorties purement réelles/purement imaginaires (figure 14)
Filtre FIR complexe générant en alternance des sorties purement réelles/purement imaginaires décimées par 2 (figure 15) ;
Corrélation complexe entre une séquence de données entièrement complexe et une séquence complexe composée d'éléments de données purementréelles/purement~imaginaires en alternance (figures 16 et 17);
Corrélation complexe entre une séquence de données entièrement complexes suréchantillonnées par 2 et une séquence complexe composée d'éléments de données purement~réelles/purement~imaginaires en alternance (figures 18 et 19).
L'architecture matérielle du coprocesseur de filtre suivant la présente invention est compatible avec la norme de télécommunication GSM. Dans le GSM, l'accès multiple à répartition dans le temps (AMRT) est utilisé avec une structure de trame de 4,615 millisecondes qui contient 8 créneaux temporels. Chaque créneau temporel est constitué de 156,25 bits. Pour des salves de données normales, il y a 2 bits de données chiffrés à 58, 26 bits de séquence d'apprentissage, 6 bits de queue et 8,25 bits de garde. Pour une salve de données d'accès, il y a 36 bits de données codées, 41 bits de séquence d'apprentissage, 8 bits de queue étendus, 3 bits de queue et 68,25 bits de garde étendus. Le plan de modulation est un MSK filtré par un filtre Gaussien à codage différentiel (GMSK)
Les figures 3 à 12 représentent l'organisation de données générales comme représentée sur la figure 2 pour des valeurs de décimation diverses de corrélation et de convolution pour les modes 0 et 1 comme appliqués à l'architecture matérielle de la figure 1. Pour chaque figure, les étapes d'initialisation et de traitement des données sont fournies avec des puces, l'équation applicable utilisée pour effectuer le traitement étant également notée.
Les figures 3 à 12 représentent l'organisation de données générales comme représentée sur la figure 2 pour des valeurs de décimation diverses de corrélation et de convolution pour les modes 0 et 1 comme appliqués à l'architecture matérielle de la figure 1. Pour chaque figure, les étapes d'initialisation et de traitement des données sont fournies avec des puces, l'équation applicable utilisée pour effectuer le traitement étant également notée.
Filtre FIR à convolution réelle (figure 3 >
Equation
Initialisation
# Sélectionner numéro de filtre et de mode (= # valeurs de coefficient).
Equation
Initialisation
# Sélectionner numéro de filtre et de mode (= # valeurs de coefficient).
Initialiser coefficients dans la banque de coefficients en ordre inverse.
Mémoire centrale exécute les écritures #numéro~filtre.
Traitement
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer jusqu'à 4 nouveaux mots de données.
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer jusqu'à 4 nouveaux mots de données.
Initialiser données dans la banque de données en ordre direct Mémoire centrale/DMA exécute les écritures #numéro~filtre.
Calculer F(n), enregistrer résultat, déclencher
Mémoire centrale/DMA.
Mémoire centrale/DMA.
Accéder à nouveau mot de données dans la banque de données et incrémenter le pointeur de banque de données.
Filtre à convolution réelle avec décimation de sortie par 2 (figure 4)
Equation
Initialisation
# Sélectionner numéro de mode et de filtre (= # valeurs de coefficient).
Equation
Initialisation
# Sélectionner numéro de mode et de filtre (= # valeurs de coefficient).
Initialiser coefficient dans la banque de coefficients en ordre inverse.
Mémoire centrale exécute écriture #numéro~filtre.
Traitement
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer jusqu'à 4 nouveaux mots de données.
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer jusqu'à 4 nouveaux mots de données.
Initialiser données dans la banque de données en ordre direct Mémoire centrale/DMA exécute les écritures Enuméro~filtre.
Calculer F(n), enregistrer résultat, déclencher
Mémoire centrale/DMA.
Mémoire centrale/DMA.
Accéder à nouveau mot de données dans la banque de données et incrémenter le pointeur de banque de données.
# Accéder à nouveau mot de données dans la banque de données et incrémenter le pointeur de banque de données.
Filtre de corrélation réelle FIR (figure 5) équation
Initialisation
Sélectionner numéro de mode et de filtre (= # valeurs de coefficient).
Initialisation
Sélectionner numéro de mode et de filtre (= # valeurs de coefficient).
Initialiser coefficients dans la banque de coefficients en ordre inverse.
Mémoire centrale exécute écritures #numéro~filtre.
Traitement
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer jusqu'à 4 nouveaux mots de données.
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer jusqu'à 4 nouveaux mots de données.
Initialiser données dans la banque de données en ordre direct Mémoire centrale/DMA exécute les écritures #numéro~filtre.
Calculer F(n), enregistrer résultat, déclencher
Mémoire centrale/DMA.
Mémoire centrale/DMA.
Accéder à nouveau mot de données dans la banque de données et incrémenter le pointeur de banque de données.
Filtre de corrélation réelle FIR avec décimation de sortie par 2 (figure 6)
Equation
Initialisation
# Sélectionner numéro de mode et de filtre (= # valeurs de coefficient).
Equation
Initialisation
# Sélectionner numéro de mode et de filtre (= # valeurs de coefficient).
Initialiser coefficients dans la banque de coefficients en ordre direct.
Mémoire centrale exécute écritures #numéro~filtre.
Traitement
# Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer jusqu'à 4 nouveaux mots de données.
# Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer jusqu'à 4 nouveaux mots de données.
Initialiser données dans la banque de données en ordre direct Mémoire centrale/DMA exécute les écritures #numéro~filtre.
Calculer F(n), enregistrer résultat, déclencher
Mémoire centrale/DMA.
Mémoire centrale/DMA.
Accéder à nouveau mot de données dans la banque de données et incrémenter le pointeur de banque de données.
Accéder à nouveau mot de données dans la banque de données et incrémenter le pointeur de banque de données.
Filtre à convolution complexe FIR (figure 7) ;
Equation
Initialisation
# Sélectionner numéro de mode et de filtre (= # valeurs de coefficient).
Equation
Initialisation
# Sélectionner numéro de mode et de filtre (= # valeurs de coefficient).
Initialiser coefficients dans la banque de coefficients en ordre direct.
Mémoire centrale exécute écritures #numéro~filtre.
Traitement
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer 2 ou 4 nouveaux mots de données.
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer 2 ou 4 nouveaux mots de données.
Initialiser données dans la banque de données en ordre direct Mémoire centrale/DMA exécute les écritures #numéro filtre.
Calculer FR(n), enregistrer résultat, déclencher Mémoire centrale/DMA.
Calculer FI(n), enregistrer résultat, déclencher Mémoire centrale/DMA.
Accéder à nouveau mot de données (DR), incrémenter le pointeur de banque de données.
Accéder à nouveau mot de données (DI), incrémenter le pointeur de banque de données.
Filtre à convolution complexe FIR avec décimation de sortie par 2 (figure 8)
Equation
Initialisation
# Sélectionner numéro de mode et de filtre (= # valeurs de coefficient).
Equation
Initialisation
# Sélectionner numéro de mode et de filtre (= # valeurs de coefficient).
Initialiser coefficients dans la banque de coefficients en ordre direct.
Mémoire centrale exécute écritures #numéro~filtre.
Traitement
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer 2 ou 4 nouveaux mots de données.
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer 2 ou 4 nouveaux mots de données.
Initialiser données dans la banque de données en ordre direct Mémoire centrale/DMA exécute les écritures #numéro filtre.
Calculer @ FR(n), enregistrer résultat, déclencher Mémoire centrale/DMA.
Calculer FI(n), enregistrer résultat, déclencher Mémoire centrale/DMA.
Accéder à nouveau mot de données (DR), incrémenter le pointeur de banque de données.
Accéder à nouveau mot de données (DI), incrémenter le pointeur de banque de données.
Accéder à nouveau mot de données (DR), incrémenter le pointeur de banque de données.
Accéder à nouveau mot de données (DI), incrémenter le pointeur de banque de données.
Filtre à convolution complexe FIR ne générant que des sorties réelles (figure 9);
Equation
Initialisation
# Sélectionner numéro de mode et de filtre (= # valeurs de coefficient).
Equation
Initialisation
# Sélectionner numéro de mode et de filtre (= # valeurs de coefficient).
Initialiser coefficients dans la banque de coefficients en ordre inverse, en commençant par l'inversion des coefficients imaginaires.
Mémoire centrale exécute écritures #numéro~filtre.
Traitement
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer 2 ou 4 nouveaux mots de données.
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer 2 ou 4 nouveaux mots de données.
Initialiser données dans la banque de données en ordre direct Mémoire centrale/DMA exécute les écritures #numéro~filtre.
Calculer FR(n), enregistrer résultat, déclencher Mémoire centrale/DMA.
Accéder à nouveau mot de données (DR), incrémenter le pointeur de banque de données.
Accéder à nouveau mot de données (DI), incrémenter le pointeur de banque de données.
Filtre à convolution complexe FIR ne générant que des sorties imaginaires (figure 10) ; Epuation
Initialisation
# Sélectionner numéro de mode et de filtre (= # valeurs de coefficient).
Initialisation
# Sélectionner numéro de mode et de filtre (= # valeurs de coefficient).
Données organisées en paires Im/Re.
Initialiser coefficients dans la banque de coefficients en ordre inverse, en commençant par l'inversion des coefficients imaginaires.
Mémoire centrale exécute écritures #numéro~filtre.
Traitement
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer 2 ou 4 nouveaux mots de données.
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer 2 ou 4 nouveaux mots de données.
Initialiser données dans la banque de données en ordre direct Mémoire centrale/DMA exécute les écritures #numéro~filtre.
Calculer FI(n), enregistrer résultat, déclencher Mémoire centrale/DMA.
Accéder à nouveau mot de données (DI), incrémenter le pointeur de banque de données.
ACcéder à nouveau mot de données (DR), incrémenter le pointeur de banque de données.
Filtre à convolution complexe FIR (figure 11) ;
Equation
Initialisation
# Sélectionner numéro de mode et de filtre (= # valeurs de coefficient).
Equation
Initialisation
# Sélectionner numéro de mode et de filtre (= # valeurs de coefficient).
Initialiser coefficients dans la banque de coefficients en ordre direct, en commençant par l'inversion des coefficients imaginaires.
Mémoire centrale exécute écritures #numéro~filtre.
Traitement
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer 2 ou 4 nouveaux mots de données.
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer 2 ou 4 nouveaux mots de données.
Initialiser données dans la banque de données en ordre direct Mémoire centrale/DMA exécute les écritures #numéro~filtre.
Calculer FR(n), enregistrer résultat, déclencher Mémoire centrale/DMA.
Calculer FI(n), enregistrer résultat, déclencher Mémoire centrale/DMA.
Accéder à nouveau mot de données (DR), incrémenter le pointeur de banque de données.
Accéder à nouveau mot de données (DI), incrémenter le pointeur de banque de données.
Filtre à convolution complexe FIR avec décimation de sortie par 2 (figure 12)
Equation
Initialisation
Sélectionner numéro de mode et de filtre (= # valeurs de coefficient).
Equation
Initialisation
Sélectionner numéro de mode et de filtre (= # valeurs de coefficient).
Initialiser coefficients dans la banque de coefficients en ordre direct, en commençant par l'inversion des coefficients imaginaires.
Mémoire centrale exécute écritures #numéro~filtre.
Traitement
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer 2 ou 4 nouveaux mots de données.
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer 2 ou 4 nouveaux mots de données.
Initialiser données dans la banque de données en ordre direct Mémoire centrale/DMA exécute les écritures #numéro~filtre.
Calculer FR(n), enregistrer résultat, déclencher Mémoire centrale/DMA.
Calculer FI(n), enregistrer résultat, déclencher Mémoire centrale/DNA.
Accéder à nouveau mot de données (DR), incrémenter le pointeur de banque de données.
Accéder à nouveau mot de données (DI), incrémenter le pointeur de banque de données.
Accéder à nouveau mot de données (DR), incrémenter le pointeur de banque de données.
Accéder à nouveau mot de données (DI), incrémenter le pointeur de banque de données.
L'architecture matérielle représentée sur la figure 1 est particulièrement profitable lorsqu'elle est utilisée dans un. égaliseur d'un récepteur. Un tel égaliseur est représenté généralement sur la figure 13, sur laquelle des signaux orthogonaux I et Q sont entrés dans un bloc de corrélation 203. Il est important de noter que l'invention tire profit de l'orthogonalité entre I et Q, de sorte que le coprocesseur de filtre de la figure 1 peut être mis en oeuvre de façon avantageuse dans tout système modulé orthogonalement. En outre, la sortie du bloc de corrélation 203 est envoyée à l'entrée d'un filtre adapté 206. Le filtre adapté 206 reçoit également en entrée des signaux orthogonaux I et Q. La sortie du filtre adapté 206 est envoyée à l'entrée d'un décodeur Viterbi 209. Le bloc de corrélation 203, le filtre adapté 206 et le décodeur Viterbi 209 comprennent généralement l'égaliseur tel qu'il est bien connu dans la technique. La sortie du décodeur Viterbi 209 est envoyée à l'entrée d'un décodeur de voie (non illustré) qui exécute la suite du traitement du signal reçu.
Les figures 14 à 19 représentent l'organisation générale de données comme représentée sur la figure 2, pour faire varier des valeurs de décimation de corrélation (mode 3) et de filtrage adapté (mode 2) comme appliqué à l'architecture matérielle de la figure 1. La première analyse est celle du processus de corrélation.
Dans le processus de corrélation, les données entrées sont corrélées avec un motif de mots de synchronisation sous la forme d'un groupe moyen de données. Du fait de la nature du plan de modulation GMSK de GSM, le mot de synchronisation alterne entre des valeurs purement réelles et purement imaginaires. Normalement une multiplication entièrement complexe nécessiterait quatre opérations de multiplication et d'accumulation. Du fait de la nature du mot de synchronisation, deux multiplications seulement sont nécessaires étant donné que soit la partie. réelle soit la partie imaginaire est "0" (c'est-à-dire orthogonale). Le coprocesseur de filtre de la figure 1 tire profit de ces caractéristiques pour réduire le temps de calcul de moitié. Là encore, pour chaque figure, les étapes pour initialiser et traiter les données sont indiquées avec des puces, l'équation applicable utilisée pour effectuer le traitement étant également notée.
Corrélation complexe entre une séquence de données entièrement complexe et une séquence complexe composée d'éléments de données
Purement Réelles/Purement Imaginaires en alternance (figures 16 et 17) ;
La séquence d'apprentissage (données reçues) est complexe (une paire d'échantillons I & Q par bit). La séquence de groupe moyen de données (données de référence) est constituée par des valeurs complexes
Purement~Re/Purement~Im (un nombre purement complexe par bit) formant le tableau représenté sur la figure 16.
Purement Réelles/Purement Imaginaires en alternance (figures 16 et 17) ;
La séquence d'apprentissage (données reçues) est complexe (une paire d'échantillons I & Q par bit). La séquence de groupe moyen de données (données de référence) est constituée par des valeurs complexes
Purement~Re/Purement~Im (un nombre purement complexe par bit) formant le tableau représenté sur la figure 16.
Equation
La fonction de corrélation est
En tirant profit des composantes orthogonales de la séquence de groupe moyen de données, on obtient
En conséquence, une sortie de corrélation complexe est calculée pour chaque entrée complexe, ce qui nécessite la moitié des opérations MAC.
La fonction de corrélation est
En tirant profit des composantes orthogonales de la séquence de groupe moyen de données, on obtient
En conséquence, une sortie de corrélation complexe est calculée pour chaque entrée complexe, ce qui nécessite la moitié des opérations MAC.
Initialisation
# Sélectionner numéro de mode et de filtre (= # valeur de coeff).
# Sélectionner numéro de mode et de filtre (= # valeur de coeff).
Initialiser coefficient dans la banque de coefficients en ordre direct.
Mémoire centrale exécute écriture #numéro~filtre.
Traitement
A chaque fois que le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer 2 ou 4 nouveaux échantillons de données.
A chaque fois que le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer 2 ou 4 nouveaux échantillons de données.
Initialiser données dans la banque de données en ordre direct Mémoire centrale/DMA exécute 2x écritures #numéro~filtre.
Calculer FR(n), enregistrer résultat, déclencher Mémoire centrale/DMA.
Calculer FI(n), enregistrer résultat, déclencher Mémoire centrale/DMA.
Accéder à nouveau mot de données (DR), incrémenter pointeur de banque de données.
Accéder à nouveau mot de données (DI), incrémenter pointeur de banque de données.
# Corrélation complexe entre une séquence de données entièrement complexe suréchatillonnée par 2 et une séquence complexe composée d'éléments de données
Purement~Réelles/Purement~Imaginaires en alternance (figures 18 et 19).
Purement~Réelles/Purement~Imaginaires en alternance (figures 18 et 19).
La séquence d'apprentissage (données reçues) est suréchantillonnée 2x (2x échantillons I & Q par bit). La séquence de groupe moyen de données (données de référence) est constituée de valeurs complexes
Purement~Re/Purement~Im (un nombre purement complexe par bit). Avant la corrélation, la séquence de groupe moyen de données est interpolée 2x en ajoutant un zéro complexe entre les valeurs purement complexes, formant le tableau représenté sur la figure 18.
Purement~Re/Purement~Im (un nombre purement complexe par bit). Avant la corrélation, la séquence de groupe moyen de données est interpolée 2x en ajoutant un zéro complexe entre les valeurs purement complexes, formant le tableau représenté sur la figure 18.
Equation
La fonction de corrélation est
En tirant profit des composantes orthogonales de la séquence de groupe moyen de données interpolées, on obtient
Il peut être aisément démontré que lorsque n est "pair", les sorties du filtre sont indépendantes des échantillons d'entrées 'impairs" et lorsque n est "impair", les sorties du filtre sont indépendantes des échantillons d'entrées "pairs". En conséquence, les sorties de filtre paires et impaires peuvent être calculées séparément, nécessitant la moitié de la taille du bloc de mémoire de données.
La fonction de corrélation est
En tirant profit des composantes orthogonales de la séquence de groupe moyen de données interpolées, on obtient
Il peut être aisément démontré que lorsque n est "pair", les sorties du filtre sont indépendantes des échantillons d'entrées 'impairs" et lorsque n est "impair", les sorties du filtre sont indépendantes des échantillons d'entrées "pairs". En conséquence, les sorties de filtre paires et impaires peuvent être calculées séparément, nécessitant la moitié de la taille du bloc de mémoire de données.
Initialisation
# Sélectionner numéro de mode et de filtre (= # valeurs de coefficient).
# Sélectionner numéro de mode et de filtre (= # valeurs de coefficient).
Initialiser coefficient dans la banque de coefficients en ordre direct.
Mémoire centrale exécute écriture #numéro~filtre.
Traitement
A chaque fois que le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer 2 ou 4 nouveaux échantillons de données.
A chaque fois que le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer 2 ou 4 nouveaux échantillons de données.
Initialiser données dans la banque de données en ordre direct Mémoire centrale/DMA exécute 2x écritures #numéro filtre uniquement pairs ou uniquement impairs.
Calculer FR(n), enregistrer résultat, déclencher Mémoire centrale/DMA.
Calculer FI(n), enregistrer résultat, déclencher Mémoire centrale/DMA.
Accéder à nouveau mot de données (DR), incrémenter pointeur de banque de données.
Accéder à nouveau mot de données (DI), incrémenter pointeur de banque de données.
La deuxième analyse est celle du processus de filtrage adapté. Dans le processus de filtrage adapté, deux éléments spécifiques au processus d'égalisation utilisé dans le système GSM sont exploités. Tout d'abord, seules des valeurs de sorties réelles et imaginaires en alternance sont calculées. Là encore, cela tire profit de la nature orthogonale du plan de modulation GMSK. En outre, les données de sortie sont décimées par deux afin de traiter des données suréchantillonnées 2x et de fournir un seul échantillon par sortie binaire. La séquence de sortie est traitée comme une séquence purement réelle pour la poursuite du traitement par le décodeur Viterbi 209. Là encore, le mode de filtrage adapté du coprocesseur de filtre tire profit de ses caractéristiques afin de réduire le temps de calcul lié à la mise en oeuvre des multiplications complexes complètes. Là encore, pour chaque figure, les étapes d'initialisation et de traitement des données sont indiquées à l'aide de puces, l'équation applicable utilisée pour effectuer le traitement étant également notée.
Filtre complexe générant des sorties Purement
Réelles/Purement Imaginaires en alternance (figure 14) ; équation
Initialisation
Sélectionner numéro de mode et filtre (= # valeurs de coefficient).
Réelles/Purement Imaginaires en alternance (figure 14) ; équation
Initialisation
Sélectionner numéro de mode et filtre (= # valeurs de coefficient).
Initialiser coefficient dans la banque de coefficients en ordre inverse.
Mémoire centrale exécute écriture #numéro~filtre.
Traitement
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer 2 ou 4 nouveaux mots de données.
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer 2 ou 4 nouveaux mots de données.
Initialiser données dans la banque de données en ordre direct Mémoire centrale/DMA exécute écritures #numéro~filtre.
Calculer FR(n), enregistrer résultat, déclencher Mémoire centrale/DMA.
# Accéder à nouveau mot de données (DR), incrémenter pointeur de banque de données.
Accéder à nouveau mot de données (DI), incrémenter pointeur de banque de données.
Calculer FI(n), enregistrer résultats, déclencher Mémoire centrale/DMA.
Accéder à nouveau mot de données (DR), incrémenter pointeur de banque de données.
Accéder à nouveau mot de données (DI), incrémenter pointeur de banque de données.
Filtre complexe générant des sorties Purement
Réelles/Purement Imaginaires en alternance, décimées par 2 (figure 15) ;
Equation
Initialisation
# Sélectionner numéro de mode et filtre (= # valeurs de coefficient).
Réelles/Purement Imaginaires en alternance, décimées par 2 (figure 15) ;
Equation
Initialisation
# Sélectionner numéro de mode et filtre (= # valeurs de coefficient).
Initialiser coefficient dans la banque de coefficients en ordre inverse.
Traitement
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer 4 nouveaux mots de données (2 données complexes).
Si le tampon de données d'entrée est vide, déclencher Mémoire centrale/DMA pour transférer 4 nouveaux mots de données (2 données complexes).
Initialiser données dans la banque de données en ordre direct (Mémoire centrale/DMA écrit).
Calculer FR(n), enregistrer résultat, déclencher Mémoire centrale/DMA.
Accéder à nouveau mot de données (DR), incrémenter pointeur de banque de données.
Accéder à nouveau mot de données (DI), incrémenter pointeur de banque de données.
Accéder à nouveau mot de données (DR), incrémenter pointeur de banque de données.
Accéder à nouveau mot de données (DI), incrémenter pointeur de banque de données.
Calculer FI(n), enregistrer résultats, déclencher Mémoire centrale/DMA.
Accéder à nouveau mot de données (DR), incrémenter pointeur de banque de données.
Accéder à nouveau mot de données (DI), incrémenter pointeur de banque de données.
Accéder à nouveau mot de données (DR), incrémenter pointeur de banque de données.
Accéder à nouveau mot de données (DI), incrémenter pointeur de banque de données.
Auparavant, ces tâches étaient accomplies par un micrologiciel fonctionnant sur la mémoire centrale du processeur. Le tableau suivant illustre les améliorations apportées par l'utilisation du coprocesseur de filtre.
<SEP> Données <SEP> Mode <SEP> de <SEP> Mode <SEP> Longueur <SEP> Longueur <SEP> Nombre <SEP> Nombre <SEP> Durée
<tb> @uréchantillonnées <SEP> des <SEP> données <SEP> @80MHz
<tb> filtre <SEP> de <SEP> filtre <SEP> de <SEP> sorties <SEP> de <SEP> cycles
<tb> <SEP> 2X <SEP> Filtre <SEP> adapté <SEP> 2 <SEP> 61x2 <SEP> 9x2 <SEP> 61 <SEP> 1474 <SEP> 18.5 <SEP> us
<tb> <SEP> 2X <SEP> Corrélation <SEP> 3 <SEP> 26x2 <SEP> 26 <SEP> 52x2 <SEP> 3078 <SEP> 38.5 <SEP> us
<tb> <SEP> 2x <SEP> Filtre <SEP> adapté <SEP> Mémoire <SEP> 61x2 <SEP> <SEP> 9x2 <SEP> 61 <SEP> 4761 <SEP> 59 <SEP> us <SEP>
<tb> <SEP> celle <SEP>
<tb> <SEP> 2X <SEP> Corrélation <SEP> Mémoire <SEP> 18x2 <SEP> 18 <SEP> 36x2 <SEP> 4201 <SEP> 52.5 <SEP> us
<tb> <SEP> centrale
<tb>
Tableau 2 : Comparaison de salves d'accès
<tb> @uréchantillonnées <SEP> des <SEP> données <SEP> @80MHz
<tb> filtre <SEP> de <SEP> filtre <SEP> de <SEP> sorties <SEP> de <SEP> cycles
<tb> <SEP> 2X <SEP> Filtre <SEP> adapté <SEP> 2 <SEP> 61x2 <SEP> 9x2 <SEP> 61 <SEP> 1474 <SEP> 18.5 <SEP> us
<tb> <SEP> 2X <SEP> Corrélation <SEP> 3 <SEP> 26x2 <SEP> 26 <SEP> 52x2 <SEP> 3078 <SEP> 38.5 <SEP> us
<tb> <SEP> 2x <SEP> Filtre <SEP> adapté <SEP> Mémoire <SEP> 61x2 <SEP> <SEP> 9x2 <SEP> 61 <SEP> 4761 <SEP> 59 <SEP> us <SEP>
<tb> <SEP> celle <SEP>
<tb> <SEP> 2X <SEP> Corrélation <SEP> Mémoire <SEP> 18x2 <SEP> 18 <SEP> 36x2 <SEP> 4201 <SEP> 52.5 <SEP> us
<tb> <SEP> centrale
<tb>
Tableau 2 : Comparaison de salves d'accès
<SEP> Données <SEP> Mode <SEP> de <SEP> Mode <SEP> Longueur <SEP> Longueur <SEP> Nombre <SEP> Nombre <SEP> Durée
<tb> suréchantillonnées <SEP> filtre <SEP> des <SEP> données <SEP> @80MHz
<tb> de <SEP> filtre <SEP> de <SEP> sorties <SEP> de <SEP> cycles
<tb> <SEP> 2X <SEP> Filtre <SEP> 2 <SEP> 36x2 <SEP> 9x2 <SEP> 36 <SEP> 924 <SEP> 11.6 <SEP> us
<tb> <SEP> adapté
<tb> <SEP> 2X <SEP> Corrélation <SEP> 3 <SEP> 41x2 <SEP> 41 <SEP> 82x2 <SEP> 7308 <SEP> 91.5 <SEP> us
<tb> <SEP> 2X <SEP> Filtre <SEP> Mémoire <SEP> 61x2 <SEP> 9x2 <SEP> 61 <SEP> 2786 <SEP> 34.8 <SEP> us
<tb> <SEP> adapté <SEP> centrale
<tb> <SEP> 2X <SEP> Corrélation <SEP> Mémoire <SEP> 41x2 <SEP> 41 <SEP> 82x2 <SEP> 16826 <SEP> 210.3 <SEP> us
<tb> <SEP> centrale
<tb>
La figure 20 représente généralement le coprocesseur de filtre de la figure 1 mis en oeuvre de façon profitable dans un récepteur d'un système de communication sans fil. D'une manière générale, le récepteur reçoit un signal modulé orthogonalement 400 dans le circuit d'entrée de récepteur 406. Le signal modulé orthogonalement 400 est composé d'une pluralité de symboles. Dans le mode de réalisation préféré, les symboles sont reçus dans des première et deuxième branches du circuit d'entrée de récepteur 406 et la réception des symboles entre les première et deuxième branches est décalée d'une période de temps prédéterminée. Dans l'égaliseur de voie 212 mettant en
oeuvre le matériel de coprocesseur de filtre représenté sur la figure 1, les symboles numérotés pair de la première branche du récepteur sont décodés indépendamment et les symboles numérotés impair de la deuxième branche du récepteur sont décodés indépendamment pour produire des informations décodées pour chaque branche du récepteur. Les informations décodées pour chaque branche du récepteur sont ensuite combinées et traitées par un circuit de sortie de récepteur (non représenté).
<tb> suréchantillonnées <SEP> filtre <SEP> des <SEP> données <SEP> @80MHz
<tb> de <SEP> filtre <SEP> de <SEP> sorties <SEP> de <SEP> cycles
<tb> <SEP> 2X <SEP> Filtre <SEP> 2 <SEP> 36x2 <SEP> 9x2 <SEP> 36 <SEP> 924 <SEP> 11.6 <SEP> us
<tb> <SEP> adapté
<tb> <SEP> 2X <SEP> Corrélation <SEP> 3 <SEP> 41x2 <SEP> 41 <SEP> 82x2 <SEP> 7308 <SEP> 91.5 <SEP> us
<tb> <SEP> 2X <SEP> Filtre <SEP> Mémoire <SEP> 61x2 <SEP> 9x2 <SEP> 61 <SEP> 2786 <SEP> 34.8 <SEP> us
<tb> <SEP> adapté <SEP> centrale
<tb> <SEP> 2X <SEP> Corrélation <SEP> Mémoire <SEP> 41x2 <SEP> 41 <SEP> 82x2 <SEP> 16826 <SEP> 210.3 <SEP> us
<tb> <SEP> centrale
<tb>
La figure 20 représente généralement le coprocesseur de filtre de la figure 1 mis en oeuvre de façon profitable dans un récepteur d'un système de communication sans fil. D'une manière générale, le récepteur reçoit un signal modulé orthogonalement 400 dans le circuit d'entrée de récepteur 406. Le signal modulé orthogonalement 400 est composé d'une pluralité de symboles. Dans le mode de réalisation préféré, les symboles sont reçus dans des première et deuxième branches du circuit d'entrée de récepteur 406 et la réception des symboles entre les première et deuxième branches est décalée d'une période de temps prédéterminée. Dans l'égaliseur de voie 212 mettant en
oeuvre le matériel de coprocesseur de filtre représenté sur la figure 1, les symboles numérotés pair de la première branche du récepteur sont décodés indépendamment et les symboles numérotés impair de la deuxième branche du récepteur sont décodés indépendamment pour produire des informations décodées pour chaque branche du récepteur. Les informations décodées pour chaque branche du récepteur sont ensuite combinées et traitées par un circuit de sortie de récepteur (non représenté).
Dans le mode de réalisation préféré, le signal modulé orthogonalement comprend en outre un signal modulé par déplacement de phase à quatre états (QPSK) qui est de manière spécifique, un signal modulé par modulation gaussienne à déplacement minimal (GMSK). D'autres types de modulation, par exemple une modulation à déplacement minimal (MSK) peuvent aussi être employés. Le récepteur de la figure 20 est compatible avec une interface radio d'accès multiple à répartition dans le temps (AMRT) et plus précisément l'interface radio AMRT du groupe spécial mobile (GSM).
Les symboles numérotés pair de la première branche de récepteur sont décodés indépendamment et les symboles numérotés impair de la deuxième branche du récepteur sont décodés indépendamment pour produire des informations décodées pour chaque branche du récepteur. Pour effectuer le décodage indépendant, les données I et Q sont corrélées avec une séquence d'apprentissage pour estimer la réponse impulsionnelle de voie avant le filtrage adapté de la voie..,estimée avec les données reçues. La séquence d'apprentissage (données de référence) est constituée de valeurs complexes Purement~Re/Purement~Im en alternance (un nombre purement complexe par bit) comme représenté dans le tableau de la figure 16. Elle effectue ensuite une estimation de séquence de probabilité maximum (MLSE) et une annulation d'interférence intersymboles pour effectuer l'estimation de séquence de données de décision logique. Les données de décision logique sont ensuite transmises au décodeur de voie (circuit de sortie du récepteur) pour la poursuite du traitement. Le coprocesseur de filtre comme décrit ici et représenté sur la figure 1 effectue le processus de corrélation pour la réponse impulsionnelle de voie ainsi que pour le processus de filtrage adapté des données reçues avec cette voie estimée. En tirant profit du plan de modulation GMSR du système GSM, le nombre d'étapes pour effectuer la corrélation et le processus de filtrage adapté est grandement réduit, ce qui a pour conséquence qu'un moins grand nombre de DSP est nécessaire par porteuse RF.
L'invention a été particulièrement illustrée et décrite en référence à un mode de réalisation particulier, mais les experts de la technique comprendront que différentes modifications de forme et de détail peuvent y être apportées sans s'écarter de l'esprit et de la portée de l'invention.
Claims (5)
1. Coprocesseur de filtre caractérisé par
une première mémoire (103) destinée à enregistrer des informations de données ;
une deuxième mémoire (106) destinée à enregistrer des coefficients ; et
un contrôleur (127) destiné à commander un multiplicateur/accumulateur (109) pour effectuer des fonctions de multiplication/accumulation dans une pluralité de modes de fonctionnement et destiné à coordonner la récupération des informations de données et des coefficients.
2. Coprocesseur de filtre suivant la revendication 1, dans lequel un mode de fonctionnement est caractérisé en outre par une corrélation entre une séquence de données complexes et 'une séquence de groupe moyen de données, la séquence de groupe moyen de données comprenant des valeurs complexes purement réelles/purement imaginaires en alternance.
3. Coprocesseur de filtre suivant la revendication 1, dans lequel un mode de fonctionnement est caractérisé en outre par une corrélation entre une séquence de données complexes suréchantillonnées 2X et une séquence de groupe moyen de données, la séquence de groupe moyen de données comprenant des valeurs complexes purement réelles/purement imaginaires 1X en alternance.
4. Coprocesseur de filtre suivant la revendication 1, dans lequel un mode de fonctionnement est caractérisé en outre par un filtrage adapté dans lequel les données entrées sont complexes, les coefficients liés au filtrage adapté sont complexes, et la sortie est une séquence réelle de données purement réelles/purement imaginaires.
5. Coprocesseur de filtre suivant la revendication 1, dans lequel un mode de fonctionnement utilise un appareil d'accès à la mémoire directe (112) pour déplacer les données entrées de la mémoire au coprocesseur de filtre et une sortie du coprocesseur de filtre à la mémoire sans intervention d'une unité centrale de traitement.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/725,871 US5905757A (en) | 1996-10-04 | 1996-10-04 | Filter co-processor |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2754366A1 true FR2754366A1 (fr) | 1998-04-10 |
FR2754366B1 FR2754366B1 (fr) | 2003-08-15 |
Family
ID=24916302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9710122A Expired - Fee Related FR2754366B1 (fr) | 1996-10-04 | 1997-08-07 | Coprocesseur de filtre |
Country Status (17)
Country | Link |
---|---|
US (1) | US5905757A (fr) |
JP (1) | JP4494531B2 (fr) |
KR (1) | KR100306014B1 (fr) |
CN (1) | CN1153422C (fr) |
AR (1) | AR008437A1 (fr) |
AU (1) | AU3587597A (fr) |
CA (1) | CA2238299C (fr) |
DE (1) | DE19781047B4 (fr) |
ES (1) | ES2147693B1 (fr) |
FI (1) | FI117493B (fr) |
FR (1) | FR2754366B1 (fr) |
GB (1) | GB2322057B (fr) |
IT (1) | IT1295391B1 (fr) |
RU (1) | RU2178949C2 (fr) |
SE (1) | SE517510C2 (fr) |
TW (1) | TW340285B (fr) |
WO (1) | WO1998015056A1 (fr) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI106675B (fi) * | 1998-01-30 | 2001-03-15 | Nokia Networks Oy | Tiedonsiirtomenetelmä ja radiojärjestelmä |
US6269117B1 (en) * | 1998-06-29 | 2001-07-31 | Sony Corporation | System and method for enhancing downsampling operations |
DE69838028T2 (de) | 1998-10-06 | 2008-03-13 | Texas Instruments Inc., Dallas | Linearvektorrechnung |
DE10003006A1 (de) * | 2000-01-25 | 2001-07-26 | Bosch Gmbh Robert | Anordnung und Verfahren zur Signalverarbeitung und Speicherung |
CN1442009A (zh) * | 2000-07-03 | 2003-09-10 | 因芬尼昂技术股份公司 | 采用多个硬件数据路径实现acs和传输度量操作的维特比均衡器 |
DE10127348A1 (de) * | 2001-06-06 | 2002-12-19 | Infineon Technologies Ag | Verfahren und Schaltungsanordnung zur Übertragung von Daten zwischen einem Prozessor und einem Hardware-Rechenwerk |
EP1763157A3 (fr) * | 2002-02-14 | 2007-06-27 | Interdigital Technology Corporation | Système de communication sans fil ayant un seuil adaptatif pour la mesure de déviation de synchronisation, et procédé |
US6873662B2 (en) * | 2002-02-14 | 2005-03-29 | Interdigital Technology Corporation | Wireless communication system having adaptive threshold for timing deviation measurement and method |
US7428278B2 (en) * | 2002-05-09 | 2008-09-23 | Interdigital Technology Corporation | Method and apparatus for parallel midamble cancellation |
US7222288B2 (en) | 2004-07-30 | 2007-05-22 | Hellosoft, Inc. | Modified soft output Viterbi algorithm for truncated trellis |
US7492839B2 (en) * | 2004-07-30 | 2009-02-17 | Hellosoft Inc. | Efficient implementation of GSM/GPRS equalizer |
ES2302638B1 (es) * | 2006-12-21 | 2009-06-04 | Vicente Diaz Fuente | Metodo mejorado de codificacion y decodificacion con al menos dos pares de secuencias ortogonales. |
US8560760B2 (en) * | 2007-01-31 | 2013-10-15 | Microsoft Corporation | Extending flash drive lifespan |
US7657572B2 (en) | 2007-03-06 | 2010-02-02 | Microsoft Corporation | Selectively utilizing a plurality of disparate solid state storage locations |
WO2011004299A1 (fr) * | 2009-07-07 | 2011-01-13 | Koninklijke Philips Electronics N.V. | Réduction de bruit de signaux de respiration |
US10175980B2 (en) | 2016-10-27 | 2019-01-08 | Google Llc | Neural network compute tile |
US10360163B2 (en) | 2016-10-27 | 2019-07-23 | Google Llc | Exploiting input data sparsity in neural network compute units |
CN109120241B (zh) * | 2017-06-23 | 2022-03-22 | 北京遥感设备研究所 | 一种实数交叉型复系数fir滤波器 |
WO2019136760A1 (fr) * | 2018-01-15 | 2019-07-18 | 深圳鲲云信息科技有限公司 | Procédé de segmentation sémantique d'image, circuit logique programmable, système et dispositif électronique |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5499272A (en) * | 1994-05-31 | 1996-03-12 | Ericsson Ge Mobile Communications Inc. | Diversity receiver for signals with multipath time dispersion |
US5513223A (en) * | 1993-11-16 | 1996-04-30 | Nec Corporation | FIR digital filter and method for signal processing thereof |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2137839B (en) * | 1983-04-09 | 1986-06-04 | Schlumberger Measurement | Digital signal processors |
US4716577A (en) * | 1986-07-07 | 1987-12-29 | Rockwell International Corporation | Autoequalizer |
US4868868A (en) * | 1986-09-30 | 1989-09-19 | Oki Electric Industry Co., Ltd. | Sub-band speech analyzing and synthesizing device |
DE3744075A1 (de) * | 1987-12-24 | 1989-07-13 | Licentia Gmbh | Verfahren zur entzerrung von dispersiven, linearen oder naeherungsweise linearen kanaelen zur uebertragung von digitalen signalen sowie anordnung zum ausfuehren des verfahrens |
US5031193A (en) * | 1989-11-13 | 1991-07-09 | Motorola, Inc. | Method and apparatus for diversity reception of time-dispersed signals |
US5159282A (en) * | 1989-12-06 | 1992-10-27 | Kabushiki Kaisha Toshiba | Demodulation apparatus incorporating adaptive equalizer for digital communication |
US5214391A (en) * | 1989-12-06 | 1993-05-25 | Kabushiki Kaisha Toshiba | Demodulation apparatus having multipath detector for selecting a first or second demodulator |
JPH0761190B2 (ja) * | 1990-01-16 | 1995-06-28 | パイオニア株式会社 | ハウリング防止機能を備えた音響装置 |
JP2801782B2 (ja) * | 1990-02-07 | 1998-09-21 | 三菱電機株式会社 | フレーム位相推定方法及び回路 |
JPH0454013A (ja) * | 1990-06-21 | 1992-02-21 | Mitsubishi Electric Corp | ディジタルフィルタ |
US5283780A (en) * | 1990-10-18 | 1994-02-01 | Stanford Telecommunications, Inc. | Digital audio broadcasting system |
US5251233A (en) * | 1990-12-20 | 1993-10-05 | Motorola, Inc. | Apparatus and method for equalizing a corrupted signal in a receiver |
DE4108806C1 (fr) * | 1991-03-18 | 1992-01-30 | Litef Gmbh, 7800 Freiburg, De | |
US5245611A (en) * | 1991-05-31 | 1993-09-14 | Motorola, Inc. | Method and apparatus for providing carrier frequency offset compensation in a tdma communication system |
FR2679721B1 (fr) * | 1991-07-22 | 1993-09-24 | Alcatel Radiotelephone | Procede d'egalisation adaptative reduisant l'interference intersymbole, et dispositif de reception et application correspondants. |
JP3318753B2 (ja) * | 1991-12-05 | 2002-08-26 | ソニー株式会社 | 積和演算装置および積和演算方法 |
JPH06284094A (ja) * | 1992-01-10 | 1994-10-07 | Mitsubishi Electric Corp | 最尤系列推定装置 |
EP0580924A1 (fr) * | 1992-07-30 | 1994-02-02 | STMicroelectronics S.r.l. | Dispositif de filtrage numérique |
JPH06216810A (ja) * | 1993-01-20 | 1994-08-05 | Fujitsu Ltd | 等化器の同期確立方式 |
EP0682414B1 (fr) * | 1993-11-29 | 2001-11-21 | Oki Electric Industry Company, Limited | Dispositif d'estimation d'une valeur d'evaluation molle et dispositif d'estimation d'un systeme de vraisemblance maximale |
US5724390A (en) * | 1994-03-02 | 1998-03-03 | Lucent Technologies Inc. | MLSE before derotation and after derotation |
-
1996
- 1996-10-04 US US08/725,871 patent/US5905757A/en not_active Expired - Lifetime
-
1997
- 1997-07-08 DE DE19781047T patent/DE19781047B4/de not_active Expired - Fee Related
- 1997-07-08 CN CNB971913765A patent/CN1153422C/zh not_active Expired - Lifetime
- 1997-07-08 KR KR1019980704193A patent/KR100306014B1/ko not_active IP Right Cessation
- 1997-07-08 CA CA002238299A patent/CA2238299C/fr not_active Expired - Fee Related
- 1997-07-08 JP JP51649998A patent/JP4494531B2/ja not_active Expired - Lifetime
- 1997-07-08 GB GB9811085A patent/GB2322057B/en not_active Expired - Fee Related
- 1997-07-08 RU RU98112274/09A patent/RU2178949C2/ru not_active IP Right Cessation
- 1997-07-08 AU AU35875/97A patent/AU3587597A/en not_active Abandoned
- 1997-07-08 WO PCT/US1997/011435 patent/WO1998015056A1/fr active IP Right Grant
- 1997-08-07 FR FR9710122A patent/FR2754366B1/fr not_active Expired - Fee Related
- 1997-08-12 TW TW086111549A patent/TW340285B/zh not_active IP Right Cessation
- 1997-09-15 IT IT97RM000553A patent/IT1295391B1/it active IP Right Grant
- 1997-09-18 AR ARP970104282A patent/AR008437A1/es unknown
- 1997-10-03 ES ES009702065A patent/ES2147693B1/es not_active Expired - Lifetime
-
1998
- 1998-06-03 SE SE9801958A patent/SE517510C2/sv not_active IP Right Cessation
- 1998-06-03 FI FI981263A patent/FI117493B/fi not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5513223A (en) * | 1993-11-16 | 1996-04-30 | Nec Corporation | FIR digital filter and method for signal processing thereof |
US5499272A (en) * | 1994-05-31 | 1996-03-12 | Ericsson Ge Mobile Communications Inc. | Diversity receiver for signals with multipath time dispersion |
Also Published As
Publication number | Publication date |
---|---|
US5905757A (en) | 1999-05-18 |
CA2238299C (fr) | 2000-09-26 |
TW340285B (en) | 1998-09-11 |
KR19990071907A (ko) | 1999-09-27 |
ES2147693A1 (es) | 2000-09-16 |
SE9801958L (sv) | 1998-08-03 |
CN1205133A (zh) | 1999-01-13 |
FI981263A0 (fi) | 1997-07-08 |
ITRM970553A1 (it) | 1999-03-15 |
SE9801958D0 (sv) | 1998-06-03 |
SE517510C2 (sv) | 2002-06-11 |
CN1153422C (zh) | 2004-06-09 |
DE19781047T1 (de) | 1998-12-17 |
AR008437A1 (es) | 2000-01-19 |
WO1998015056A1 (fr) | 1998-04-09 |
GB9811085D0 (en) | 1998-07-22 |
RU2178949C2 (ru) | 2002-01-27 |
JP4494531B2 (ja) | 2010-06-30 |
FI981263A (fi) | 1998-06-03 |
DE19781047B4 (de) | 2005-09-29 |
GB2322057B (en) | 2001-04-25 |
KR100306014B1 (ko) | 2001-11-02 |
CA2238299A1 (fr) | 1998-04-09 |
AU3587597A (en) | 1998-04-24 |
IT1295391B1 (it) | 1999-05-12 |
FI117493B (fi) | 2006-10-31 |
FR2754366B1 (fr) | 2003-08-15 |
GB2322057A (en) | 1998-08-12 |
ES2147693B1 (es) | 2001-05-16 |
JP2000501918A (ja) | 2000-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2754366A1 (fr) | Coprocesseur de filtre | |
EP0219392B1 (fr) | Dispositif de calcul d'une transformée de Fourier discrète, glissante et non récursive, et son application à un système radar | |
EP0046708A2 (fr) | Circuit de traitement numérique en arithmétique distribuée utilisant des multiplexeurs à l'entrée d'une mémoire | |
FR2615675A1 (fr) | Procede de demodulation de signaux modules numeriquement et dispositif de mise en oeuvre d'un tel procede | |
EP0485921B1 (fr) | Dispositif prévu pour le traitement de l'algorithme de Viterbi comprenant un processeur et un opérateur spécialisé | |
FR2812480A1 (fr) | Procede de traitement d'un signal numerique en entree d'un egaliseur de canal | |
FR2620583A1 (fr) | Systeme de transmission par modems comportant des canaux principal et secondaire | |
EP0223657A1 (fr) | Dispositif de calcul d'une transformée de fourier discrète, et son application à la compression d'impulsion dans un système radar | |
RU98112274A (ru) | Фильтрующий сопроцессор | |
FR2597690A1 (fr) | Appareil de detection et de discrimination de sauts de phase dans un signal periodique et application a un signal telephonique de tonalite avec inversions de phase. | |
CA1305757C (fr) | Dispositif de filtrage numerique et radar comportant un tel dispositif | |
EP0926823A1 (fr) | Circuit programmable pour réaliser un filtre numérique | |
EP0147414A1 (fr) | Procede de demodulation non-coherente d'un signal module lineairement a energie par symbole constante et demodulateur pour la mise en oeuvre dudit procede. | |
FR2678400A1 (fr) | Processeur de protocole destine a l'execution d'un ensemble d'instructions en un nombre reduit d'operation. | |
EP1221773B1 (fr) | Méthode et dispositif de détection multi-utilisateur en mode DS-CDMA | |
EP1135855B1 (fr) | Filtre numerique a architecture parallele et recepteur de signaux a etalement de spectre utilisant un tel filtre | |
EP1244243A1 (fr) | Egalisation à minimisation de l'erreur quadratique moyenne globale | |
EP1592136B1 (fr) | Démodulateur adaptable | |
EP0254628B1 (fr) | Circuit de traitement numérique de signal réalisant une transformation cosinus | |
EP1058435A1 (fr) | Procédé et dispositif de calcul d'une transformation de Fourier inverse à architecture dite "pipelinée" | |
FR2802660A1 (fr) | Procede pour effectuer des operations avec une arithmetique variable | |
EP1536590B1 (fr) | Procédé de réception d'un signal de télécommunication | |
EP0615374B1 (fr) | Procédé et dispositif de traitement d'écho entre deux voies de transmission présentant entre elles un couplage | |
WO2010026211A1 (fr) | Dispositif de traitement numerique pour transformee de fourier et filtrage a reponse impulsionnelle finie | |
EP1478096A1 (fr) | Dispositif et procédé de réjection d'interférences auto-adaptatif |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20080430 |