Processamento Digital de Sinais, Notas de aula de Engenharia Elétrica e Eletrônica. Faculdade de Tecnologia do Estado de São Paulo (FATEC)
Edilson.Camargo
Edilson.Camargo12 de Abril de 2016

Processamento Digital de Sinais, Notas de aula de Engenharia Elétrica e Eletrônica. Faculdade de Tecnologia do Estado de São Paulo (FATEC)

PDF (3 MB)
118 páginas
1Números de download
300Número de visitas
100%de 1 votosNúmero de votos
Descrição
Livro texto para ser usado em um curso de processamento digital de sinais
20pontos
Pontos de download necessários para baixar
este documento
baixar o documento
Pré-visualização3 páginas / 118
Esta é apenas uma pré-visualização
3 shown on 118 pages
baixar o documento
Esta é apenas uma pré-visualização
3 shown on 118 pages
baixar o documento
Esta é apenas uma pré-visualização
3 shown on 118 pages
baixar o documento
Esta é apenas uma pré-visualização
3 shown on 118 pages
baixar o documento

Processamento Digital de Sinais

Página - 1

Índice

Conceitos Básicos

1 - Introdução

2 - Matlab

3 - Processamento Digital de Sinal

4 - Código Matlab aplicado a Processamento de Sinais

Processamento Digital

5 - Processamento Digital de Imagens

6 - Processamento de Imagens com Matlab

7 - Processamento Digital de Áudio com Matlab

8 - Sistemas Discretos

Analise de Sinais

9 - Análise de Fourier

10 - Transformada Z

11 - Filtros Digitais

12 - Filtros IIR

Projetos de Filtros

13 - Exercícios de Filtros

14 - Projetos de Filtros FIR

15 - Projeto de Filtros por Amostragem de Frequência

16 - Processador Digital de Sinal - DSP

Página - 2

Conceitos Básicos

1. INTRODUÇÃO:

Nesse capítulo são apresentados conceitos básicos relativos ao

processamento digital de sinais. Inicialmente, é discutida a arquitetura de

sistemas de comunicação. Em seguida, o processamento de sinais e

definido, identificando-se seu objeto, seus agentes e suas ações, bem como.

é definida a sua arquitetura genérica. Posteriormente, é realizada uma

classificação de sinais. Por fim, é apresentada uma arquitetura de sistemas

de processamento digital.

1.1 Arquitetura de sistemas de comunicação

a) Arquitetura básica:

– Fonte de sinal.

– Transmissor.

– Canal (ou meio) de transmissão (ou de comunicação).

– Receptor.

– Destino.

b) Adequações em comunicação digital:

– Codificação de fonte.

– Codificação de canal.

1.2 Processamento de sinais

a) Objeto do processamento: sinal é definido como uma entidade que

carrega informação.

b) Agente do processamento: sistema.

 “Um sistema é um conjunto de elementos, que interagem entre si, com

o objetivo de realizar uma determinada função”.

 Arquitetura de um sistema: variáveis, elementos, topologia e função.

c) Domínio do processamento: domínio no qual a função do agente é

definida.

 Tempo/espaço (forma) × frequência (composição espectral).

Página - 3

d) Ação do processamento: função exercida pelo agente sobre o objeto.

 Conformação (tempo/espaço) × Alteração espectral (frequência).

e) Arquitetura genérica do processamento:

 Sinal de entrada (ou estímulo ou excitação).

 Condições iniciais (valores de todas as variáveis internas do sistema).

 Sistema.

 Sinal de saída (ou resposta).

f) Nomenclatura usual: “Sinal” (sinal desejado) × “Ruído” (sinal indesejado).

1.3 Tipos de sinais

a) Sinal: entidade que carrega informação.

b) Visão matemática de sinal: variável funcionalmente dependente de uma

ou mais variáveis independentes. Ex.: w = f(x, y).

c) Visão física de sinal: grandeza física.

d) Tipos de sinais de acordo com o número de variáveis independentes:

unidimensional, bidimensional, tridimensional, multidimensional.

Ex.: áudio = f(t), imagem = f(x, y), vídeo = f(x, y, t) e

