A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas e Sinais (LEIC) Carlos Cardeira Sistemas e Sinais As Engenharias (Electrotécnica, Mecânica, etc) estão a perder o contacto com o mundo físico.

Apresentações semelhantes


Apresentação em tema: "Sistemas e Sinais (LEIC) Carlos Cardeira Sistemas e Sinais As Engenharias (Electrotécnica, Mecânica, etc) estão a perder o contacto com o mundo físico."— Transcrição da apresentação:

1

2 Sistemas e Sinais (LEIC) Carlos Cardeira

3 Sistemas e Sinais As Engenharias (Electrotécnica, Mecânica, etc) estão a perder o contacto com o mundo físico. As Engenharias (Electrotécnica, Mecânica, etc) estão a perder o contacto com o mundo físico. Microelectromecânica o que é ? Engª Mecânica ? Electrotécnica ? Processamento de Sinal ? Matemática ? Redes ? Microelectromecânica o que é ? Engª Mecânica ? Electrotécnica ? Processamento de Sinal ? Matemática ? Redes ?

4 Onde existem sistemas ? Sistemas aeronáuticos Sistemas aeronáuticos Mecânica estrutural Mecânica estrutural Sistemas eléctricos Sistemas eléctricos Futuros e Opções Futuros e Opções …

5 Circuitos Os circuitos são o coração de um Engenheiro (especialmente electrotécnico) Os circuitos são o coração de um Engenheiro (especialmente electrotécnico) Mas hoje já existem técnicas analíticas que evitam o desenho de circuitos Mas hoje já existem técnicas analíticas que evitam o desenho de circuitos Circuitos em si passaram a ser uma área de especialização Circuitos em si passaram a ser uma área de especialização

6 Sinais Tradicionalmente, um sinal é uma tensão que varia ao longo do tempo. Tradicionalmente, um sinal é uma tensão que varia ao longo do tempo. Actualmente é mais provável que seja uma sequência de bits enviada pela internet através de TCP/IP Actualmente é mais provável que seja uma sequência de bits enviada pela internet através de TCP/IP

7 Estado O estado de um sistema poderia ser bem determinado pelas variáveis de uma equação diferencial O estado de um sistema poderia ser bem determinado pelas variáveis de uma equação diferencial Agora é mais provável que seja um conjunto de registos de um computador. Agora é mais provável que seja um conjunto de registos de um computador.

8 Sistema Um sistema era razoavelmente bem modelizado por uma função de tranferência linear e invariante no tempo. Um sistema era razoavelmente bem modelizado por uma função de tranferência linear e invariante no tempo. Agora, parece ser mais adequadamente descrito através de uma máquina de Turing ! Agora, parece ser mais adequadamente descrito através de uma máquina de Turing !

9 Sistemas e Sinais Sinais, Sistemas e Funções Sinais, Sistemas e Funções Noção de Estado Noção de Estado Não Determinismo e Equivalência Não Determinismo e Equivalência Composição de Máquinas de Estado Composição de Máquinas de Estado Sistemas Lineares Sistemas Lineares Resposta de Sistemas Lineares Resposta de Sistemas Lineares Sistemas Híbridos Sistemas Híbridos Resposta em frequência Resposta em frequência Filtragem Filtragem Convolução Convolução Transformadas de Fourier Transformadas de Fourier Amostragem Amostragem

10 Sinais e Sistemas Os sinais transportam informação Os sinais transportam informação Os sistemas transformam sinais Os sistemas transformam sinais

11 Sinais Som Som Imagem Imagem Sequência de comandos Sequência de comandos Lista de nomes Lista de nomes…Funções

12 Sistemas Realçar uma imagem Realçar uma imagem Amplificar um som Amplificar um som … Funções ! Funções !

13 Matematicamente … Um sinal é uma função que mapeia um domínio (frequentemente tempo ou espaço) num contradomínio (frequentemente uma medida física como pressão, intensidade de luz …) Um sinal é uma função que mapeia um domínio (frequentemente tempo ou espaço) num contradomínio (frequentemente uma medida física como pressão, intensidade de luz …) Um sistema é uma função que mapeia sinais (entradas) em sinais (saídas). São funções de funções. Um sistema é uma função que mapeia sinais (entradas) em sinais (saídas). São funções de funções.

14 Sinais Sinais são funções que transportam informação: Sinais são funções que transportam informação: Radio e TV chegam-nos através de sinais que são ondas electromagnéticas Radio e TV chegam-nos através de sinais que são ondas electromagnéticas Imagens são sinais que transportam informação através de pontos de intensidade e cor variáveis Imagens são sinais que transportam informação através de pontos de intensidade e cor variáveis

