Content uploaded by William D'Andrea Fonseca
Author content
All content in this area was uploaded by William D'Andrea Fonseca on Feb 26, 2021
Content may be subject to copyright.
Implementação de um sonômetro em Matlab
utilizando microfone MEMS digital
Mello, F.1; Fonseca, W. D’A.1; Mareze, P. H.1
1Engenharia Acústica, Universidade Federal de Santa Maria, Av. Roraima nº1000,
Cidade Universitária, Santa Maria, RS, {felipe.mello, will.fonseca, paulo.mareze}@eac.ufsm.br
Resumo
A tecnologia dos sistemas microeletromecânicos (MEMS) propiciou o desenvolvimento de sen-
sores eficientes, de baixo custo e tamanho extremamente reduzido. Microfones MEMS digitais
são transdutores acústicos construídos por meio dessa tecnologia e englobam, em um pequeno
chip de silício, um transdutor, pré-amplificador e um conversor analógico/digital. Dentre suas ca-
racterísticas, pode-se destacar a baixa variação de sensibilidade entre microfones do mesmo mo-
delo, resistência a variações de temperatura, choques mecânicos e vibrações. Um aspecto impor-
tante na especificação desses microfones é o formato de transmissão da saída digital, podendo ser
via Pulse Density Modulation (PDM), Inter-IC Sound (I2S) ou Time-Division Multiplex (TDM).
O presente trabalho teve como objetivo estudar os microfones MEMS com saída I2S e aplicá-los
à medição de nível de pressão sonora (NPS). A aquisição dos sinais digitais foi realizada utili-
zando o microcontrolador Teensy 4.0. Para a medição e cálculo do NPS, implementou-se funções
em Matlab, cujas ferramentas incluem a gravação e reprodução simultânea de arquivos de áudio,
visualização em tempo real do NPS instantâneo ponderado no tempo, cálculo do NPS equivalente
(global e em bandas de terço de oitava) com ponderações A, C e Z e plot estilizado com legendas
adaptadas para o português e o inglês. Para avaliar o desempenho dos microfones, realizou-se um
experimento no qual comparou-se o NPS equivalente captado por cinco microfones do mesmo
modelo, posicionados no mesmo local e expostos ao mesmo sinal estocástico, um ruído branco.
Esses resultados mostraram uma variação máxima de 2,2 dB entre as medições do NPS para os
cinco microfones. Realizou-se também um teste com tonal em 1 kHz, obtendo-se uma variação
máxima de 0,94 dB. Para avaliar a performance e estabilidade do programa em medições longas,
realizou-se a captação do ruído ambiental para um período de uma hora. A medição foi concluída
com sucesso, de modo que não houve travamentos ou perdas de informação. Nesse experimento,
o NPS equivalente em bandas de terço de oitava, para as bandas de 20 Hz a 20 kHz e ponderações
A, C e Z, bem como os valores globais, foram devidamente retornados.
Palavras-chave: microfone MEMS, Teensy 4.0, instrumentação, microfone digital, Matlab, sonômetro.
1. Introdução
A tecnologia dos sistemas microeletromecâ-
nicos é recente. Os primeiros dispositivos
começaram a aparecer na década de 60, e
em 1983 foi construído o primeiro micro-
fone MEMS (Micro-Electro-Mechanical Sys-
tems) [1]. Todavia, a primeira linha comer-
cial só foi surgir no início do século XXI,
quando a empresa Knowles lançou a série
SiSonic [2].
Dentre as características dos microfones
MEMS, pode-se destacar seu tamanho extre-
mamente reduzido, baixo custo e alta padro-
nização entre dispositivos do mesmo mo-
delo. Devido a capacidade de miniaturiza-
ção, existem no mercado microfones com
saída digital, nos quais são encapsulados
em um único pacote o transdutor acústico,
circuito de pré-amplificação/condicionador
e conversor analógico/digital (ADC).
Existem três formatos de saída digital dis-
poníveis: Pulse Density Modulation (PDM),
Time-Division Multiplex (TDM) e Inter-IC
Sound (I
2
S). Sendo este último o utilizado
neste projeto. A Figura 1 demonstra o micro-
fone MEMS (I
2
S) utilizado, sua resposta em
frequência, o respectivo diagrama de blocos
[3] e o microcontrolador utilizado.
14 de agosto de 2020
Sobrac/RS
V SeGAV-e
Seminário Gaúcho de Acústica e Vibrações
2Mello, F.; Fonseca, W. D’A.; Mareze, P. H.
Implementação de um sonômetro em Matlab com microfone MEMS V SeGAV-e
Figura 1: Microfone I2S, sua resposta em
frequência, diagrama de blocos e Teensy 4.0
(utilizar as setas para alternar entre as imagens).
O presente trabalho tem como objetivo ex-
plorar os microfones MEMS digitais, em es-
pecífico o modelo supracitado (com saída
I
2
S), realizar a aquisição de seus sinais via
um microcontrolador, utilizá-los para ava-
liar o nível de pressão sonora (NPS) por
meio de rotinas implementadas em Matlab
e comparar desempenhos.
2. Microfones MEMS I2S
Inter-IC Sound, ou I
2
S, é um protocolo de
comunicação serial introduzido pela em-
presa Philips Semiconductors. Sua função
é transmitir sinais de áudio digital em for-
mato Pulse-Code Modulation (PCM) entre
circuitos integrados. Microfones MEMS I
2
S
fazem uso desse protocolo para transmissão
de seus sinais.
A transmissão dos dados via I
2
S ocorre atra-
vés de um barramento serial de três linhas,
uma responsável por enviar até dois canais
de áudio multiplexados (SD), uma respon-
sável por transmitir o sinal de clock (SCK ou
BCK) e outra responsável por transmitir um
sinal denominado word select (WS), cuja fun-
ção é definir qual canal de áudio está sendo
transmitido [4].
Os microfones MEMS I2S funcionam como
escravos, sendo necessário a presença de um
controlador mestre responsável por gerar
os sinais BCK e WS, bem como receber os
sinais SD.
3. Aquisição dos sinais
Para a aquisição dos sinais do microfone,
utilizou-se o microcontrolador Teensy 4.0
(ARM Cortex-M7 MCU @ 600 MHz). Ele
foi escolhido devido a sua alta capacidade
de processamento, compatibilidade com
I
2
S e biblioteca nativa dedicada ao proces-
samento de sinais de áudio. Uma tabela
comparativa entre processadores para siste-
mas embarcados, bem como mais detalhes
acerca de sonômetros podem ser encontra-
dos em Fonseca, Jacomussi e Mareze [5].
O Teensy é o responsável por gerar os sinais
SCK e WS e receber o sinal SD. O micro-
controlador também é capaz de atuar como
uma interface de áudio. Desta forma, é pos-
sível transmitir os sinais recebidos do micro-
fone diretamente via USB para o computa-
dor. Outro exemplo contendo o uso de um
Teensy aplicado ao processamento de sinais
acústicos pode ser encontrado em [6].
4. Implementação do sonômetro
A implementação do sonômetro se deu
em duas etapas, descritas nas Seções 4.1 e
4.2. Inicialmente, construiu-se um protótipo
para abrigar o Teensy, o microfone e fornecer
um suporte para tripé. A segunda etapa foi
o desenvolvimento dos códigos em Matlab.
4.1 Protótipo físico
Utilizou-se uma caixa plástica para abrigaro
Teensy e os cabos. Nessa, fixou-se uma mini-
protoboard para acoplar o microcontrolador.
Para fixação do microfone, utilizou-se um
soquete de seis pinos que foi encaixado ao
fim de um cano de PVC. Conectores foram
soldados ao soquete e conectados ao Teensy.
Um suporte para tripé foi parafusado na
caixa. A Figura 2 contém uma série de fotos
com o processo de construção do protótipo.
Figura 2: Protótipo construído em detalhes
(utilize as setas para alternar entre as imagens).
(a) Microfone I2S sipeed MSM261S4030H0 ao lado de
uma moeda de 25 centavos.
(a) Protótipo desenvolvido.
Ênfase para o microfone acoplado.
V SeGAV-e Mello, F.; Fonseca, W. D’A.; Mareze, P. H.
Implementação de um sonômetro em Matlab com microfone MEMS 3
4.2 Software em Matlab
Para a implementação do sonômetro em
Matlab (linguagem interpretada) foram
desenvolvidas quatro funções, denomi-
nadas
audioSetup
,
sessionSetup
,
rtSPL
e
soundPlot
, descritas respectivamente nas
Seções 4.2.1, 4.2.2, 4.2.3 e 4.2.4.
4.2.1 Função audioSetup
Função interativa para configuração do dis-
positivo de áudio utilizado durante a me-
dição. Permite que o usuário defina, via
command window
, o dispositivo de áudio de-
sejado, canais de entrada e de saída e tama-
nho do buffer. Ela retorna um objeto con-
tendo todas as configurações.
4.2.2 Função sessionSetup
Função interativa para configuração da ses-
são de medição. Permite que o usuário de-
fina, via
command window
, o nome da sessão,
um fator de calibração para o microfone e o
modo de operação.
Há dois modos disponíveis,
Rec
e
PlayRec
.
O primeiro realiza apenas a captação de áu-
dio, durante um período de tempo definido
pelo usuário. Já o segundo possibilita a re-
produção e captação simultâneas de um si-
nal de áudio previamente gerado. Ela re-
torna uma estrutura (
struct
) contendo to-
das as configurações.
4.2.3 Função rtSPL
É a função principal, responsável por reali-
zar a medição e cálculo em tempo real do
nível de pressão sonora (NPS). Suas funcio-
nalidades incluem:
•Ponderações temporais Fast eSlow;
•
Ponderação em frequência com as
Curvas A e C;
•
Cálculo do NPS em bandas de oitava
ou fração de oitava (
1
/n
com
n=3
, por
exemplo); e
•
Visualização em tempo real do nível
em bandas de oitava ou terço de oitava,
valor de pico, níveis instantâneo, má-
ximo e mínimo ponderados no tempo e
nível equivalente nas ponderações em
frequência A e Z (veja Figura 3 (a)).
Todos os cálculos realizados pela fun-
ção
rtSPL
são baseados na norma
IEC
61672-1:2013
[7] e retornam valo-
res similares ao ITA,PyTTa eVSLM. Ao
fim da medição, o programa salva todos
os dados calculados em um arquivo
.mat
nomeado de acordo com o nome da sessão.
Figura 3:
Tela para monitoramento em tempo real
da medição e resultados dos experimentos 1 e 2
(utilize as setas para alternar entre as imagens).
4.2.4 Função soundPlot
A função
soundPlot
automatiza a geração
de gráficos a partir dos dados da medição.
O programa possui dois modos de exibição,
um em português e outro em inglês, os quais
realizam o ajuste automático das legendas
e do separador de casas decimais (vírgula
para o português e ponto para o inglês).
As figuras geradas incluem: (a) Sinal no
tempo; (b) NPS instantâneo com pondera-
ção temporal e (c) NPS equivalente em ban-
das de oitava ou terço de oitava.
5. Experimentos para avaliação
do sistema
Dois experimentos foram realizados para
observar e avaliar a resposta do sistema,des-
critos nas Seções 5.1 e 5.2.
5.1 Comparação do nível equivalente
obtido por cinco microfones
No intuito de observar a variação de sensibi-
lidade entre cinco microfones
1
I
2
S, realizou-
se a medição do NPS para um ruído branco
e um som tonal de 1 kHz (ambos sinais ti-
veram seis minutos de duração), para cada
um dos microfones.
1Sipeed MSM261S4030H0 (100 Hz – 10 kHz).
50
63
80
100
125
160
200
250
315
400
500
630
800
1k
1.,25k
1.,6k
2k
2.,5k
3.,15k
4k
5k
6.,35k
8k
10k
0
20
40
60
80
100
120 LZF: 89.,5 dB
LZFmax: 89.,5 dB
LZFmin: 69.,3 dB
LZeq: 88.,2 dB
LAF: 89.,5 dB
LAFmax: 89.,5 dB
LAFmin: 68.,4 dB
LAeq: 88.,2 dB
Lpeak: 92.,6 dB
Underruns: 0
Overruns: 0
(a) Tela de monitoramento da medição em tempo real.
NPS [dB ref.: 20 µPa]
Frequência [Hz]
4Mello, F.; Fonseca, W. D’A.; Mareze, P. H.
Implementação de um sonômetro em Matlab com microfone MEMS V SeGAV-e
Para cada medição, posicionou-se o sonô-
metro a um metro de distância de um alto-
falante. Essa posição manteve-se fixa para
todo o experimento. Aplicou-se um fator
de correção baseado no valor de sensibi-
lidade descrito no datasheet do microfone
(-26 dBFS) [8]. Os valores de NPS equiva-
lente (
Leq
) para o ruído branco e sinal de
1 kHz encontram-se nas Tabelas 1 e 2, respec-
tivamente, bem como nas Figuras 3 (b) e (c).
Tabela 1: Valores de Leq obtidos por cada
microfone para ruído branco.
Mic 1 Mic 2 Mic 3 Mic 4 Mic5
Leq (dB) 91,49 91,80 92,71 90,47 91,67
Tabela 2: Valores de Leq obtidos por cada
microfone para um som tonal de 1 kHz.
Mic 1 Mic 2 Mic 3 Mic 4 Mic5
Leq (dB) 93,39 93,74 93,35 93,77 94,29
A diferença máxima observada para o ruído
branco foi de 2,2 dB. Já para o tonal de 1 kHz,
a diferença máxima foi de 0,94 dB, valor es-
perado se comparado com o apresentado na
folha de dados do microfone (datasheet).
Trechos da medição com ruído branco e to-
nal de 1 kHz, para o Microfone 1,podem ser
escutados por meio dos arquivos anexos
2
e , respectivamente.
5.2 Avaliação da performance para longos
períodos de medição
Com o objetivo de avaliar a estabilidade
do programa desenvolvido, realizou-se uma
medição de ruído ambiental para o período
de uma hora. Ao fim, foi verificado se houve
perda de informações durante o processo.
Pode-se escutar um trecho da medição: .
O programa executou sem travamentos e
nenhuma amostra (sample) foi perdida du-
rante a gravação. Todos os dados foram
retornados de acordo com o esperado, de-
monstrando a estabilidade do código. Os
valores instantâneos de NPS podem ser ob-
servados na Figura 3 (d).
2
Para usuários do Acrobat Reader ou Foxit Reader,
basta clicar no ícone.
6. Considerações finais
O sonômetro apresentado funcionou de
acordo com o projeto. Os sinais digitais dos
microfones I
2
S foram devidamente adqui-
ridos com o uso do microcontrolador Te-
ensy 4.0, enviados via USB para o compu-
tador e utilizados para o cálculo do nível
de pressão sonora (NPS) por meio de fun-
ções (códigos) implementadas em Matlab.
O Teensy se mostrou uma plataforma ro-
busta para esta aplicação.
Considerando os testes aplicados, os mi-
crofones apresentaram desempenhos de
acordo com o especificado no datasheet.
O passo seguinte para confirmação é a fabri-
cação de um aparato para acoplá-los a um
calibrador acústico, possibilitando a realiza-
ção de ajustes de sensibilidade.
O programa desenvolvido é estável e capaz
de realizar medições de longa duração. No-
vas funcionalidades estão em estudo, visto
que é possível sofisticá-lo, adicionando mais
modos de operação e, eventualmente, uma
interface gráfica.
Referências
1.
MALCOVATI, Piero; BASCHIROTTO, Andrea.
The evolution of integrated interfaces for MEMS mi-
crophones. Micromachines, v. 9(7), n. 323, p. 1–20,
2018. doi: 10.3390/mi9070323.
2.
Knowles Electronics. Knowles History.https:
//www.knowles.com/about-knowles/knowles-
history. Acesso em agosto de 2020.
3.
LEWIS, Jerad. Analog and Digital MEMS Mi-
crophone Design Considerations. 2013. Analog Devices,
Technical Article (MS-2472).
4.
Philips Semiconductors. I2S Bus Specification (Re-
vised). 1996. Application note.
5.
FONSECA, William D’A.; JACOMUSSI, Leonardo;
MAREZE, Paulo H. Raspberry Pi: A Low-cost Embed-
ded System for Sound Pressure Level Measurement.
In: 49th Internoise. Seul, Córeia do Sul: [s.n.], 2020.
6.
ZORZO, Artur; FONSECA, William D’A. Estudo
da técnica de identificação de sistemas implemen-
tada em microcontroladores Arduino Due e Te-
ensy 3.6. Acústica e Vibrações, v. 32, n. 49, p. 5–14,
2017. ISSN 1983-442X. Disponível em: http://bit.ly/
identificacao-de-sistemas-AeV49.
7.
IEC 61672-1:2013. Electroacoustics – Sound level me-
ters – Part 1: Specifications.International standard.
8.
MEMSensing Microsystems. MSM261S4030H0 -
I2S digital output MEMS mic. with Multi-modes. 2018.