tomografia/sismologia = f(v1, v2, · · · , vN, t).

e) Tipos de sinais de acordo com o tipo das variáveis:

 Sinal analógico: todas as variáveis são contínuas.

 Sinal amostrado: discretização das variáveis independentes

(amostragem).

 Sinal quantizado: discretização da variável dependente (quantização).

 Sinal digital: todas as variáveis são discretas (amostragem +

quantização).

f) Sinal amostrado e sinal digital: conjunto ordenado de valores numéricos

(sequencia numérica).

1.4 Arquitetura de sistemas de processamento digital

a) Sinal de entrada analógico: comumente, um sinal elétrico (tensão ou

corrente).

Página - 4

b) Pré-processamento analógico:

 Filtro anti-aliasing: com seletividade em frequência do tipo passa-

baixa.

 Amostragem e retenção (sample-and-hold ou S/H): responsável por

manter fixo o valor da amostra durante o tempo necessário para que

ela seja convertida em um número.

 Conversor Analógico-Digital (A/D).

c) Sinal de entrada digital: representação numérica computacional.

d) Processador de sinal digital (Digital Sinal Processor ou DSP).

e) Sinal de saída digital: representação numérica computacional.

f) Pós-processamento analógico:

 Conversor Digital-Analógico (D/A).

 Filtro de suavização (smoothing): com seletividade em frequência do

tipo passa-baixa.

g) Sinal de saída analógico: comumente, um sinal elétrico (tensão ou

corrente).

1.5 Implementações analógicas e digitais

1.5.1 Definição do problema

Dado que um mesmo sistema pode ser implementado por sinais/componentes

analógicos e digitais, naturalmente surge a questão de qual das opções é a melhor.

Diversas são as comparações encontradas na literatura técnica entre

implementações de sistemas que empregam sinais/componentes analógicos e

digitais. Adeptos de ambos os tipos de implementação facilmente definem

parâmetros que os favorecem e normalmente estabelecem comparações tentando

mostrar que a sua implementação de preferencia é, realmente, a melhor opção.

Antes de tecer meras comparações absolutas, muitas vezes passionalmente

polarizadas, por um tipo ou outro de implementação, deve-se levar lembrar que

estão sendo comparadas duas alternativas de implementação essencialmente

diferentes. Logo, os parâmetros de comparação normalmente empregados

fornecem apenas características individuais de cada tipo de implementação ao invés

de estabelecer bases reais de comparação.

Página - 5

Por um lado, uma implementação analógica mapeia sinais matemáticos em

sinais físicos e realiza as operações matemáticas através de componentes físicos

que possuem equações de definição capazes de realizar os cálculos necessários,

isolada ou conjuntamente com outros componentes.

Pode-se dizer que o problema matemático é transformado em um problema

físico e implementado por sinais/componentes físicos. Por sua vez, uma

implementação digital, apesar de obviamente empregar componentes físicos, não

utiliza os seus sinais e as suas equações diretamente.

Ao invés disso, é realizada uma codificação mais complexa, de tal forma que a

implementação simula diretamente as operações e os operandos matemáticos.

Nesse caso, pode-se dizer que o problema matemático não é mapeado em um

problema físico, sendo apenas simulado em uma implementação física, mas que é

virtualmente matemática.

A comparação direta torna-se ainda mais sem sentido a partir da constatação de

que sistemas digitais podem ser implementados por software, por hardware digital

ou por ambos simultaneamente.

Com tais conceitos em mente, não é difícil perceber que qualquer tentativa para

estabelecer parâmetros de comparação entre implementações analógicas e digitais

conduz apenas a definições de característica relativas de cada uma das opções

consideradas.