15 Sensores Sensores de pressão, temperatura, velocidade, convertem estas grandezas físicas em tensão (sinais) Sensores de pressão, temperatura, velocidade, convertem estas grandezas físicas em tensão (sinais)

16 Funções Sinais e Sistemas serão encarados como funções. Sinais e Sistemas serão encarados como funções. Cada função é sempre constituída por: Cada função é sempre constituída por: Um nome Um nome Um domínio Um domínio Um contradomínio Um contradomínio A regra que converte cada elemento do domínio em um e só um elemento do contradomínio A regra que converte cada elemento do domínio em um e só um elemento do contradomínio (ver apêndice A do livro de referência)

17 Exemplo: Nome: Cube Nome: Cube Domínio: Reais Domínio: Reais Contradomínio: Reais Contradomínio: Reais Regra: Regra:

18 Sinais de Audio: Domínio e Contradomínio

19 Sinusoide pura

20 Soma de Sinusoides

21 Onda sonora A pressão não pode assumir valores negativos. A pressão não pode assumir valores negativos. Na figura aparecem valores negativos porque normalmente se subtrai a pressão atmosférica (10 5 N/m 2 ) uma vez que os nossos ouvidos não ouvem a pressão atmosférica Na figura aparecem valores negativos porque normalmente se subtrai a pressão atmosférica (10 5 N/m 2 ) uma vez que os nossos ouvidos não ouvem a pressão atmosférica

22 Exemplo x=0:pi/8192:2*pi x=0:pi/8192:2*pi sound(sin(1000*x)) sound(sin(1000*x)) sound(sin(10000*x)) sound(sin(10000*x)) sound(sin(1000*x)+sin(10000*x)) sound(sin(1000*x)+sin(10000*x))

23 Representação discreta Mas num computador não se guardam sinais contínuos (numa cassete sim, embora com distorção…) Mas num computador não se guardam sinais contínuos (numa cassete sim, embora com distorção…) É usual guardá-los em palavras de 16 bit gravadas a intervalos regulares É usual guardá-los em palavras de 16 bit gravadas a intervalos regulares Com 16 bit é possível distinguir níveis de intensidade diferentes Com 16 bit é possível distinguir níveis de intensidade diferentes Guardando esses valores a um ritmo de 44 Khz obtém-se uma boa representação do sinal contínuo (som) original Guardando esses valores a um ritmo de 44 Khz obtém-se uma boa representação do sinal contínuo (som) original

24 Representação Discreta

25 Representação Discreta (Exemplo)

26 Se amostrado a 4.41 Khz: [Bocelli44, SampleFreq, Bits]=wavread('bocelli'); siz=size(Bocelli44); ratio=10 for i=ratio:ratio:siz(1) Bocelli4(i/ratio) = (Bocelli44(i, 1) + Bocelli44(i, 2))/2; i end

27 Bocelli amostrado a 4.41 Khz

28 Comparação

29 Imagens Foto a preto e branco Foto a preto e branco

30 Exemplo de imagem

31 Imagens a cores

32 Olhos e ouvidos O ouvido consegue distinguir sons de frequências diferentes quando somados O ouvido consegue distinguir sons de frequências diferentes quando somados O olho não consegue distinguir cores diferentes quando somadas O olho não consegue distinguir cores diferentes quando somadas O ouvido pode ser modelizado por um sistema linear enquanto que o olho não O ouvido pode ser modelizado por um sistema linear enquanto que o olho não

33 Filme: Domínio e Contradomínio

34 Alternativamente: Alternativamente:

35 Sequência de imagens forma um filme

36

37 Olhos e ouvidos Uma amostragem de 30 Hz é suficiente para reconstruir um filme Uma amostragem de 30 Hz é suficiente para reconstruir um filme Uma amostragem de 8 KHz ainda é insuficiente para reconstituir um som Uma amostragem de 8 KHz ainda é insuficiente para reconstituir um som Conclusão: não fossem os volumes de informação a tratar serem bem diferentes, dir-se-ia que somos muito melhor a ouvir do que a ver. Conclusão: não fossem os volumes de informação a tratar serem bem diferentes, dir-se-ia que somos muito melhor a ouvir do que a ver.

38 Qual a representação mais favorável ? Video:TempoDiscreto Imagens Video:TempoDiscreto Imagens DiscreteTime={0, 1/30, 2/30, …} DiscreteTime={0, 1/30, 2/30, …} Video(t) Imagens Video(t)(i,j) Intensidade 3 (é o pixel i,j da frame t)

39 Qual a representaçao mais favorável AltVideo: TempoDiscreto x Linhas x Colunas Intensidade 3 AltVideo: TempoDiscreto x Linhas x Colunas Intensidade 3 AltVideo(t,i,j) é a intensidade do pixel i, j da frame t AltVideo(t,i,j) é a intensidade do pixel i, j da frame t AltVideo(t,i,j) = Video(t)(i,j) AltVideo(t,i,j) = Video(t)(i,j) A representação mais favorável dependerá do que pretendemos caso a caso. Depende do Engenho … A representação mais favorável dependerá do que pretendemos caso a caso. Depende do Engenho …

