Laboratório 4 Sistemas embarcados Período 2010.2.

Slides:



Advertisements
Apresentações semelhantes
Contadores e Registradores
Advertisements

Programação em Java Prof. Maurício Braga
A = ( 3 ) , logo | A | = 3 Determinantes
Amintas engenharia.
Operações envolvendo imagens
Material pedagógico Multiplicar x 3 Clica!
Celso C. Ribeiro Caroline T. Rocha
Especificações de Filtros
Ciclos, Vectores e Gráficos Simulação da Queda de Corpos II
Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005 Introdução 1.1 Octave Introdução.
Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.1 Octave Introdução.
Estatística Descritiva Aula 02
Determinantes Determinante é um número real associado a uma matriz quadrada. Notação: det A ou |A|. Determinante de uma Matriz Quadrada de 1ª Ordem. Seja.
SISTEMAS DE EQUAÇÕES.
Modelos no Domínio do Tempo de Sistemas LTI Contínuos
Resolução.
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
1 MergeSort Seja uma lista A de n elementos. O algoritmo consiste das seguintes fases Dividir A em 2 sub-listas de tamanho n/2 Conquistar: ordenar cada.
DIAGRAMA DE ATIVIDADES
6. Estruturas p/ Sistemas Discretos
7. Técnicas de Projeto de Filtros
BCC101 – Matemática Discreta
1 Sabendo-se que os pratos das balanças estão em equilíbrio, você seria capaz de dizer: Quantos quadrados corresponde um círculo ? Dica Mais dicas Elaboração:
Polinômios Prof. Marlon.
Auditoria de Segurança da Informação
Questionário de Avaliação Institucional
Experiments with Strassen’s Algorithm: from sequential to parallel
Classes e objetos P. O. O. Prof. Grace.
Matemática I Prof. Gerson Lachtermacher, Ph.D.
Provas de Concursos Anteriores
Revisão do conceito de matrizes
ESTATÍSTICA.
Como aplicar leis da lógica
PROGRAMAÇÃO I UNIDADE 1.
Brincando com os números Cristiane Keller.
Cinemática Plana de um Corpo Rígido Cap. 16
Object Oriented Software Construction (MEYER, Bertrand)
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
Conversão de um NFA para um DFA com um exemplo
ESTATÍSTICA.
Salas de Matemática.
Circuitos Elétricos 2 Circuitos Elétricos Aplicados
Coordenação Geral de Ensino da Faculdade
Medidas de posição  Estudando as distribuições de  frequência,  percebe-se que existe uma  posição de  concentração dos valores, que podem estar mais concentrados no início, no meio ou no 
Momentos de Hu e Zernike para o Reconhecimento de Linguagem de Sinais
Introdução teórica A modulação em freqüência consiste na variação da freqüência da portadora proporcionalmente ao sinal de informação. Dado o sinal modulador.
Revisão do conceito de matrizes
Cinemática de uma Partícula Cap. 12
Introdução e Busca Cega
Resoluções de equações Métodos iterativos
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Probabilidades e Combinatória Distribuição de Probabilidades
Computação Gráfica Aula 3 Transformações Geométricas
Agenda - Aula 2 Introdução (Computador Digital) Processadores
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
1AT 2004 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira.
Mestrandos: Agnaldo de Oliveira Daiane Corrêa Juliana Alves
Campus de Caraguatatuba Aula 2: Somatório e Produtório
Rio Verde - Goiás - Brasil
Cinemática Plana de um Corpo Rígido Cap. 16
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
Comandos SQL.
POTENCIAÇÃO E RAIZ QUADRADA DE NÚMEROS RACIONAIS
Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira.
Campus de Caraguatatuba Matemática Discreta 1 – MD 1
Planilha Eletrônica - Excel
7 Resultados de Medições Indiretas
Campus de Caraguatatuba Aula 9: Noções Básicas sobre Erros (3)
Fontes de Erros Aula 1 Introdução; Erros em processos numéricos;
GINÁSTICA LABORAL UM NOVO CAMINHO.
Transcrição da apresentação:

Laboratório 4 Sistemas embarcados Período 2010.2

Roteiro Representação numérica em ponto- flutuante Projeto de um filtro digital usando aritmética de ponto-flutuante Aritmética de ponto-fixo Projeto de um filtro digital usando aritmética de ponto-fixo

Objetivo Projetar e implementar um filtro digital para áudio em C para Linux Embarcado no core ARM da plataforma OMAP 161x.

Metodologia de Desenvolvimento Formulação Matemática da Aplicação Projeto e verificação do Algoritmo numa linguagem de alto nível, e.g. MatLab, em ponto-flutuante e ponto-fixo Implementação em C em ponto-flutuante para PC, e.g. gcc Implementação em C em ponto-fixo para PC, e.g., gcc Cross-compilação para ARM, e.g. Scratchbox