Também não é difícil perceber que, devido `as características próprias de

cada uma das implementações, cada uma delas poderá ser proposta como a melhor

solução para problemas específicos, os quais necessitem de tais características.

Por vezes, até mesmo uma solução que misture ambos os tipos de implementação

pode ser a melhor escolha.

Finalmente, é importante ressaltar que o levantamento de parâmetros

comparativos é importante e deve ser efetuado. NA o para que se defina qual das

duas opções de implementação é absolutamente a melhor, mas para que se possa

estabelecer uma base de dados que fundamente a decisão de projeto diante de

cada problema diferente.

Página - 6

1.5.2 Características das implementações analógicas e digitais

A seguir, levando-se em consideração uma implementação eletrônica, são

apresentadas algumas características da implementação de sistemas para os casos

analógico e digital.

a) Sinais;

 Analógico: valores contínuos de tensão e de corrente.

 Digital: sequencias de números, representados por uma determinada

codificação, contendo um número finito de símbolos. Normalmente, é

utilizada uma codificação binária.

b) Componentes básicos;

 Analógico: componentes passivos (resistor, capacitor e indutor) e

componentes ativos (transistor, Amp. Op.).

 Digital: atrasador unitário (registrador), multiplicador e somador.

c) Armazenamento de sinal por longo prazo;

 Analógico: por ser um processo que envolve valores contínuos de

grandezas físicas, sofre grande degradação.

 Digital: uma vez que, geralmente, envolve codificação binária, sofre

pequena degradação.

d) Ocupação de área;

 Analógico: de forma geral, menor ocupação.

 Digital: de forma geral, maior ocupação.

e) Repetitividade/reprodutibilidade;

 Analógico: uma vez que os parâmetros são físicos e contínuos,

necessita de um bom processo de fabricação.

 Digital: dado que os parâmetros são matemáticos, a fabricação é

repetitiva por construção.

f) Variabilidade na fabricação;

 Analógico: os componentes possuem um valor nominal e uma

incerteza associada ao processo de fabricação. Devem ser utilizadas

técnicas de projeto de sistemas que controlem a sensibilidade `a

variação dos valores dos componentes.

 Digital: valor matemático fixo, associado a quantidade símbolos

utilizados na codificação numérica.

Página - 7

g) Variabilidade na operação;

 Analógico: os componentes são influenciados por fatores ambientais

(temperatura, humidade, etc.), podem ser sujeitos a envelhecimento

(aging) e podem sofrer desgaste por uso. Devem ser utilizadas