40 Sinais que representam atributos físicos Posição de um avião Posição de um avião Posição e velocidade de um avião Posição e velocidade de um avião

41 Sinais que representam atributos físicos Posição de um pêndulo Posição de um pêndulo

42 Sinais compostos por eventos Sequência de eventos que ocorre durante a realização de uma chamada telefónica Sequência de eventos que ocorre durante a realização de uma chamada telefónica Sequência de comandos para uma impressão Sequência de comandos para uma impressão

43 Domínio e Contradomínio Exemplo: Condução Condução: Indices Eventos Índices = {0,1,2,…,N} Eventos: {Ligar, Acelerar, Travar, 1ª, 2ª, 3ª, 4ª, 5ª, Marcha-Atrás, Virar Esquerda, Virar Direita, Parar}

44 Domínio e Contradomínio Exemplo: Entrada e Saída de Pessoas na sala Porta_de_entrada: Indices Eventos Índices = {0,1,2,…,N} Eventos: {Entrada, Saída} Exemplo: Número de Pessoas na sala Pessoas_na_sala: Índices Inteiros Os índices representam uma sucessão ou ordem de eventos e não o tempo

45 SISTEMAS Sistema Entradas (u) Saídas (y) Sinais

46 DTMF DTMF:{0,1,2,3,…,9,*,#} sound DTMF:{0,1,2,3,…,9,*,#} sound

47 SISTEMAS: Pessoas_na_sala Sala (1 p. início) u=( e,e,e,s,e,…) Pessoas_na_sala: [Índices{entrada,saída}] [Índices N.Pessoas_na_sala] y=( 2,3,4,3,4,…)

48 Sistema : Função O sistema Pessoas na sala pode ser descrito através da funcão: O sistema Pessoas na sala pode ser descrito através da funcão: y(0)=1+1(u(0)==e)-1(u(0)==s)=2 y(0)=1+1(u(0)==e)-1(u(0)==s)=2 … (Sistemas deste tipo têm a ver com o dimensionamento de buffers) (Sistemas deste tipo têm a ver com o dimensionamento de buffers)

49 Sistema Contínuo Velocidades:[0,5] Reais, Posição:[0,5] Reais Velocidades:[0,5] Reais, Posição:[0,5] Reais S:Velocidades Posição S:Velocidades Posição S y(0)= pos. ini. u Velocidades y Posição

50 Sistemas que dependem do passado Nestes sistemas, o sinal de saída depende não apenas do valor do sinal de entrada nesse instante, mas de todo o passado do sistema Nestes sistemas, o sinal de saída depende não apenas do valor do sinal de entrada nesse instante, mas de todo o passado do sistema

51 Nota: S(u)(t) faz sentido porque S(u) é uma função de t. S(u)(t) faz sentido porque S(u) é uma função de t. S(u(t)) não faz sentido porque u(t) é apenas um número e a função S depende de todo o passado de u(t) S(u(t)) não faz sentido porque u(t) é apenas um número e a função S depende de todo o passado de u(t)

52 Nota: Neste sistema, y(t) só depende do valor de u(t) no mesmo instante. Neste sistema, y(t) só depende do valor de u(t) no mesmo instante. Neste caso, S(u)(t) e S(u(t)) já fazem sentido. Neste caso, S(u)(t) e S(u(t)) já fazem sentido.

53 Composição de sistemas S1 v y y(0) S2 a v v(0)

54 Máquinas de estados Sinais de entrada e de saída são eventos Sinais de entrada e de saída são eventos Representa-se graficamente a dependencia do passado Representa-se graficamente a dependencia do passado

55 Reconhecedor de Sequências

56 Máquina de estados

57 Tem um número de círculos igual ao número de estados Tem um número de círculos igual ao número de estados De cada estado saem tantas setas quantos os diferentes símbolos de entrada De cada estado saem tantas setas quantos os diferentes símbolos de entrada Cada seta tem o símbolo de entrada / valor da saída que produz caso o sistema esteja nesse estado e receba essa entrada Cada seta tem o símbolo de entrada / valor da saída que produz caso o sistema esteja nesse estado e receba essa entrada

58 Máquina de estados No caso do reconhecedor: No caso do reconhecedor: Update (init, 0) = (a, f) Update (init, 0) = (a, f) Update (a, 1) = (init, f) Update (a, 1) = (init, f) …

59 Máquina de Estados

60 Reconhecedor O reconhecedor de sequências anterior detecta uma sequência de 3 símbolos 0 seguidos O reconhecedor de sequências anterior detecta uma sequência de 3 símbolos 0 seguidos Aceita um alfabeto maior que o primeiro reconhecedor apresentado Aceita um alfabeto maior que o primeiro reconhecedor apresentado

61 Reconhecedor com 4 estados

62 Embora tenha mais estados este reconhecedor produz exactamente o mesmo resultado Embora tenha mais estados este reconhecedor produz exactamente o mesmo resultado Apenas os nomes dos estados são mais intuitivos Apenas os nomes dos estados são mais intuitivos

63 Definição formal de máquina de estados StateMachine = (States, Inputs, Outputs, update, initialState) States é o espaço de estados Inputs é o conjunto de símbolos de entrada (alfabeto de entrada) Outputs é o conjunto dos símbolos de saída (alfabeto de saída) initialState States é o estado inicial update: States x Inputs States x Outputs é a função que mapeia os sinais de entrada nos sinais de saída

64 Entradas e Sinais de entrada Não confundir Entradas com Sinais de entrada. Não confundir Entradas com Sinais de entrada. Um sinal de entrada é uma sequência de elementos do conjunto de entradas Um sinal de entrada é uma sequência de elementos do conjunto de entradas Analogamente em relação às saídas. Analogamente em relação às saídas.

65 Reconhecedor

66 Máquinas de estado Por vezes é conveniente separar a função update em duas: update = (nextState, output), nextState: States x Inputs States output: States x Inputs Outputs Ou: update(s(n), x(n)) = (s(n+1), y(n)) nextState(s(n), x(n)) = s(n+1) output(s(n), x(n)) = y(n)

67 Funcionamento da ME S = (States, Inputs, Outputs, update, initialState) InputSignals = [Nats0 Inputs] OutputSignals = [Nats0 Outputs] Um sinal de entrada x = (x(0), x(1), …, x(n), …) provoca mudanças de estado s: Nats0 States e mudanças nas saídas y: Nats0 Outputs s(0) = initState, and n 0, e recursivamente teremos (s(n+1), y(n)) = update (s(n), x(n)) Assim S define um sistema F: InputSignals OutputSignals

68 Exemplo Reconhecedor: InputSignals = [Nats0 {0,1}] OutputSignals = [Nats0 {t,f}] F: x InputSignals, n Nats0 y(n) = F(x)(n) = t, se (x(n-2), x(n-1)), x(0)) = (0,0,0) = f, se não

