Curso de Matlab

Curso de Matlab

(Parte 7 de 11)

Os vetores C e D serão os seguintes:

C = [4 25 36] D = [4 125 7776]

A operação também é válida para uma base escalar e um expoente vetor, como o exemplo a seguir: C = 3.0. ^A; que gera um vetor com os seguintes valores; C = [9 243 729] Este vetor poderia também ser calculado com a seguinte instrução: C = (3).A;

Curso de MATLAB

Cap. 3 – Cálculos com Matrizes24

Contudo, a instrução a seguir é incorreta: C = 3.^A;

O MATLAB supõe que o ponto é parte da constante 3, e então fazer uma exponenciação matricial, que discutiremos no capítulo 6. Se inserirmos um espaço antes do ponto, como se segue:

C = 3 .^A;

Então, o comando tentaria fazer a exponenciação elemento por elemento conforme desejávamos. Estes exemplos indicam que devemos ter cuidado quando especificarmos operações de conjuntos. Se não tiver certeza que o que escreveu é a expressão correta, sempre teste-a com simples exemplos como aqueles que usamos.

d = [1:5; -1: -1: -5]; z = ones(2,5) s = d – z p = d.*s sq = d.^3;

Os valores destas matrizes são mostrados a seguir:

E x e r c í c i o s

Dê os valores no vetor C depois execute os seguintes enunciados, onde A e B contém os valores mostrados. Cheque suas respostas usando o MATLAB.

A = [2 -1 5 0]B = [3 2 -1 4]

Curso de MATLAB

Cap. 3 – Cálculos com Matrizes25

Solução de Problemas Aplicados à Engenharia: Ecos em Sinais de Comunicação

Uma interessante pesquisa está sendo feita atualmente para desenvolver sistemas de computadores que respondam a comandos verbais. O projeto do tal sistema supõe que o microfone colhe o comando de voz e tem uma representação nítida da fala. Infelizmente, sensores como os microfones apresentam distorções, denominadas ruído. Os sistemas com comunicações duas vias também raramente tem ecos que são inadvertidamente introduzidos pela instrumentação. Por essa razão, um sistema reconhecedor de voz deve ser capaz de executar algum processamento do sinal de voz para remover algumas das distorções e componentes indesejáveis, tal como os ecos, tentando antes reconhecer as palavras. Como forma de testar um programa que foi projetado para remover ecos, devemos estar aptos a gerar um sinal digital e adicionar ecos ao mesmo. Podemos então avaliar a performance do programa que é suposta para remover os ecos. Nesta seção, definimos sinais digitais, e então desenvolveremos um programa MATLAB para adicionar ecos a um sinal digital.

Sinais Digitais

Um sinal é uma função (normalmente em relação ao tempo) que representa informação.

Esta informação ou dado são coletados com um sensor. Alguns dos mais comuns tipos de sensores são microfones, que medem acústica ou dados sonoros (como a fala); sismômetro, que mede intensidade de tremor de terra; fotocélulas, que medem a intensidade da luz; termistores, o qual medem a temperatura; e osciloscópios, que medem tensões. Os sensores são normalmente conectados à outra peça da instrumentação chamada conversor analógico-digital (A/D), que amostra o sinal periodicamente e grava o tempo e os valores do sinal que possam ser armazenados em um arquivo de dados. O sinal original é normalmente uma função contínua (ou analógica); a seqüência de valores coletados do sinal original é denominada sinal digital. A figura 3.1 contém um exemplo de sinal analógico coletado de um sinal contínuo. O sinal analógico é composto de um grupo de coordenadas x-y e assim poderiam facilmente ser armazenadas em um arquivo de dados, e então ler um programa MATLAB. Quando plotamos um sinal analógico, geralmente ligamos os pontos com segmentos de reta em vez de plotar apenas os pontos.

Curso de MATLAB

Cap. 3 – Cálculos com Matrizes26

Gerando ecos em um sinal

Um eco de um sinal é representado por uma versão atenuada do sinal original e que ocorre atrasado no tempo em relação ao sinal original. Por exemplo, a figura 3.3 contém um sinal original s(t) no primeiro esquema. O segundo esquema contém um eco do sinal original que foi atenuado aproximadamente 50% (ou 0,5) do sinal original. O terceiro esquema contém um eco do sinal original atenuado em 30% e atrasado 5 segundos em relação ao sinal original; este é um ROLLED eco porque os valores do eco são negativos do eco esperado. O quarto esquema contém o sinal original mais os dois ecos adicionados ao mesmo.

Figura 3,1 – Sinal Analógico ou contínuo Figura 3..2 – Amostra ou Sinal Digital

Curso de MATLAB

Figura 3.3 – O sinal original e os ecos.

Cap. 3 – Cálculos com Matrizes27

Suponha que um sinal original foi coletado um período de 10 segundos, com um intervalo de tempo de amostragem de 0,1 segundos. O seguinte grupo de coordenadas foram coletados no primeiro segundo, e todos os valores do sinal depois estes valores foram zerados:

Escreva um programa do MATLAB que gera um sinal que contém o sinal original com três ecos adicionados ao mesmo. O primeiro eco é atenuado em 0,5 e atrasado em 2 segundos; o segundo eco tem um tempo de atraso de 4 segundos e atenuado em 0,3 segundos; o terceiro eco é atrasado em 7,5 segundos e atenuado em 0,1. Plote o gráfico do sinal original e o sinal com ecos em um arquivo MAT denominado eco.mat.

1. ENUNCIADO DO PROBLEMA

Dado um sinal original, gerar um novo sinal contendo o sinal original mais três ecos específicos adicionados a ele.

2. DESCRIÇÃO ENTRADA/SAÍDA

O retângulo tracejado contém uma figura detalhada do processo de geração de ecos do sinal de entrada [sn]. Este sinal é atrasado e multiplicado por um fator escalar (representado pelo triângulo) para gerar cada eco. Então, o sinal original e todos os ecos que são adicionados juntos em um novo sinal [gn], o qual é plotado e armazenado um arquivo de dados chamado eco.mat.

1 23 4 5 67
1 23 4 5 67
1 23 4 5 67
1 23 4 5 67t, segundos

t, segundos t, segundos t, segundos s(t)

Eco 1

Eco 2 s(t) + Ecos

Curso de MATLAB

Cap. 3 – Cálculos com Matrizes28

3. EXEMPLO MANUAL Para um exemplo manual, usamos os três primeiros valores do sinal original:

Os ecos específicos então tem os seguintes valores (não-nulos):

2,0(0,5)(0,0) = 0,0
2,1(0,5)(0,5) = 0,25
2,2(0,5)(1,0) = 0,5

Tempo,sValor do sinal

4,0(- 0,3)(0,0) = 0,0
4,1(- 0,3)(0,5) = - 0,15
4,2(- 0,3)(1,0) = - 0,3

Tempo,sValor do sinal

2,0(0,1)(0,0) = 0,0
2,1(0,1)(0,5) = 0,05
2,2(0,1)(1,0) = 0,1

Tempo,sValor do sinal A soma do sinal original mais os três ecos são mostrados na figura 3.5.

atraso 2s atraso 4s atraso7,5s

[sn] eco.mat

Figura 3.4 – Diagrama entrada / saída

Curso de MATLAB

Cap. 3 – Cálculos com Matrizes29

3.4 Funções Elementares

(Parte 7 de 11)

Comentários