técnicas de projeto de sistemas que controlem a sensibilidade `a

variação dos valores dos componentes.

 Digital: operação baseada em valores matemáticos fixos,

representados por uma quantidade finita de símbolos utilizados na

codificação numérica.

h) Variabilidade com as frequências envolvidas nos sinais;

 Analógico: as dimensões e a funcionalidade dos componentes podem

ser fortemente afetadas pela faixa de valores de frequência utilizada.

 Digital: na o afetado.

i) Fontes de erro;

 Analógico: além da variação provocada por fatores ambientais, os

componentes são diretamente afetados por ruídos dos mais variados

tipos, provocados pelos mais diversos mecanismos, sendo intrínsecos

aos próprios componentes e/ou induzidos por fontes externas.

 Digital: devido ao número finito de símbolos usado na codificação

numérica, surgem os seguintes problemas de aproximação numérica:

quantização dos valores das sequencias, quantização dos valores dos

coeficientes dos multiplicadores e aproximação dos valores finais das

operações (soma e multiplicação).

j) Programabilidade;

 Analógico: componentes podem ser fixos e/ou variáveis. No caso de

componentes fixos, devem ser desenvolvidas técnicas de projeto de

sistemas que permitam o controle da variação de um ou mais

parâmetros do sistema.

 Digital: naturalmente programável.

k) Complexidade funcional;

 Analógico: implementada com dificuldade.

 Digital: facilmente implementada.

l) Multiplexação temporal de sinais;

 Analógico: difícil implementação.

Página - 8

2. MatLab

O aplicativo Matlab é uma das ferramentas mais úteis para as áreas de

processamento de sinais, controle, e outras aplicações. O “Mat” do nome Matlab

está relacionado com “Matriz”, ou seja, é um laboratório que permite a manipulação

eficiente de matrizes. Pode-se dizer também que o Matlab permite também a

manipulação eficiente de vetores, já que um vetor de tamanho N pode ser visto

como uma matriz de Nx1. Uma das melhores formas de se familiarizar com o Matlab

é através do comando intro, que provê uma turnê pelas características básicas do

programa.

A aplicação predominante no presente curso será o processamento digital se sinais.

Para isto, preparamos algumas técnicas em Matlab que facilitarão o uso do

aplicativo para esta tarefa.

2.1Gerações de Sinais Amostrados

Como primeiro exemplo, geraremos a seguinte função senoidal no Matlab:

f(t)=sin(2*pi*fo*t)

Onde fo=1 Hz.

A função é mostrada na seguinte figura:

Para permitir o processamento de sinais por computador, o sinal analógico deve ser

Página - 9

digitalizado por um conversor analógico para digital (A/D). Neste processo o sinal é

amostrado em vários instantes, em intervalos de tempo constante. O intervalo de

tempo é o período de amostragem (T), e o recíproco de T é a frequência de

amostragem (fs= 1/T). A unidade de tempo do período de amostragem em geral é

segundos, e a de Frequência é em Hz. 100 Hz significa que 100 amostras do sinal

são tomadas em 1 segundo. Pode-se simular funções amostradas no Matlab. O

exemplo abaixo mostra como se pode simular a amostragem de uma senóide no

Matlab:

Exercício 1

Siga os passos descritos para simular a amostragem de uma onda senoidal no

seguinte exemplo. Digite os comandos na Matlab, e observe os efeitos.

1) Crie o eixo do tempo:

t=0:0.05:1;

O comando acima cria uma variável (vetor) com os elementos 0, 0.05, 0.1, ..., 1. O

ponto e vírgula evita que a variável seja exibida na tela. Tente rodar o comando

acima e observe o que acontece. Caso você tenha errado, e o vetor inteiro comece

a aparecer na tela, você pode parar o processo usando CTRL-C.

O comando size(t) exibe o tamanho da matriz t, e o comando length(t) mostrará o

comprimento do vetor.

Experimente estes comandos.

2) Crie a função:

f=sin(2*pi*t);

O comando acima cria um vetor cujas componentes são a função senoidal calculada

a cada valor do vetor t. Assim, no Matlab, você pode calcular o seno de um vetor, ou

mesmo de uma matriz.

Execute este comando.

3) Plotar a função:

plot(t,f)

Este comando faz a plotagem do sinal, tendo f no eixo y, e o correspondente t no

eixo x.

Página - 10

Execute este comando.

4) Coloque o Titulo e as variáveis dos eixos x e y:

title(‘Funcao Senoidal’)

xlabel(‘Tempo (segundos)’)

ylabel(‘Amplitude (Volts)’)

3

Experimente os comandos acima.

Tente também os seguintes comandos:

plot(f,t)

plot(f)

plot(t)

O que aconteceu no primeiro comando? No segundo comando, a senóide foi

plotada, mas o eixo y mostrou simplesmente o número da amostra, mas não o

tempo correspondente a cada abcissa y.

Explique o que acontece no terceiro exemplo.

Tente também as seguintes opções:

plot(t,f,’*’)

plot(t,f,’b*’)

plot(t,f,’.’)

plot(t,f,’c.’)

plot(t,f,’-’)

plot(t,f,’y-’)

Observe as cores e características dos gráficos. Agora digite help plot, e leia

cuidadosamente as descrições da função plot.

Agora digite a seguinte função:

grid

Note o efeito da função, e digite help grid, para ver as características desta função.

Agora gere uma segunda função:

f2=sin(2*pi*2*t)

E plote as funções f e f2 no mesmo gráfico:

plot(t,f,t,f2)

Verifique as cores dos gráficos. Agora digite:

Página - 11

plot(t,f,’b*’,t,f2,’c-.’)

E verifique os efeitos.

Agora tente os seguintes comandos:

stem(t,f)

stem(t,f2)

O que estes comandos fazem? Digite help stem, e estude o funcionamento desta

função. Tente mudar as cores dos traçados desta função. Note que a função não é

tão flexível quanto a cores do traçado quanto a função plot.

2.2 Sinais Complexos

Digite os seguintes vetores:

A=[0 1 2 3 4 5 6];

B=[0 2 4 6 8 10 12];

Tente multiplicar A*B. Note que o Matlab não realizará tal operação. O fato é que o

Matlab sempre interpretará o vetor como uma matriz, e o programa sempre

interpreta uma multiplicação como uma multiplicação de matrizes. Entretanto, há

uma opção que permite ao usuário fazer uma multiplicação ponto a ponto de dois

vetores ou matrizes (isto é o primeiro elemento do resultado é o produto dos

primeiros elementos dos fatores, o segundo elemento do resultado é o produto dos

segundos elementos dos fatores, e assim por diante). Tente digitar:

C=A.*B

Note que o vetor C é o resultado da multiplicação ponto a ponto do dos vetores A e

B.

Exercício 2

Queremos plotar a seguinte função no intervalo 0<x<4:

y(x)=(x-1)(x-2)

Para isto, criamos primeiro o vetor representando a variável x, e em seguida a

função em questão:

x=0:0.05:4;

y=(x-1).*(x-2);

plot(x,y)

Página - 12

Note o comando “.*”. Cada expressão entre parênteses é um novo vetor, e os

vetores são multiplicados ponto a ponto, resultando no efeito desejado.

Agora geraremos a função:

y(x)=x3-6x2+11x-6

Para isto, criamos primeiro o vetor representando a variável x, e em seguida a

função em

questão:

x=0:0.05:4;

y=x.^3-6*x.^2+11*x-6;

plot(x,y)

Note que o operador “.^” é também um operador ponto a ponto, que eleve cada

elemento da matriz à potência desejada. Tente digitar x^2, e veja que este comando

não funcionará. Tente descobrir porque (lembre-se que o Matlab sempre assume

operações matriciais).

PROBLEMAS

1) Gere e plot a função f(t)=exp(-t)sin(2*5*pi*t), no intervalo 0<x<6. Use várias

escolhas de intervalo para o eixo x: 0.1 sec., 0.05 sec., etc., e escolha o que tem

melhor aparência.

2) Ache graficamente as raízes da função y=x3+2x2-x+1. (Dica: procure, por

tentativa e erro o intervalo, a o período de amostragem do eixo x, realizando

sucessivas plotagens das tentativas).

3) Plote a seguinte função: y=sin(x)*cos(2x)/(2+sin(x)). Escolha um eixo x

apropriado (Não se esqueça que as multiplicações e divisões devem ser operações

ponto a ponto).

4) Gere a função f(t)=sin(2*pi*10*t), no intervalo 0<x<10. Qual é a freqüência desta

senóide? Use as seguintes escolhas de freqüência de amostragem: 5 Hz, 10 Hz, 20

Hz, 40 Hz, e 200 Hz. Use a função stem. Observe bem o efeito, pois será analisado

na próxima aula.

5) Gere a função f(t)=exp(-t)sin(2*5*pi*t), e depois plote um histograma da mesma.

Dica: use a função intro, e observe o uso da função bar. Em seguida digite help

bar, para analisar aquela função.

Página - 13

2.3 Exercícios de Aplicação

Nesta seção, veremos algumas funções extras do Matlab. Primeiramente,

consideremos o seguinte trecho a seguir. Analise atentamente o programa abaixo

(consulte o help para as funções que você não conhece):

% exemplo: geracão de uma forma de onda ruidosa

t=0:0.01:pi; %linha 1

y=2*sin(5*t); %linha 2

figure(GCF) %linha 3

plot(t,y) %linha 4

pause %linha 5

ruido=randn(1,length(t)); %linha 6

plot(t,ruido) %linha 7

pause %linha 8

y_ruido=y+ruido; %linha 9

plot(t,y_ruido); %linha 10

Execute o programa. A linha 1 cria o vetor do tempo de amostragem. A linha 2 cria

uma função senoidal (qual é a freqüência?). A linha três faz com que a janela com o

gráfico seja colocada à frente de todas as outras. A linha 4 plota uma senóide, como

mostrado abaixo:

O comando pause, na linha 5, causa uma pausa no programa. Para continuar o

programa, o usuário deve pressionar <Enter>. [Pergunta: o que acontece se este

comando for substituído por pause(2)? Dica: use o comando help].

Página - 14

A linha 6 utiliza o comando randn (utilize o help para aprender sobre este

comando). Este comando gera uma seqüência de números aleatórios com

distribuição normal, com uma linha e tantas colunas quanto for o comprimento do

vetor t. O comando lenght(t) fornece o número de elementos de t. Observe a

plotagem do sinal de ruído:

Em seguida, a linha 9 calcula uma nova variável y_noise, que é o sinal senoidal

mais o ruído. Observe o resultado:

Neste exemplo, você aprendeu como gerar um sinal com ruído. Agora, vejamos

outros comandos. Para isto considere o seguinte código:

% Exemplo 2

A=[1 2 3; 4 5 6]

B=[3 4 ; 3 6 ; 7 8]

C=[1 2 3 ; 4 5 6 ; 7 8 9];

D=[5 6 ; 7 8 ; 9 10];

pause

size(A)

size(B)

Página - 15

pause

length(A)

length(B)

Após executar o código acima, realize manualmente, e em seguida usando o

Matlab, as seguintes operações (indique quando a operação não é possível):

A*B=

B*A=

A*C=

A^2=

A.^2=

C^2=

C.^2=

A’=

C*inv(C)=

[B B B]=

[A;A;A]

Veremos agora alguns comandos estatísticos. Considere o seguinte trecho de

código:

% exemplo 3

A=[ 1 2 3 4 5 6 7] %linha 1

B=mean(A) %linha 2

C=std(A) %linha 3

Pause %linha 4

RUIDOSO=randn(1,5000); %linha 5

figure(gcf) %linha 6

plot(RUIDOSO) %linha 7

title('sinal ruidoso') %linha 8

pause %linha 9

MEDIA_RUIDOSO=mean(RUIDOSO) %linha 10

DP_RUIDOSO=std(RUIDOSO) %linha 11

Pause %linha 12

MAISRUIDO=5*randn(1,5000); %linha 13

Página - 16

MEDIA=mean(MAISRUIDO) %linha 14

DP=std(MAISRUIDO) %linha 15

Use o comando help para estudar os comandos mean, e std. Execute o programa.

Tome cuidado de só incluir o ponto-e-vírgula quando necessário. Estes comandos

calculam a média e o desvio padrão dos vetores em questão (relembre na literatura

o que estes termos significam). Na linha 2, o resultado, B, será a média dos

elementos do vetor A Na linha 3, o resultado C será o desvio padrão dos elementos

do vetor A. Calcule A e B manualmente, e cheque os resultados com os resultados

do Matlab. Na linha 5 um sinal de ruído normal é gerado, e é plotado na linha 6. A

média e o desvio padrão são calculados e mostrados nas linhas 10 e 11. Note que a

função randn gera ruído aleatório com média 0, e desvio padrão 1 (na verdade,

próximos de 0 e 1). Para obter um ruído com maior intensidade (maior desvio

padrão), basta multiplicar o ruído pelo desvio padrão desejado, como é feito nas

linhas 13, 14 e 15. Analise com cuidado estas três últimas linhas.

EXERCÍCIOS

1) Usando o comando help, aprenda a lidar com os comandos max, min, mean,

median, sort.

2) Usando o comando help, aprenda a usar os comandos fix, floor, ceil, round, mod,

rem, sign.

3) Gere uma senóide com freqüência de 50 Hz e amplitude 3V, amostrada a uma

freqüência de amostragem de 1 kHz. Adicione a esta senóide ruído gaussiano com

desvio padrão de 2V. Plote o sinal resultante. Determine os valores máximo e

mínimo deste sinal. Não se esqueça de incluir título e unidades. Procure plotar o

sinal de forma que suas características fiquem claras ao leitor (deve ficar claro que o

sinal é uma senóide com ruído).

4) Usando o comando help square, aprenda como gerar uma onda quadrada. Gere

uma onda quadrada de 10 Hz, amostrada a uma freqüência de 1 KHz.

Página - 17

3. Processamento Digital de Sinais

Sinais estão presentes em diversas situações do dia-a-dia do ser humano. Um sinal

pode ser definido como uma função que carrega uma informação. A forma mais

comum para nós é a comunicação por sinal de voz. Nesse exemplo, temos o sinal

gerado pelo trato vocal e o sinal recebido pelo sistema auditivo. Apesar de ser o

mesmo sinal transmitido a forma como ele é processado é inerente ao receptor. O

processamento de sinais lida com a representação, transformação e manipulação

dos sinais e da informação que eles contêm. Até a década de 60, a tecnologia para

processamento de sinais era basicamente analógica. A evolução de computadores

e microprocessadores juntamente com diversos desenvolvimentos teóricos causou

um grande crescimento na tecnologia digital, surgindo o processamento digital de

sinais (PDS). Um aspecto fundamental do processamento digital de sinais é que ele

é baseado no processamento de sequências de amostras. Para tanto, o sinal

contínuo no tempo é convertido nessa sequência de amostras, i.e., convertido em

um sinal discreto no tempo. Após o processamento digital, a sequência de saída

pode ser convertida de volta a um sinal contínuo no tempo.

A maior parte do processamento de sinais envolve processar um sinal para obter

outro sinal. Normalmente, isso é conseguido por um processo conhecido como

filtragem.

Sinais podem ser classificados em quatro diferentes categorias dependendo de

características de tempo e dos tipos de valores que eles podem assumir. Sinais

contínuos no tempo (ou analógicos) são definidos para qualquer valor de tempo e

eles assumem valores no intervalo contínuo (a, b), onde a pode ser -∞ e b pode ser

+∞. Podem ser representados por uma função de variáveis contínuas. Sinais

discretos no tempo são definidos apenas para certos valores específicos de tempo.

Podem ser representados matematicamente por uma sequência de números reais

ou complexos, x. O n-ésimo número dessa sequência é denotado por x[n]. Assim, x

é formalmente escrito como:

onde n é um inteiro. Tais sequências são geradas a partir de um processo de

amostragem periódica de um sinal analógico. Assim, o valor numérico do nésimo

número da sequência é igual ao valor do sinal analógico xa(t) no tempo nT, i.e.:

Página - 18

Os valores de amplitude de sinais contínuos ou discretos no tempo podem ser

contínuos ou discretos. Se um sinal pode assumir qualquer valor dentro de um

espaço finito ou infinito, ele é dito um sinal contínuo em valores. Sinais digitais são

aqueles para os quais tanto o tempo quanto a amplitude são discretos. Ou seja, ele

é discreto no tempo e só pode assumir valores dentro de um conjunto finito de

possíveis valores (é discreto em valores).

Sinais também podem ser classificados em determinísticos ou aleatórios. Qualquer

sinal que podem ser unicamente descritos por uma expressão matemática, uma

tabela de dados ou uma regra bem definida é chamado determinístico. Esse termo é

usado para destacar que quaisquer valores passados, presentes e futuros do sinal

são conhecidos precisamente, sem incerteza. No entanto, em aplicações práticas,

os sinais não podem ser representados precisamente por equações matemáticas ou

suas descrições são muito complexas para uso. Isso indica que tais sinais têm

comportamentos imprevisíveis sendo chamados de sinais aleatórios.

3.1 Principais Tipos de Sinais

Em um estudo sobre processamento digital de sinais, alguns sinais são de mais

importância. Dentre eles, temos o impulso unitário, d[n], definido como:

Um dos mais importantes aspectos do impulso é que uma sequência arbitrária pode

ser representada como uma soma de impulsos escalonados e deslocados. Por

exemplo, a sequência p[n] abaixo:

Página - 19

pode ser representada como:

De forma mais geral, qualquer sequência x[n] pode ser representada como:

Outra sequência importante é o degrau unitário, u[n]:

O degrau relaciona-se com o impulso como:

Uma forma alternativa de representar o degrau em termos de impulso é obtida

interpretando o degrau em termos de uma soma de impulsos deslocados. Isso pode

ser expresso como:

Página - 20

Por outro lado, o impulso relaciona-se com o degrau unitário como:

Uma sequência exponencial é importante na análise de sistemas discretos e

invariantes no tempo. A forma geral de uma sequência exponencial é dada por:

3.2 Sistemas Lineares e Invariantes no Tempo

Uma classe importante de sistemas consiste naqueles que são lineares e

invariantes no tempo. Como dito acima, os sistemas lineares são aqueles que

obedecem ao princípio da superposição. Se a propriedade da linearidade é

combinada com a representação de uma sequência geral como uma combinação de

impulsos, então um sistema linear pode ser completamente caracterizado pela sua

resposta ao impulso. Seja hk[n] a resposta do sistema a δ[n – k]. Assim, como:

então

Página - 21

Pelo princípio da superposição, podemos escrever:

De acordo com essa equação, a resposta do sistema a qualquer entrada pode ser

expressa em termos da resposta a δ[n – k]. A propriedade da invariância no tempo

implica que, se h[n] é a resposta a δ[n], então a resposta a δ[n - k] é h[n – k]. Com

isso, podemos dizer que:

(Eq. 3.1)

Como consequência, um sistema linear invariante no tempo é completamente

descrito por sua resposta ao impulso. Essa equação é conhecida como soma de

convolução (convolution sum) que pode ser representada pela notação:

(Eq. 3.2)

Apesar da semelhança na notação, deve-se salientar que a soma de convolução

para sinais discretos não é uma aproximação da integral de convolução.

Propriedades da soma de convolução:

1) Comutatividade:

Isso pode ser facilmente justificável com uma mudança de variável na Eq. 3.1.

Especificamente, podemos fazer m = n – k.

2) Distributividade:

x[n]*(h1[n] + h2[n]) = x[n]*h1[n] + x[n]*h2[n]

Página - 22

3) Conexão em Cascata

4) Conexão em Paralelo

5) Causalidade

Como definido anteriormente, um sistema é dito causal se sua resposta não

depende de eventos futuros. Ou seja, para calcular a saída de y[n0], precisamos

apenas de x[n], n < n0. Isso implica na condição:

h[n] = 0, n < 0

Assim, para testar a causalidade basta testar se h[n] = 0 para n<0.

Página - 23

6) Estabilidade

A estabilidade é garantida se:

Para qualquer que seja a entrada x[n] de um sistema:

Assim, em geral, se um sistema linear invariante no tempo tem uma resposta ao

impulso h[n], então seu sistema inverso, se existir, tem resposta ao impulso hi[n]

definida pela relação:

Uma classe importante de sistemas lineares invariantes no tempo consiste daqueles

para os quais x[n] e y[n] se relacionam através de uma equação de diferenças de

coeficientes constantes lineares de n-ésima ordem da forma:

(Eq. 3.3)

Um exemplo de um tal sistema é um acumulador definido pela sequência cujo

diagrama de blocos pode ser visto na figura abaixo:

Página - 24

Tal sistema é representado pela equação de diferenças:

y[n] = y[n – 1] + x[n]

ou y[n] - y[n – 1] = x[n]

Pela Eq. 3.3, temos: N = 1, a0 = 1, a1 = -1, M = 0 e b0 = 1.

Assim, para cada valor de n a saída é dada pela entrada x[n] somada com o valor

anterior do acumulador, y[n – 1].

3.3 Operações entre sequencias

Vamos descrever algumas operações básicas em sequências.

a) Adição de sequências:

A adição de amostra por amostra é dada por:

{x1[n]} + {x2[n]} = {x1(n) + x2(n)}

Deve ser observado que o comprimento das sequências x1[n] e x2[n] deve ser o

mesmo. Se as sequências têm comprimentos diferentes, a menor deve ser

completada para que tenha o mesmo comprimento da maior. Normalmente, isso é

feito, acrescentando zeros à sequência (zero padding).

b) Multiplicação de sequências:

Novamente, é uma operação amostra por amostra e as questões de comprimento

das sequências devem ser consideradas:

{x1[n]}.{x2[n]} = {x1(n).x2(n)}

comentários (0)
Até o momento nenhum comentário
Seja o primeiro a comentar!
Esta é apenas uma pré-visualização
3 shown on 118 pages
baixar o documento