69 Símbolo Absent absent Inputs and absent Outputs s States, update(s, absent) = (s, absent)

70 Reconhecedor Modificado

71 O reconhecedor modificado produz apenas a saída true quando encontra a sequência e não produz nada (absent) enquanto não encontrar a sequência. O reconhecedor modificado produz apenas a saída true quando encontra a sequência e não produz nada (absent) enquanto não encontrar a sequência.

72 Simplificações (else e absent implícitos)

73 Guardas Em cada estado, as guardas devem ser disjuntas Em cada estado, as guardas devem ser disjuntas Diz-me que se trata de uma máquina determinística porque a cada entrada só pode corresponder um estado seguinte. Diz-me que se trata de uma máquina determinística porque a cada entrada só pode corresponder um estado seguinte. A união de todas as guardas em cada estado deve ser igual ao conjunto das entradas A união de todas as guardas em cada estado deve ser igual ao conjunto das entradas

74 Máquina de Estados - Tabela Se o número de entradas e de estados for finito, a função update pode ser dada por uma tabela Se o número de entradas e de estados for finito, a função update pode ser dada por uma tabela

75 Exemplo : Parquímetro

76 Parquímetro InputSequence = coin25, tick 20, coin5, tick 15,... StateResponse = 0, 25, 24,..., 6, 5, 10, 9, 8,..., 2, 1, 0 5 OutputSequence = expired, safe, safe,..., safe, safe, safe, safe, safe,..., safe, safe, expired 5

77 Formas de representar máquinas de estados Modelo de conjuntos / funções Modelo de conjuntos / funções Diagrama de estados/transições Diagrama de estados/transições Tabela Tabela As duas últimas formas não permitem representar máquinas infinitas As duas últimas formas não permitem representar máquinas infinitas

78 Exemplo: Gravador de Chamadas Uma empresa quer especificar um gravador de chamadas. Uma empresa quer especificar um gravador de chamadas. Normalmente especifica em linguagem natural (português), que pode ser ambígua. Normalmente especifica em linguagem natural (português), que pode ser ambígua. Se especificasse em Máquinas de Estados não haveria ambiguidade. Se especificasse em Máquinas de Estados não haveria ambiguidade.

