Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
CORRECAO DE DISTORCOES LINEARES E NAO-LINEARES
EM SINAIS DE AUDIO
Bruno Granato de Araujo Camara
Projeto de Graduacao apresentado ao Curso
de Engenharia Eletronica e de Computacao
da Escola Politecnica, Universidade Federal
do Rio de Janeiro, como parte dos requisi-
tos necessarios a obtencao do tıtulo de Enge-
nheiro.
Orientadores: Luiz Wagner Pereira Biscainho
Flavio Rainho Avila
Rio de Janeiro
Setembro de 2019
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Escola Politecnica - Departamento de Eletronica e de Computacao
Centro de Tecnologia, bloco H, sala H-217, Cidade Universitaria
Rio de Janeiro - RJ CEP 21949-900
Este exemplar e de propriedade da Universidade Federal do Rio de Janeiro, que
podera incluı-lo em base de dados, armazenar em computador, microfilmar ou adotar
qualquer forma de arquivamento.
E permitida a mencao, reproducao parcial ou integral e a transmissao entre bibli-
otecas deste trabalho, sem modificacao de seu texto, em qualquer meio que esteja
ou venha a ser fixado, para pesquisa academica, comentarios e citacoes, desde que
sem finalidade comercial e que seja feita a referencia bibliografica completa.
Os conceitos expressos neste trabalho sao de responsabilidade do(s) autor(es).
iv
AGRADECIMENTO
Agradeco primeiramente a minha mae, Adriana, e ao meu pai, Luiz Claudio.
Muito obrigado por toda a base que voces me deram em todos os aspectos da vida e
por tudo que voces me ensinaram. Muito obrigado por todo apoio e incentivo. Sem
voces eu nao seria nada do que consegui me tornar hoje. Muito obrigado por tudo.
Agradeco ao meu irmao, Felipe, pela companhia de todos os dias. Agradeco aos
meus avos paternos, Maria Luiza e Jonny, pelo incentivo constante e por toda ajuda
que sempre me deram e a minha tia-avo, Laurinha, sempre muito disposta a ajudar
a todos. Agradeco a minha avo Isa, que ja se foi mas continua sempre conosco, e
sempre nos ensinou a importancia dos estudos e ao meu avo Djalma, que nao pude
conhecer, mas onde quer que esteja certamente ficara feliz de saber que, pela terceira
geracao, nossa famılia tem um engenheiro formado nesta universidade.
Agradeco a minha namorada, Bia. Voce e quem me acompanhou mais de perto
por toda essa trajetoria, desde o 3o ano, vestibular e todo esse tempo de faculdade.
Voce sabe como foi duro chegar ate aqui e eu tenho certeza que seu apoio, ajuda e
incentivo foram fundamentais para mim nesse caminho. Voce e uma pessoa incrıvel
e eu te admiro profundamente. Muito obrigado por ser essa pessoa tao especial
sempre.
Agradeco a todos os professores e professoras da UFRJ, que foram fundamentais
para a minha formacao. Em especial, agradeco ao meu orientador, Luiz Wagner,
que desde que nos conhecemos em 2015 me fez crescer muito como orientando no
programa Jovens Talentos da Ciencia, aluno e orientando de Projeto Final. Muito
obrigado por todos os debates, conselhos e ajudas em todos os momentos. Agradeco
ao meu orientador externo, Flavio, pela ajuda e conselhos neste trabalho, mesmo a
uma distancia de quatro fusos horarios.
Agradeco aos meus amigos que me acompanham desde o colegio: Joao Victor,
Coppelli, Daiana, Leandro, Laıs e Joao Marcelo. Muito obrigado por fazerem parte
da minha vida ha tanto tempo e por nossos encontros, sempre divertidos.
v
Agradeco aos amigos que fiz na UFRJ, que me acompanharam nesse perıodo
de tantos altos e baixos, sempre me dando todo o apoio. Agradeco especialmente a
Lucas, Renata, Vinıcius, Nicholas e Krishynan; muito obrigado pelo companheirismo
desde o primeiro dia de aula.
vi
RESUMO
A ocorrencia de distorcoes em sinais de audio e um problema muito frequente no
tratamento de sinais desta natureza. Em faixas utilizadas como trilhas sonoras em
produtos audiovisuais, por exemplo, e comum a aplicacao de efeitos na musica com
objetivos esteticos. Entretanto, tais modificacoes podem ser encaradas como dis-
torcoes quando desejamos recuperar os sinais originais sem o conhecimento do tipo
de efeito aplicado. Neste contexto, este trabalho se propoe a estudar metodos de
correcao de distorcoes lineares e nao-lineares em sinais de audio. Foram implemen-
tadas e testadas tecnicas que buscavam inverter filtragens lineares e nao-linearidades
(como o efeito de clipping e distorcoes polinomiais), inicialmente de forma isolada
e, em seguida, combinando os dois tipos de efeitos. Em um primeiro momento, as
distorcoes foram aplicadas segundo o modelo usado em cada metodo. Por fim, fo-
ram aplicadas compressoes e expansoes nos sinais, que sao mais proximas de casos
reais, para testar os metodos em cenarios menos controlados. Foi constatado que
as tecnicas implementadas funcionaram de forma satisfatoria nos casos em que as
distorcoes seguiam os modelos adotados, mas nao conseguiram recuperar os sinais
distorcidos de forma mais generica.
Palavras-Chave: distorcoes lineares, distorcoes nao-lineares, processamento de
audio, processamento de sinais.
vii
ABSTRACT
The presence of distortions in audio is a recurrent problem when dealing with
such kind of signal. In soundtracks made for soap operas or movies, for example,
it is a common practice to apply effects in the music track for aesthetic reasons.
However, such modifications might be seen as distortions when we want to restore the
original signals without the knowledge of the applied effects. This work deals with
methods designed to compensate linear and nonlinear distortions in audio signals.
Different algorithms were implemented and tested aiming at the inversion of linear
filtering and nonlinearities (such as clipping and polynomial distortions), at first
isolatedly and, afterwards, combining both types of effects. At first, the distortions
were applied following the proposed models. Lastly, the signals were subjected to
compressions and expansions, which are closer to real scenarios, to evaluate the
algorithms’ behavior in less controlled situations. The results presented show that
the methods perform well when the distortions follow the correct models, but cannot
restore the signals distorted in less specific ways.
Key-words: linear distortions, nonlinear distortions, audio processing, signal pro-
cessing.
viii
SIGLAS
DCT - Discrete Cosine Transform
DFT - Discrete Fourier Transform
ERB - Equivalent Rectangular Bandwidth
FDMV - Frequency-Domain Median Value
FIR - Finite-length Impulse Response
IIR - Infinite-length Impulse Response
SDR - Signal-to-Distortion Ratio
SNR - Signal-to-Noise Ratio
ix
Sumario
1 Introducao 1
1.1 Historico da gravacao de audio . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Distorcoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Uma possıvel aplicacao . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5 Implementacao e documentacao . . . . . . . . . . . . . . . . . . . . . 6
1.6 Descricao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Metodos de avaliacao de qualidade 8
2.1 SDR (Signal-to-Distortion Ratio) . . . . . . . . . . . . . . . . . . . . 9
2.2 Rnonlin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 Metodos de inversao de distorcoes lineares 14
3.1 Introducao ao Filtro de Wiener . . . . . . . . . . . . . . . . . . . . . 14
3.2 Descricao do metodo . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3 Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3.1 Teste 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3.2 Teste 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.3 Teste 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3.4 Teste 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4 Metodos de inversao de distorcoes nao-lineares 31
4.1 Revisao bibliografica . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2 Declipping baseado em norma L1 ponderada . . . . . . . . . . . . . . 34
4.2.1 Modificacao na implementacao . . . . . . . . . . . . . . . . . . 37
4.3 Declipping baseado em mınimos quadrados restrito . . . . . . . . . . 38
x
5 Metodos de inversao de distorcoes lineares e nao-lineares combina-
das 42
5.1 Distorcao linear seguida de nao-linear . . . . . . . . . . . . . . . . . . 43
5.2 Distorcao nao-linear seguida de linear . . . . . . . . . . . . . . . . . . 45
5.2.1 Descricao do metodo . . . . . . . . . . . . . . . . . . . . . . . 46
5.2.2 Modificacoes na implementacao . . . . . . . . . . . . . . . . . 48
5.2.3 Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.3 Distorcao de compressao ou expansao . . . . . . . . . . . . . . . . . . 52
5.3.1 Descricao do modelo de distorcao . . . . . . . . . . . . . . . . 52
5.3.2 Experimento com compressao e expansao . . . . . . . . . . . . 54
6 Conclusoes 57
Bibliografia 60
xi
Lista de Figuras
1.1 Fonografo de Edison. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1 Ganho x SDR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Diagrama de blocos para o calculo da metrica Rnonlin. . . . . . . . . 11
3.1 Filtro de Wiener. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 Representacao do problema generico do Filtro de Wiener. . . . . . . . 17
3.3 Representacao do problema do Filtro de Wiener no contexto da aplicacao
desejada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.4 Espectrograma do Sinal 1. . . . . . . . . . . . . . . . . . . . . . . . . 21
3.5 Espectrograma do Sinal 2. . . . . . . . . . . . . . . . . . . . . . . . . 21
3.6 Diagrama de blocos do Teste 1. . . . . . . . . . . . . . . . . . . . . . 22
3.7 Diagrama de blocos do Teste 2. . . . . . . . . . . . . . . . . . . . . . 23
3.8 Resposta em frequencia do filtro passa-baixas suave. . . . . . . . . . . 25
3.9 Resposta em frequencia do filtro passa-baixas agressivo. . . . . . . . . 25
3.10 Resposta em frequencia do filtro passa-banda. . . . . . . . . . . . . . 26
3.11 Resposta em frequencia do filtro passa-altas. . . . . . . . . . . . . . . 26
3.12 Diagrama de blocos do Teste 3. . . . . . . . . . . . . . . . . . . . . . 28
3.13 Variacao da SDR em funcao do ganho aplicado. . . . . . . . . . . . . 29
3.14 Diagrama de blocos do Teste 4. . . . . . . . . . . . . . . . . . . . . . 30
4.1 Soft-clipping e hard-clipping. . . . . . . . . . . . . . . . . . . . . . . . 32
4.2 Distorcao de soft-clipping seguida da funcao de compensacao. . . . . 32
4.3 Espectrograma do sinal de teste. . . . . . . . . . . . . . . . . . . . . . 36
4.4 Resultado do algoritmo. . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.5 Comparacao entre os metodos . . . . . . . . . . . . . . . . . . . . . . 39
4.6 Resultado do algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . 41
xii
5.1 Modelo de distorcao linear seguida de nao-linear e os blocos relativos
a restauracao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.2 Modelo de distorcao nao-linear seguida de linear, o sistema de Ham-
merstein, e os blocos relativos a restauracao, o sistema de Wiener. . . 46
5.3 Espectrograma do sinal de teste. . . . . . . . . . . . . . . . . . . . . . 50
5.4 Resposta em frequencia do filtro linear de distorcao. . . . . . . . . . . 50
5.5 Efeito de compressao. . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.6 Efeito de expansao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
xiii
Lista de Tabelas
3.1 Resultados do Teste 1. . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2 Coeficientes dos filtros utilizados. . . . . . . . . . . . . . . . . . . . . 24
3.3 Resultados do Teste 2. . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4 Resultados do Teste 3 para o Sinal 1. . . . . . . . . . . . . . . . . . . 28
3.5 Resultados do Teste 3 para o Sinal 2. . . . . . . . . . . . . . . . . . . 28
3.6 Resultados do Teste 4 para o Sinal 1 ajustando o ganho do filtro. . . 30
4.1 Valores das metricas para os resultados do algoritmo. . . . . . . . . . 37
4.2 Valores das metricas comparando as duas versoes do metodo. . . . . . 38
4.3 Valores das metricas para os resultados do algoritmo. . . . . . . . . . 41
5.1 Resultados do experimento com uma distorcao linear seguida de uma
compressao nao-linear. . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.2 Resultados do experimento utilizando a norma L0 suavizada em con-
junto com a restricao de energia, no domınio da DFT. . . . . . . . . . 51
5.3 Resultados do experimento utilizando a norma L0 suavizada em con-
junto com a restricao de energia, no domınio da DCT. . . . . . . . . . 51
5.4 Resultados do experimento usando a norma L1 em conjunto com a
restricao de energia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.5 Resultados do experimento para o caso em que a distorcao foi uma
compressao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.6 Resultados do experimento para o caso em que a distorcao foi uma
expansao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
xiv
Capıtulo 1
Introducao
1.1 Historico da gravacao de audio
A historia do tratamento e restauracao de sinais de audio confunde-se com a
historia da gravacao do som em si. Por esse motivo, e importante entender o historico
das tecnicas e materiais utilizados ao longo do tempo para se gravar, armazenar e
reproduzir audio.
A primeira gravacao reproduzida de que se tem notıcia ocorreu em 1877 [1].
Thomas Edison conseguiu gravar sua propria voz dizendo a frase “Mary had a little
lamb”. Para isto, ele utilizou um fonografo de sua invencao (visto na Figura 1.1 em
sua forma aprimorada, comercial), que usava uma agulha para deixar uma impressao
em um cilindro de metal envolto em uma fina folha de estanho. A origem do som, no
caso, a voz de Edison, era colocada a uma distancia pre-determinada de um grande
cone que concentrava o som e estimulava um diafragma. Este, por sua vez, estava
conectado a agulha, que marcava o estanho de acordo com as vibracoes sofridas pelo
diafragma. Com a rotacao do cilindro atraves de uma manivela, o som emitido era
gravado ao longo da extensao do estanho [2]. A reproducao era feita atraves de
um segundo par agulha-diafragma [3], com o processo inverso: a agulha percorria a
impressao deixada na folha de estanho e gerava vibracoes no diafragma, de forma
que o som original era reproduzido e amplificado por meio do cone.
Com o tempo, novas tecnicas foram sendo desenvolvidas para a gravacao de
audio. O primeiro grande adversario comercial do cilindro foi o disco. Em 1888,
Emil Berliner demonstrou o funcionamento de um gramofone que utilizava como
1
Figura 1.1: Fonografo de Edison, que utilizava um cilindro com estanho para fazer
a gravacao. (Por Norman Bruderhofer, www.cylinder.de—own work (transferred
from de:File:Phonograph.jpg), CC BY-SA 3.0, https://commons.wikimedia.org/
w/index.php?curid=427395)
meio de armazenamento um disco de 7 polegadas. A gravacao era feita apenas de
um lado e tambem necessitava do emprego de uma manivela, que a cerca de 80 rpm
reproduzia 2 minutos de audio [1]. De forma similar ao cilindro de Edison, uma
agulha vibrava de acordo com um diafragma e gravava lateralmente o disco. Na
reproducao, a agulha percorria o disco de forma vertical (posteriormente o corte se
tornaria lateral) e fazia o diafragma vibrar, reproduzindo o som [4].
A disputa entre os dois metodos de gravacao continuou no inıcio do seculo
XX. Ao passo que Edison insistia na gravacao em cilindros, lancando modelos que
podiam ser fabricados em massa e feitos de materiais mais resistentes, a industria
de discos tambem evoluıa. Em 1902, discos de 10 polegadas foram usados para fazer
gravacoes de artistas europeus, como o tenor Enrico Caruso e o barıtono Mattia
Battistini. A vantagem do novo tamanho era que o tempo de gravacao pode ser
aumentado de cerca de 2 para 4 minutos [1].
A utilizacao do disco possuıa claras vantagens em relacao ao cilindro. Ini-
cialmente, via-se que o armazenamento de discos era muito mais pratico do que
o de cilindros. Alem disso, em 1904, foi criada a gravadora Odeon Records que,
baseando-se na patente de Ademor Petit, produzia discos que podiam ser gravados
2
em ambos os lados. Com isto, em 1913, Edison passou a produzir tambem discos,
com os gravadores e reprodutores Diamond-Disc [1].
Um novo concorrente aos discos surgiu em 1928, quando o Dr. Fritz Pfleumer
patenteou o uso de compostos magneticos para fazer gravacoes em fitas de papel ou
filme [1]. Este princıpio, porem, fora usado pela primeira vez em 1878 quando Ober-
lin Smith esquematizou os princıpios basicos da gravacao magnetica [5]. Em 1898,
Valdemar Poulsen conseguiu a patente para um aparelho que realizava a gravacao
de voz em fios magneticos. Este dispositivo foi chamado de telegrafone e foi demons-
trado em 1900 [6] na Paris Exhibition [1]. A fita magnetica passou a ser utilizada a
partir de 1935, quando uma equipe de engenheiros alemaes demonstraram o funci-
onamento de um aparelho chamado magnetofone, que reproduzia e gravava audio a
partir de uma fita gravada magneticamente [1], seguindo os princıpios pensados por
Oberlin Smith.
A gravacao em meio magnetico funciona da seguinte forma: o som desejado
estimula um microfone que o converte em um sinal eletrico. Este sinal passa por uma
cabeca de gravacao que e colocada muito proxima a uma fita que possui compostos
magneticos (tipicamente oxidos de ferro) de tamanho muito pequeno, da ordem de
0,5 µm [7]. Com a passagem do sinal eletrico, as partıculas sao magnetizadas de
acordo com o sinal desejado. Para a reproducao, a fita magnetizada e passada pela
cabeca de reproducao e induz um sinal eletrico equivalente ao sinal gravado, que
pode ser amplificado e convertido em som [6].
Com o desenvolvimento da computacao, tornou-se possıvel realizar a gravacao
de forma digital. Esta ideia teve inıcio em 1937, quando Alec Reeves criou a
Pulse-Code Modulation (PCM) [8], uma forma de representar digitalmente sinais
analogicos. Durante a decada de 1960, tanto a Japan Broadcasting Corporation
(NHK) quanto a British Broadcasting Corporation (BBC) buscaram desenvolver
dispositivos que utilizassem a tecnologia PCM para melhorar a qualidade do audio
de suas transmissoes [9].
No inıcio da decada de 1980, a maior parte das gravadoras ja utilizava alguma
forma de gravacao digital [9]. Em 1982, foram comercializados os primeiros discos
compactos (CDs) de 5 polegadas [1]. O padrao para este tipo de mıdia foi estabe-
lecido em 1980 em uma colaboracao entre as empresas Sony e Philips. Vendido a
3
cerca de 15 dolares, o disco custava menos de 1 dolar para ser produzido e era feito
de plastico, com uma camada de alumınio e outra, para protecao, de laca, um tipo
de resina. O CD usava codificacao em 16 bits e frequencia de amostragem de 44100
Hz. Uma caracterıstica importante desta nova mıdia era a capacidade de armazena-
mento, pois, podendo reproduzir ate 74 minutos de audio, era capaz de armazenar
uma gravacao inteira da 9a sinfonia de Beethoven [8], o que seria impensavel com
as tecnologias anteriores.
Com a difusao dos formatos digitais de audio no inıcio dos anos 2000, o
compartilhamento pela internet de forma ilegal de arquivos de musica surgiu como
um grande empecilho a industria fonografica. Nesse contexto, servicos como a iTunes
Music Store surgiram como excecoes aos downloads ilegais de musicas [10]. Porem,
o conceito de distribuicao de musica atraves de streaming tornou-se cada vez mais
difundido, pois os usuarios passaram a nao ter mais a necessidade de armazenar o
arquivo de audio em seus dispositivos, o que era o mais comum no inıcio do seculo
XXI [11]. Em geral, muitas pessoas preferem utilizar servicos de streaming, pois, por
precos mais acessıveis, tem-se a disposicao um acervo muito grande de conteudo, o
que nao ocorria com CDs ou o download (legal ou nao) de musicas [11].
1.2 Distorcoes
A ocorrencia de distorcoes nas faixas de audio gravadas e um aspecto pre-
sente desde os primeiros metodos de gravacao. Considerando todas as etapas en-
volvidas no processo, as distorcoes podem aparecer em diversos momentos, o que
exige um nıvel de atencao maior por parte das pessoas envolvidas. No momento
da gravacao, as especificacoes do microfone utilizado podem influenciar diretamente
a qualidade do som gravado e uma ma escolha pode levar ao surgimento de dis-
torcoes na gravacao [12]. A faixa dinamica do microfone escolhido, por exemplo,
e um limitante para os sinais que serao gravados. Caso a intensidade que deseja-
se gravar supere os limites do aparelho, certamente havera uma distorcao no sinal
armazenado. De forma analoga, o momento da reproducao tambem e crıtico, pois
o aparelho que ira reproduzir o som gravado possui suas proprias especificacoes e
pode causar efeitos inesperados quando a gravacao esta fora de seus padroes.
4
As distorcoes mencionadas ate o momento podem ser classificadas como dis-
torcoes nao-lineares. Um sistema e dito nao-linear quando um sinal colocado em sua
entrada resulta em uma saıda que possui componentes frequenciais que nao estavam
presentes no sinal original [13]. Sistemas caracterizados por funcoes nao-lineares ge-
ram esse tipo de efeito. Um exemplo relevante no contexto deste trabalho e o efeito
de clipping. Este tipo de distorcao e muito presente no contexto de sinais de audio,
podendo decorrer de amplificadores ou gravadores magneticos operando fora de suas
faixas lineares de operacao [14] ou mesmo por opcao de um produtor musical.
As distorcoes lineares, em muitos casos, sao efeitos introduzidos de forma
proposital no momento da producao da faixa de audio. Filtragens lineares sao co-
muns em contextos em que deseja-se salientar determinadas faixas de frequencia na
gravacao, com objetivos esteticos que dependem da pessoa que estiver produzindo o
audio. Entretanto, existem situacoes em que precisamos trabalhar com sinais pro-
duzidos por terceiros, mas e necessario que eles estejam livres de distorcoes lineares.
Quando estamos em uma situacao em que a filtragem, mesmo que linear, aplicada
ao sinal de audio nos e desconhecida, podemos interpreta-la como uma distorcao
linear, uma vez que nao houve alteracoes nas componentes frequenciais existentes
no sinal.
1.3 Objetivos
O objetivo deste trabalho e estudar metodos que buscam corrigir distorcoes
sofridas por sinais de audio. Nesse contexto, serao abordados sinais que tenham pas-
sados apenas por filtragens lineares, apenas distorcoes nao-lineares e, por fim, sinais
que tenham sofrido os dois efeitos. Serao realizadas as implementacoes dos metodos
e testes com sinais naturais em condicoes controladas. Alem disso, tambem serao
estudados dois metodos objetivos de avaliacao de qualidade, que serao utilizados
para aferir o quao bem as tecnicas abordadas funcionaram.
1.4 Uma possıvel aplicacao
A remocao ou atenuacao de distorcoes lineares e nao-lineares pode ter aplica-
coes das mais diversas, tanto academicas quanto comerciais. Uma possıvel aplicacao
5
seria a extracao de musicas de trilhas sonoras de programas audiovisuais [15]. No
contexto da expiracao dos direitos autorais sobre a trilha musical de uma novela
televisiva, por exemplo, torna-se importante a remocao do conteudo musical do
audio sem comprometer os dialogos e outros efeitos sonoros.
Em [15], e desenvolvido um metodo para realizar essa extracao a partir do
audio completo da obra (trilha musical, dialogos e efeitos sonoros) e da faixa original,
presente nos CDs oficiais do produto audiovisual. Desta forma, foi possıvel detectar
e remover, de forma satisfatoria, trechos da musica presentes no audio gerado de
forma artificial, que poderiam ter sofrido ganhos variaveis no tempo ou filtragens
lineares.
O trabalho, contudo, nao abordou completamente o caso das distorcoes nao-
lineares que a faixa musical possa ter sofrido na producao. Esta pode ser uma das
causas que levaram os experimentos feitos com sinais de trilhas sonoras reais, ou
seja, que nao foram gerados artificialmente, a nao atingirem os resultados desejados.
O estudo mais detalhado desse tipo de distorcao pode levar a melhores desempenhos
neste tipo de problema.
1.5 Implementacao e documentacao
Todos os codigos utilizados neste trabalho relativos aos metodos de correcao
de distorcoes e as metricas de avaliacao objetiva de qualidade foram desenvolvidos
em MATLAB, assim como os graficos e espectrogramas apresentados. As imagens
de diagramas de blocos foram feitas no software Ipe. A documentacao do trabalho
foi escrita em LaTeX.
1.6 Descricao
Apos esta Introducao, no Capıtulo 2 serao discutidos os metodos de avaliacao
de qualidade utilizados, assim como serao explicitados os procedimentos envolvidos
no calculo de cada metrica. O Capıtulo 3 apresenta os metodos de inversao de
distorcoes lineares abordados no trabalho. Os metodos de inversao de distorcoes
nao-lineares serao tratados no Capıtulo 4. O Capıtulo 5 tratara de metodos que
6
envolvam restauracao de sinais que sofreram tanto distorcoes lineares quanto nao-
lineares. O Capıtulo 6 apresenta as conclusoes do trabalho.
7
Capıtulo 2
Metodos de avaliacao de qualidade
Um aspecto muito importante deste trabalho e a avaliacao da qualidade dos
sinais obtidos pelos metodos de restauracao com relacao a suas versoes distorcidas.
Nesse contexto, podemos adotar duas abordagens principais.
A primeira delas e a realizacao de testes subjetivos. Neste caso, deve-se ter
a disposicao grupos de pessoas que irao escutar os resultados e avalia-los de acordo
com suas percepcoes. Entretanto, percebe-se que, para haver eficacia neste tipo de
avaliacao, e necessario um consideravel esforco logıstico para organizar os testes e
catalogar os resultados, alem de grandes grupos de pessoas capacitadas para avaliar
os sinais testados.
A segunda possibilidade e a utilizacao de metricas objetivas. Neste caso, sao
aplicados criterios matematicos aos sinais de audio que resultam em valores que
possam ser considerados indicativos do que seria uma avaliacao humana. Dessa
forma, cada sinal testado e associado a um resultado numerico que representa a
qualidade daquele sinal de audio.
Neste trabalho, seguiremos o segundo caminho, devido as dificuldades expos-
tas com relacao aos testes subjetivos. Como desejamos avaliar o nıvel de distorcao
presente nos sinais estudados, foram utilizadas duas metricas: a Signal-to-Distortion
Ratio (SDR) e a Rnonlin. E importante ressaltar que o uso dessas duas metricas
so foi possıvel nos casos em que possuıamos o sinal original disponıvel, pois elas
avaliam o quao distorcido esta o sinal com relacao a sua versao sem distorcao.
8
2.1 SDR (Signal-to-Distortion Ratio)
A SDR e uma metrica de simples implementacao que nos permite avaliar o
quanto da informacao do sinal original temos no sinal distorcido. De forma geral,
para um vetor contendo o sinal original x e um vetor contendo o sinal distorcido y,
perfeitamente alinhados no tempo, a SDR de y com relacao a x e dada por:
SDR(x, y) = 10log10
‖x‖22
‖x− y‖22
. (2.1)
A partir da expressao acima, verifica-se que para sinais muito proximos do original
obtemos uma SDR mais alta do que para sinais muito distorcidos.
Detalhe de implementacao
Um problema encontrado no uso da SDR veio do fato de que a aplicacao de um
fator de ganho arbitrario no sinal que esta sendo avaliado influencia diretamente no
valor encontrado para a metrica. Desta forma, se estivermos comparando resultados
obtidos em diferentes experimentos, corremos o risco de fazer uma comparacao inco-
erente caso tenham sido aplicados ganhos diferentes capazes de modificar o calculo
da SDR em cada situacao.
Para contornar este problema, a estrategia adotada foi a seguinte: a cada
vez que se calculava a SDR, foi aplicado um ganho G ao sinal a ser avaliado de
forma que a SDR encontrada pela expressao SDR(x, y) = 10log10‖x‖22
‖x−Gy‖22fosse a
mais alta possıvel. Assim, consideramos sempre a SDR maxima para cada sinal e
podemos comparar de forma justa os resultados de experimentos (setups) diferentes.
Alternativamente a esse procedimento, seria possıvel calcular analiticamente um
fator de ganho otimo.
Na Figura 2.1, temos a evolucao da SDR encontrada quando aplicamos a
um sinal avaliado de exemplo ganhos de 0 a 7, em passos de 0,01. Vemos que a
SDR atinge um maximo global, que sera o valor utilizado para este experimento
especıfico.
9
Figura 2.1: Ganho x SDR
2.2 Rnonlin
A metrica Rnonlin foi desenvolvida em [16] para avaliar o nıvel da distorcao
nao-linear de um sinal de forma mais proxima a percepcao humana. Para isto, e
feita uma filtragem que modela de forma extremamente simplificada o que ocorre
em nosso sistema auditivo. O valor obtido no Rnonlin varia entre 0 e 1, sendo
que quanto maior a distorcao presente no sinal, menor sera o valor encontrado. A
Figura 2.2 ilustra o algoritmo usado para calcular a metrica.
1. Inicialmente, tanto o sinal original, x, quanto o distorcido, y, passam por
um filtro FIR que simula o efeito das orelhas media e externa, como descrito
em [17].
2. Em seguida, os sinais passam por um banco de 40 filtros que aproximam a res-
posta de nosso sistema auditivo. Pode-se obter uma aproximacao da largura
10
Filtro FIR simulando
as orelhas media e
externa
Filtro FIR simulando
as orelhas media e
externa
Banco de 40 filtroscom largura de 1 ERB
correlac~oes cruzadas
Janela i da saıda
do filtro j
Janelas i− 1, i e i+ 1
da saıda do filtro j
Valor maximo das
Peso
PXmaxj
Media atraves detodas as janelas
Rnonlin
.......
40
x y
.......
40
.......
40
Banco de 40 filtroscom largura de 1 ERB
Figura 2.2: Diagrama de blocos para o calculo da metrica Rnonlin.
de banda dessa resposta usando filtros passa-faixa retangulares com largura
de 1 ERB (Equivalent Rectangular Bandwidth), centrados em frequencias es-
pecıficas que variam de 50 Hz a 19739 kHz.
3. Para cada filtro, calculamos a correlacao cruzada entre o sinal distorcido e o
original. Para isso, os sinais sao divididos em janelas de 30 ms, sem sobre-
posicao, atribuindo a cada uma um ındice i. Calcula-se entao a correlacao
cruzada entre a i-esima janela da resposta do sinal distorcido aplicado ao fil-
tro e a concatenacao das janelas i− 1, i e i + 1 da resposta do sinal original,
11
para deslocamentos de η amostras variando de -10 ms a 10 ms. A correlacao
cruzada para o j-esimo filtro para o lag η e dada por:
rxy(i; η; j) =
iL+η∑n=(i−1)L+1+η
x(n; j)y(n− η; j)
√σx × σy
, (2.2)
onde
σx =
iL+η∑n=(i−1)L+1+η
x(n; j)x(n; j) (2.3)
e
σy =
iL+η∑n=(i−1)L+1+η
y(n− η; j)y(n− η; j), (2.4)
sendo L o numero de amostras em cada janela de 30 ms. Para sinais com
amostragem de 44100 amostras por segundo, L = 1323 amostras. x e y sao os
sinais correspondentes ao sinal original e ao sinal distorcido, respectivamente,
nesse ponto do algoritmo, apos as filtragens realizadas.
4. Para cada filtro e cada janela, calculamos o valor maximo da correlacao cruzada
sobre todos valores de η, que sera chamado de Xmax.
5. Para cada janela i na saıda de cada filtro j, calculamos um peso que sera
aplicado a Xmax a partir de:
Peso(i, j) = 10log10
1
L
iL∑n=(i−1)L+1
y(n; j)y(n; j)
. (2.5)
Este peso e aplicado para que trechos de amplitude mais baixa do sinal in-
fluenciem menos no calculo da metrica do que trechos com maior amplitude
igualmente distorcidos.
6. Uma vez calculados todos os pesos, determina-se o valor maximo dentre os
calculados para uma mesma janela i, chamado de Pesomax(i). Para cada filtro
j: se Peso(i, j) esta a ate 40 dB de Pesomax(i), aplica-se Pesomax(i) a Xmax;
se Peso(i, j) esta a mais de 80 dB abaixo de Pesomax(i), aplica-se peso igual a
zero a Xmax; se Peso(i, j) esta entre 40 e 80 dB abaixo de Pesomax(i), aplica-se
um peso que diminui linearmente. Os pesos sao entao normalizados para que
somados sejam iguais a 1.
12
7. Para cada janela, somam-se os valores de Xmax ponderados para todos os filtros
e, por fim, toma-se a media atraves de todas as janelas. O valor obtido e o
Rnonlin.
A implementacao da metrica Rnonlin utilizada ao longo deste trabalho foi
feita em MATLAB e esta disponıvel em [18].
13
Capıtulo 3
Metodos de inversao de distorcoes
lineares
A ocorrencia de uma filtragem linear em sinais de audio nao e necessariamente
considerada uma distorcao. Como foi mencionado no Capıtulo 1, um profissional
de producao de audio pode utilizar de forma intencional filtros que deem ganhos
em faixas de frequencia especıficas, de acordo com o contexto desejado para aquele
sinal de audio. Entretanto, em aplicacoes como a descrita na Secao 1.4, pode ser
desejavel descobrir as caracterısticas de um possıvel filtro que tenha sido aplicado a
faixa musical em questao.
Este capıtulo descreve, inicialmente, o caso mais geral de um Filtro de Wiener
IIR [19]. Em seguida, sera explicado o algoritmo utilizado neste trabalho para
estimar o filtro FIR aplicado ao sinal de audio [15].
3.1 Introducao ao Filtro de Wiener
Um dos problemas mais importantes e recorrentes no processamento de sinais
e a estimacao de um sinal a partir de outro. Em varias ocorrencias dessa aplicacao,
como em sinais de voz, sinais de radar ou de eletroencefalograma, o sinal original
pode nao estar disponıvel, de forma que se possui apenas uma medida que, em geral,
esta distorcida ou corrompida por ruıdo. A aquisicao do sinal pode ter sido feita, por
exemplo, em um ambiente ruidoso, ou entao a resolucao do aparelho medidor pode
nao ser adequada para a medida do sinal em questao. Em casos muito especıficos, a
14
aplicacao de um filtro tradicional, como passa-baixas, passa-faixa ou passa-altas, e
suficiente para restaurar o sinal desejado a partir da medida realizada. Entretanto,
essas abordagens nao necessariamente sao otimas no sentido de produzirem a melhor
estimativa do sinal original [19].
Na decada de 1940, Norbert Wiener iniciou pesquisas que buscavam descobrir
um metodo que permitisse estimar um sinal de forma otima a partir de uma medida
contaminada por ruıdo [19]. A forma discreta do problema do Filtro de Wiener pode
ser vista na Figura 3.1. Consiste em obter um filtro W (z) que permita estimar de
forma otima o sinal d(n) a partir de uma medida x(n) contaminada por um ruıdo
descorrelacionado com o sinal desejado, tal que
x(n) = d(n) + v(n). (3.1)
W (z) +
d(n)
x(n) = d(n) + v(n)
-e(n)d(n)
Figura 3.1: Filtro de Wiener.
Wiener enunciou o problema como uma minimizacao do erro quadratico
medio entre o sinal d(n) e sua estimativa d(n). Assim,
ξ = E|e(n)|2
, (3.2)
onde
e(n) = d(n)− d(n). (3.3)
No caso mais geral de um filtro de resposta ao impulso infinita (IIR), pode-se
escrever o erro como
e(n) = d(n)− d(n) = d(n)−∞∑
l=−∞
w(l)x(n− l), (3.4)
onde w(n) representa o filtro que queremos estimar no domınio do tempo discreto.
15
Para realizar a minimizacao do erro quadratico medio, calculamos o valor
esperado do quadrado da Equacao 3.4, para entao igualarmos a derivada a zero.
Assim, obtemos
∞∑l=−∞
w(l)E x(n− l)x∗(n− k) = E d(n)x∗(n− k) , −∞ < k <∞. (3.5)
Podemos notar, na Equacao 3.5, que o termo E x(n− l)x∗(n− k) e a au-
tocorrelacao do sinal x(n), enquanto E d(n)x∗(n− k) e a correlacao cruzada entre
x(n) e o sinal d(n). Com isso, a Equacao 3.5 pode ser escrita de forma mais concisa
como∞∑
l=−∞
w(l)rx(k − l) = rdx(k), −∞ < k <∞, (3.6)
onde o lado esquerdo da equacao representa a convolucao entre w(k) e rx(k). Com
isso, no domınio da frequencia, temos
W(ejω)Px(ejω)
= Pdx(ejω), (3.7)
o que nos leva a conclusao que o filtro W (z) desejado e dado por
W (z) =Pdx(z)
Px(z), (3.8)
onde identificamos Px(z) como a densidade espectral de potencia de x(n) e Pdx(z)
como a densidade espectral de potencia cruzada entre os dois sinais.
Uma vez definida a expressao para o filtro otimo desejado, convem retomar a
suposicao feita na Equacao 3.1. Como o sinal x(n) e a soma do sinal desejado d(n)
com um ruıdo descorrelacionado v(n), podemos deduzir que
rdx(k) = E d(n)x∗(n− k) = E d(n)d∗(n− k)+ E d(n)v∗(n− k) = rd(k),
(3.9)
ou seja, Pdx (z) = Pd (z). Assim, a Equacao 3.8 pode ser reescrita como
W (z) =Pd (z)
Pd (z) + Pv (z)=
1
1 + Pv(z)Pd(z)
=1
1 + 1SNR
. (3.10)
onde a SNR e a Razao Sinal-Ruıdo (em ingles, Signal-to-Noise Ratio) que e definida
como a razao entre a potencia do sinal limpo e a potencia do ruıdo.
A interpretacao da Equacao 3.10 e coerente com o que e desejavel para o
filtro otimo calculado: quando ha muito pouco ruıdo presente na medida, a SNR
16
assume um valor muito alto, o que faz o ganho do filtro tender a 1, preservando
o sinal; quando a potencia do ruıdo e muito elevada, a SNR torna-se muito baixa,
fazendo com que o sinal seja muito atenuado.
3.2 Descricao do metodo
O algoritmo utilizado neste trabalho e uma aplicacao mais especıfica do algo-
ritmo do Filtro de Wiener [19] e sua descricao encontra-se em [15]. No contexto do
metodo, vamos considerar que possuımos um sinal x(n) que e contaminado por um
ruıdo descorrelacionado η1(n) gerando o sinal y(n), como e mostrado na Figura 3.1.
Supomos tambem que conhecemos o sinal η2(n), um sinal correlacionado com η1(n),
mas diferente dele. Desta forma, podemos tomar x(n) como referencia e estimar um
filtro W (z) que minimiza o erro e(n) entre x(n) e η2W (n), que e a versao filtrada de
η2(n).
W (z) +
x(n) + η1(n) = y(n)
η2(n)
-e(n)η2W (n)
Figura 3.2: Representacao do problema generico do Filtro de Wiener.
O problema ilustrado pela Figura 3.2 pode ser colocado na perspectiva da
aplicacao descrita na Secao 1.4. Na Figura 3.3, e ilustrada esta situacao. Temos
um sinal de dialogo d(n) que e “corrompido” por uma faixa musical m′(n), uma
versao possivelmente filtrada da musica original, m(n), dando origem a y(n). Como
e possıvel ter acesso a versao original da musica atraves de CDs oficiais de trilha
sonora [15], podemos usar m(n) como o sinal correlacionado com aquele que estamos
tratando como ruıdo, neste caso, m′(n).
O problema torna-se, entao, minimizar uma funcao custo relacionada ao erro
e(n) para obtermos uma boa estimativa do sinal de dialogo d(n). Tanto o problema
generico (Figura 3.2) quanto o caso da aplicacao descrita na Secao 1.4 (Figura 3.3)
17
W (z) +
d(n) +m0(n) = y(n)
m(n)
-e(n)mW (n)
Figura 3.3: Representacao do problema do Filtro de Wiener no contexto da
aplicacao desejada.
podem ser resolvidos pela minimizacao do valor esperado do sinal de erro e(n) ao
quadrado, como mencionado na Secao 3.1 [19]. Isto pode ser feito porque temos
acesso de antemao ao sinal de musica m(n) completo.
Devemos, entao, estimar os coeficientes do filtro de Wiener W (z) que mini-
mizam o valor esperado do sinal de erro e(n) ao quadrado. Por suposicao, o filtro
e considerado do tipo FIR (em ingles, resposta ao impulso de comprimento finito).
Considerando ainda que o comprimento do filtro sera M e que estamos fazendo a
analise na amostra n?, podemos definir
w (n?) = [w0 (n?) w1 (n?) . . . wM−1 (n?)]> , (3.11)
que e o vetor composto pelos coeficientes do filtro na amostra n? e
m (n?) = [m (n?) m (n? + 1) . . . m (n? +M − 1)]> , (3.12)
que e um vetor de M amostras do sinal m(n) a partir da amostra n?.
A saıda do filtro pode ser calculada, entao, por
mw (n?) = w> (n?) m (n?) . (3.13)
Como queremos calcular o valor esperado do quadrado do sinal e(n) = y(n)−
mW (n), temos
Ee2 (n?)
= E
[y (n?)−w> (n?) m (n?)
] [y (n?)−w> (n?) m (n?)
]= E y (n?) y (n?) − 2w> (n?)E y (n?) m (n?)+
+ w> (n?)Em (n?) m> (n?)
w (n?) .
(3.14)
18
Como a Equacao 3.14 e uma funcao de segunda ordem positiva definida de
w (n?), podemos minimiza-la calculando sua derivada e igualando a zero. Assim,
∂E e2 (n?)∂w (n?)
= −2E y (n?) m (n?)+ 2Em (n?) m> (n?)
w (n?) , (3.15)
∂E e2 (n?)∂w (n?)
= 0 ⇒ Em (n?) m> (n?)
w (n?) = E y (n?) m (n?) . (3.16)
A Equacao 3.16 apresenta um sistema linear de equacoes. Para resolve-lo,
vamos inicialmente notar que o termo Em (n?) m> (n?)
corresponde a matriz de
autocorrelacao MxM do sinal m (n?):
Em (n?) m> (n?)
= Rmm (n?) . (3.17)
De forma semelhante, podemos escrever o vetor E y (n?) m (n?) como
E y (n?) m (n?) =
E y (n?)m (n?)
E y (n?)m (n? + 1)...
E y (n?)m (n? +M − 1)
(3.18)
e reparar que temos a correlacao cruzada rym (n?). Assim,
E y (n?) m (n?) =
rym (n?, n?)
rym (n?, n? + 1)...
rym (n?, n? +M − 1)
= rym (n?) . (3.19)
Finalmente, reduzimos o sistema da Equacao 3.16 a
Rmm (n?) w (n?) = rym (n?) , (3.20)
cuja solucao e dada por
w (n?) = R−1mm (n?) rym (n?) . (3.21)
Deve-se ter em mente que o calculo dos coeficientes do filtro depende com-
pletamente da amostra n? escolhida para analise. Por isso, em [15] sao descritas
algumas abordagens para estimar o filtro de forma mais robusta. Em todos os ca-
sos, soluciona-se o sistema da Equacao 3.20 para uma serie de valores diferentes de
n?. Em [15], essas amostras foram separadas por intervalos de 200 ms.
19
Para obter os coeficientes finais do filtro estimado, devemos, primeiramente,
calcular a resposta em frequencia dos N filtros w (n?1) ,w (n?2) , . . . ,w (n?N) calculados
a partir das amostras n?1, n?2, . . . , n
?N . Temos que
Wi
(ejΩ)
= F w (n?i ) , i ∈ 1, 2, . . . , N, (3.22)
onde F• representa a transformada de Fourier de tempo discreto (DTFT).
Neste trabalho, escolheu-se, dentre as tres tecnicas descritas em [15], o metodo
Frequency-Domain Median Value (FDMV), ou mediana no domınio da frequencia,
pois foi a abordagem que obteve melhores resultados. A resposta em frequencia
do filtro final e dada pela mediana das partes reais e imaginarias das respostas em
frequencia de cada um dos filtros calculados. Assim,
W(ejΩ)
=mediana
(ReW1
(ejΩ), . . . ,Re
WN
(ejΩ))
+
mediana(ImW1
(ejΩ), . . . , Im
WN
(ejΩ))
j.(3.23)
Por fim, os coeficientes finais do filtro estimado sao dados por
w(n) = F−1W(ejΩ). (3.24)
3.3 Experimentos
Para avaliar o desempenho do metodo descrito, foram realizados testes inse-
ridos no contexto da aplicacao descrita na Secao 1.4. Desta forma, foram utilizados
dois sinais de musica de 10 segundos, amostrados a 44,1 kHz. O sinal 1 possui
conteudo espectral que ocupa uma larga faixa do espectro de frequencias, como
pode ser visto em seu espectrograma na Figura 3.4. Ja o sinal 2 e constituıdo ma-
joritariamente por componentes de baixas frequencias, possuindo pouco conteudo
em frequencias maiores que 10 kHz. Podemos ver seu espectrograma na Figura 3.5.
Ambos espectrogramas foram gerados usando janelas de 256 amostras sem sobre-
posicao e 256 pontos no calculo da DFT. A metrica utilizada para a avaliacao da
qualidade foi a SDR. Em todos os casos, o filtro W (z) estimado possuıa ordem 40.
20
0 1 2 3 4 5 6 7 8 9
Tempo (s)
0
5
10
15
20
Fre
qu
ên
cia
(kH
z)
Figura 3.4: Espectrograma do Sinal 1.
0 1 2 3 4 5 6 7 8 9
Tempo (s)
0
5
10
15
20
Fre
qu
ên
cia
(kH
z)
Figura 3.5: Espectrograma do Sinal 2.
3.3.1 Teste 1
O primeiro teste avalia o metodo de separacao do dialogo a partir de uma
mistura com um sinal musical. Neste caso, a musica nao foi pre-filtrada antes de ser
21
combinada ao dialogo. A Figura 3.6 apresenta um diagrama do teste realizado. O
sinal de dialogo foi utilizado como referencia para a SDR, pois desejamos separa-lo
da musica. A Tabela 3.1 apresenta os resultados obtidos.
W (z) +
d(n) +m(n) = y(n)
m(n)
-e(n)mW (n)
Figura 3.6: Diagrama de blocos do Teste 1.
SDRd,y SDRd,e
Sinal 1 0,6166 43,4739
Sinal 2 5,4569 53,1350
Tabela 3.1: Resultados do Teste 1.
Como se pode constatar, o algoritmo foi capaz de realizar a separacao do
dialogo de forma satisfatoria, alcancando altos valores de SDR. Pode-se perceber
tambem que o valor da metrica para a avaliacao da mistura e mais elevado no caso
do Sinal 2. Isto se justifica de forma perceptiva pois o Sinal 2 possuıa amostras de
amplitude menor do que o Sinal 1, fazendo com que o dialogo fosse mais perceptıvel
na mistura. Por esse motivo, a separacao foi feita de forma mais adequada no caso
do Sinal 2, como indicado pelo valor da SDR.
3.3.2 Teste 2
O segundo teste realizado consiste em avaliar como o metodo se comporta
na ausencia de um sinal de dialogo combinado com a musica. Desta forma, o sinal
musical sera filtrado por um filtro conhecido e o objetivo do metodo sera estimar esse
filtro. O objetivo e simular um cenario em que deseja-se desfazer uma filtragem linear
desconhecida aplicada a um sinal de musica. A Figura 3.7 ilustra o procedimento
feito.
22
W (z) +m(n)
-e(n)
H(z)m(n) mH(n)
mW (n)
Figura 3.7: Diagrama de blocos do Teste 2.
O teste foi realizado apenas para o Sinal 1. Para explorar algumas possibi-
lidades de filtros que podem ser aplicados a musica no contexto em que queremos
desfazer a filtragem, foram utilizados quatro filtros FIR de fase linear: dois passa-
baixas, sendo um de resposta mais agressiva, um passa-banda e um passa-altas.
Todos os filtros possuıam ordem 19. Os coeficientes dos quatro filtros podem ser
vistos na Tabela 3.2 e suas respostas em frequencia sao mostradas nas Figuras 3.8
a 3.11.
23
Passa-baixas suave Passa-baixas agressivo Passa-banda Passa-altas
0,0068 -0,0244 0,0000 -0,0068
0,0000 -0,0049 -0,0277 0,0000
-0,0120 0,0002 -0,0000 0,0120
0,0000 0,0095 -0,0233 -0,0000
0,0233 0,0224 -0,0000 -0,0233
0,0000 0,0374 0,0756 0,0000
-0,0476 0,0525 0,0000 0,0476
0,0000 0,0655 -0,1305 0,0000
0,1573 0,0743 0,0000 -0,1573
0,7500 0,5774 0,6540 0,7500
0,1573 0,0743 0,0000 -0,1573
0,0000 0,0655 -0,1305 0,0000
-0,0476 0,0525 0,0000 0,0476
0,0000 0,0374 0,0756 0,0000
0,0233 0,0224 -0,0000 -0,0233
0,0000 0,0095 -0,0233 -0,0000
-0,0120 0,0002 -0,0000 0,0120
0,0000 -0,0049 -0,0277 0,0000
0,0068 -0,0244 0,0000 -0,0068
Tabela 3.2: Coeficientes dos filtros utilizados.
24
0 5000 10000 15000 20000 25000
Frequência (Hz)
-7
-6
-5
-4
-3
-2
-1
0
1
Magnitude (
dB
)
Figura 3.8: Resposta em frequencia do filtro passa-baixas suave.
0 5000 10000 15000 20000 25000
Frequência (Hz)
-7
-6
-5
-4
-3
-2
-1
0
1
Magnitude (
dB
)
Figura 3.9: Resposta em frequencia do filtro passa-baixas agressivo.
25
0 5000 10000 15000 20000 25000
Frequência (Hz)
-8
-7
-6
-5
-4
-3
-2
-1
0
1
Magnitude (
dB
)
Figura 3.10: Resposta em frequencia do filtro passa-banda.
0 5000 10000 15000 20000 25000
Frequência (Hz)
-7
-6
-5
-4
-3
-2
-1
0
1
Magnitude (
dB
)
Figura 3.11: Resposta em frequencia do filtro passa-altas.
26
Para verificar o quao bem o metodo consegue estimar o filtro H(z), tomou-se
o sinal mH(n) como referencia e foram comparados os valores da SDR entre ele e
os sinais m(n) e mW (n). A ideia do teste e verificar se o sinal filtrado pelo filtro
estimado (mW (n)) obtem valores mais altos na metrica em comparacao a mH(n) do
que o sinal original. Os resultados podem ser vistos na Tabela 3.3.
Tipo de filtro SDRmH ,m SDRmH ,mW
Passa-baixas suave 19,4882 41,5613
Passa-baixas agressivo 20,0091 31,5614
Passa-banda 16,0574 29,8870
Passa-altas 18,3347 36,5522
Tabela 3.3: Resultados do Teste 2.
Os resultados apontaram que o algoritmo consegue estimar bem o filtro H(z).
Os valores de SDR altos indicam que a filtragem do sinal m(n) pelo filtro W (z),
resultando em mW (n), gera um sinal mais proximo ao sinal mH(n).
3.3.3 Teste 3
O terceiro teste tem como objetivo avaliar o funcionamento do metodo no sis-
tema completo. Desta forma, o sinal de musica sera filtrado por um filtro conhecido
e, em seguida, sera misturado ao dialogo. Assim, o sistema buscara estimar o filtro
que melhor faz a separacao do dialogo, mesmo na presenca da musica pre-filtrada.
A Figura 3.12 apresenta um diagrama ilustrativo do teste.
Neste experimento, foram utilizados os mesmos quatro filtros da Secao 3.3.2:
dois passa-baixas, sendo um de resposta mais agressiva, um passa-banda e um passa-
altas, todos com ordem 19.
Os resultados obtidos sao apresentados na Tabela 3.4, para o Sinal 1, e na
Tabela 3.5, para o Sinal 2.
Os resultados indicam que, nos casos dos filtros passa-baixas, foi possıvel
separar de forma razoavel o dialogo do sinal de musica filtrado. Como esperado,
notou-se uma piora nos valores encontrados para a SDR quando comparados com
os resultados do Teste 1 (Secao 3.3.1) devido a presenca da pre-filtragem do sinal
27
W (z) +m(n)
-e(n)
H(z)m(n)
+
d(n)
mH(n)
mW (n)
y(n)
Figura 3.12: Diagrama de blocos do Teste 3.
Tipo de filtro SDRd,y SDRd,e SDRmH ,m SDRmH ,mW
Passa-baixas suave 0,6108 33,3694 19,4882 41,2473
Passa-baixas agressivo 0,5739 16,2774 20,0091 30,9372
Passa-banda 2,5044 1,8747 16,0574 29,7355
Passa-altas 2,1624 2,2831 18,3347 34,9809
Tabela 3.4: Resultados do Teste 3 para o Sinal 1.
Tipo de filtro SDRd,y SDRd,e SDRmH ,m SDRmH ,mW
Passa-baixas suave 5,4255 44,3267 23,3414 40,4015
Passa-baixas agressivo 5,2211 31,0253 23,3480 38,0563
Passa-banda 11,3122 9,4587 21,5109 31,4726
Passa-altas 10,5020 10,2685 23,0650 37,0141
Tabela 3.5: Resultados do Teste 3 para o Sinal 2.
musical. Entretanto, constatou-se que o metodo nao conseguiu separar o sinal de
dialogo quando a musica foi pre-filtrada pelos filtros passa-banda e passa-altas. Um
possıvel motivo para esses resultados seria o fato de que os sinais de musica nao
possuıam conteudo espectral nas bandas de passagem desses dois filtros, prejudi-
cando a estimacao dos filtros de inversao.
28
3.3.4 Teste 4
Observando as duas ultimas colunas das Tabelas 3.4 e 3.5, e possıvel perceber
que o valor da SDR indica que o sinal de musica filtrado pelo filtro estimado (mW (n))
consegue se aproximar do sinal filtrado original (mH(n)). Apesar disso, o resultado
da separacao do dialogo a partir da mistura obteve um desempenho baixo. Assim,
conjecturou-se que o algoritmo usado para o calculo da metrica foi capaz de encontrar
um ganho que maximizava a semelhanca entre os sinais de musica filtrada, conforme
o procedimento descrito na Secao 2.1. A Figura 3.13 mostra os valores encontrados
para a SDR entre o sinal de referencia mH(n) e o sinal mW (n) em funcao dos ganhos
testados no teste com o Sinal 1 e filtro passa-banda. Percebe-se que, de fato, ha um
ganho diferente de 1 capaz de aproximar mais os dois sinais.
Figura 3.13: Variacao da SDR em funcao do ganho aplicado.
O objetivo deste teste e aplicar um fator de ganho G ao filtro estimado W (z)
encontrado no Teste 3 e verificar se o desempenho na separacao do dialogo a partir
da mistura e afetado. Para isto, foi repetido o procedimento inicial do Teste 3,
estimando-se o filtro W (z) e obtendo-se os sinais mW (n) e mH(n). Em seguida, foi
calculada a SDR entre esses dois sinais, tendo mH(n) como referencia, e obtendo o
29
ganho G, que maximiza o valor da metrica. Este fator foi entao aplicado ao filtro
W (z), de forma que foi obtido um novo sinal m∗W (n) a partir da filtragem do sinal
de musica original m(n), que e removido da mistura dialogo+musica, resultando na
saıda e∗(n). A Figura 3.14 ilustra este procedimento enquanto a Tabela 3.6 mostra
os resultados encontrados.
W (z) +m(n)
-e∗(n)
+
d(n)
mH(n)
m∗
W(n)
y(n)
SDRmW (n) G
Figura 3.14: Diagrama de blocos do Teste 4.
Tipo de filtro SDRd,y SDRd,e∗
Passa-baixas suave 0,6108 33,3694
Passa-baixas agressivo 0,5739 22,7901
Passa-banda 2,5044 28,8004
Passa-altas 2,1624 33,2379
Tabela 3.6: Resultados do Teste 4 para o Sinal 1 ajustando o ganho do filtro.
Pode-se notar que o ajuste de ganho no filtro W (z) realmente permitiu que
o sinal de musica fosse separado do dialogo de forma mais eficaz. No caso do
filtro passa-baixas suave, o resultado obtido foi o mesmo. Porem, para os outros
tres filtros, foi observada uma melhora, mais consideravel nos casos passa-banda e
passa-altas.
30
Capıtulo 4
Metodos de inversao de distorcoes
nao-lineares
As distorcoes nao-lineares podem ser caracterizadas por efeitos que intro-
duzem componentes frequenciais que nao estavam presentes no sinal original e sao
recorrentes no contexto de sinais de audio. A producao de audio no contexto audi-
ovisual pode aplicar efeitos caracterizados por funcoes nao-lineares em suas faixas
musicais de acordo com o interesse estetico da composicao da trilha sonora para o
produto final. Alem disso, dispositivos eletronicos como amplificadores ou grava-
dores magneticos que sao utilizados no contexto de audio possuem uma faixa de
operacao linear, fora da qual introduzem nao-linearidades no sinal de audio que esta
sendo tratado [14].
Neste capıtulo, serao apresentados metodos utilizados para remover ou ate-
nuar as distorcoes nao-lineares. Em especial, os metodos descritos nas Secoes 4.2 e
4.3 buscam solucionar o problema da distorcao de clipping, cujo efeito consiste em
limitar a faixa dinamica do sinal, de forma que valores de maior amplitude sao mais
afetados, enquanto valores mais baixos nao sofrem distorcao. Isto pode ocorrer de
duas formas. No caso do soft-clipping, a atenuacao ocorre de forma suave, de forma
que o sinal sera mais distorcido em amostras de maior amplitude, diminuindo o
grau de distorcao gradualmente para valores mais baixos. Ja o hard-clipping limita
bruscamente a amplitude do sinal. Assim, qualquer valor acima de um limiar fica
restrito a esse valor, enquanto amostras de menor amplitude permanecem inaltera-
das. A Figura 4.1 ilustra um sinal senoidal passando pelos efeitos de soft-clipping e
31
de hard-clipping.
Figura 4.1: Soft-clipping e hard-clipping.
Como em geral o efeito de soft-clipping pode ser aproximado pela aplicacao
de uma funcao ımpar, suave, invertıvel e sem memoria ao sinal, e possıvel calcular
os coeficientes de um polinomio que faca a inversao deste efeito, de forma a se ter
um sinal mais proximo do sinal original. A Figura 4.2 ilustra essa ideia, que estara
presente nos algoritmos que serao apresentados a seguir.
sn xn ~snf(sn) g(xn)
Distorc~ao Restaurac~ao
Figura 4.2: Distorcao de soft-clipping seguida da funcao de compensacao.
32
A Secao 4.1 faz uma breve revisao de alguns metodos existentes na literatura
que buscam a restauracao dos sinais que passaram pelo soft-clipping. As Secoes 4.2
e 4.3 descrevem os algoritmos utilizados neste trabalho.
4.1 Revisao bibliografica
Na literatura, e possıvel encontrar diversas abordagens para a correcao do
problema de soft-clipping em sinais de audio.
Uma pratica comum e modelar o sinal distorcido como um processo autor-
regressivo (AR) e gaussiano em trechos curtos, o que e um modelo comum em
aplicacoes de audio. Em [20], e apresentado um algoritmo que busca corrigir dis-
torcoes nao-lineares sem memoria. Tambem supoe-se que a curva de distorcao nao-
linear pode ser modelada por uma curva polinomial de coeficientes desconhecidos.
Assim, e proposto um algoritmo iterativo que busca calcular a maxima verossimi-
lhanca (em ingles, maximum likelihood ou ML) dos parametros desconhecidos da
funcao de distorcao.
A tecnica descrita em [21] tambem tem como alvo a correcao de distorcoes
nao-lineares com memoria. Neste caso, a curva de inversao e modelada como uma
curva linear por partes e e estimada atraves de uma estrategia baseada em cadeias
de Markov de Monte Carlo.
Uma outra abordagem e feita em [22]. Para este caso, assume-se que o sinal
e distorcido por uma funcao nao-linear sem memoria. A chave para o funciona-
mento do algoritmo esta na suposicao de que o sinal de audio e limitado em banda.
Quando o sinal sofre uma distorcao nao-linear, conteudos frequenciais em novas fai-
xas de frequencia surgem em seu espectro. Desta forma, o compensador nao-linear
descrito e construıdo de forma que o conteudo espectral do sinal distorcido que es-
teja fora da banda do sinal original seja suprimido. Isso e feito atraves de series
de potencias com coeficientes adaptativos, que sao calculados usando um criterio de
mınimos quadrados aplicado ao conteudo espectral fora da banda desejada na saıda
do compensador.
A suposicao inicial feita em [23] e semelhante a descrita em [22], em que se
assume que o sinal original e limitado em banda. Entretanto, o metodo desenvolvido
33
em [23] nao necessita do conhecimento previo da banda do sinal. Em contextos
especıficos, e possıvel modelar o sinal distorcido como vindo de um sinal de banda
limitada sem nenhum conhecimento, porem, de qual e, de fato, essa banda. E
desenvolvido, entao, um metodo que busca compensar as distorcoes nao-lineares em
um contexto de separacao cega de fontes (em ingles, Blind Source Separation, ou
BSS).
O conhecimento de alguma caracterıstica do conteudo espectral do sinal ori-
ginal e uma abordagem utilizada tambem em [24]. Neste caso, diferentemente do
que e feito em [23] e [22], a suposicao inicial e que o sinal e esparso no domınio
da frequencia. Isso significa que ele possui a maior parte de suas componentes fre-
quenciais nulas. Desta forma, como a aplicacao de uma distorcao nao-linear tende
a gerar componentes frequenciais na saıda que nao estavam originalmente no sinal,
o algoritmo proposto busca calcular uma funcao polinomial que, quando aplicada
ao sinal distorcido, gere um sinal restaurado que seja maximamente esparso. Para
calcular os coeficientes deste polinomio, e resolvido um problema de otimizacao em
que usa-se uma aproximacao da norma L0 como medida de esparsidade.
A abordagem feita em [25] tambem se aproveita da esparsidade do sinal
original. Neste caso, o objetivo e minimizar a energia das componentes espectrais
que nao compunham o sinal originalmente. Para isso, assume-se que o sinal e esparso
em algum domınio (como da Transformada Discreta de Fourier - DFT - ou da
Transformada do Coseno Discreto - DCT) e e realizado um processo iterativo em
que, a cada iteracao, minimiza-se a energia de algumas componentes, de forma que
o sinal ao fim de cada iteracao e mais esparso do que no inıcio dela. Como o sinal
era esparso antes de ser distorcido, esse processo traduz-se em um sinal que e menos
distorcido a cada iteracao realizada.
4.2 Declipping baseado em norma L1 ponderada
Este metodo, desenvolvido em [26], busca restaurar um sinal que passou por
um processo de soft-clipping. Neste caso, queremos calcular os pesos w1, w2, ..., wP
de forma que
sn = w1xn + w2x3n + ...+ wPx
2P−1n , (4.1)
34
ou, em forma matricial
sn = Xw, (4.2)
onde w = [w1w2...wP ]T e X e uma matriz cujas colunas sao compostas por potencias
ımpares de xn.
Inicialmente, e selecionado um bloco do sinal, localizado em torno da amostra
de maior amplitude. Em seguida, definimos S = Ds, onde D e a matriz da Trans-
formada Discreto de Cosseno (em ingles, DCT). Em [26], e definida uma funcao
custo, baseada em uma norma L1 ponderada:
F (S) =N−1∑k=0
Wk|Sk|, (4.3)
onde N e o numero de amostras usadas do sinal e Wk (que nao devem ser confundidos
com os coeficientes do polinomio wi) sao pesos definidos a partir do sinal distorcido.
Esta funcao explora a convexidade da norma L1 bem como a escolha de pesos Wk
independentes de w que a tornem mais sensıvel a distorcoes nao-lineares.
Para calcular os pesos Wk, primeiramente, dividimos o sinal em B blocos
de N amostras cada. Em seguida, calculamos a DCT de cada bloco de forma que
Xb = Dxb, b = 1, ..., B. A formula proposta em [26] e
Wk =
(1
B
B∑b=1
|Xbk |||xb||22
)−1
, k = 0, ..., N − 1, (4.4)
onde Xbk e o k-esimo elemento de Xb. Podemos interpretar essa funcao como a
media da norma L1 do espectro do sinal distorcido ao longo do tempo. Cada bloco
e normalizado pela energia ||xb||22 para evitar que blocos de alta energia dominem o
resultado.
Por fim, o problema de otimizacao a ser resolvido e
minimizarw
F (S(w)) =N−1∑k=0
Wk|Sk|
sujeito a wTXTXw = xTx
w > 0P ,
(4.5)
onde a restricao de preservacao da norma e definida para evitar a ambiguidade entre
a forma da funcao de distorcao e a energia do sinal original.
35
Para testar o algoritmo, utilizamos um sinal de audio de 10 segundos, amos-
trado a 44,1 kHz, cujo espectrograma, gerado a partir de janelas de 128 amostras
sem sobreposicao e 256 pontos no calculo da DFT, pode ser visto na Figura 4.3.
Aplicamos uma distorcao atraves de uma funcao arco tangente (que e ımpar, suave,
invertıvel e sem memoria) e, em seguida, usamos a tecnica proposta para restaurar
o sinal. Para este teste, o numero de amostras utilizadas do sinal foi N = 2000, o
numero de coeficientes calculados para o polinomio de inversao foi P = 7, de forma
que o polinomio teve as potencias ımpares de xn ate o grau 13, e o numero de pesos
W foi B = 5.
0 1 2 3 4 5 6 7 8 9
Tempo (s)
0
5
10
15
20
Fre
qu
ên
cia
(kH
z)
Figura 4.3: Espectrograma do sinal de teste.
Na Figura 4.4, plotamos o sinal original contra si mesmo (em azul) de forma
que possamos observar as distorcoes em relacao a essa curva identidade. Alem disso,
plotamos o sinal distorcido e o sinal restaurado contra o original (em preto e em
verde, respectivamente). Podemos verificar que, no caso do restaurado, a curva se
aproxima mais da obtida com o sinal original. A Tabela 4.1 apresenta os valores das
metricas SDR e Rnonlin comparando o sinal original s(n) com sua versao distorcida
x(n) e com o sinal restaurado s(n). Pode-se constatar que as duas metricas indicam,
de fato, que o metodo proposto consegue aproximar o sinal restaurado do original.
36
Figura 4.4: Resultado do algoritmo.
SDRs,x SDRs,s Rnonlins,x Rnonlins,s
17,6385 31,2693 0,9600 0,9975
Tabela 4.1: Valores das metricas para os resultados do algoritmo.
4.2.1 Modificacao na implementacao
Como foi citado, o desenvolvimento apresentado em [26] leva em consideracao
apenas um bloco do sinal. Assim, os pesos desejados sao calculados com base apenas
no trecho em torno da amostra de maior amplitude.
Visando a obter um resultado melhor e inspirando-se no que e descrito em
[14] (e que sera detalhado na proxima secao), foi proposta uma modificacao na
implementacao do algoritmo. Assim, sao definidos dois novos parametros, SC e
SW , que representam os subconjuntos de blocos do sinal que serao utilizados para o
calculo da funcao objetivo e dos pesos, respectivamente. A escolha dos blocos e feita
37
simplesmente selecionando aqueles que possuem as amostras de maior amplitude,
ate atingirmos o numero de blocos desejado. Dessa forma, as equacoes (4.3) e (4.4)
tornam-se, respectivamente:
F (S) =∑b∈SC
W |Sb| (4.6)
e
Wk =
(1
NW
∑b∈SW
|Xbk |||xb||22
)−1
, k = 0, ..., N − 1, (4.7)
onde W = diag(Wk) e NW e a cardinalidade de SW .
Em adicao aos parametros do teste do metodo original, as cardinalidades dos
subconjuntos SC e SW foram escolhidas como 150 e 200, respectivamente.
A Figura 4.5 ilustra o sinal de teste utilizado, sua versao distorcida por uma
funcao arco tangente e sua restauracao pelo metodo inicial, que utiliza apenas um
bloco do sinal, e pelo metodo que utiliza a modificacao proposta, usando mais blo-
cos, todos plotados contra o sinal original. Visualmente, as curvas obtidas pelos dois
metodos ficam muito proximas. A Tabela 4.2 apresenta os valores de SDR e Rnon-
lin obtidos ao compararmos o sinal original com a versao distorcida e com o sinal
restaurado obtido por cada metodo (s para o primeiro metodo e s∗ para a versao
modificada). E possıvel perceber que ha uma melhora muito leve nos valores obtidos
pelo metodo modificado, mas nao a ponto de ser claro na Figura 4.5. Dessa forma,
o custo computacional necessario para fazer o processamento com mais blocos nao
se justifica.
SDRs,x SDRs,s SDRs,s∗ Rnonlins,x Rnonlins,s Rnonlins,s∗
17,6385 31,2693 31,5304 0,9600 0,9975 0,9978
Tabela 4.2: Valores das metricas comparando as duas versoes do metodo.
4.3 Declipping baseado em mınimos quadrados
restrito
Este algoritmo, assim como o que foi descrito na Secao 4.2, busca inverter
o processo de soft-clipping em um sinal de audio. Para isto, retomando o desen-
38
Figura 4.5: Comparacao entre os metodos
volvimento feito anteriormente, queremos calcular os pesos w1, w2, ..., wP de forma
que
sn = w1xn + w2x3n + ...+ wPx
2P−1n , (4.8)
ou, em forma matricial,
sn = Xw, (4.9)
onde w = [w1w2...wP ]T e X e a matriz cujas colunas sao as potencias ımpares de
xn.
O sinal xn e dividido em B blocos de tamanho L. Para obtermos um resultado
melhor ao final do algoritmo, selecionamos para analise os blocos que possuem as
amostras de maior amplitude. Assim, teremos os trechos do sinal que carregam mais
informacao sobre ele. Definimos entao subconjuntos de blocos SC e SW como
SC = b ∈ 1, ..., B |max|xb0|, |xbL−1| > γC (4.10)
39
e
SW = b ∈ 1, ..., B |max|xb0|, |xbL−1| > γW, (4.11)
onde γC e γW sao limiares de amplitude que podem ou nao ser iguais.
Com isto, e definida uma funcao custo quadratica por
C(w) =∑b∈SC
L−1∑k=0
Wk|Sbk |2, (4.12)
onde Wk, k ∈ 0, ...L−1 sao os pesos que serao calculados tendo como base apenas
o sinal distorcido e Sbk e o k-esimo elemento de Sb = DT sb e D e a matriz da
DCT. Lembrando que sb = Xbw e definindo a matriz W = diagW0, ...,WL− 1,
podemos reescrever a funcao custo de forma mais compacta como
C(w) =∑b∈SC
wTXTb DTWDXbw, (4.13)
ou ainda, tendo em vista que w e igual para todos os blocos,
C(w) = wTAw, (4.14)
onde
A =∑b∈SC
XTb DTWDXb. (4.15)
Com isto, resta definir os pesos Wk da seguinte forma
Wk =
[(∑b∈SW
|Xbk |||xb||22||xb||∞
)+ ε
]−1
, k = 0, ..., L− 1. (4.16)
Esta funcao representa basicamente o inverso da media dos coeficientes da
DCT ao longo dos blocos de sinal definidos por SW . O termo ||xb||22 evita que
blocos de amplitude muito grande sejam muito dominantes enquanto o termo ||xb||∞diminui o peso desses blocos, uma vez que eles sao os mais distorcidos no caso que
estamos tratando. O termo ε e usado para regularizacao.
O problema de otimizacao a ser resolvido, entao, e
minimizarw
C(w) = wTAw
sujeito a wTXTCXCw = ||xC ||2.
(4.17)
A restricao quadratica imposta busca evitar a solucao trivial w = 0P .
40
Para testar o algoritmo, foi utilizado o mesmo sinal dos testes da Secao 4.2
e foi imposta uma distorcao atraves de uma funcao arco tangente. Os parametros
utilizados no algoritmo foram os mesmos definidos no teste da Subsecao 4.2.1.
A Figura 4.6 ilustra o sinal original plotado contra si mesmo, bem como os
sinais distorcido e restaurado contra o original, de forma que possamos ver as mu-
dancas ocorridas com relacao ao primeiro sinal. Podemos observar que o algoritmo
consegue fazer com que o sinal restaurado volte a ser mais proximo do original. Alem
disso, a Tabela 4.3 apresenta os valores das metricas SDR e Rnonlin comparando o
sinal original com a versao distorcida e com o sinal restaurado pelo metodo.
Figura 4.6: Resultado do algoritmo
SDRs,x SDRs,s Rnonlins,x Rnonlins,s
17,6385 30,6868 0,9600 0,9975
Tabela 4.3: Valores das metricas para os resultados do algoritmo.
41
Capıtulo 5
Metodos de inversao de distorcoes
lineares e nao-lineares combinadas
Na maior parte das situacoes praticas, o sinal de audio que desejamos tratar
sofreu algum tipo de distorcao que e, a princıpio, desconhecido. Nestes casos, e
necessario utilizar um modelo mais generico para estimar a distorcao e conseguir
corrigi-la de maneira adequada.
No cenario da aplicacao descrita na Secao 1.4, por exemplo, o objeto de estudo
inicial e o sinal de audio completo do produto audiovisual e e desejado realizar a
separacao adequada entre a musica e o dialogo. Entretanto, a faixa musical pode
ter sido processada pelos profissionais de audio na producao da trilha atraves da
aplicacao de efeitos dos mais diversos tipos que, por nos serem desconhecidos e
indesejados, passam a ser tratados como distorcoes, apesar de possuırem um carater
estetico do ponto vista artıstico. Neste contexto, a aplicacao do efeito pode ser feita
diretamente na combinacao do dialogo com a musica, apenas no dialogo ou apenas
na musica, antes de serem combinados. As discussoes neste capıtulo se referem a
este ultimo caso.
Para que seja possıvel restaurar o sinal distorcido de forma adequada, torna-
se necessario utilizar um modelo mais completo para a distorcao. Neste capıtulo,
vamos considerar que o sinal original foi modificado tanto por uma distorcao nao-
linear (clipping) quanto por uma filtragem linear. Dado que nao sabemos de antemao
como o sinal foi distorcido, podemos supor que as distorcoes usadas no modelo foram
aplicadas em uma ordem ou na outra. Na Secao 5.1, e suposto que o sinal e distorcido
42
inicialmente pelo filtro linear e, em seguida, pela nao-linearidade. Sera descrita uma
tecnica que busca corrigir as distorcoes a partir de metodos descritos em secoes
anteriores. Ja na Secao 5.2, a ordem das distorcoes no modelo e invertida: considera-
se que o sinal passa pela distorcao nao-linear e em seguida pela filtragem linear. E
proposto um metodo que visa a recuperar sinais que tenham passados por sistemas
com essa configuracao. Por fim, na Secao 5.3, e descrito um tipo de distorcao comum
em softwares de edicao de audio e sao feitos experimentos para verificar se o metodo
proposto na Secao 5.2 e capaz de corrigir este caso mais generico.
5.1 Distorcao linear seguida de nao-linear
O primeiro caso a ser analisado parte do problema contemplado na Subse-
cao 3.3.3. Inicialmente, o sinal de musica sofrera uma filtragem linear para, em
seguida, ser misturado ao dialogo. Neste caso, porem, iremos aplicar o efeito de
clipping a soma dos sinais para avaliar como os metodos ja testados se comportam
quando combinamos estes dois tipos de distorcao. Assim, o objetivo sera, assim
como na Subsecao 3.3.3, realizar a separacao do dialogo, dispondo previamente da
musica original.
Com este modelo em mente, a abordagem utilizada para separar o sinal sera
uma composicao de dois metodos descritos em secoes anteriores. Primeiramente, o
processo de declipping e aplicado ao sinal da mistura, utilizando um dos metodos
descritos no Capıtulo 5. Apos a restauracao da nao-linearidade, identifica-se uma
situacao em que e possıvel aplicar o algoritmo descrito na Subsecao 3.3.3. Nela,
foi descrito um teste em que estimava-se o filtro linear que foi aplicado a um sinal,
supondo um pre-conhecimento do sinal original, para que, em seguida, o dialogo
fosse extraıdo da mistura. Este modelo pode ser considerado em contextos em
que desejamos identificar a distorcao aplicada em vez do sinal original, como e o
caso da aplicacao da Secao 1.4, em que o sinal original esta disponıvel em CDs de
trilha sonora. A Figura 5.1 ilustra a cadeia de distorcoes seguida do processo de
restauracao.
Para realizar o teste do metodo, foi utilizado o Sinal 1 dos experimentos da
Secao 3.3, cujo espectrograma encontra-se na Figura 3.4. Inicialmente, o sinal e
43
H(z)
W (z)
Distorc~ao Restaurac~ao
m(n) x(n)y(n) y(n)
+
d(n)
+-
m(n)
e(n)
Figura 5.1: Modelo de distorcao linear seguida de nao-linear e os blocos rela-
tivos a restauracao.
distorcido por um filtro linear. Foram realizados testes com os 4 filtros descritos na
Subsecao 3.3.2: dois filtros passa-baixas, sendo um mais suave e outro mais agressivo,
um filtro passa-banda e um filtro passa-altas. Em seguida, o sinal filtrado foi somado
ao dialogo. Entao, a mistura resultante passou por uma funcao arco tangente,
que possui as caracterısticas do efeito de clipping e e ımpar, suave, invertıvel e
sem memoria, como requerido para o funcionamento dos metodos de declipping
discutidos.
A inversao da nao-linearidade foi feita atraves do metodo descrito na Secao 4.3,
que realiza o processo de declipping baseado em um algoritmo de mınimos quadra-
dos restrito. O numero de amostras utilizadas nos blocos do sinal foi N = 2000, o
numero de coeficientes calculados para o polinomio de inversao foi P = 5, fazendo
com que o polinomio de inversao tivesse potencias do sinal distorcido ate o grau 11,
e o numero de pesos W foi B = 5. Alem disso, os blocos SC e SW foram definidos
com cardinalidades iguais a 50 e 100, respectivamente.
Em seguida, foi aplicado o algoritmo descrito na Subsecao 3.3.3 para ser feita
a separacao do dialogo. O filtro estimado teve ordem 40.
Os resultados dos testes podem ser vistos na Tabela 5.1. Nela, sao reportados
os valores das metricas comparando o sinal de dialogo original (d) a versao combi-
nada com a musica e distorcida pelos dois efeitos (x) e a tentativa de separacao,
apos a aplicacao dos dois metodos (e). E possıvel perceber que os metodos propos-
tos reduzem a influencia da musica nos sinais separados, o que e evidenciado pelo
aumento nos valores das metricas. Entretanto, nota-se que a separacao nao e feita
de forma tao satisfatoria, em comparacao com os resultados obtidos nas Secoes 3.3.1
44
e 3.3.3.
SDRd,x SDRd,e Rnonlind,x Rnonlind,e
Filtro passa-baixas suave 2,0405 16,3989 0,5276 0,7444
Filtro passa-baixas agressivo 1,9359 15,9520 0,5512 0,6830
Filtro passa-banda 6,0357 18,2714 0,5793 0,7756
Filtro passa-altas 5,4401 18,3055 0,5815 0,7788
Tabela 5.1: Resultados do experimento com uma distorcao linear seguida de uma
compressao nao-linear.
5.2 Distorcao nao-linear seguida de linear
Uma outra forma de modelar a distorcao sofrida pelo sinal de audio e atraves
de um sistema de Hammerstein. Este modelo consiste em uma distorcao nao-linear
sem memoria seguida de um filtro linear com memoria [27] e e eficiente para a des-
cricao de diversos cenarios em areas como controle, comunicacoes e processamento
de audio [28]. Alem disso, ele pode ser usado como modelo equivalente para des-
crever nao-linearidades mais complexas, como de amplificadores, de forma que nao
ficamos restritos a um modelo que esteja exatamente de acordo com a ordem em
que as distorcoes foram aplicadas. Pensando no contexto da aplicacao descrita na
Secao 1.4, podemos usar o sistema de Hammerstein para modelar o cenario em que as
distorcoes foram aplicadas diretamente a mistura do dialogo com a musica, de forma
que a separacao nao pode ser feita usando o procedimento descrito na Secao 5.1. Por
esse motivo, a partir de agora, sera considerado apenas um sinal para os testes e nao
mais uma combinacao de musica e dialogo. O intuito dos experimentos descritos
sera restaurar o sinal distorcido de acordo com a modelagem em questao de forma
que, caso seja necessario realizar a separacao de um dialogo, seja possıvel usar um
metodo mais simples.
O algoritmo utilizado neste trabalho e descrito em [28] e tem como objetivo
identificar, simultaneamente, os coeficientes de um polinomio que seja capaz de
inverter a curva de nao-linearidade e os parametros de um filtro que possa desfazer
o efeito da filtragem linear. O lado esquerdo da Figura 5.2 representa a cadeia de
45
distorcao, que e o sistema de Hammerstein, enquanto o lado direito ilustra o processo
de inversao que sera detalhado a seguir.
H(z) W (z)
Distorc~ao (sistema de Hammerstein) Restaurac~ao (sistema de Wiener)
s x y
Figura 5.2: Modelo de distorcao nao-linear seguida de linear, o sistema de
Hammerstein, e os blocos relativos a restauracao, o sistema de Wiener.
5.2.1 Descricao do metodo
Para o desenvolvimento do algoritmo descrito em [28], e necessario fazer
algumas definicoes para podermos delimitar o contexto em que ele sera aplicado.
Vamos considerar como sinal de audio original o sinal sn, de comprimento
de N amostras, que pode ser representado pelo vetor s =[s0 s1 . . . sN−1
]T.
Por hipotese, este sinal e esparso no domınio da Transformada Discreta de Fourier
(DFT), ou seja, sua DFT dada por S = Ws (onde W representa a matriz da DFT)
possui a maior parte de seus valores nulos. Essa suposicao sobre a esparsidade do
sinal modela de forma aproximada o fato de na maior parte do tempo os sinais de
audio possuırem conteudo espectral concentrado em regioes estreitas de frequencia
(devido as ressonancias inerentes a producao do som, que por sua vez resultam em
pitch1 determinado).
O sistema de Hammerstein a ser invertido sera constituıdo inicialmente por
uma distorcao polinomial referente a parte nao-linear do modelo que sera descrita
por fd, uma funcao ımpar (para permitir a inversao) dada por
fd (sn) = sn + w1s3n + w2s
5n + · · ·+ wP s
2P+1n . (5.1)
Em seguida, e aplicada uma filtragem linear. O filtro sera considerado de
1Altura percebida.
46
resposta ao impulso de comprimento finito (FIR) com ordem Q e e dado por
H(z) = 1 + b1z−1 + b2z
−2 + · · ·+ bQz−Q. (5.2)
Para indicar a passagem de um sinal pelo sistema de Hammerstein descrito,
podemos escrever, de forma mais compacta
xn = Hw,b (sn) , (5.3)
onde w = [w1 . . . wP ]T e b = [b1 . . . bQ]T .
A ideia por tras deste metodo e explorar a esparsidade do sinal de entrada.
Quando o sinal passa pelo sistema de Hammerstein, seu conteudo espectral ira se
espalhar por componentes frequenciais que nao estavam presentes originalmente.
Assim, o metodo devera buscar um sinal que seja maximamente esparso no domınio
da DFT.
O procedimento para realizar a inversao sera feito atraves de um sistema
de Wiener, que e um modelo semelhante ao sistema de Hammerstein, porem com a
ordem dos blocos invertida (Figura 5.2). A estrutura de cada bloco deve ser escolhida
de acordo com o sistema que desejamos inverter e que foi definido anteriormente.
Dessa forma, a parte linear do sistema de Wiener e definida pelo filtro de resposta
ao impulso de comprimento infinito (IIR) dado por
W (z) =(
1− b1z−1 − · · · − bQz−Q
)−1
(5.4)
e o polinomio que ira contemplar a parte nao-linear do sistema e dado por
sn = xn + w1x3n + w2x
5n + . . .+ wP x
2P+1n . (5.5)
Desta forma, o objetivo do algoritmo proposto e descobrir os coeficientes
b =[b1, b2, . . . , bQ
]Te w = [w1, w2, . . . , wP ]T que tornam a saıda do sistema de
Wiener a mais esparsa possıvel. A passagem do sinal x pelo sistema de Wiener
definido pelos vetores b e w e representada por
y =Wb,w (x) . (5.6)
Para que o calculo dos coeficientes possa ser realizado, deve-se utilizar uma
funcao que explore a esparsidade do sinal original. E importante destacar que sinais
47
de audio reais nao sao efetivamente esparsos, ou seja, a maior parte de suas com-
ponentes frequenciais nao e nula, mas possui valores pequenos. Dessa forma, nao
podemos utilizar uma funcao como a norma L0 pois ela exigiria que o sinal possuısse,
de fato, valores nulos na maior parte do espectro. Assim, adota-se a funcao Fσ, que
e uma aproximacao da norma L0 e e dada por
Fσ(s) = N −N∑i=1
exp
(−|si|
2
2σ2
), (5.7)
onde o parametro σ traduz o quao proxima e a aproximacao da norma L0.
A funcao objetivo a ser minimizada e, portanto,
J(b, w) = Fσ(W(Wb,w (x)
)), (5.8)
onde W representa a matriz da DFT.
5.2.2 Modificacoes na implementacao
Com o intuito de obter melhores resultados em experimentos utilizando si-
nais reais, foram propostas algumas modificacoes na implementacao do algoritmo
proposto em [28].
A utilizacao de uma funcao objetivo baseada em uma norma L0 exige que,
para o algoritmo funcionar, o sinal de audio seja efetivamente esparso, ou seja, que a
maior parte de suas componentes frequenciais tenha valores nulos. Entretanto, sinais
de audio reais, de forma geral, nao se comportam dessa maneira, tendo seu conteudo
frequencial concentrado em algumas faixas de frequencia e possuindo valores muito
pequenos, mas nao nulos, no restante do espectro. Por isso, a escolha da norma L0
nao e eficaz para recuperar um sinal real distorcido da forma mais esparsa possıvel,
pois originalmente ele nao era de fato esparso. Assim, no lugar da Equacao 5.7, foi
proposta como alternativa a seguinte funcao:
F (s) =N∑i=1
|si|, (5.9)
que substitui a aproximacao da norma L0 pela norma L1. Alem disso, foi introduzida
uma restricao de energia no calculo da minimizacao da funcao objetivo. A proposta
e garantir que a energia do sinal restaurado se mantenha igual a do sinal distorcido
(como tambem e feito em [26]) Essa escolha evita que o algoritmo de otimizacao
48
force o sinal resultante a ser muito pequeno em amplitude, minimizando a norma L1
mas sem tornar o sinal mais esparso. Tambem se optou por utilizar a Transformada
Discreta do Cosseno (DCT) no lugar da DFT, pois ela mostrou-se mais adequada
para avaliar a esparsidade no contexto de sinais de audio reais.
Com isso, chamando de D a matriz da DCT, no caso da norma L0 suavizada
a funcao objetivo se torna
J(b, w) = Fσ(D(Wb,w (x)
)), (5.10)
e no caso da norma L1 e
J(b, w) = F(D(Wb,w (x)
)), (5.11)
em ambos os casos com a restricao ||x||22 = ||y||22.
5.2.3 Experimentos
Para testar o algoritmo, foi utilizado um sinal de audio real de 1 segundo de
duracao, cujo espectrograma, que foi gerado usando janelas de 128 amostras sem
sobreposicao e 256 pontos no calculo da DFT, pode ser visto na Figura 5.3. A
escolha de um sinal de curta duracao se deu devido ao tempo de processamento
necessario para o calculo da otimizacao.
O sistema de Hammerstein utilizado para distorcer o sinal foi composto de
uma distorcao polinomial seguida de um filtro linear, como requer o modelo. A
funcao polinomial de distorcao utilizada e dada por
fd (sn) = sn + 1,6975s3n + 47,5815s5
n + 92,0332s7n. (5.12)
Ja o filtro de distorcao utilizado foi do tipo FIR e e dado por
H(z) = 1− 1,1768z−1 + 0,8491z−2 − 0,6289z−3 + 0,2448z−4, (5.13)
e sua resposta em frequencia pode ser vista na Figura 5.4.
Inicialmente, foram executados tres tipos de teste. O primeiro utiliza como
funcao objetivo da otimizacao a Equacao 5.8, em que e utilizada a norma L0 su-
avizada e o sinal e analisado no domınio da DFT. O segundo teste mantem o uso
da norma L0 suavizada, mas passa a utilizar a DCT no lugar da DFT, adotando
49
0 100 200 300 400 500 600 700 800 900
Tempo (ms)
0
5
10
15
20
Fre
qu
ên
cia
(kH
z)
Figura 5.3: Espectrograma do sinal de teste.
0 5000 10000 15000 20000 25000
Frequência (Hz)
-15
-10
-5
0
5
10
15
Magnitude (
dB
)
Figura 5.4: Resposta em frequencia do filtro linear de distorcao.
como funcao objetivo a Equacao 5.10. Ja o terceiro teste otimiza a Equacao 5.11,
usando a norma L1 em conjunto com a DCT. Nos tres casos, foi utilizada a restricao
50
de energia descrita. Da mesma forma, em todos os testes o numero de coeficientes
calculados para o polinomio de inversao foi igual a 3 para que o polinomio tivesse
ordem 7, ja que apenas potencias ımpares sao utilizadas, e a ordem do filtro IIR
de inversao foi igual a 4. No caso dos testes com a aproximacao da norma L0, o
parametro σ adotado foi igual a 0,01.
Nos tres testes, o algoritmo foi executado 50 vezes e a cada iteracao os co-
eficientes do polinomio eram inicializados de forma aleatoria. No caso do filtro de
inversao, seus polos tambem eram inicializados aleatoriamente, com a restricao de
que seus modulos seriam restritos a valores entre 0,6 e 0,9. Ao fim das 50 execucoes,
o resultado com maior melhora na SDR e na Rnonlin foi tomado como saıda do
experimento. Os resultados dos testes podem ser vistos nas Tabelas 5.2, 5.3 e 5.4.
SDRs,x SDRs,y Rnonlins,x Rnonlins,y
8,9515 3,8848 0,8955 0,8835
Tabela 5.2: Resultados do experimento utilizando a norma L0 suavizada
(Equacao 5.8) em conjunto com a restricao de energia, no domınio da DFT.
SDRs,x SDRs,y Rnonlins,x Rnonlins,y
8,9515 14,2781 0,8955 0,9272
Tabela 5.3: Resultados do experimento utilizando a norma L0 suavizada em conjunto
com a restricao de energia, no domınio da DCT (Equacao 5.10).
SDRs,x SDRs,y Rnonlins,x Rnonlins,y
8,9515 20,8520 0,8955 0,9481
Tabela 5.4: Resultados do experimento usando a norma L1 em conjunto com a
restricao de energia (Equacao 5.11).
Como pode ser visto, o algoritmo nao conseguiu inverter a distorcao com
o uso da funcao objetivo dada pela Equacao 5.8. Entretanto, os resultados foram
satisfatorios quando as funcoes objetivo utilizaram a DCT no lugar da DFT. Alem
51
disso, pode-se constatar que a adocao da norma L1 teve desempenho superior em
comparacao a norma L0 suavizada quando ambas atuaram no domınio da DCT.
5.3 Distorcao de compressao ou expansao
Os metodos descritos nas Secoes 5.1 e 5.2 foram testados para distorcoes con-
troladas que foram aplicadas aos sinais de audio seguindo rigorosamente os modelos
adotados. Nesta secao, sera descrito um modelo para tipos de distorcao disponıveis
em softwares de edicao de audio, que sao a compressao e a expansao. Estes dois
efeitos afetam a faixa dinamica do sinal de acordo com parametros temporais pre-
definidos, aumentando ou reduzindo as amplitudes de certas amostras.
Em [29], e descrito um algoritmo que aplica o efeito de compressao ou de
expansao a sinais de audio.
5.3.1 Descricao do modelo de distorcao
O algoritmo utilizado para realizar a compressao ou expansao e descrito
abaixo para um sinal de entrada x que gera um sinal de saıda y:
1. Inicializa-se um vetor xd com o mesmo comprimento de x com zeros.
2. Para n variando de 2 ate o comprimento do vetor x, repetem-se os passos a
seguir:
2.1. Atribui-se ao parametro a a diferenca entre o valor absoluto de x(n) e
xd(n− 1). Caso o resultado seja negativo, fixa-se a = 0 nessa iteracao.
2.2. Atribui-se a xd(n) o valor da expressao (1−Rt)xd(n− 1) + At a, onde At
e Rt sao parametros que serao explicados na sequencia.
2.3. Caso xd(n) seja maior que um limiar definido pelo valor L, define-se um
fator f como 10m log10(xd(n))−log10(L), onde m = −1 no caso da compressao
e m = 1 no caso da expansao. Caso xd(n) seja igual ou menor a L,
define-se f = 1 nessa iteracao.
2.4. A amostra da saıda y(n), atribui-se o valor dado por x(n) ∗ f(n).
52
Para o funcionamento do algoritmo, e necessario definir tres parametros re-
lacionados ao comportamento do sinal x no tempo e na amplitude. O parametro L
define um limiar de amplitude, em valor absoluto, que definira quais amostras da
entrada serao comprimidas ou expandidas. Entretanto, nao basta que uma amostra
tenha valor absoluto maior que L para sofrer o efeito desejado. E necessario tambem
levar em consideracao o aspecto temporal do sinal. Assim, definimos o tempo de
ataque (attack time) e o tempo de relaxamento (release time). Para que a distorcao
comece a atuar sobre o sinal, e preciso que a amplitude das amostras ultrapasse, em
valor absoluto, o limiar L por um tempo mınimo, definido pelo tempo de ataque.
De forma analoga, uma vez que o efeito esteja agindo sobre o sinal, e necessario que
a amplitude das amostras saia da regiao de atuacao pelo tempo mınimo definido
pelo tempo de relaxamento. No algoritmo descrito, o tempo de ataque e dado pelo
parametro At enquanto o tempo de relaxamento e definido por Rt, ambos definidos
em milissegundos.
A Figura 5.5 ilustra, em azul, um sinal com duracao de 20 ms que ate sua
metade tem amplitude igual a 1 e a partir de entao tem amplitude igual 0,5. A
este sinal foi aplicado o algoritmo de compressao e o resultado pode ser visto em
vermelho. Os parametros usados foram At = 2,5, Rt = 0,1 e L = 0,7. Pode-se notar
que o algoritmo atuou no sinal no primeiro trecho, quando a amplitude excedia o
limiar, mas o manteve inalterado na segunda metade.
53
0 2 4 6 8 10 12 14 16 18 20
Tempo (ms)
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Am
plit
ude
Entrada
Saída
Figura 5.5: Efeito de compressao.
A Figura 5.6 apresenta o mesmo sinal senoidal, em azul, e sua versao distor-
cida, em vermelho, desta vez pelo efeito de expansao. Os parametros usados foram
At = 2,5, Rt = 0,1 e L = 0,7. Pode-se perceber que a expansao atuou durante toda
a primeira metade do sinal, mas nao na segunda parte, devido ao valor escolhido
como limiar.
5.3.2 Experimento com compressao e expansao
Para verificar se o modelo do sistema de Hammerstein proposto para a dis-
torcao na Secao 5.2 e suficientemente robusto para modelar a distorcao imposta
pela compressao ou pela expansao, foi realizado um teste em que o sinal escolhido
sofria a distorcao de acordo com o algoritmo descrito na Subsecao 5.3.1 e em seguida
se tentava recuperar o sinal original. Para isso, foi utilizado o metodo descrito na
Secao 5.2, na versao que utiliza como funcao objetivo a Equacao 5.11 (norma L1
e DCT em conjunto com a restricao de energia). Essa versao foi a escolhida para
este teste por ter sido a que obteve melhores resultados no caso em que a distorcao
seguia o modelo proposto.
54
0 2 4 6 8 10 12 14 16 18 20
Tempo (ms)
-1.5
-1
-0.5
0
0.5
1
1.5
Am
plit
ude
Entrada
Saída
Figura 5.6: Efeito de expansao.
Foi utilizado como sinal de teste o mesmo sinal usado nos experimentos da
Secao 5.2, cujo espectrograma se encontra na Figura 5.3.
O primeiro experimento foi realizado aplicando-se uma compressao ao sinal
original. Os parametros usados para a distorcao foram At = 2,5, Rt = 0,1 e L = 0,3.
Para o algoritmo de inversao, adotou-se o numero de coeficientes calculados para
o polinomio de inversao igual a 3, fazendo com que o polinomio tivesse ordem 7,
e a ordem do filtro IIR de inversao igual a 4. Os procedimentos de inicializacao e
iteracao do algoritmo foram identicos aos descritos nos testes da Subsecao 5.2.3.
Os resultados do teste podem ser vistos na Tabela 5.5. E possıvel perceber
que o algoritmo nao foi capaz de inverter a distorcao aplicada, na verdade piorando
os valores das metricas SDR e Rnonlin.
SDRs,x SDRs,y Rnonlins,x Rnonlins,y
14,2081 13,9942 0,9730 0,9446
Tabela 5.5: Resultados do experimento para o caso em que a distorcao foi uma
compressao.
55
O segundo teste realizado e analogo ao primeiro, aplicando, desta vez, uma
expansao no sinal original. Os parametros usados para a expansao foram At = 2,5,
Rt = 0,1 e L = 0,3. O algoritmo de inversao da distorcao foi executado de forma
identica a utilizada no experimento anterior, usando os mesmos parametros.
Os resultados do experimento estao na Tabela 5.6. Pode-se notar que, nova-
mente, o algoritmo nao foi capaz de recuperar o sinal original.
SDRs,x SDRs,y Rnonlins,x Rnonlins,y
12,4730 8,4676 0,9677 0,9133
Tabela 5.6: Resultados do experimento para o caso em que a distorcao foi uma
expansao.
56
Capıtulo 6
Conclusoes
Neste trabalho, foram analisados alguns metodos de correcao de distorcoes
lineares e nao-lineares em sinais de audio. Para isso, as tecnicas foram divididas em
grupos de acordo com o tipo de distorcao que elas visam a corrigir. Alem disso, foram
utilizadas duas metricas de avaliacao de qualidade, SDR e Rnonlin, para quantificar
o nıvel de distorcao presente nos sinais de teste e verificar o funcionamento das
tecnicas utilizadas.
Tendo em mente uma aplicacao no contexto de produtos audiovisuais, como
descrito na Secao 1.4, no Capıtulo 3 foram estudados metodos para inverter filtragens
lineares sofridas por trilhas musicais e realizar sua separacao da faixa de dialogo,
considerando que a musica pode ter sido filtrada antes da combinacao com o dialogo.
Foram utilizadas quatro configuracoes de filtros lineares para distorcer a musica.
Foi verificado que o algoritmo proposto foi eficiente na extracao do dialogo nos
casos em que os filtros passa-baixas foram adotados. Nos casos dos filtros passa-
banda e passa-altas, porem, o metodo nao conseguiu extrair o dialogo da mistura de
forma adequada. Foi constatado que isso ocorreu devido a erros no ganho do filtro
estimado. Possivelmente, isso aconteceu pois o sinal de musica nao possuıa muito
conteudo espectral nas bandas de passagem dos filtros passa-banda e passa-altas,
limitando o desempenho do algoritmo na hora de calcular os filtros de inversao. Com
o auxılio da metrica SDR, foi possıvel ajustar um fator de ganho no filtro estimado
que permitiu a extracao do dialogo tambem nos casos desses filtros.
A correcao de distorcoes nao-lineares foi contemplada no Capıtulo 4, com a
implementacao de dois metodos que visavam a inverter o efeito de clipping atraves
57
do calculo de uma curva polinomial que pudesse desfazer a distorcao. Ambos os
metodos tiveram desempenhos satisfatorios, obtendo melhoras significativas nos va-
lores das metricas adotadas. Foi proposta uma modificacao de implementacao na
tecnica descrita na Secao 4.2, de forma que mais blocos do sinal distorcido fossem
usados no calculo do polinomio. A mudanca proposta resultou numa melhora muito
leve em relacao a implementacao original, o que nao justificaria a utilizacao da mo-
dificacao devido ao custo computacional adicional necessario em contraste com a
pouca melhora obtida.
No Capıtulo 5, foram realizados testes em que as distorcoes lineares e nao-
lineares foram combinadas. Ainda no contexto da extracao de uma faixa de dialogo,
dois metodos descritos em capıtulos anteriores foram combinados para tentar fazer
a separacao das trilhas para o caso em que foi feita uma filtragem linear na musica e
foi aplicado o efeito de clipping a faixa combinada. Foi constatado que o algoritmo
de separacao nao obteve um desempenho satisfatorio em comparacao a situacao em
que nao havia a distorcao nao-linear intermediaria, o que podia ser esperado devido a
presenca da nao-linearidade. Em seguida, passou-se a lidar exclusivamente com um
sinal de musica sendo distorcido por um sistema de Hammerstein, com a tentativa
de restauracao sendo feita por um sistema de Wiener. Foram propostas modificacoes
na funcao objetivo original do metodo utilizado: a substituicao da norma L0 pela
norma L1 e o uso da DCT no lugar da DFT. Os resultados dos testes indicaram que
essas mudancas produziram resultados significativamente melhores, mostrando que,
de fato, a norma L0 nao foi adequada para o tratamento de sinais reais, que nao sao
efetivamente esparsos. Por fim, foram feitos experimentos envolvendo distorcoes que
nao seguiam obrigatoriamente os modelos propostos, para verificar o quao robustas
eram as tecnicas implementadas anteriormente. Foi descrito um algoritmo que aplica
efeitos de compressao ou de expansao em sinais de audio e foram realizados testes
com distorcoes geradas dessa forma. Foi constatado que o metodo utilizado nao foi
capaz de tratar os sinais distorcidos de forma correta, o que leva a conclusao que o
modelo nao foi capaz de contemplar a distorcao imposta. Possıveis modificacoes na
modelagem da etapa de distorcao ou de restauracao, como alteracoes na estrutura
do sistema de Hammerstein ou de Wiener, poderiam levar o algoritmo a ser capaz de
lidar com distorcoes mais genericas. Outras funcoes objetivo tambem poderiam ser
58
testadas, como outros tipos de normas ou variacoes das normas L0 e L1 utilizadas.
Para futuros trabalhos nessa linha, e possıvel estudar modificacoes na estru-
tura do algoritmo de inversao proposto na Secao 5.2 para que ele consiga se adaptar
a distorcoes mais genericas, como foi o caso visto na Secao 5.3. Alem disso, a
aplicacao descrita na Secao 1.4 pode ser estudada mais a fundo para que a presenca
de distorcoes nao-lineares nao comprometa o algoritmo, de forma que sinais reais de
produtos audiovisuais possam ser contemplados tambem.
59
Referencias Bibliograficas
[1] SCHOENHERR, S., “Recording Technology History”, http://www.aes-
media.org/historical/html/recording.technology.history/notes.html,
Acesso em 15/06/2019.
[2] “Tinfoil Recordings”, http://cylinders.library.ucsb.edu/history-
tinfoil.php, Acesso em 15/06/2019.
[3] “History of the Cylinder Phonograph”, https://www.loc.gov/collections/
edison-company-motion-pictures-and-sound-recordings/articles-
and-essays/history-of-edison-sound-recordings/history-of-the-
cylinder-phonograph/, Acesso em 15/06/2019.
[4] SCHOENHERR, S., “The Early Gramophone”, http://www.aes-media.org/
historical/html/recording.technology.history/berliner.html, Acesso
em 15/06/2019.
[5] ENGEL, F., HAMMAR, P., “A Selected History of Magnetic Re-
cording”, http://www.richardhess.com/tape/history/Engel Hammar-
-Magnetic Tape History.pdf, Acesso em 13/07/2019.
[6] “Magnetic recording”, https://www.britannica.com/technology/magnetic-
recording, Acesso em 13/07/2019.
[7] “Magnetic Emulsions”, http://hyperphysics.phy-astr.gsu.edu/hbase/
Audio/tape2.html, Acesso em 13/07/2019.
[8] SCHOENHERR, S., “The Digital Revolution”, http://www.aes-media.org/
historical/html/recording.technology.history/digital.html, Acesso em
13/07/2019.
60
[9] FINE, T., “The Dawn of Commercial Digital Recording”, http://www.aes.org/
aeshc/pdf/fine dawn-of-digital.pdf, Acesso em 13/07/2019.
[10] RICHARDSON, J. H., “The Spotify Paradox: How the Creation of a Com-
pulsory License Scheme for Streaming On-Demand Music Services Can Save
the Music Industry”, UCLA Entertainment Law Review, v. 22, n. 1, pp. 45–74,
2014.
[11] SMITH, C., “Downloading music vs streaming music: Which is best for you?”,
http://home.bt.com/tech-gadgets/phones-tablets/downloading-music-
vs-streaming-music-which-is-best-for-you-11363974732804, Acesso
em 02/08/2019.
[12] LEWIS, J., “AN-1112: Microphone Specifications Explained”, https:
//wiki.analog.com/resources/app-notes/an-1112?do=, Acesso em
28/07/2019.
[13] MARE, S., “Detection of nonlinear distortion in audio signals”, IEEE Transac-
tions on Broadcasting, v. 48, n. 2, pp. 76–80, June 2002.
[14] AVILA, F. R., TCHEOU, M. P., BISCAINHO, L. W. P., “Audio Soft Declip-
ping Based on Constrained Weighted Least Squares”, IEEE Signal Processing
Letters, v. 24, n. 9, pp. 1348-1352, Sep 2017.
[15] LORDELO, C. P. V., Automatic Removal of Music Tracks from TV Program-
mes. Dissertacao de Mestrado, PEE/COPPE, UFRJ, Rio de Janeiro, 2018.
[16] TAN, C.-T., MOORE, B. C. J., ZACHAROV, N., et al., “Predicting the Per-
ceived Quality of Nonlinearly Distorted Music and Speech Signals”, Journal of
the Audio Engineering Society, v. 52, n. 7/8, pp. 699-711, July/August 2004.
[17] GLASBERG, B. R., MOORE, B. C. J., “A Model of Loudness Applicable to
Time-Varying Sounds”, Journal of the Audio Engineering Society, v. 50, n. 5,
pp. 331-342, May 2002.
[18] DURBRIDGE, S., “Rnonlin calc”, https://www.mathworks.com/
matlabcentral/fileexchange/50230-rnonlin calc, Acesso em 06/01/2019.
61
[19] HAYES, M. H., Statistical Digital Signal Processing and Modeling. New York,
NY, USA, John Wiley & Sons, 1996.
[20] AVILA, F. R., BISCAINHO, L. W. P., “ML estimation of memoryless nonli-
near distortions in audio signals”. In: 2014 IEEE International Conference on
Acoustics, Speech and Signal Processing (ICASSP), pp. 4493–4497, May 2014.
[21] CARVALHO, H. T., AVILA, F. R., BISCAINHO, L. W. P., “Bayesian sup-
pression of memoryless nonlinear audio distortion”. In: 23rd European Signal
Processing Conference (EUSIPCO), pp. 1058–1062, Aug 2015.
[22] DOGANCAY, K., “Blind compensation of nonlinear distortion for bandlimited
signals”, IEEE Transactions on Circuits and Systems I: Regular Papers, v. 52,
n. 9, pp. 1872–1882, Sep. 2005.
[23] DUARTE, L. T., SUYAMA, R., RIVET, B., et al., “Blind Compensation of
Nonlinear Distortions: Application to Source Separation of Post-Nonlinear Mix-
tures”, IEEE Transactions on Signal Processing, v. 60, n. 11, pp. 5832–5844,
Nov 2012.
[24] DUARTE, L. T., SUYAMA, R., ATTUX, R., et al., “A Sparsity-Based Method
for Blind Compensation of a Memoryless Nonlinear Distortion: Application to
Ion-Selective Electrodes”, IEEE Sensors Journal, v. 15, n. 4, pp. 2054–2061,
April 2015.
[25] AZGHANI, M., GHORBANI, A., MARVASTI, F., “Blind Iterative Nonlinear
Distortion Compensation Based on Thresholding”, IEEE Transactions on Cir-
cuits and Systems II: Express Briefs, v. 64, n. 7, pp. 852–856, July 2017.
[26] AVILA, F. R., BISCAINHO, L. W. P., “Audio soft declipping based on weigh-
ted L1-norm”. In: 2017 IEEE Workshop on Applications of Signal Processing
to Audio and Acoustics (WASPAA), pp. 299-303, New Paltz, NY, Oct 2017.
[27] AVILA, F. R., CARVALHO, H. T., BISCAINHO, L. W. P., “Bayesian Blind
Identification of Nonlinear Distortion with Memory for Audio Applications”,
IEEE Signal Processing Letters, v. 23, n. 4, pp. 414–418, April 2016.
62
[28] AVILA, F. R., DUARTE, L. T., BISCAINHO, L. W. P., “On the Sparsity-
Based Identification and Compensation of Hammerstein Systems”, IEEE Signal
Processing Letters, v. 24, n. 9, pp. 1363-1367, Sep. 2017.
[29] Zolzer, U. (ed.), DAFX: Digital Audio Effects. John Wiley & Sons, 2002.
63