Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
Sink00

DSPIC33 e Filtros digitais

Recommended Posts

Bom dia, alguem jatrabalhou com Dpics e filtros digitais? As minhas perguntas principais são: Qual o tempo de processamento que eu precisaria para implementar um filtro notch de 60Hz, um de 120Hz? E quanto a um filtro passa alta? Tudo isso com o DSPIC33 rodando a 40 MIPS. E qual a dificuldade de implementar esses filtros sem o Digital Filter Design da Microchip?

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Uuuuuuppppppp!!

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Opa grande Sink,

    Bom quando você diz o tempo de processamento do filtro notch eu nao me recordo bem, mas creio que esteja na ordem 3.9uS

    Trabalho muito com esse tipo de filtro paraa dsPIC e uso a ferramente do filter design somente para a geração dos coeficientes, o resto eu implemento no braço mesmo uma vez que os coeficientes sao o maior problema.

    O bom do filter design e que ele gera o codigo do filtro em C ou Assembly.

    Qual a aplicação do filtro?

    Abs.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Nada de complicado, apenas para limpar um sinal de eltromiografia. Eu ja tentei implementando filtro analogico mas dependendo da aplicaçao ele não pode ser usado por que compromete uma banda importante do EMG. Por isso eu gostaria de implementa-lo digitalmente por que ficaria fácil escolher entre usa-lo ou não. A taxa de amostragem sera algo proximo de 20khz. Isso é bem alto para EMG mas a ideia é que esse sensor vai estar em um BUS RS485 e o mestre do BUS ira requisitar do DSPIC os valores dos sensores conectados a ele (provavelmente 2 potenciometros de precisão e 4 EMG e talvez 2 strain-gauge) e eu quero que o dsPIC (ou PIC32, ainda estou avaliando) ja tenha um valor razoavelmente atualizado na memoria para poder responder imediatamente. O tempo entre cada pedido sera aproximadamente de 500us mas isso não é garantido. A minha duvia entre o PIC32 e o Dspic é por que o PIC32 consgue se comunicar com uma baud rate de 20Mbps e o DSPIC apenas de 10. voce acha que o preço do Digital Filter Design compensa? voce tem a versão Lite ou a normal? voce comprou ele ou adquiriu por outros meios :D ? voce teria alguns exemplos de filtros digitais? Ou pelo menos alguma referencia? Esse valor que voce me passor seria para IIR ou FIR?

    Vlew

    Abs

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Sink, a Microchip a um tempo atras disponibilizou o dsFilter Lite freeware infelizmente agora é pago, porém eu fui u mfelizardo que conseguiu uma copia da versao freeware, irei posta - la no meu disco virtual e passo o link por aqui.

    Quanto ao tempo de processamento isso vale para o pior caso que é o FIR, pois da mais processamento o MCU alem das rotinas de "enchimento" e "esvaziamento" do Buffer, a vantagem em compensação torna - se a simplicidade do codigo, ja no IIR a brincadeira ocorre ao contrario.

    Veja se ele atende, 20Khz de sample o ds aguente sossegado.

    Abs.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Nossa que sorte!! Haha.. opa seria muito bem vindo esse link :D! Por isso que eu perguntei.. eu sou meio receoso em usar filtros IIR devido a sua ala instabilidade. Você se importaria de passar alguma referencia em implementação de filtros digitais? O meu conhecimento na área é beeem limitado.

    Muito obrigado por toda ajuda!!

    Abs

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Sink00,

    Quanto ao uso do IIR, a grande vantagem sem duvida esta no menor processamento exigido, logo a execução de uma filtragem dessas ia ser beem menor do que um filtro FIR.

    Por outro lado a simplicidade do FIR e a estabilidade o tornam quase sempre a melhor escolha noso projetos, embora o procesamento exigido do MCU seja maior.

    Veja qual filtro você vai usar para ficar mais fácil de te ajudar.

    Abs.

    Uma boa seria acessar esse site aqui, explica de uma maneira simples:

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Filtro FIR .. basicamente notch e Low Pass. Obrigado pela ajuda.

    Abs

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Opa esqueci de avisar Felipe.. acho que voce esqueceu de colocar o link.. hehe.. e sem querer ser folgado... mas sendo.. bem que voce poderia disponibilizar o Filter Design ein :D... haha

    Abs

    Vlew por tudo.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Opa demorei para agradecer mas MUITO obrigado! Depois de uma certa pesquisa e lendo alguns artigos na área de processamento de sinais para EMG eu cheguei a conclusão que o melhor para mim será o IIR. Você poderia dar uma olhada NESSE SITE na parte do IIR (o FIR não funciona)? Poderia ver se faz algum sentido para você o resultado e o código em C gerado? Eu ainda estou lendo sobre filtros digitais por isso não me sinto capaz para tal.

    Obrigado

    ABs.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    O código em C gerado ai, é bem parecido com a maioria dos filtros digitais que sao implementados por ai, mesmo sendo de proposito didatico o código da bons resultados na pratica, o legal é que você pode usar so os coeficientes gerados pelos ds filter design, e aplicar a esse código ai que ao meu ver é beem mais simples que o codigo gerado pelo sw da microchupa. (claro que o codigo gerado pelo filter design é beem mais eficaz do que esse do link)

    Abs.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Hmmm meio estranho.. mas no Filter Design eu nao consegui bons resultados... pelo menos pelos graficos que ele gera. Eu tentei gerar um filtro notch com prequencias de corte de 59Hz e 61Hz e nao obtive bons resultados.. nao consegui uma frequencia de centro perto do 60hz e nem um bom Q. O indice de merito diga-se de passagem ficou horrivel. Ele atenuava o sinal de 10 a 200Hz..... Alguma ideia? Nesse site que eu te mostrei .. segundo o grafico o filtro ficou razoavel. Obviamente na pratica tudo é diferente.. mas pelo menos na teoria eu quero algo que funcione... Qualquer sugestão é bem vinda.

    PS: Eu tambem tentei com 58 - 62 e nõbtive resultados satisfatorios.

    Abs

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Sink,

    foi o que disse o legal do dsFilter design é aproveitar os coeficientes e gerar códigos mais poderosos afim de melhorar a performance do filtro.

    Ahh um pergunta qual topologia do filtro IIR você escolheu? e qual ordem?

    Abs.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Eu sempre uso butterworth. Testei com filtros de ordem 2 e 4... nenhum resultado muito positivo. voce tem alguma referencia de filtros digitais para eu poder realizar tais adaptaçoes?

    Vlew

    Abs

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Eu sempre uso butterworth. Testei com filtros de ordem 2 e 4... nenhum resultado muito positivo.

    Joga a ordem mais pra cima 8 ou 6, ja fez o filtro versao FIR? Veja como ele se comporta.

    http://www.dspguide.com/pdfbook.htm

    Começa ai em cima pra entender bem de processamento de sinais, o material é excelente.

    Abs.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Pessoal, desculpe minha ignorância no assunto, mas o que é esse IIR e FIR? Tem alguma coisa a ver com infrared?

    O Wikipedia não ajudou muito:

    http://pt.wikipedia.org/wiki/Filtro_FIR

    Posso usar esses filtros, ou pelo menos a logica deles na filtragem de IR em 38Mhz?

    Obrigado. E me desculpem se a pergunta é off topic, mas estou procurando sobre o assunto e ainda estou batendo muita cabeça.

    Abraços

    Graccs

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Sem problemas graccula afinal o forum é para isso:

    filtros FIR e IIR são os dois grandes grupos dos filtros digitais, a partir deles podemos implementar diversos tipos em todos os metodos conhecidos (pode se implementar filtros passa-baixa, passa-altas, passa-faixas entre outros) , suas vantagens sem duvida sao o desempenho incrivelmente superior em relação aos filtros analogicos.

    A desvantagem porém fica por conta do custo e da complexidade da implementação dos mesmos.

    Agora quanto a sua pergunta, IIR signfica infinite impulse response , ou seja filtro de resposta a impulso infinita.

    Em tese para se filtrar um sinal de 38KHz você precisaria de pelo menos 76000 amostragens por segundo para ter uma filtragem razoavel, logo irias precisar de um bom processador paraefetuar as amostragens e ainda por cima executar as tarefas de "cuspir" o sinal filtrado na saida do seu processador.

    Sei que a explicação émeio furreca mas o assunto éextenso, no link que passei da prater uma ideia de como a bagaça funciona.

    Abs.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Legal Felipe! Valeu!

    Acho q tem um pouco a ver com o que estou fazendo, pois estou pensando em fazer exatamente isso, ou seja, dobrar a taxa de verificação do sinal e utilizar algum algoritimo de desvio padrão para deixar passar apenas sinais infra-vermelho provenientes de controles remoto, ignorando sinais de IR da luz do sol etc.

    Vou dar uma olhada no link! Valeu!

    Abraços,

    Graccs

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    O que você esta a fazer também é uma tipo de filtragem digital, conhecido por filtro de media móvel, muito usado para filtragem de sinais desse tipo.

    Abs.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Vlew Felipao!!! Otima referencia.. vou dar uma estudada e assim que obtiver resultados posto no forum para se algum precisar.

    Abs

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×