79 Especificação e Implementação Normalmente especifica-se as relações entre as entradas e saídas, só que esse conjunto pode ser infinito. Normalmente especifica-se as relações entre as entradas e saídas, só que esse conjunto pode ser infinito. Passar de máquinas de estados a uma implementação é cada vez mais automático Passar de máquinas de estados a uma implementação é cada vez mais automático

80 Gravador de Chamadas

81 Entrada: ring, ring, ring, end greeting, end message, … Estado: idle, count1, count2, play greeting, recording, … Saída: absent, absent, answer, record, recorded, …

82 Gravador de Chamadas Se alguém atender, a máquina vai para idle. Se alguém atender, a máquina vai para idle. As máquinas normais continuam a gravar porque não reconhecem o evento levantar do auscultador. As máquinas normais continuam a gravar porque não reconhecem o evento levantar do auscultador. Funções como gravar, etc, não são feitas pela máquina de estados. Alguém se encarrega disso. Funções como gravar, etc, não são feitas pela máquina de estados. Alguém se encarrega disso.

83 Exemplo: Delay

84 Delay unitário

85 Delay 2

86 Delay n Delay 2 implica 4 estados Delay 2 implica 4 estados Delay n implica 2 n estados Delay n implica 2 n estados Se ligarmos dois delays e os combinarmos o número total de estados é quanto ? Se ligarmos dois delays e os combinarmos o número total de estados é quanto ? Atenção que o estado passa a ser a combinação dos estados. Atenção que o estado passa a ser a combinação dos estados.

87 Máquinas de Estados Não Determinísticas São máquinas em que a uma entrada pode corresponder mais do que um estado ou saída. São máquinas em que a uma entrada pode corresponder mais do que um estado ou saída. Exemplo: parquímetro em que se reduz o número de estados. Fica não determinística mas bastante simplificada. Exemplo: parquímetro em que se reduz o número de estados. Fica não determinística mas bastante simplificada. No entanto a máquina não determinística deve manter o mesmo comportamento da máquina determinística. No entanto a máquina não determinística deve manter o mesmo comportamento da máquina determinística.

88 Máquinas não Determinísticas As guardas já não são disjuntas. As guardas já não são disjuntas. A um sinal de entrada podem corresponder muitos sinais de saída. Exemplo: x(n)= 0, 1, 0, 1, 0, 1 A um sinal de entrada podem corresponder muitos sinais de saída. Exemplo: x(n)= 0, 1, 0, 1, 0, 1

89 Transição de estados Se a máquina for não determinística, pode haver uma probabilidade de ir para um ou para outro estado. Se a máquina for não determinística, pode haver uma probabilidade de ir para um ou para outro estado. Se assim for estamos perante Cadeias de Markov. Se assim for estamos perante Cadeias de Markov. No nosso caso, o não determínismo pode ser usado para situações não modeladas. No nosso caso, o não determínismo pode ser usado para situações não modeladas.

90 Update Em máquinas não determinísticas, a função update não gera um estado mas um conjunto de estados. Não deixa de ser uma função. Em máquinas não determinísticas, a função update não gera um estado mas um conjunto de estados. Não deixa de ser uma função.

91 Estados Possíveis possibleUpdates(a, 0) = { (a, 0) } possibleUpdates(a, 1) = { (b, 1) } possibleUpdates(b, 0) = { (a, 0), (b, 1) } possibleUpdates(b, 1) = { (b, 1) }

92 Função Possibleupdate continua a ser uma função, porque gera sempre um elemento do contradomínio. Possibleupdate continua a ser uma função, porque gera sempre um elemento do contradomínio. Em contrapartida, a relação entre os sinais de entrada e os sinais de saída deixa de ser uma função. Em contrapartida, a relação entre os sinais de entrada e os sinais de saída deixa de ser uma função.

93 Funções e Comportamentos Uma máquina determinística pode ser definida por uma função. Uma máquina não determinística define um comportamento Behaviors = {(x,y) | y is a possible output signal corresponding to x} InputSignals x OutputSignals

94 Parquímetro Não Determinístico

95 Comparação A máquina não determinística é mais simples. A máquina não determinística é mais simples. No entanto, as saídas possíveis da máquina não determinística, incluem as da máquina deterministica. No entanto, as saídas possíveis da máquina não determinística, incluem as da máquina deterministica. A máquina não determinística pode fazer o que a máquina determinística faz e possívelmente algo mais. A máquina não determinística pode fazer o que a máquina determinística faz e possívelmente algo mais.

96 Abstracção A máquina ND esconde detalhes da máquina D A máquina ND esconde detalhes da máquina D As duas máquinas não são equivalentes. As duas máquinas não são equivalentes. A máquina ND é uma abstracção da máquina D A máquina ND é uma abstracção da máquina D

