23
Gerando senos Luis Henrique Assump¸ ao Lolis 17 de maio de 2016 http://www.eletrica.ufpr.br/ ~ luis.lolis

Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Gerando senos

Luis Henrique Assumpcao Lolis

17 de maio de 2016

http://www.eletrica.ufpr.br/~luis.lolis

Page 2: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Conteudo

1 Introducao

2 Ondas senoidais

3 O codigo em C

4 O experimento

5 Questoes e desafio

Luis Henrique Assumpcao Lolis Gerando senos 2

Page 3: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Sumario

1 Introducao

2 Ondas senoidais

3 O codigo em C

4 O experimento

5 Questoes e desafio

Luis Henrique Assumpcao Lolis Gerando senos 3

Page 4: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Objetivos

Gerar diferentes tons com a plataforma DSP

Aplicacoes para modulacao do sinal, teste de tom telefonico,geracao de notas, teste de funcoes de transferencia.

Luis Henrique Assumpcao Lolis Gerando senos 4

Page 5: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Sumario

1 Introducao

2 Ondas senoidais

3 O codigo em C

4 O experimento

5 Questoes e desafio

Luis Henrique Assumpcao Lolis Gerando senos 5

Page 6: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Gerando ondas senoidais

Gerar senos serve para os tons de telefonia, para modularsinais de audio, e gerar sons que se aproximem deinstrumentos musicais, ex: MIDI.

Existem tres formas basicas de gerar ondas senoidais.

Look-up TableEquacao recursiva (Ex: CORDIC)Expansao de Taylor

As LUTs sao faceis de implementar e de baixa complexidadecomputacional, mas so geram sub-multiplos inteiros dafrequencia de amostragem.

Luis Henrique Assumpcao Lolis Gerando senos 6

Page 7: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Series de Taylor

Funcao presente na biblioteca da TI “DSPLIB”

sen(x) = x− x3

3!+

x5

5!− x7

7!· · ·

x em radianos

Vantagens:

Pode gerar qualquer frequencia

Desvantagem

Nao tao precisa quanto a LUTPode ter problemas com overflow

Luis Henrique Assumpcao Lolis Gerando senos 7

Page 8: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Sumario

1 Introducao

2 Ondas senoidais

3 O codigo em C

4 O experimento

5 Questoes e desafio

Luis Henrique Assumpcao Lolis Gerando senos 8

Page 9: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Funcao seno em C

A funcao seno em C pode ser encontrada na biblioteca“math.h” que e muito lenta para ser usada em tempo real.

DSPLIB:

FFTSeno, cosseno e tangenteExponenciais

Luis Henrique Assumpcao Lolis Gerando senos 9

Page 10: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Para usar a DSPLIB

Dois #include sao adicionados:

Luis Henrique Assumpcao Lolis Gerando senos 10

Page 11: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Funcao Sine na DSPLIB

Escrita em Assembly

3 paremetros: enderco da localizacao contendo a frequencia,endereco da localizacao para gravar o seno calculado; e oterceiro parametro sempre em 1.

Luis Henrique Assumpcao Lolis Gerando senos 11

Page 12: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Fator de escala entre a frequencia em Hz e a entrada dafuncao

22368 16bit int (0.682)

Luis Henrique Assumpcao Lolis Gerando senos 12

Page 13: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Entrando o angulo

Um inteiro 16bits transformado em angulo de 0º a 180º.

0⇒ 016383⇒ 9032767⇒ 180

Luis Henrique Assumpcao Lolis Gerando senos 13

Page 14: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Explicando o fator de escala

Os angulos a serem calculados sao sub-multiplos inteiros dafrequencia de amostragem, nesse caso 48000.

Ex: para gerar 1Hz precisamos divir uma volta no circulounitario em 48000 angulos, dando o passo do angulo de360º/48000=0,0075º. Esse angulo em vırgula fixa fica 245,76.

Dividir por 48000 leva tempo, mas dividir por um multiplo de2 e um deslocamento para e direita.

Conta do angulo em vırgula fixa:360

48000· 32768 =

360

215· 22368

Qual a menor frequencia que podemos gerar com fs = 48KHze 16bits para o calculo do angulo?

Luis Henrique Assumpcao Lolis Gerando senos 14

Page 15: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Sumario

1 Introducao

2 Ondas senoidais

3 O codigo em C

4 O experimento

5 Questoes e desafio

Luis Henrique Assumpcao Lolis Gerando senos 15

Page 16: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Setup para o seno

Luis Henrique Assumpcao Lolis Gerando senos 16

Page 17: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Copiando, build e debug

Seguir as etapas do primeiro projeto

Criar a pasta “senos” e copiar os arquivos fonte desseexperimento.Criar o projeto e apontam para a pasta criada.Configurar o projeto para o processador e o modelo dememoria correspondente.Compilar o projeto ativo.Lancar o debug do projeto ativo.Rodar o codigo.

Luis Henrique Assumpcao Lolis Gerando senos 17

Page 18: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Console

Luis Henrique Assumpcao Lolis Gerando senos 18

Page 19: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Mudando o volume

Reduza o ganho de 10000 para 5000

Luis Henrique Assumpcao Lolis Gerando senos 19

Page 20: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Mudando as frequencias

Altere as frequencias para A=440Hz e C=523Hz.

Luis Henrique Assumpcao Lolis Gerando senos 20

Page 21: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Mude a frequencia de amostragem

Altere o fator de escala de acordo com a nova frequencia deamostragem para continuar gerando as mesmas frequencias deantes

Luis Henrique Assumpcao Lolis Gerando senos 21

Page 22: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Sumario

1 Introducao

2 Ondas senoidais

3 O codigo em C

4 O experimento

5 Questoes e desafio

Luis Henrique Assumpcao Lolis Gerando senos 22

Page 23: Gerando senos - Professor Dr. Luis Henrique Assumpção Lolisprofessorluislolis.weebly.com/uploads/1/3/2/7/13273601/6-gerando_… · Explicando o fator de escala Os ^angulos a serem

Porque existe o fator de escala?

Qual o melhor metodo de gerar senos em no TMS320C5505?

Gere um seno que varia lentamente no tempo, de 1Hz a20KHz e retornando a 1Hz em 10 segundos.

Luis Henrique Assumpcao Lolis Gerando senos 23