Padrão IEEE 754 para Floats: Ponto-flutuante Padrão IEEE 754 para Floats: Sinal: 0 = + e 1 = - Combinações Sinal + Expoente + Significando

Filtro Butterworth em ponto-flutuante Especificação: Frequência de corte: 300 Hz = 2*π*300 rad/s = 1885 rad/s Passa-altas 2ª ordem

Filtro Butterworth em ponto-flutuante Encontrando a função de transferência: Na linha de comando: [num,den] = butter(ordem,2*pi*fc,'high','s'); Informações sobre o algoritmo: Help do Matlab: Signal Processing Toolbox: butter No Simulink: DSP blockset / Filtering / Filter Designs

Filtro Butterworth em ponto-flutuante Encontrando a função de transferência: Na linha de comando: filtro_continuo = tf(num,den) s^2 ------------------------------- s^2 + 2666 s + 3.553e06

Aproximando funções de transferência (FT) contínuas Aproximação de Tustin: Uma FT discreta H(z) pode ser obtida repondo o argumento s na FT contínua G(s) por s' onde h é o período de amostragem. Assim H(z) = G(s')

Filtro Butterworth em ponto-flutuante filtro_discreto = c2d(filtro_continuo,Ta,'tustin') 0.8471 z^2 - 1.694 z + 0.8471 --------------------------------------- z^2 - 1.671 z + 0.7177 Sampling time: 0.000125 [numd,dend]=tfdata(filtro_discreto,'v') numd = [ 0.8471 -1.6942 0.8471 ] dend = [1.0000 -1.6707 0.7177 ]

Filtro Butterworth em ponto-flutuante Simulação: Na linha de comando: [yc,t] = lsim(filtro_continuo,u,t); [yd,t] = lsim(filtro_discreto,u,t); No simulink:

Aritmética de ponto-fixo

Aritmética de ponto-fixo Mudando de Expoente

Aritmética de ponto-fixo Adição e Subtração Obs: Se os expoentes são diferentes a conversão para mesmo expoente deve ser feita antes da adição ou subtração.

Aritmética de ponto-fixo Multiplicação Para converter a resposta para o expoente r devemos efetuar um deslocamento como descrito abaixo: Exemplo: se p + q >= r :

Aritmética de ponto-fixo Divisão Para não perder precisão devemos efetuar a multiplicação por antes da divisão por m. Exemplo: se

Aritmética de ponto-fixo Raiz Quadrada

Aritmética de ponto-fixo Conversão de ponto-flutuante para ponto- fixo

Aritmética de ponto-fixo Exemplo: Para x1 = 0.001d q1=log2(32767)-log2(.001) q1 = 24.9657 => q1 = 24 floor(x1*2^24) x1 = 16777d => 4189h

Aritmética de ponto-fixo para x2 =7.12d q2 =log2(32767)-log2(7.12) q2 = 12.1681 => q2 = 12 floor(x2*2^12) x2d =29163 => 71EBh

Aritmética de ponto-fixo logo x3 = x1*x2 => q3 = q1+q2 = 36 x3 = 489267651d = 1D29A1C3h se sabemos que esse número é representado corretamente em Q22 fazemos: x3(Q22) = floor(x3/2^(36-22)) x3(Q22) = 29862d = 74A6h e podemos armazená-lo na memória. Para provar que o procedimento está correto fazemos: Resultado esperado = x3(Q22)/2^22 = 0.00711965560913

Filtro Butterworth em ponto-fixo %qu = floor(log2(2^15 - 1)-log2(1)) = 14 ud=floor(u*2^14); %Do filtro projetado anteriormente: numd = [0.8471 -1.6942 0.8471]; dend = [1.0000 -1.6707 0.7177]; %(q para num e den) = floor(log2(2^15 - 1)-log2(2)) = 13 numd = round(numd*2^13); dend = round(dend*2^13);

Filtro Butterworth em ponto-fixo Equação de recorrência

Filtro Butterworth em ponto-fixo %yd(k)/ud(k) = nund(q)/dend(q) => yd(k)dend(q) = ud(k)dend(q) for k=10:length(t) %Q13 * Q14 = Q27 yd(k) = -1*( dend(2)*yd(k-1) + dend(3)*yd(k-2)) + numd(1)*ud(k) + numd(2)*ud(k-1) + numd(3)*ud(k-2); %Q27 >> 13 = Q14 yd(k) = round(yd(k)/2^13); end

Filtro Butterworth em ponto-fixo No Simulink:

Exemplo

Sugestão de experimento Repita o projeto do filtro do exemplo, dessa vez usando ´zoh´ como método de discretização. Como a função de transferência em tempo discreto é alterada? Projete um filtro passa-baixas de nona ordem usando a metodologia proposta.