97 Interesse das Máq. ND Por outro lado, se se provar que a Máquina não Determinística não pode ter um certo comportamento, então, garantidamente, a Máquina Determinística também não o poderá ter. Por outro lado, se se provar que a Máquina não Determinística não pode ter um certo comportamento, então, garantidamente, a Máquina Determinística também não o poderá ter. Se a ND for segura, a D também o será, admitindo que, por segura se entende que determinados estados não sucederão. Exemplos: Deadlock. Livelock, etc. Se a ND for segura, a D também o será, admitindo que, por segura se entende que determinados estados não sucederão. Exemplos: Deadlock. Livelock, etc.

98 Equivalência Máquina determinística Máquina determinística Máquina não determinística Máquina não determinística

99 Equivalência e Simulação Ambas respondem com (1, 0, 1, 0 …) à entrada (1, 1, 1, 1 …) Ambas respondem com (1, 0, 1, 0 …) à entrada (1, 1, 1, 1 …) Consideram-se máquinas bisimilares (mutuamente similares) porque uma máquina simula a outra e reciprocamente. Consideram-se máquinas bisimilares (mutuamente similares) porque uma máquina simula a outra e reciprocamente. Considera-se que uma máquina simula outra quando consegue fazer o mesmo que a outra e talvez mais. Considera-se que uma máquina simula outra quando consegue fazer o mesmo que a outra e talvez mais. A máquina não determinística para o parquímetro simulava a máquina determinística do mesmo parquímetro. A máquina não determinística para o parquímetro simulava a máquina determinística do mesmo parquímetro. A e B são mutuamente similares se A simula B e B simula A A e B são mutuamente similares se A simula B e B simula A

100 Simulação Uma máquina simula outra se conseguir ganhar o jogo da igualdade (matching game) Uma máquina simula outra se conseguir ganhar o jogo da igualdade (matching game) Regras do jogo da igualdade: Regras do jogo da igualdade: Inicialmente ambas as máquinas estão prontas no seu estado inicial. Inicialmente ambas as máquinas estão prontas no seu estado inicial. Apresenta-se uma entrada a ambas. B simula A se for capaz de produzir a mesma saída sempre. Apresenta-se uma entrada a ambas. B simula A se for capaz de produzir a mesma saída sempre. Se B não for capaz, perdeu o jogo e não simula A Se B não for capaz, perdeu o jogo e não simula A

101 Simulação (formal) Considere as seguintes máquinas não determinísticas Considere as seguintes máquinas não determinísticas

102 Simulação (formal)

103 Ilustração da Simulação

104 Teorema Se B simula A Se B simula A Comportamentos B כ Comportamentos A Comportamentos B כ Comportamentos A

105 exemplo Comportamentos B = Comportamentos A Comportamentos B = Comportamentos A Mas B não simula A ! Mas B não simula A !

106 Combinações de ME Tendo um sistema descrito por uma máquina A Tendo um sistema descrito por uma máquina A Um sistema descrito pela máquina B Um sistema descrito pela máquina B Se as saídas de A forem ligadas a B deve ser possível conhecer o sistema final com base nos seus componentes. Se as saídas de A forem ligadas a B deve ser possível conhecer o sistema final com base nos seus componentes. Se a saída realimentar para a entrada, também deverá ser possível fazer a mesma análise. Se a saída realimentar para a entrada, também deverá ser possível fazer a mesma análise.

107 Hipótese de funcionamento Quando uma entrada chega ao sistema ela é imediatamente consumida e é gerada a saída correspondente. Quando uma entrada chega ao sistema ela é imediatamente consumida e é gerada a saída correspondente. Essa saída é consumida no mesmo instante pelo sistema a jusante. Essa saída é consumida no mesmo instante pelo sistema a jusante. Cada componente só reage uma vez ao sinal de entrada. Cada componente só reage uma vez ao sinal de entrada. Se houver realimentação, o sinal de saída aparece à entrada no mesmo instante. Se houver realimentação, o sinal de saída aparece à entrada no mesmo instante.

108 Trivial: Composição paralela

109 Composição paralela

110

111 Composição em cascata

112

113 Composição em cascata: exemplo

114 No exemplo anterior, os estados (1,0) e (0,1) não são alcançáveis. No exemplo anterior, os estados (1,0) e (0,1) não são alcançáveis. Numa composição em cascata, podem existir estados não alcancáveis. Numa composição em cascata, podem existir estados não alcancáveis.

115 Composição: Produto de Entradas/Saídas

116 Como no caso do atendedor, há sinais que podem ter proveniências diferentes e saídas que podem ter destinos diferentes. Como no caso do atendedor, há sinais que podem ter proveniências diferentes e saídas que podem ter destinos diferentes. O sinal de play e o de record podem ser destinados a máquinas diferentes. O sinal de play e o de record podem ser destinados a máquinas diferentes. O Sinal de Chamada (ring) pode provir de uma entrada diferente do sinal de fim de chamada (end message) O Sinal de Chamada (ring) pode provir de uma entrada diferente do sinal de fim de chamada (end message)

