Campo da Invenção
[0001] A presente invenção relaciona-se ao campo de des/multiplexação de bit em sistemas de comunicação de multiportadora MIMO (por exemplo sistemas de comunicação MIMO de multiplexação espacial pré-codificada usando OFDM adaptável). A presente invenção relaciona-se especialmente a um transmissor MIMO de multiportadora e um receptor MIMO de multiportadora.
Descrição da Técnica Anterior
[0002] Sistemas de comunicação MIMO (entrada múltipla saída múltipla) são bem conhecidos na arte. Um transmissor MIMO inclui pelo menos duas portas de transmissão (por exemplo antenas) e um receptor MIMO inclui pelo menos duas portas de recepção (por exemplo antenas). Sinais são transmitidos das portas de transmissão para as portas de recepção por um canal de comunicação que mistura geralmente os sinais transmitidos por uma pluralidade de portas de transmissão. O receptor MIMO inclui um detector MIMO (decodificador MIMO), que "desfaz mistura" dos sinais recebidos e obtém a informação incluída nos sinais transmitidos pelo transmissor MIMO. Vários tipos de transmissores de MIMO são conhecidos, por exemplo transmissores de MIMO codificados em espaço-tempo, e transmissores de MIMO de multiplexação espacial com pré-codificação (por exemplo transmissores de MIMO de formação de feixe) e sem pré- codificação. Para cada tipo de transmissor MIMO, um receptor MIMO correspondente é empregado. Tecnologia de MIMO alcança uma eficiência espectral mais alta e confiabilidade de ligação mais alta. Também, esquemas de modulação de multiportadora como, por exemplo, OFDM (multiplexação por divisão de frequência ortogonal) e modulação de 'wavelet' de multiportadora são bem conhecidos. Sistemas MIMO têm dois ou mais canais de transmissão. Normalmente, uma aplicação tem uma fonte de dados e uma recebedor de dados. Portanto, os dados a serem transmitidos têm que ser divididos (desmultiplexados) para vários canais de transmissão. No receptor, os dados divididos recebidos em canais de transmissão individuais precisam ser combinados (multiplexados) novamente. Esta tarefa é chamada des/multiplexação de bit para os canais de transmissão individuais. Sistemas de comunicação de PLC, Power Line Communication (comunicação via rede elétrica ou portadora via rede elétrica), transmitem dados usando um ou mais condutores que são usados regularmente para transmissão de energia elétrica. Sistemas MIMO de multiportadora sem fios usam um mapeamento de símbolo constante (por exemplo mapeamento de QAM) para todas as portadoras. Isto resulta em um processamento constante nos canais individuais, assim a desmultiplexação no transmissor é uma divisão estática dos bits entrantes aos bits de partida. No receptor, os bits serão multiplexados de um modo estático novamente.
[0003] É o objetivo da presente invenção prover transmissores e receptores de MIMO de multiportadora melhorados, especialmente para prover uma robustez melhorada de transmissão de dados e/ou complexidade reduzida de transmissão de dados.
Breve Descrição da Presente Invenção
[0004] Um transmissor MIMO de multiportadora de acordo com a presente invenção inclui uma unidade de desmultiplexador e mapeador de símbolo para receber um fluxo de bits de entrada e gerar uma pluralidade de fluxos de símbolo, cada fluxo de símbolo estando associado com um canal de transmissão diferente e incluindo uma pluralidade de símbolos de dados, cada símbolo de dados sendo atribuído a uma portadora diferente; um ou mais moduladores de multiportadora para gerar pelo menos dois sinais modulados de multiportadora com base nos fluxos de símbolo; e pelo menos duas portas de transmissão para transmitir respectivamente os pelo menos dois sinais modulados de multiportadora, em que uma taxa de processamento de dados de cada canal de transmissão é variável separadamente.
[0005] Porque a taxa de processamento de dados de cada canal de transmissão é variada separadamente, a taxa de processamento de dados pode ser adaptada por exemplo de acordo com condições de canal, que provê uma transmissão de dados mais robusta e mais eficiente.
[0006] Vantajosamente, pelo menos um símbolo de dados representa um arranjo não contínuo de bits do fluxo de bits de entrada.
[0007] Vantajosamente, a unidade de desmultiplexador e mapeador de símbolo é adaptada para dividir o fluxo de bits de entrada em uma pluralidade de fluxos de bits divididos e gerar cada um de ditos fluxos de símbolo com base em um diferente de ditos fluxos de bits divididos.
[0008] Vantajosamente, cada canal de transmissão tem alocado vários bits representando a taxa de processamento de dados do canal de transmissão respectivo e dita divisão do fluxo de bits de entrada na pluralidade de fluxos de bits divididos está baseada no número de bits alocados aos canais de transmissão e/ou está com base em uma ou mais relações do número de bits alocados aos canais de transmissão.
[0009] Vantajosamente, os bits dos fluxos de bits divididos são distribuídos uniformemente dentro do fluxo de bits de entrada. Certamente, esta não é uma propriedade do fluxo de bits de entrada, mas uma propriedade da multiplexação empregada. Em outras palavras, cada fluxo de bits dividido é visto como um grupo de bits e os grupos diferentes de bits são distribuídos uniformemente no fluxo de bits de entrada. Em ainda outras palavras, cada fluxo de bits dividido é visto como um grupo de bits e dita divisão do fluxo de bits de entrada nos fluxos de bits divididos é executada de um modo que os membros dos grupos de bits sejam distribuídos uniformemente no fluxo de bits de entrada. Em ainda outras palavras, cada bit do fluxo de bits de entrada é visto como correspondendo a uma classe, a classe respectiva sendo dada pelo fluxo de bits dividido do qual o bit faz parte, e as classes são distribuídas uniformemente no fluxo de bits de entrada.
[00010] Vantajosamente, o fluxo de entrada inclui pelo menos duas seções, cada seção incluindo pelo menos dois grupos de bits, cada grupo dos pelo menos dois grupos sendo desmultiplexados para outro dos fluxos de bits divididos e sendo dado por um ou mais pedaços consecutivos.
[00011] Alternativamente, cada símbolo de dados representa vantajosamente uma sequência contínua de bits do fluxo de bits de entrada.
[00012] Vantajosamente, a unidade de desmultiplexador e mapeador de símbolo é adaptada para mapear os bits do fluxo de bits de dados de entrada aos símbolos de dados e desmultiplexar os símbolos de dados para a pluralidade de fluxos de símbolo.
[00013] Vantajosamente, um grupo de todos os símbolos de dados de um fluxo de símbolo representa uma sequência contínua de bits do fluxo de bits de entrada; ou um grupo de todos os símbolos de dados de subportadoras correspondentes dos canais de transmissão representa uma sequência contínua de bits do fluxo de bits de entrada; ou cada uma das sequências contínuas de bits do fluxo de bits de entrada é transmitida em uma subportadora específica de um canal de transmissão específico definido por uma sequência pseudo- aleatória.
[00014] Vantajosamente, a unidade de desmultiplexador e mapeador de símbolo é adaptada para mapear sequencialmente as sequências de bit contínuas a símbolos de dados.
[00015] Vantajosamente, uma constelação usada na geração de símbolos de dados é adaptada para pelo menos algumas subportadoras em pelo menos alguns canais de transmissão.
[00016] Um receptor MIMO de multiportadora de acordo com a presente invenção inclui pelo menos duas portas de recepção para receber respectivamente pelo menos dois sinais modulados de multiportadora; um ou mais demoduladores de multiportadora para demodular os pelo menos dois sinais recebidos, um detector para gerar pelo menos dois fluxos de símbolo com base nos pelo menos dois sinais demodulados, cada fluxo de símbolo estando associado com um canal de transmissão diferente e incluindo uma pluralidade de símbolos de dados; e uma unidade de desmapeador de símbolo e multiplexador para gerar um fluxo de bits de saída com base nos pelo menos dois fluxos de símbolo.
[00017] Vantajosamente, pelo menos um símbolo de dados representa um arranjo não contínuo de bits do fluxo de bits de saída.
[00018] Vantajosamente, a unidade de desmapeador de símbolo e multiplexador é adaptada para desfazer mapa da pluralidade de fluxos de símbolo em uma pluralidade correspondente de fluxos de bits divididos.
[00019] Vantajosamente, em que cada canal de transmissão alocou vários bits indicando a taxa de processamento de dados do canal de transmissão respectivo e a unidade de desmapeador de símbolo e multiplexador é adaptada para multiplexar ditos fluxos de bits divididos em dito fluxo de bits de saída com base no número de bits alocados aos canais de transmissão e/ou com base em uma ou mais relações do número de bits alocados aos canais de transmissão.
[00020] Vantajosamente, bits dos fluxos de bits divididos são distribuídos uniformemente dentro do fluxo de bits de saída.
[00021] Vantajosamente, em que o fluxo de bits de saída inclui pelo menos duas seções, cada seção incluindo pelo menos dois grupos de bits, cada grupo dos pelo menos dois grupos sendo dado por um ou mais bits consecutivos e sendo multiplexados no fluxo de bits de saída de outro dos fluxos de bits divididos.
[00022] Alternativamente, cada símbolo de dados representa vantajosamente uma sequência contínua de bits do fluxo de bits de saída.
[00023] Vantajosamente, a unidade de desmapeador de símbolo e multiplexador é adaptada para multiplexar os símbolos de dados da pluralidade de fluxos de símbolo em um único fluxo de símbolo e desfazer mapa dos símbolos de dados multiplexados no fluxo de bits de saída.
[00024] Vantajosamente, um grupo de todos os símbolos de dados de um da pluralidade de fluxos de símbolo representa uma sequência contínua de bits do fluxo de bits de saída; ou um grupo de todos os símbolos de dados de subportadoras correspondentes dos canais de transmissão representa uma sequência contínua do fluxo de bits de saída; ou cada uma das sequências contínuas de bits do fluxo de bits de saída é recebida em uma subportadora específica de um canal de transmissão específico definido por uma sequência pseudo-aleatória.
[00025] Vantajosamente, a unidade de desmapeador de símbolo e multiplexador é adaptada para desfazer mapa sequencialmente dos símbolos de dados para as sequências de bits contínuas.
[00026] Vantajosamente, uma constelação usada na geração do fluxo de bits de saída com base nos pelo menos dois fluxos de símbolo é adaptada para pelo menos algumas subportadoras em pelo menos alguns canais de transmissão.
Breve Descrição dos Desenhos
[00027] Figura 1 mostra uma representação esquemática de uma modalidade do transmissor de acordo com a presente invenção.
[00028] Figura 2 mostra uma representação esquemática de uma modalidade do receptor de acordo com a presente invenção.
[00029] Figura 3 mostra uma representação esquemática de uma primeira modalidade alternativa da unidade de desmultiplexador e mapeador de símbolo.
[00030] Figura 4 mostra uma representação esquemática de uma primeira modalidade alternativa do desmapeador de símbolo e unidade de multiplexador.
[00031] Figura 5 mostra um fluxograma de um algoritmo des/multiplexação de bit de acordo com a primeira modalidade alternativa.
[00032] Figura 6 mostra um primeiro exemplo da des/multiplexação de bit obtida usando o algoritmo.
[00033] Figura 7 mostra um segundo exemplo da des/multiplexação de bit obtida usando o algoritmo.
[00034] Figura 8 mostra uma representação esquemática de uma segunda modalidade alternativa da unidade de desmultiplexador e mapeador de símbolo.
[00035] Figura 9 mostra uma representação esquemática de uma segunda modalidade alternativa da unidade de desmapeador de símbolo e multiplexador.
Descrição das modalidades Preferidas
[00036] Figura 1 e Figura 2 mostram uma primeira modalidade do transmissor MIMO de multiportadora 1 e do receptor MIMO de multiportadora 2 da presente invenção. O transmissor 1 e o receptor 2 podem ser (ou podem estar incluídos) qualquer tipo de dispositivos de comunicação, como exemplos não limitantes, telefones móveis, computadores pessoais, televisões, dispositivos de gravação e/ou reprodução de áudio e/ou vídeo e modems de PLC.
[00037] De acordo com a presente invenção, o transmissor 1 inclui uma unidade de desmultiplexador e mapeador de símbolo 6, um ou mais moduladores de multiportadora 20-1 a 20-n e pelo menos duas portas de transmissão 24-1 a 24-n.
[00038] O transmissor 1 desta modalidade ademais inclui um codificador 5 que codifica um fluxo de bits de entrada de acordo com um código de correção de erros e/ou código de detecção de erros. Como é conhecido na arte, códigos de correção de erros são usados para correção de erros dianteira. Ambos o fluxo de bits de entrada codificado e não codificado serão chamados fluxo de bits de entrada no seguinte.
[00039] O fluxo de bits de entrada (codificado) é então ademais processado pela unidade de desmultiplexador e mapeador de símbolo 6. A unidade de desmultiplexador e mapeador de símbolo 6 mapeia os bits a símbolos de dados por um ou mais mapeadores de símbolo (por exemplo moduladores de OFDM) 10, 10-1 a 10-n como mostrado na Figura 3 ou Figura 8. Por este meio, a unidade de desmultiplexador e mapeador de símbolo 6 gera uma pluralidade de fluxos de símbolo. Cada fluxo de símbolo inclui uma pluralidade de símbolos de dados, cada símbolo de dados sendo atribuído (transmitido em) a uma subportadora diferente. Cada um dos fluxos de símbolo corresponde a um canal de transmissão de MIMO diferente. Os canais de transmissão de MIMO também podem ser chamados trajetos de MIMO. O número de canais de transmissão de MIMO é tipicamente igual ao número de portas de transmissão 24-1 a 24-n, mas também pode ser menor que o número de portas de transmissão 24-1 a 24-n. O mapeamento de bits a símbolos de dados é executado de acordo com constelações fixadas para cada subportadora em cada canal de transmissão. As constelações são variadas de acordo com condições de canal (modulação de multiportadora adaptável). Por exemplo, a constelação de uma subportadora de um canal de transmissão pode ser selecionada de acordo com uma medida de qualidade de canal (por exemplo, relação de sinal para ruído, SNR) determinada para esta subportadora neste canal de transmissão. As constelações podem ser selecionadas para cada subportadora em cada canal de transmissão separadamente. Por exemplo ruído, atenuação dependente de frequência, mudanças no canal de MIMO (por exemplo comutando uma luz ligada/desligada em um canal de PLC) pode influenciar ou mudar a seleção de uma constelação e por esse meio influenciar ou mudar o número ou relação (proporção) de bits alocados aos canais de transmissão. Informação de constelação indicando as constelações a empregar pelo um ou mais mapeadores de símbolo pode, por exemplo, ser armazenada em uma memória 14 do transmissor 1. A informação de constelação é às vezes chamada mapa de tom (por exemplo, mapa de tom de OFDM). Modulação de multiportadora adaptável é especialmente vantajosa no caso de sistemas de comunicação de PLC. O processamento de dados varia com a (tamanho da) constelação. O tamanho de uma constelação é a quantidade de informação (por exemplo o número de bits) que está incluída em símbolo de dados obtido de acordo com a constelação. O tamanho da constelação é portanto a quantidade de informação (por exemplo, número de bits) que é transmitida na subportadora do canal de transmissão. Assim, a presente invenção provê des/multiplexação de bit com uma taxa de processamento variável.
[00040] A taxa de processamento de cada canal de transmissão varia separadamente. A desmultiplexação dos dados para os canais de transmissão pode ser executada em nível de bit ou em nível de símbolo de dados como será descrito abaixo em mais detalhe.
[00041] Os fluxos de símbolo são então pré-codificados em MIMO por um pré-codificador 18. A pré-codificação empregada por exemplo pode ser uma pré-codificação de formação de feixe. Porém, qualquer pré-codificação de MIMO adequada poderia ser empregada. Por exemplo, pré-codificação de acordo com um código de espaço-tempo (por exemplo código de Alamouti) poderia ser empregado. O pré-codificador também poderia ser omitido. No caso onde o pré-codificador é omitido, os canais de transmissão correspondem às portas de transmissão, isso é, cada fluxo de símbolo é transmitido por outra das portas de transmissão 24-1 a 24-n. Por outro lado, quando por exemplo formação de feixe é empregada, os canais de transmissão não correspondem às portas de transmissão 24-1 a 24-n. Isto é porque formação de feixe "mistura" o fluxo de símbolo de entrada para gerar os fluxos de símbolo pré-codificados (saída). O pré-codificador 18 gera uma pluralidade de fluxos de símbolo de dados pré-codificados de acordo com o número de portas de transmissão 24-1 a 24-n.
[00042] Cada fluxo de dados símbolo pré-codificado é então modulado em multiportadora (por exemplo modulado em OFDM, modulado em 'wavelet' de multiportadora) por um modulador de multiportadora correspondente (por exemplo modulador de OFDM) 20-1 a 20-n e transmitido por uma correspondente das portas de transmissão 24-1 a 24-n. Alternativamente, um único modulador de multiportadora modula sequencialmente os símbolos de dados pré-codificados. Neste caso, os fluxos de símbolo de dados modulados são então desmultiplexados para as respectivas portas de transmissão 24-1 a 24-n.
[00043] As portas de transmissão 24-1 a 24-n poderiam por exemplo ser antenas. Em uma modalidade porém, as portas de transmissão 24-1 a 24-n são adaptadas para transmitir sinais ao receptor 2 por dois ou mais condutores. Por este meio, os condutores podem ser linhas de transição de dados dedicados ou pode - adicionalmente ou principalmente - servir ao propósito de transmitir energia elétrica (por exemplo, transmissor de PLC transmitindo em linhas de energia principais).
[00044] O receptor 2 recebe os sinais transmitidos no canal de MIMO (não mostrado) pelo transmissor 1 com suas pelo menos duas portas de recepção 30-1 a 30-n. Os sinais incluem a informação do fluxo de bits de entrada. As portas de recepção 30-1 a 30-n podem ser por exemplo antenas. Em uma modalidade, porém, as portas de recepção 30-1 a 30-n são adaptadas para receber os sinais por dois ou mais condutores. Os condutores podem por este meio ser dedicados à transmissão de dados ou podem - adicionalmente ou principalmente - servir ao propósito de transmissão de energia elétrica (por exemplo, receptor de PLC recebendo em linhas de energia principais).
[00045] Os pelo menos dois sinais modulados de multiportadora são então demodulados por respectivos pelo menos dois demoduladores de multiportadora (por exemplo demoduladores de OFDM, demoduladores de 'wavelet' de multiportadora) 34-1 a 34-n. A demodulação também pode ser feita sequencialmente, como 20-1 a 20-n em transmissor 1. Em vez de uma pluralidade de demoduladores de multiportadora de acordo com o número de portas de recepção 30-1 a 30-n, também menos demoduladores de multiportadora, por exemplo um único demodulador de multiportadora, poderia ser empregado. Neste caso, os sinais modulados de multiportadora recebidos são, pelo menos parcialmente, demodulados em sequência.
[00046] Um estimador de canal 35 obtém informação de estado de canal (CSI) com base nos sinais demodulados. A CSI poderia por exemplo incluir uma matriz de canal e uma medida de qualidade de canal (por exemplo relação de sinal para ruído) para cada subportadora em cada canal de transmissão. Determinação de informação de estado de canal poderia ser por exemplo baseada em símbolos de treinamento e/ou símbolos pilotos. Como descrito acima, as constelações usadas no mapeamento e desmapeamento de símbolo são adaptadas às condições de canal. As constelações específicas a empregar podem ser determinadas com base na informação de estado de canal. Por exemplo, a constelação para um subportadora específica em um canal de transmissão específico poderia ser determinada com base na medida de qualidade de canal (por exemplo relação de sinal para ruído) da subportadora específica do canal de transmissão específico. A CSI e a informação de constelação poderiam, por exemplo, ser armazenadas em uma memória 44 do receptor 2. Assim, a presente invenção provê des/multiplexação de bit com uma taxa de processamento variável.
[00047] Um detector 36 executa uma detecção de MIMO (decodificação de MIMO) nos sinais demodulados. A detecção pode ser baseada em CSI obtida pelo estimador de canal 35. Qualquer tipo de detectores (decodificadores) poderia ser empregado. Por exemplo, detectores de forçar a zero (ZF), erro quadrado médio mínimo (MMSE) e probabilidade máxima (ML) poderiam ser empregados. Como resultado da detecção de MIMO, pelo menos dois fluxos de símbolo correspondendo aos pelo menos dois canais de transmissão são obtidos.
[00048] Na unidade de desmapeador de símbolo e multiplexador 38, os fluxos de símbolo detectados são processados invertendo o processamento da unidade de desmultiplexador e mapeador de símbolo 6 do transmissor 1 a fim de obter um fluxo de bits de saída. Especialmente, cada símbolo de dados incluído nos fluxos de símbolo é mapeado ("desmapeado") a vários bits representados pelo símbolo de dados por um ou mais desmapeadores de símbolo 40, 40-1 a 40-n como mostrado na Figura 4 ou Figura 9. Como descrito acima, demodulação de multiportadora adaptável poderia ser empregada. A informação de constelação indicando as constelações a usar poderia por exemplo ser armazenada em uma memória 44 do receptor 2. A multiplexação dos dados recebidos na pluralidade de canais de transmissão no fluxo de bits de saída pode ser executada em nível de bit ou em nível de símbolo de dados como será descrito abaixo em mais detalhe. O fluxo de bits de saída é ainda codificado com a codificação aplicada pelo codificador 5 do transmissor 1.
[00049] O fluxo de bits de saída codificado é decodificado por um decodificador 48 por um método de correção e/ou detecção de erros correspondendo ao código de correção e/ou detecção de erros empregado pelo codificador 5. Como resultado, um fluxo de bits de saída decodificado é obtido. O fluxo de bits de saída codificado e o decodificado serão no seguinte ambos chamados fluxo de bits de saída.
[00050] O receptor 2 pode ademais incluir uma seção de transmissão 46 e o transmissor 1 pode ademais incluir uma seção de recepção 16. Por meio da seção de transmissão 46 e da seção de recepção 16, um canal de retorno é provido por qual qualquer tipo de informação pode ser transmitida do receptor 2 ao transmissor 1. A seção de transmissão 46 pode, mas não precisa, ter a estrutura e a funcionalidade do transmissor 1. Usando a seção de transmissão 46, o receptor 2 pode, por exemplo transmitir informação de estado de canal, informação de pré-codificação e informação de constelação (por exemplo mapa de tom de OFDM), isso é, informação indicando as constelações a usar no mapeamento de bits a símbolos de dados para cada subportadora em cada canal de transmissão. A seção de recepção 16 pode, mas não precisa, ter a estrutura e a funcionalidade do receptor 2. Usando a seção de recepção, o transmissor 1 pode, por exemplo, receber a informação de estado de canal, informação de pré-codificação e a informação de constelação geradas e transmitidas pelo receptor 2.
[00051] Agora, duas modalidades alternativas do transmissor 1 e do receptor 2 serão descritas. Na primeira modalidade alternativa, des/multiplexação de bit é executado no nível de bit. Na segunda modalidade alternativa, des/multiplexação de bit é executada no nível de símbolo. Ambas a primeira e a segunda modalidades alternativas têm a estrutura e operação como descrito acima em relação às Figuras 1 e 2.
[00052] Figuras 3 e 4 mostram a unidade de desmultiplexador e mapeador de símbolo 6 do transmissor 1 e a unidade de desmapeador de símbolo e multiplexador 38 do receptor 2 de acordo com a primeira modalidade alternativa.
[00053] Na primeira modalidade alternativa, a unidade de desmultiplexador e mapeador de símbolo 6 inclui um desmultiplexador 8 operando no nível de bit e uma pluralidade de mapeadores de símbolo (por exemplo moduladores de QAM) 10-1 a 10-n, cada mapeador de símbolo correspondendo a um canal de transmissão de MIMO diferente. O desmultiplexador 8 desmultiplexa o fluxo de bits de entrada em vários fluxos de bits divididos. Os fluxos de bits divididos são processados em paralelo e o fluxo de bits de entrada é referenciados em tempo, ou pelo menos, é referenciado em tempo a uma taxa mais alta que quaisquer dos fluxos de bits divididos. O número de fluxos de bits divididos é pelo menos dois e é dado pelo número de canais de transmissão de MIMO. Cada fluxo de bits dividido corresponde a um diferente dos canais de transmissão. Os bits são representados através de retângulos pequenos. Bits representados por um retângulo listrado diagonalmente são desmultiplexados ao primeiro canal de transmissão. Bits representados por retângulos vagos são desmultiplexados no n-ésimo canal de transmissão. É notado que a seção descrita do fluxo de bits de entrada não inclui bits desmultiplexados para outros canais de transmissão que não primeiro canal de transmissão e o n-ésimo canal de transmissão. Isto é para propósito de ilustração somente e não deveria ser interpretado como limitante. Geralmente haverá bits desmultiplexados para canais de transmissão que não o primeiro canal de transmissão e o n-ésimo canal de transmissão entremeados no fluxo de bits de entrada. Cada fluxo de bits dividido é então mapeado a um fluxo de símbolo correspondente por um mapeador de símbolo correspondente 10-1 a 10-n. Assim, os vários fluxos de bits divididos são processados (mapeados) em paralelo. Como descrito acima, constelações variáveis (modulação de multiportadora adaptável) são empregadas. Vantajosamente, uma desmultiplexação de bit distribuída igual é empregada, que garante uma distribuição equilibrada dos bits para os dois ou mais fluxos de bits. Isto será descrito em mais detalhe abaixo.
[00054] Semelhantemente, a unidade de desmapeador de símbolo e multiplexador 38 da primeira modalidade alternativa inclui vários desmapeadores de símbolo 40-1 a 40-n de acordo com o número de canais de transmissão (fluxos de símbolo) e um multiplexador 42 operando no nível de bit. A pluralidade de fluxos de símbolo alimentada na unidade de desmapeador de símbolo e multiplexador 38 é processada em paralelo. Cada um dos desmapeadores de símbolo 40-1 a 40-n mapeia ("desfaz mapa") os símbolos de dados de um diferente dos fluxos de símbolo para um fluxo de bits dividido correspondente. Os fluxos de bits divididos obtidos desfazendo mapeamento dos fluxos de símbolo são então multiplexados em um único fluxo de bits, que é o fluxo de bits de saída, pelo multiplexador 42. O fluxo de bits de saída é referenciado em tempo ou, pelo menos, é referenciado em tempo a taxa mais alta do que quaisquer dos fluxos de bits divididos.
[00055] Uma modalidade específica da des/multiplexação de bit de nível de bit aplicada no transmissor 1 e ao receptor 2 da primeira modalidade alternativa é explicada agora com referência à Figura 5. O algoritmo é executado uma vez para cada símbolo de multiportadora (por exemplo símbolo de OFDM) ou é executado pelo menos cada vez que um tamanho de constelação usado no mapeamento/desmapeamento de símbolo muda. O algoritmo opera por bit. No transmissor 1, o algoritmo determina qual bit do fluxo de bits de entrada (codificado) é para ser transmitido em qual canal de transmissão (e, implicitamente em qual subportadora), de forma que os fluxos de bits divididos podem ser desmultiplexados corretamente do fluxo de bits de entrada. No receptor 2, o algoritmo determina qual bit do fluxo de bits de saída (codificado) foi transmitido em qual canal de transmissão (e, implicitamente em qual subportadora), de forma que os fluxos de bits divididos possam ser multiplexados corretamente no fluxo de bits de saída. Na modalidade, o número de canais de transmissão é assumido ser dois. Algumas das ações executadas de acordo com o algoritmo como descrito abaixo só relacionam-se ao transmissor 1 somente. A pessoa qualificada porém reconhecerá que ações correspondentes têm que ser executadas no receptor 2.
[00056] Na etapa S2, o número de bits alocados (transmitidos por) aos canais de transmissão é determinado. O canal de transmissão com o número mais alto de bits alocado é fixado path_b e o canal de transmissão com o número de bits mais baixo alocado é fixado path_a.
[00057] Na etapa S4, é determinado se o número de bits alocado ao canal de transmissão path_a é zero. Se sim, vários bits consecutivos do fluxo de bits de entrada, que é dado pelo número de bits alocado a path_b é alocado a path_b na etapa S8. Se não, o processo procede à etapa S10.
[00058] Na etapa S10, a relação dos bits alocados ao canal de transmissão path_b e canal de transmissão path_a é determinada.
[00059] Nas etapas S12 e S14, o número de bits transmitidos à pluralidade de canais de transmissão é obtido e variáveis n, a_index e b_index são fixado a um.
[00060] Na etapa S16, é determinado se a variável n é maior do que o número total de bits alocados à pluralidade de canais de transmissão. Se sim, todos os bits foram alocados para o símbolo de multiportadora e o algoritmo é terminado. Se não, o algoritmo procede à etapa S18.
[00061] Na etapa S18, a desigualdade, n < a_index*(ratio+1)-ratio/2 (1) é avaliada. O segundo termo "ratio/2" poderia ser omitido ou substituído por outra constante. Constante aqui significa independente da variável n e não variável durante o algoritmo. No caso que a desigualdade se mantém, o algoritmo procede à etapa S20. No caso que a desigualdade não se mantém, o algoritmo procede à etapa S26.
[00062] Na etapa S20 é determinado se ainda há bits não alocados em canal de transmissão path_b. Se sim, o n-ésimo bit do fluxo de bits de entrada é alocado a canal de transmissão path_b e a variável b_index é aumentada por um na etapa S22 e o algoritmo procede à etapa S30. Se não, o algoritmo procede à etapa S24.
[00063] Na etapa S24, o n-ésimo bit do fluxo de bits de entrada é alocado a canal de transmissão path_a e a variável a_index é aumentada por um e o algoritmo procede à etapa S30.
[00064] Na etapa S26, é determinado se ainda há bits não alocados em canal de transmissão path_a. Se sim, o n-ésimo bit do fluxo de bits de entrada é alocado a canal de transmissão path_a de e a variável a_index é aumentada por um na etapa S24 e o algoritmo procede à etapa S30. Se não, o algoritmo procede à etapa S28.
[00065] Na etapa S28, o n-ésimo bit do fluxo de bits de entrada é alocado a canal de transmissão path_b e a variável b_index é aumentada por um. E o algoritmo procede à etapa S30.
[00066] Na etapa S30, a variável n é aumentada por um e o algoritmo retorna à etapa S16.
[00067] Assim, a descrição do algoritmo como operado pelo transmissor 1 é terminada. Quando executadas no receptor 2, as etapas S4, S22 e S24 e S28 assumem a forma seguinte:
[00068] Na etapa S4, é determinado se o número de bits alocados ao canal de transmissão path_a é zero. Se sim, o fluxo de bits de saída é dado pelo fluxo de bits recebido em canal de transmissão path_b. Se não, o processo procede à etapa S10.
[00069] Na etapa S22, o n-ésimo bit do fluxo de bits de saída é levado de canal de transmissão path_b (n-ésimo bit do fluxo de bits de saída é dado pelo próximo bit não alocado de canal de transmissão path_b), a variável b_index é aumentada por um e o algoritmo procede à etapa S30.
[00070] Na etapa S24, o n-ésimo bit do fluxo de bits de saída é levado de canal de transmissão path_a (n-ésimo bit do fluxo de bits de saída é dado pelo próximo bit de não alocado de canal de transmissão path_a), a variável a_index é aumentada por um e o algoritmo procede à etapa S30.
[00071] Na etapa S28, o n-ésimo bit do fluxo de bits de saída é levado de canal de transmissão path_b (n-ésimo bit do fluxo de bits de saída é dado pelo próximo bit não alocado de canal de transmissão path_b), a variável b_index é aumentada por um e o algoritmo procede à etapa S30.
[00072] Está claro que, etapas que são idênticas para o transmissor 1 e o receptor 2 não precisam ser executadas duas vezes. Resultados e dados intermediários podem ser compartilhados (transmitidos) entre o transmissor 1 e o receptor 2 para reduzir a complexidade de computação.
[00073] Exemplos da des/multiplexação de bit obtida por este algoritmo são descritos nas Figuras 6 e 7.
[00074] Figura 6 mostra o fluxo de bits de entrada/saída, o fluxo de bits dividido correspondendo a canal de transmissão path_b, o fluxo de bits dividido correspondendo a canal de transmissão path_a e o fluxo de bits de entrada/saída representado pelos bits dos fluxos de bits divididos no caso onde a relação de bits alocados a canal de transmissão path_b e canal de transmissão path _a é três (isto é, relação=3). O fluxo de bits de entrada é dado por uma sequência de bits N1, N2, N3,... O fluxo de bits dividido correspondendo a um canal de transmissão path_a é dado por uma sequência de bits A1, A2, A3,... O fluxo de bits dividido correspondendo a um canal de transmissão path_b é dado por uma sequência de bits B1, B2, B3,... O primeiro, o segundo e o terceiro bits B1, B2 e B3 do fluxo de bits dividido de path_b são dados pelo primeiro, segundo e quarto bits N1, N2 e N4 do fluxo de bits de entrada. Correspondentemente, os primeiro quatro bits N1 a N4 do fluxo de bits de saída são dados pelos bits B1, B2, A1 e B3, respectivamente. O padrão de alocação BBAB (equivalentemente BABB, ABBB) se repete todo quatro bits. Em um exemplo onde a primeira subportadora de path_b é modulada por 16-QAM, bits N1, N2, N4 e N5 são mapeados a um símbolo de dados modulado por 16-QAM ("primeiro símbolo de dados"). Desde que o bit N3 não faz parte dos bits representados pelo primeiro símbolo de dados, o primeiro símbolo de dados representa um arranjo não contínuo (sequência não contínua) de bits do fluxo de bits de entrada/saída. Em um exemplo onde a primeira subportadora de path_a é modulada por QPSK, bits N3 e N7 são mapeados a um símbolo modulado por QPSK ("segundo símbolo de dados"). Desde que os bits N4 a N6 não fazem parte dos bits representados pelo segundo símbolo de dados, o segundo símbolo de dados representa um arranjo não contínuo (sequência não contínua) de bits do fluxo de bits de entrada/saída. Certamente, os fluxos de bits divididos são processados (por exemplo mapeados) em paralelo como descrito acima. Figura 5 não deverá ser entendida como se houvesse uma ordenação (por exemplo, ordenação de tempo) ENTRE os bits dos canais de transmissão diferentes (por exemplo não é implicado que o bit B2 seja mapeado a um símbolo de dados antes que o bit A1 seja mapeado a um símbolo de dados). A direção horizontal da Figura 5 representa somente a ordem DENTRO dos fluxos respectivos.
[00075] Figura 7 mostra os mesmos fluxos de bits com as mesmas representações como a Figura 6 no caso onde a relação de alocação é 3/2. Neste caso, pode ser visto que o padrão de distribuição BABBA (equivalentemente ABBAB, BBABA, BABAB, ABABB) é repetido todo cinco bits.
[00076] Como pode ser visto das Figuras 6 e 7, quando o fluxo de bits de entrada/saída é representado pelos bits dos fluxos de bits divididos de canal de transmissão path_b e path_a, os bits dos fluxos de bits divididos são espalhados uniformemente (distribuídos igualmente, distribuídos uniformemente) dentro do fluxo de bits de entrada/saída. Nenhuma acumulação imprópria dos bits de um dado fluxo de bits dividido ocorre no fluxo de bits de entrada/saída. Assim, bits consecutivos do fluxo de bits de entrada/saída são espalhados maximamente aos canais de transmissão. Isto melhora a confiabilidade de transmissão de dados e provê condições vantajosas para operação com êxito do código de correção de erro e/ou detecção de erro (dianteiro). Isto é porque o número de erros de salva e/ou o comprimento de erros de salva no fluxo de bits codificado recebido é reduzido.
[00077] Como pode ser visto, o fluxo de bits de entrada/saída, quando representado pelos bits dos fluxos de bits divididos, é de uma estrutura incluindo pelo menos duas seções (por exemplo A1B3B4B5 e A2B6B7B8 no caso de relação=3 ou B1A1 e B2B3A2 no caso de relação=3/2), cada seção incluindo pelo menos dois grupos de bits, cada grupo dos pelo menos dois grupos de bits sendo desmultiplexado a outro dos fluxos de bits divididos (por exemplo A1 multiplexado a path_a, B3B4B5 multiplexado a trajeto B no caso de relação=3 ou B1multiplexado a path_b e A1 multiplexado a path_a). O número dos grupos, como nestes exemplos, vantajosamente é igual ao número de canais de transmissão.
[00078] Como pode ser visto, o fluxo de bits de entrada/saída, quando representado pelos bits dos fluxos de bits divididos, é de uma estrutura incluindo pelo menos duas seções (por exemplo, B1B2A1B3 e B4B5A2B6 no caso de relação=3 ou B1A1B2B3A2 e B4A3B5B6A4 no caso de relação=3/2), por meio de que cada seção inclui bits de fluxos de bits divididos na mesma relação (proporção) como a relação (proporção) dos bits dos fluxos de bits divididos incluídos no fluxo de bits de entrada/saída. Enquanto o algoritmo geralmente produz uma tal estrutura, existem relações de alocação onde tal estrutura não é possível devido a impossibilidade matemática. Neste caso, o algoritmo produz só uma seção que inclui os bits dos fluxos de bits divididos na mesma relação como o fluxo de bits de entrada/saída. Esta estrutura é o próprio fluxo de entrada/saída.
[00079] Figuras 8 e 9 mostram a unidade de desmultiplexador e mapeador de símbolo 6 do transmissor 1 e a unidade de desmapeador de símbolo e multiplexador 38 do receptor 2 de acordo com a segunda modalidade alternativa na qual o des/multiplexação de bit é executada em nível de símbolo.
[00080] Ao operar no nível de símbolo de dados, a complexidade de desmultiplexação e multiplexação pode ser reduzida grandemente. Para alcançar isto, um mapeador de símbolo 10 (por exemplo modulador de QAM) é provido que tem que um processamento que é suficiente para todos os canais de transmissão no total de forma que mapeie sequencialmente os bits do fluxo de dados de entrada a símbolos de dados para todas as subportadoras em todos os trajetos de transmissão. Os símbolos de dados obtidos são então desmultiplexados por um desmultiplexador 9 para os pelo menos dois canais de transmissão.
[00081] Em algumas modalidades, um sinal de controle de realimentação do mapeador de símbolo 10 para o codificador 5 poderia ser provido para ajustar o processamento de dados (por exemplo, o mapeador de símbolo pede o número necessário de bits do codificador 5).
[00082] O mapeador de símbolo 10 pode mapear as subportadoras dos canais de transmissão diferentes de um modo por bloco, um modo sequencial ou um modo pseudo-aleatório por exemplo.
[00083] No modo por bloco, o mapeador de símbolo 10 primeiro mapeia todas as subportadoras do primeiro canal de transmissão, então mapeia todas as subportadoras do segundo canal de transmissão, então mapeia todas as subportadoras do terceiro canal de transmissão e assim por diante até que todas as subportadoras de todos os canais de transmissão tenham sido mapeadas (por exemplo moduladas por QAM).
[00084] No modo sequencial, o mapeador de símbolo 10 primeiro mapeia as primeiras subportadoras para todos os trajetos, então mapeia as segundas subportadoras para todos os trajetos, então mapeia as terceiras subportadoras para todos os trajetos e assim por diante até que todas as subportadoras de todos os trajetos sejam mapeadas (por exemplo moduladas por QAM).
[00085] É compreendido que subportadoras são ordenadas normalmente de acordo com uma característica física (por exemplo, frequência de subportadora de OFDM, largura da banda de 'wavelet' de portadora). Esta ordem natural é a ordem na qual as subportadoras são mapeadas no modo por bloco, e no modo sequencial. Certamente, cada subportadora é representada uma vez em cada canal de transmissão e há uma ordem por bloco e uma natural sequencial das combinações das subportadoras com os canais de transmissão. Na ordem natural por bloco, as combinações de subportadoras com canais de transmissão são primeiro agrupadas de acordo com canais de transmissão e então, dentro de cada grupo, de acordo com a ordem natural de subportadora. Na ordem natural sequencial, as combinações de subportadoras com canais de transmissão são primeiro agrupadas de acordo com a ordem natural de subportadoras e então, dentro de cada grupo, de acordo com canais de transmissão.
[00086] No modo pseudo-aleatório, o mapeador de símbolo 10 mapeia (por exemplo modula por QAM) as subportadoras de todos os canais de transmissão de acordo com uma sequência pseudo-aleatória. Quando o número de canais de transmissão é t e o número de subportadoras é c, o comprimento da sequência é t*c. Com cada subportadora de cada canal de transmissão há associado um dígito da sequência pseudo-aleatória. O k-ésimo dígito da sequência aleatória indica qual subportadora e combinação de canal de transmissão de acordo com a ordem natural será mapeada na k-ésima etapa. Em outras palavras, a sequência pseudo-aleatória será lida sequencialmente, 1a, 2a,... k-ésima... até (t*c)-ésima e ao mesmo tempo o fluxo de bit entrante será alocado à subportadora com o índice definido pela sequência pseudo-aleatória. Quando o k-ésimo dígito da sequência é j, os bits atuais serão mapeados à j-ésima combinação de subportadora e canal de transmissão de acordo com a ordem natural. Por exemplo, quando j = 1, os bits atuais do fluxo de bits de entrada serão transmitidos na j-ésima subportadora e combinação de canal de transmissão. A sequência pseudo- aleatória pode por exemplo ser salva na memória 14. A unidade de desmultiplexador e mapeador de símbolo 6 pode então ler a sequência da memória 14 e executar a reordenação correspondente (reordenação de índice de portadora). Em algumas modalidades, a unidade de desmultiplexador e mapeador de símbolo 6 e o pré-codificador 18 podem executar a reordenação colaborativamente. Neste caso, o pré-codificador 18 opera com base em sequência pseudo-aleatória. Para portadoras cortadas (isto é, portadoras nas quais nenhuma informação é transmitida por exemplo porque as condições de canal são ruins), a reordenação permanece não influenciada porque a informação de corte já está incluída na informação de constelação.
[00087] Novamente, a unidade de desmapeador de símbolo e multiplexador 38 do receptor 2 executa as operações necessárias para restabelecer a sequência de bits original (isto é, inverte a operação da unidade de desmultiplexador e mapeador de símbolo 6 do transmissor 1). Para este efeito, a unidade de desmapeador de símbolo e multiplexador 38 pode incluir por exemplo um multiplexador 43 operando no nível de símbolo e um único desmapeador de símbolo 40 como é descrito na Figura 9. O multiplexador 43 multiplexa os símbolos recebidos nos pelo menos dois canais de transmissão em um único fluxo de símbolo e provê isto ao desmapeador de símbolo 40. O desmapeador de símbolo (por exemplo demodulador de QAM) 40 tem um processamento que é suficiente para todos os canais de transmissão no total e gera o fluxo de bits de saída desfazendo mapeamento sequencialmente (por exemplo demodulação de QAM) todas as subportadoras em todos os canais de transmissão. A unidade de desmapeador de símbolo e multiplexador 38 pode operar por exemplo de acordo com os princípios do modo por bloco, do modo sequencial e do modo pseudo-aleatório descrito acima. No caso do modo pseudo-aleatório, a unidade de desmapeador de símbolo e multiplexador 38 pode ler a sequência pseudo-aleatória armazenada em memória 44 e executar uma reordenação correspondente dos símbolos de dados recebidos, de forma que o fluxo de bits de entrada original possa ser restabelecido. Em algumas modalidades, a unidade de desmapeador de símbolo e multiplexador 38 e o decodificador MIMO 35 podem executar a reordenação colaborativamente. Neste caso, o decodificador 35 opera com base em sequência pseudo-aleatória.
[00088] A sequência pseudo-aleatória pode ser fixada ou pode ser diferente para símbolos de multiportadora diferentes (por exemplo símbolos de OFDM). Quando a sequência pseudo-aleatória é fixa, a ordenação correspondente da subportadora e canais de transmissão pode ser codificada firme no transmissor 1 e no receptor 2, que reduz complexidade dos dispositivos.
[00089] A reordenação de portadora de acordo com a sequência pseudo-aleatória melhora a robustez de transição de dados e provê condições favoráveis para operação com êxito do código de correção e/ou detecção de erros.
[00090] Entre a unidade de desmultiplexador e mapeador de símbolo 6 e o pré-codificador 18, um intercalador adicional (não mostrado) pode ser provido. O intercalador poderia por exemplo embaralhar (trocar) informação entre todas, ou pelo menos algumas, subportadoras e canais de transmissão com constelações idênticas. Isto ademais aumenta a robustez de transmissão de dados.
[00091] Des/multiplexação de bit no nível de símbolo de dados reduz a complexidade do unidades de des/multiplexador quando comparado a des/multiplexação de bit em nível de bit. No caso mais complexo de des/multiplexação de bit de nível de símbolo de dados, ainda só um algoritmo de reordenação de índice de portadora tem que ser aplicado como descrito acima. Ademais, como foi mostrado acima, um único mapeador de símbolo e um único desmapeador de símbolo podem ser empregados no caso de des/multiplexação de bit de nível de símbolo, que ademais reduz a complexidade do transmissor 1 e do receptor 2.
[00092] É notado que os mesmos sinais de transmissão como obtidos pela segunda modalidade alternativa também podem ser obtidos com a estrutura da primeira modalidade alternativa descrita nas Figuras 3 e 4. Isto é possível como a estrutura da primeira modalidade alternativa pode executar uma des/multiplexação de bit granulada mais fina (isto é, nível de bit) do que a estrutura da segunda modalidade alternativa, que executa uma des/multiplexação de bit de nível de símbolo. Assim, também a unidade de desmultiplexador e mapeador de símbolo com a estrutura da Figura 3 e a unidade de desmapeador de símbolo e multiplexador com a estrutura de Figura 4 poderiam operar de acordo com os princípios do modo por bloco, do modo sequencial e do modo pseudo-aleatório descrito acima. Neste caso porém, o benefício descrito de complexidade reduzida não é obtido completamente. Também em algumas modalidades, sinais de controle de realimentação seriam requeridos de cada um dos mapeadores de símbolo 10-1 a 10-n e do desmultiplexador 8 para o codificador 5, para ajustar o processamento de dados.
[00093] Em vez do único codificador 5, também uma pluralidade de codificadores (código de correção e/ou detecção de erros), um para cada canal de transmissão, poderia ser provida entre o desmultiplexador 8 e mapeador 6 e o pré-codificador 18. Neste caso, uma pluralidade de decodificadores (código de correção e/ou detecção de erros) poderia ser provida, um decodificador para cada canal de transmissão, entre o detector 36 e a unidade de multiplexador e desmapeador 38.
[00094] Em vez do único codificador 5, também uma pluralidade de codificadores (e/código de detecção de correção de erros) poderia ser provida, um para cada canal de transmissão, entre o desmultiplexador 8 e os mapeadores de símbolo 10-1 a 10-n. Neste caso, uma pluralidade de decodificadores (código de correção e/ou detecção de erros) poderia ser provida, um decodificador para cada canal de transmissão, entre os desmapeadores de símbolo 40-1 a 40-n e o multiplexador 42.
[00095] Enquanto tendo explicado modalidades da presente invenção, onde uma estimação de canal é executada no lado de receptor, a presente invenção não está limitada a isto e estimação de canal também poderia ser executada no lado de transmissor (por exemplo no caso de um canal de MIMO simétrico).