Mudanças entre as edições de "Modulação por Codificação de Pulso (PCM)"
(42 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
− | = | + | __TOC__ |
+ | ==Introdução== | ||
+ | A modulação por codificação de pulso, que é a forma mais básica de modulação digital de pulso. Na modulação por codificação de pulso (PCM – do inglês, pulse code modulation), um sinal de mensagem é representado por uma seqüência de pulsos codificados, obtidos pela discretização do sinal no tempo (amostragem) e na amplitude (quantização). As operações básicas realizadas no codificador PCM são amostragem, quantização e codificação. As operações de quantização e codificação são, geralmente, executadas pelo mesmo circuito, o qual é chamado de conversor analógico digital. | ||
+ | As operações básicas no decodificador PCM são decodificação e reconstrução do trem de amostras quantizadas, filtro passa-baixa para recuperar o sinal de mensagem, e filtro equalização do fator <math> H(f) =\frac {sin(x)} {x} </math>. | ||
+ | ==Modelo em Simulink== | ||
+ | [[Arquivo:sistema_pcm_simulink.png|770px|]] | ||
− | + | Primeiramente baixe o arquivo a seguir [[Media:PCM.zip | Sistema.zip]]. Descompacte e certifique-se que no Matlab você esteja no diretório onde descompactou o arquivo. Digite no terminal do Matlab: | |
− | |||
− | |||
− | |||
− | |||
− | Primeiramente baixe o arquivo a seguir [[Media: | ||
:; | :; | ||
− | open_system(' | + | open_system('pcm') |
ou | ou | ||
− | + | pcm | |
− | |||
− | |||
− | + | == Toolbox e blocos necessários== | |
+ | Para realização da simulação, são necessários os '''Communications System Toolbox''' [http://www.mathworks.com/help/comm/index.html html], [http://www.mathworks.com/help/pdf_doc/comm/comm.pdf pdf] e '''DSP System Toolbox™''' [http://www.mathworks.com/help/dsp/index.html html], [http://www.mathworks.com/help/pdf_doc/dsp/dsp_ug.pdf pdf] fornecido pelo próprio Simulink. A seguir temos os blocos utilizados no modelo de simulação: | ||
+ | ;Simulink: | ||
* [http://www.mathworks.com/help/simulink/slref/sinewave.html Sine Wave]; | * [http://www.mathworks.com/help/simulink/slref/sinewave.html Sine Wave]; | ||
* [http://www.mathworks.com/help/simulink/slref/scope.html Scope]; | * [http://www.mathworks.com/help/simulink/slref/scope.html Scope]; | ||
* [http://www.mathworks.com/help/simulink/slref/goto.html Goto]; | * [http://www.mathworks.com/help/simulink/slref/goto.html Goto]; | ||
* [http://www.mathworks.com/help/simulink/slref/from.html From]; | * [http://www.mathworks.com/help/simulink/slref/from.html From]; | ||
− | |||
* [http://www.mathworks.com/help/simulink/slref/zeroorderhold.html Zero-Order Hold]; | * [http://www.mathworks.com/help/simulink/slref/zeroorderhold.html Zero-Order Hold]; | ||
* [http://www.mathworks.com/help/simulink/slref/pulsegenerator.html Pulse Generator]; | * [http://www.mathworks.com/help/simulink/slref/pulsegenerator.html Pulse Generator]; | ||
+ | |||
+ | ;Communications System Toolbox: | ||
+ | * [http://www.mathworks.com/help/comm/ref/integertobitconverter.html Integer to Bit Converter]; | ||
+ | |||
+ | ;DSP System Toolbox: | ||
+ | * [http://www.mathworks.com/help/dsp/ref/frommultimediafile.html From Multimedia File]; | ||
+ | * [http://www.mathworks.com/help/dsp/ref/tomultimediafile.html To Multimedia File]. | ||
+ | * [http://www.mathworks.com/help/dsp/ref/sampleandhold.html Sample and Hold]; | ||
+ | * [http://www.mathworks.com/help/dsp/ref/analogfilterdesign.html Analog Filter Design]; | ||
* [http://www.mathworks.com/help/dsp/ref/scalarquantizerencoder.html Scalar Quantizer Encoder]; | * [http://www.mathworks.com/help/dsp/ref/scalarquantizerencoder.html Scalar Quantizer Encoder]; | ||
− | *[http://www.mathworks.com/help/dsp/ref/scalarquantizerdecoder.html Scalar Quantizer Decoder]; | + | * [http://www.mathworks.com/help/dsp/ref/scalarquantizerdecoder.html Scalar Quantizer Decoder]; |
− | |||
− | |||
− | |||
− | |||
Para uma melhor visualização dos blocos e subsistemas usar '''[Tools>[http://www.mathworks.com/help/simulink/ug/the-model-explorer-overview.html Model Explorer]]''' | Para uma melhor visualização dos blocos e subsistemas usar '''[Tools>[http://www.mathworks.com/help/simulink/ug/the-model-explorer-overview.html Model Explorer]]''' | ||
− | ==Modelo | + | ==Descrição do Modelo== |
− | |||
O modelo simula um sistema PCM, utilizando na transmissão um sinal senoidal e em outro um sinal de áudio. O sinal de entrada (banda base) é amostrado por um trem de pulsos retangulares,estreitos o suficiente para se aproximarem do processo de amostragem instantânea. | O modelo simula um sistema PCM, utilizando na transmissão um sinal senoidal e em outro um sinal de áudio. O sinal de entrada (banda base) é amostrado por um trem de pulsos retangulares,estreitos o suficiente para se aproximarem do processo de amostragem instantânea. | ||
Para garantir a reconstrução perfeita do sinal de mensagem no receptor, a taxa de amostragem deve de ser maior do que duas vezes a largura de banda do sinal de mensagem, de acordo com o teorema da amostragem. A versão amostrada do sinal de mensagem é, então, quantizada, fornecendo uma | Para garantir a reconstrução perfeita do sinal de mensagem no receptor, a taxa de amostragem deve de ser maior do que duas vezes a largura de banda do sinal de mensagem, de acordo com o teorema da amostragem. A versão amostrada do sinal de mensagem é, então, quantizada, fornecendo uma | ||
− | nova representação do sinal que, agora, é discreto tanto no tempo quanto em amplitude. O processo de quantização pode seguir uma lei uniforme ou não-uniforme. Combinando-se o processo de amostragem e quantização, | + | nova representação do sinal que, agora, é discreto tanto no tempo quanto em amplitude. O processo de quantização pode seguir uma lei uniforme ou não-uniforme. Combinando-se o processo de amostragem e a quantização, o sinal |
− | contínuo de mensagem (banda base) | + | analógico contínuo de mensagem (banda base) é transformado em um conjunto de valores discretos e representados por uma sequência de bits. No receptor o sinal digital é decodificado e reconstruído por um filtro cuja frequência de corte é igual à <math>\ fs/2 </math>. |
− | + | ==Parâmetros e Seleção das Configurações do Modelo== | |
− | + | Neste modelo é possível controlar através das variáveis do bloco "Parâmetros do modelo", os parâmetros para realização do mesmo bem como eventuais testes. Através de chaves é possivel inserir ou não alguns circuitos para observar a sua necessidade no processo PCM. | |
− | Neste modelo é possível controlar através das variáveis do bloco "Parâmetros do modelo", os parâmetros para realização do mesmo bem como | + | ;Parâmetros do modelo: |
− | + | * <math>\ amp </math> -> Amplitude em Volts do sinal de informação <math>\ x(t) </math>; | |
+ | * <math>\ fm </math> -> Frequência em Hertz do sinal de informação <math>\ x(t) </math>; | ||
+ | * <math>\ fs </math> -> Frequência em Hertz do trem de pulsos de amostragem <math>\ \delta(t) </math>; | ||
+ | * Tipo de quantização -> Escolha entre quantizador ''mid-tread'' ou ''mid-rise''; | ||
+ | * bits -> Número de bits utilizados para obter o número de níveis de amplitude utilizados no quantizador, e os bits utilizados na codificação do sinal digital. | ||
+ | |||
+ | ;Possibilidades de configuração: | ||
+ | * Configuração dos parâmetros dos filtros pelo próprio bloco do mesmo; | ||
+ | * Chave que seleciona o tipo de sinal de entrada (senoide, arquivo) | ||
+ | * Chave que seleciona se o filtro passa baixa de anti-recobrimento é utilizado ou não. | ||
+ | * Chave que seleciona se o filtro equalizador será utilizado ou não. | ||
− | ==Testes | + | ==Possibilidades de Testes== |
Os testes foram realizados nas versões 2014a e 2015a do software Matlab, funcionando perfeitamente nas mesmas. Você pode alterar alguns parâmetros de simulação, basta acessar novamente o bloco parâmetros do modelo. Assim podemos ver possíveis diferenças quando alteramos esses mesmos parâmetros como os relacionados ao amostrador,quantizador,decodificador, entre outros. A seguir alguns testes que podem ser feitos com este modelo. | Os testes foram realizados nas versões 2014a e 2015a do software Matlab, funcionando perfeitamente nas mesmas. Você pode alterar alguns parâmetros de simulação, basta acessar novamente o bloco parâmetros do modelo. Assim podemos ver possíveis diferenças quando alteramos esses mesmos parâmetros como os relacionados ao amostrador,quantizador,decodificador, entre outros. A seguir alguns testes que podem ser feitos com este modelo. | ||
− | * Analisar as operações de amostragem,quantização e codificação de um sinal analógico que constituem um sistema PCM | + | * Analisar as operações de amostragem,quantização e codificação de um sinal analógico que constituem um sistema PCM; |
− | + | * Alterar o número de níveis de quantização; | |
− | + | * Visualizar o processo de conversão de um sinal analógico em digital; | |
− | * | + | * Visualização do erro de quantização (necessário para medir analiticamente o desempenho do sistema); |
− | * | + | * Alteração de outros parâmetros para fins de comparação de resultados. |
− | * | ||
− | * |
Edição atual tal como às 13h52min de 30 de novembro de 2015
Introdução
A modulação por codificação de pulso, que é a forma mais básica de modulação digital de pulso. Na modulação por codificação de pulso (PCM – do inglês, pulse code modulation), um sinal de mensagem é representado por uma seqüência de pulsos codificados, obtidos pela discretização do sinal no tempo (amostragem) e na amplitude (quantização). As operações básicas realizadas no codificador PCM são amostragem, quantização e codificação. As operações de quantização e codificação são, geralmente, executadas pelo mesmo circuito, o qual é chamado de conversor analógico digital. As operações básicas no decodificador PCM são decodificação e reconstrução do trem de amostras quantizadas, filtro passa-baixa para recuperar o sinal de mensagem, e filtro equalização do fator .
Modelo em Simulink
Primeiramente baixe o arquivo a seguir Sistema.zip. Descompacte e certifique-se que no Matlab você esteja no diretório onde descompactou o arquivo. Digite no terminal do Matlab:
open_system('pcm')
ou
pcm
Toolbox e blocos necessários
Para realização da simulação, são necessários os Communications System Toolbox html, pdf e DSP System Toolbox™ html, pdf fornecido pelo próprio Simulink. A seguir temos os blocos utilizados no modelo de simulação:
- Simulink
- Communications System Toolbox
- DSP System Toolbox
- From Multimedia File;
- To Multimedia File.
- Sample and Hold;
- Analog Filter Design;
- Scalar Quantizer Encoder;
- Scalar Quantizer Decoder;
Para uma melhor visualização dos blocos e subsistemas usar [Tools>Model Explorer]
Descrição do Modelo
O modelo simula um sistema PCM, utilizando na transmissão um sinal senoidal e em outro um sinal de áudio. O sinal de entrada (banda base) é amostrado por um trem de pulsos retangulares,estreitos o suficiente para se aproximarem do processo de amostragem instantânea. Para garantir a reconstrução perfeita do sinal de mensagem no receptor, a taxa de amostragem deve de ser maior do que duas vezes a largura de banda do sinal de mensagem, de acordo com o teorema da amostragem. A versão amostrada do sinal de mensagem é, então, quantizada, fornecendo uma nova representação do sinal que, agora, é discreto tanto no tempo quanto em amplitude. O processo de quantização pode seguir uma lei uniforme ou não-uniforme. Combinando-se o processo de amostragem e a quantização, o sinal analógico contínuo de mensagem (banda base) é transformado em um conjunto de valores discretos e representados por uma sequência de bits. No receptor o sinal digital é decodificado e reconstruído por um filtro cuja frequência de corte é igual à .
Parâmetros e Seleção das Configurações do Modelo
Neste modelo é possível controlar através das variáveis do bloco "Parâmetros do modelo", os parâmetros para realização do mesmo bem como eventuais testes. Através de chaves é possivel inserir ou não alguns circuitos para observar a sua necessidade no processo PCM.
- Parâmetros do modelo
- -> Amplitude em Volts do sinal de informação ;
- -> Frequência em Hertz do sinal de informação ;
- -> Frequência em Hertz do trem de pulsos de amostragem ;
- Tipo de quantização -> Escolha entre quantizador mid-tread ou mid-rise;
- bits -> Número de bits utilizados para obter o número de níveis de amplitude utilizados no quantizador, e os bits utilizados na codificação do sinal digital.
- Possibilidades de configuração
- Configuração dos parâmetros dos filtros pelo próprio bloco do mesmo;
- Chave que seleciona o tipo de sinal de entrada (senoide, arquivo)
- Chave que seleciona se o filtro passa baixa de anti-recobrimento é utilizado ou não.
- Chave que seleciona se o filtro equalizador será utilizado ou não.
Possibilidades de Testes
Os testes foram realizados nas versões 2014a e 2015a do software Matlab, funcionando perfeitamente nas mesmas. Você pode alterar alguns parâmetros de simulação, basta acessar novamente o bloco parâmetros do modelo. Assim podemos ver possíveis diferenças quando alteramos esses mesmos parâmetros como os relacionados ao amostrador,quantizador,decodificador, entre outros. A seguir alguns testes que podem ser feitos com este modelo.
- Analisar as operações de amostragem,quantização e codificação de um sinal analógico que constituem um sistema PCM;
- Alterar o número de níveis de quantização;
- Visualizar o processo de conversão de um sinal analógico em digital;
- Visualização do erro de quantização (necessário para medir analiticamente o desempenho do sistema);
- Alteração de outros parâmetros para fins de comparação de resultados.