117 Composição: Produto de Entradas/Saídas

118 Composição: Produto de E/S Por vezes, há entradas específicas para determinados elementos do alfabeto. Por vezes, há entradas específicas para determinados elementos do alfabeto.

119 Feedback O Problema consiste em calcular a função update.

120 Ponto Fixo A função update define-se através de iterações que conduzam ao ponto fixo. A função update define-se através de iterações que conduzam ao ponto fixo.

121 O que é o ponto fixo (Fixed Point)

122

123

124 Ponto Fixo: Hipóteses Não há soluções: significa que não há sinais que possam colocar o sistema a funcionar. O sistema não funciona. Não há soluções: significa que não há sinais que possam colocar o sistema a funcionar. O sistema não funciona. Há mais do que uma solução: significa que o problema não é bem formado e não pode ser resolvido (not well formed) Há mais do que uma solução: significa que o problema não é bem formado e não pode ser resolvido (not well formed) Há uma solução única: significa que o sistema é bem formado (well formed) Há uma solução única: significa que o sistema é bem formado (well formed)

125 Ponto Fixo: Exemplo X=Y=Reais X=Y=Reais f(x)=2x-1 f(x)=2x-1 Solução do ponto fixo: Solução do ponto fixo: X=f(x) X=f(x) 2x-1 = x 2x-1 = x Tem uma solução única: x = 1 Tem uma solução única: x = 1 Se f(x) = x 2 o sistema tem duas soluções (seria no máximo, uma máquina não determinística) Se f(x) = x 2 o sistema tem duas soluções (seria no máximo, uma máquina não determinística) Se f(x) = x+1 não tem solução Se f(x) = x+1 não tem solução

126 Realimentação sem entradas externas: exemplo 1

127 Sistema bem formado Se estiver no estado 1 e a entrada for verdadeiro, o sistema não tem solução. Se estiver no estado 1 e a entrada for verdadeiro, o sistema não tem solução. Se estiver no estado 1 e a entrada for falsa, ele consome a entrada e passa ao estado 2 gerando a saída falsa que é igual à entrada. Se estiver no estado 1 e a entrada for falsa, ele consome a entrada e passa ao estado 2 gerando a saída falsa que é igual à entrada. Se estiver no estado 2 e a entrada for falsa, o sistema não tem solução. Se estiver no estado 2 e a entrada for falsa, o sistema não tem solução. Se estiver no estado 2 e a entrada for verdadeira, ele consome a entrada e passa ao estado 1 gerando a saída verdadeira que é igual à entrada. Se estiver no estado 2 e a entrada for verdadeira, ele consome a entrada e passa ao estado 1 gerando a saída verdadeira que é igual à entrada. O sistema é bem formado porque para cada estado há uma única solução x=f(x) O sistema é bem formado porque para cada estado há uma única solução x=f(x)

128 Realimentação sem entradas externas

129 Sistema bem formado O sistema não tinha entradas. O sistema não tinha entradas. A entrada react é criada artificialmente para representar que quando surge a máquina pode avançar para o estado seguinte (correr a sua função update). A entrada react é criada artificialmente para representar que quando surge a máquina pode avançar para o estado seguinte (correr a sua função update). As duas máquinas são equivalentes porque quando a entrada react surge, as únicas hipóteses de evolução são as indicadas na máquina inferior. As duas máquinas são equivalentes porque quando a entrada react surge, as únicas hipóteses de evolução são as indicadas na máquina inferior.

130 Realimentação sem entradas externas: exemplo 2

131 Sistema mal formado (not well- formed) Se estiver no estado 1 e a entrada for verdadeiro, o sistema não tem solução. Se estiver no estado 1 e a entrada for verdadeiro, o sistema não tem solução. Se estiver no estado 1 e a entrada for falsa, ele consome a entrada e passa ao estado 2 gerando a saída falsa que é igual à entrada. Se estiver no estado 1 e a entrada for falsa, ele consome a entrada e passa ao estado 2 gerando a saída falsa que é igual à entrada. Para o estado 1 há portanto uma solução única e o sistema está no bom caminho para ser considerado bem-formado Para o estado 1 há portanto uma solução única e o sistema está no bom caminho para ser considerado bem-formado Se estiver no estado 2 e a entrada for verdadeira ou falsa, a saída gerada é diferente da entrada. Se estiver no estado 2 e a entrada for verdadeira ou falsa, a saída gerada é diferente da entrada. O sistema é mal formado porque há um estado em que não há solução para x=f(x) O sistema é mal formado porque há um estado em que não há solução para x=f(x)

132 Realimentação sem entradas externas: exemplo 3

133 Sistema mal formado (not well- formed) Se estiver no estado 1 e a entrada for verdadeiro, a máquina consome a entrada e gera uma saída igual. Se estiver no estado 1 e a entrada for verdadeiro, a máquina consome a entrada e gera uma saída igual. Se estiver no estado 1 e a entrada for falsa, ele consome a entrada e passa ao estado 2 gerando a saída falsa que é igual à entrada. Se estiver no estado 1 e a entrada for falsa, ele consome a entrada e passa ao estado 2 gerando a saída falsa que é igual à entrada. O sistema é mal formado porque há um estado em que há mais do que uma única solução x=f(x). O sistema é mal formado porque há um estado em que há mais do que uma única solução x=f(x).

134 Máquinas em que a saída depende apenas do estado

135 Nestes casos, qualquer que seja a entrada, a saída é sempre a mesma para cada estado. Nestes casos, qualquer que seja a entrada, a saída é sempre a mesma para cada estado. output(s, y) = y terá sempre uma única solução que corresponderá à guarda cuja entrada for igual a y output(s, y) = y terá sempre uma única solução que corresponderá à guarda cuja entrada for igual a y Desta forma, estas máquinas são sempre bem formadas. Desta forma, estas máquinas são sempre bem formadas.

136 Interesse das máquinas bem formadas Máquina B bem formada (saída depende do estado) y z w Se uma máquina é Bem formada (as saídas dependem apenas do estado), então sistema é bem formado A BC

137 Máquinas em que a saída depende apenas do estado Suponhamos que a máquina B está num certo estado e gera a saída y. Suponhamos que a máquina B está num certo estado e gera a saída y. A máquina C (que pode não ser bem formada), gera z. A máquina C (que pode não ser bem formada), gera z. A máquina A gera w. A máquina A gera w. Mas w será uma das guardas desse estado da máquina B. Então ela continuará a gerar y. Mas w será uma das guardas desse estado da máquina B. Então ela continuará a gerar y. O sistema todo é bem formado porque um dos seus elementos o era. O sistema todo é bem formado porque um dos seus elementos o era.

138 Delay A máquina delay tem saídas determinadas pelo estado. É bem formada. A máquina delay tem saídas determinadas pelo estado. É bem formada.

139 Bem formado ou mal formado ? Método geral

140 Começa-se com uma saída algures Começa-se com uma saída algures Para cada máquina Para cada máquina Se a saída puder ser determinada, produzi-la Se a saída puder ser determinada, produzi-la Se a mudança de estado puder ser determinada, fazê-la Se a mudança de estado puder ser determinada, fazê-la Repetir até dar a volta Repetir até dar a volta Se todas as saídas estão determinadas – Bem formado Se todas as saídas estão determinadas – Bem formado Se alguns sinais estiverem indefinidos – Mal formado Se alguns sinais estiverem indefinidos – Mal formado

141 Bem formado ou mal formado ? Exemplo

142 Começar com o estado A Começar com o estado A O estado A gera sempre a saída y2=1 O estado A gera sempre a saída y2=1 Como y2 é realimentada, teremos Como y2 é realimentada, teremos update (a, 1) = (b, (1,1)) O estado B gera sempre a saída y2=0 O estado B gera sempre a saída y2=0 Como y2 é realimentada, teremos Como y2 é realimentada, teremos update (b, 0) = (b, (0,0))

143 Realimentação com entradas

144 A máquina tem dois portos de saída, outputM1 e outputM2. Escolher um estado s. x1 Inputs1, resolver: outputM2 (s, (x1, y2)) = y2; se y2 for única, então nextState (s, x1) = (nextStateM(s, (x1, y2)) output(s, x1) = outputM1(x1, y2) Passará a haver uma equação de ponto fixo para cada valor da entrada. Passará a haver uma equação de ponto fixo para cada valor da entrada.

145 Sumário dos Caps. I a IV Vimos até agora: Vimos até agora: Sinais que são funções com domínio e contradomínio: exemplo: sons, imagens Sinais que são funções com domínio e contradomínio: exemplo: sons, imagens Sistemas que transformam sinais, são funções de funções: exemplo: filtros, máquinas de fax Sistemas que transformam sinais, são funções de funções: exemplo: filtros, máquinas de fax Máquinas de estado (determinísticas ou não) que descrevem a evolução dos sistemas. Máquinas de estado (determinísticas ou não) que descrevem a evolução dos sistemas.


Carregar ppt "Sistemas e Sinais (LEIC) Carlos Cardeira Sistemas e Sinais As Engenharias (Electrotécnica, Mecânica, etc) estão a perder o contacto com o mundo físico."

Apresentações semelhantes


Anúncios Google