banco filtros bw

Upload: victor-aizen-sousuke-kraile

Post on 12-Oct-2015

13 views

Category:

Documents


0 download

TRANSCRIPT

  • 1Procesamiento Digital de Procesamiento Digital de Seales de VozSeales de Voz

    Transparencias:Procesamiento de Seales y Mtodos de Anlisis Procesamiento de Seales y Mtodos de Anlisis

    para reconocimiento de Vozpara reconocimiento de VozAutor: Dr. Juan Carlos Gmez

    Basado en: Rabiner, L. and Juang, B-H.. Fundamentals of Speech Recognition,Prentice Hall, N.J., 1993.

    2

    IntroduccinIntroduccinComo ya vimos, los Sistemas de Reconocimiento de Voz comprenden diferentes disciplinas : Reconocimiento de patrones Estadsticos Teora de las Comunicaciones Procesamiento de Seales Matemtica Combinatoria LingsticaEl denominador comn de todo sistema de reconocimiento de voz es la etapa inicial (front-end) de procesamiento de seales, que convierte la seal de voz en alguna representacin paramtrica para su posterior anlisis y procesamiento.

  • 3Existe una amplia gama de posibilidades para la represen-tacin paramtrica de seales: Energa en tiempo corto (short-time energy) Tasa de cruce por cero (zero-crossing rate) Tasa de cruce por nivel (level-crossing rate) Envolvente del espectro en tiempo corto (short-time spectral envelope)Est ltima forma de representacin es la ms importante por su difundido uso; y los mtodos de anlisis espectral son considerados como el ncleo del procesamiento de seales

    4

    Modelos de Anlisis EspectralModelos de Anlisis EspectralRecordando el enfoque de reconocimiento de patrones y el acstico-fontico:

    Se representan los eventos acsticos relevantes de la Se representan los eventos acsticos relevantes de la seal de voz a partir de algunos parmetrosseal de voz a partir de algunos parmetros

    Medicin de Medicin de parmetrosparmetros

    Modelos o Modelos o TemplatesTemplates

    Comparacin Comparacin de patronesde patrones

    Lgica de Lgica de DecisinDecisin

    Seal de Voz

    Palabra reconocida

    Medicin de Medicin de parmetrosparmetros

    Medicin de Medicin de parmetrosparmetros

    Detector Detector CaracterstCaracterst. 1. 1

    Detector Detector CaracterstCaracterst. Q. Q

    Lgica de Lgica de Decisin del Decisin del Combinador Combinador

    CaractCaract..Testeo Testeo

    HipotesisHipotesis

    DiccionarioDiccionario

    Medicin de Medicin de parmetrosparmetros

  • 5Un buen entendimiento de la forma en la cul se utilizan las tcnicas de procesamiento de seales para implementar la fase de clculo de parmetros es fundamental para entender los diferentes enfoques para el reconocimiento de voz.

    Las 2 tcnicas para el procesamiento de seales ms comnmente usadas para reconocimiento de voz son:

    Modelo de Banco de FiltrosModelo de Banco de Filtros

    Modelo LPCModelo LPC

    6

    Modelo de Banco de FiltrosModelo de Banco de Filtros

    Filtro Filtro PasabandaPasabanda

    QQ

    Filtro Filtro PasabandaPasabanda

    11Seal de Seal de VozVozx(n)x(n) . .

    . .

    . . .

    .

    )( 1jn eX

    )( Qjn eX

    . . . .. . . .

    Q 321

    QSQISISI 3311SI 22

  • 7Modelo LPCModelo LPC

    Seal Seal de Vozde Voz

    x(n)x(n)

    Anlisis Anlisis Espectral Espectral

    LPCLPC

    DividirDividiren en FramesFrames

    Conversin deConversin deParmetrosParmetros

    LPCLPCna nc

    N MN M

    8

    Etapa Inicial (Etapa Inicial (FrontFront--EndEnd) de Procesamiento ) de Procesamiento del Banco de Filtrosdel Banco de Filtros

    ( ) ( ) ( ) ( ) ( ) Qiknskhnhnsns iMk

    ii == =

    11

    0

    NolinealidadNolinealidadFiltroFiltroPBndPBnd 11FiltroFiltroPBajoPBajo

    ReduccinReduccinTasa de Tasa de

    MuestreoMuestreo

    Compresin Compresin de Amplitudde Amplitud

    NolinealidadNolinealidadFiltroFiltroPBndPBnd QQFiltroFiltroPBajoPBajo

    ReduccinReduccinTasa de Tasa de

    MuestreoMuestreo

    Compresin Compresin de Amplitudde Amplitud

    . . .

    .. .

    . .

    . . .

    .. .

    . .

    . . .

    .. .

    . .

    . . .

    .. .

    . .

    . . .

    .. .

    . .

    ss11(n) v(n) v11(n) t(n) t11(n) u(n) u11(n) x(n) x11(n)(n)

    ssQQ(n) (n) vvQQ(n) (n) ttQQ(n) (n) uuQQ(n) (n) xxQQ(n)(n)

    s(n)s(n)

  • 9si(n) se pasa luego por un rectificador de onda completa (o de 1/2 onda). Esto desdobla el espectro de la seal pasabanda a un espectro en la banda de baja frecuencia y otra en la banda de alta frecuencia, que luego se elimina mediante un filtro pasabajos, obtenindose ui(n) que representa una estimacin de la energa de la seal de voz en cada una de la Q bandas de frecuencia.Suponiendo que la salida de i-simo filtro es una seal del tipo senoidal pura:

    si(n) = i.sen(i.n)El ancho de banda del filtro es lo suficientemente angosto para dejar pasar un nico armnico. As:

    vi(n) = si(n).w(n)Vi() = Si()W()

    10

    Formas de ondas y espectros tpicos para el Formas de ondas y espectros tpicos para el anlisis de una seal anlisis de una seal senoidal senoidal pura pura

  • 11

    A pesar de que el anlisis anterior es estrictamente correcto para seales senoidales puras, es un modelo razonablemente vlido para sonidos tonales cuasi-peridicos siempre que el filtro pasabanda no deje pasar 2 o ms armnicos de la seal.La naturaleza de variacin en el tiempo de las seales de voz (cuasi-periodicidad) hace que el espectro de la seal ubicado en la banda de baja frecuencia no sea un impulso puro, sino que la informacin este contenida en una banda.A continuacin se muestra una seccin de 20mseg de voz tonal procesada por un canal angosto centrado en 500Hz (y con una Fs=10KHz).

    12

    Formas de ondas y espectros de seal de voz Formas de ondas y espectros de seal de voz con modelo de anlisis banco de filtroscon modelo de anlisis banco de filtros

    500 500 HzHz

  • 13

    El espectro de la seal resultante muestra la deseada concentracin de energa en baja frecuencia, as como picos no deseados en 1000 Hz, 2000 Hz, etc. La funcin del filtro Pasa Bajo es eliminar esos picos indeseados. El ancho de banda de la seal est relacionado con la velocidad ms rpida de movimiento de los harmnicos de la seal y est en el orden de 20-30 Hz. Los ltimos dos bloques en el modelo de banco de filtros son:

    un bloque de reduccin de la tasa de muestreo de las seales filtradas con el filtro Pasa-Bajo, , que son re-muestreadas con una frecuencia del orden de 40-60 Hz (para obtener una representacin ms econmica), y

    un bloque de compresin del rango dinmico de la seal usando algn esquema de compresin como ser codificacin logartmica, o codificacin con ley .

    ( )ji eV

    ( )nvi

    ( )nti

    14

    Ejemplo:Ejemplo: Consideremos un banco de filtros con Q=16 canales, para una seal de voz de banda ancha con mxima frecuencia de inters de 8 KHz. Se asume una frecuencia de muestreo de Fs = 20 KHz, para evitar aliasing. La tasa de informacin de la seal sin procesar es

    segKbits240

    muestrabits12

    segmuestras20000 =

    A la salida del analizador, si se usa una frecuencia de muestreode 50 Hz y una compresin de amplitud logartmica de 7 bits, se tiene una tasa de informacin de

    segbits5600

    muestrabits7

    canal seg.muestras50 canales 16 =

    lo que representa una reduccin de 40-1 de la tasa de bits.

  • 15

    Tipos de Bancos de FiltrosTipos de Bancos de FiltrosA)A) Uniforme:Uniforme: Es el ms comn, la frecuencia central fi del i-simo filtro pasabanda se define como:

    donde FS es la frecuencia de muestreo y N es el nmero de filtros uniformemente equiespaciados para cubrir el rango de frecuencias de voz. El nmero de filtros Q satisface la relacin:

    El ancho de banda bi del i-simo filtro satisface:

    la condicin de igualdad se verifica si no hay solapamiento

    QiiNFf Si = 1

    2/NQ

    NFb Si

    16

    Respuesta ideal y real de un banco de filtros Respuesta ideal y real de un banco de filtros con Q canalescon Q canales

    Rango de frecuencias: FRango de frecuencias: FSS/N /N (Q + 1/2) F(Q + 1/2) FSS/N/N

  • 17

    B) B) No Uniforme:No Uniforme: Se disean segn algn criterio particu-lar de espaciamiento en frecuencia. Un criterio comn es distribuir las frecuencias en forma logartmica. As, para Q filtros pasabanda, la frecuencia central fi y el ancho de banda bi del i-simo filtro se define como:

    donde C y f1 se definen arbitrariamente.Los valores de usados ms frecuentemente son =2 que determina un espaciamiento de una octava y =4/3 que determina un espaciamiento de 1/3 de octava.

    ( )2

    2.1

    11

    1

    1

    jij

    i

    ji

    ii

    bbbff

    QibbCb

    ++==

    =

    =

    18

    Especificaciones ideales de bancos de filtros Especificaciones ideales de bancos de filtros en el rango telefnico (200en el rango telefnico (200--3200 3200 HzHz))

    4 canales4 canales1 octava1 octavaf1=300 Hz, C=200 Hz

    12 canales12 canales3 octavas3 octavasf1=225 HzC=50 Hz

    7 canales7 canalesEscala crticaEscala crtica

  • 19

    La escala crticaescala crtica est basada en estudios de percepcin del odo humano. La escala es prcticamente lineal hasta frecuencias de aproximadamente 1000 Hz, y para frecuencias superiores es logartmica (es decir el ancho de banda de los filtros es exponencial en funcin de la frecuencia).

    1000 Hz

    f

    Ancho de Banda Crtico

    0

    20

    Implementacin de los Bancos de FiltrosImplementacin de los Bancos de FiltrosLos mtodos de diseo de filtros digitales pueden dividirse en 2 clases segn el tipo de respuesta al impulso:1) Filtros IIR (o filtros recursivos): La implementacin ms eficiente es realizar cada filtro pasabanda individual mediante una estructura cascada o paralelo.2) Filtros FIR: La implementacin ms simple es la estructura directa, para la cul si hi(n) es la FIR del i-simo filtro con L muestras, la salida del filtro es:

    Esta ecuacin si bien es simple requiere un alto nivel de requerimiento de clculos (memoria).

    ( ) ( ) ( ) ( ) ( ) Qiknskhnhnsnx iLk

    ii == =

    11

    0

  • 21

    2) Filtros FIR: Una alternativa de implementacin menos costosa se da en el caso en que cada respuesta al impulso de los filtros pasabanda puede representarse como una ventana fija pasabajos, w(n), modulada por e j n, as:

    donde Sn() es la transformada de Fourier a corto plazo (Short-Time Fourier Transform) de s(n)

    ( ) ( ) nijenwnhi =( ) ( ) ( ) ( ) ( ) ( )

    ( ) ( ) ( )

    n

    L

    k

    L

    k

    L

    ki

    Seeknwkse

    eknwksknsekwnx

    nijkijnij

    knijkij

    ==

    ==

    =

    =

    =1

    0

    1

    0

    1

    0

    22

    Interpretacin en el dominio Interpretacin en el dominio frecuencialfrecuencial de de la Transformada de la Transformada de FourierFourier a Corto Plazoa Corto Plazo

    La Transformada de Fourier a Corto Plazo (STFT) de la seal s(n) se define como:

    Para un n fijo n=n0

    obtenemos la FT convencional de la seal truncada, s(k)w(n0-k), evaluada en la frecuencia =i. A continuacin se muestran las seales s(m) y w(n0-m)para n0= 50, 100 y 200

    ( ) ( ) ( ) kijeknwksS Lk

    n

    ==

    1

    0

    ( ) ( ) ( ) kijeknwksS Lk

    n

    ==

    0

    1

    00

  • 23

    Dado que w(n) es un filtro FIR, siendo L el nmero de muestras, podemos establecer que:1. Si L es grande, comparado con la periodicidad de la seal (pitch), entonces Sn() tiene buena resolucin en frecuencia (podemos visualizar pitchs armnicos individuales) pero slo se ve a grandes rasgos la envolvente del espectro total en la seccin de voz cubierta por la ventana.2. Si L es chico, comparado con la periodicidad de la seal, Sn()tiene una resolucin en frecuencia pobre, pero provee una buena estima de la envolvente del espectro total.

    24

    STFT (de 500 y 50 muestras) de una Seal STFT (de 500 y 50 muestras) de una Seal Tonal usando Ventana de Tonal usando Ventana de HammingHamming

    formantes

  • 25

    STFT (de 500 y 50 muestras) de una Seal STFT (de 500 y 50 muestras) de una Seal No Tonal usando Ventana de No Tonal usando Ventana de HammingHamming

    26

    Interpretacin de Filtrado Lineal de la Interpretacin de Filtrado Lineal de la Transformada de Transformada de FourierFourier a Corto Plazoa Corto Plazo

    La Transformada de Fourier a Corto Plazo (STFT) para valores fijos de i queda expresada como:

    siendo esta convolucin de tipo circular. As, podramos interpretar la frmula anterior a partir del siguiente grfico:

    Para una i fija la STFT da una representacin del espectro de la seal en una banda alrededor de i.

    ( ) ( ) )(nwensS nijin =

    w(n)X

    ije

    ( ) ( ) ( )inSns~ns

    ( ) ( ) ( ) ( ) ( ) WSSSS iini .~Como +=+=

  • 27

    Implementacin con FFT del Banco de Implementacin con FFT del Banco de Filtros Uniforme basado en la STFTFiltros Uniforme basado en la STFT

    Considerando un banco de filtros uniformemente equiespaciados:

    Luego:

    Dividiendo la sumatoria en una doble sumatoria de r y k en la cul:

    y llamando: sn(m)=s(m).w(n-m)

    QiiNFf Si = 1

    ( ) ( ) ( )=

    =m

    miN

    jniN

    j

    i emnwmsenx 22

    +=

    rNk

    krNm10

    28

    Obtenindose entonces:

    Donde puede verse que xi(n) es una versin modulada de la DFT de la secuencia un(k)

    ( ) ( ) ( )

    ( )

    =

    +=

    +=

    =

    =

    =

    =

    +

    =

    kiN

    j

    n

    N

    k

    niN

    j

    kiN

    j

    rn

    N

    k

    niN

    j

    r

    krNiN

    j

    n

    N

    k

    niN

    j

    i

    ekue

    ekrNse

    ekrNsenx

    21

    0

    2

    21

    0

    2

    21

    0

    2

    )(

    un(k)

  • 29

    As, los pasos bsicos en el clculo del banco de filtros uniforme a partir de la FFT son:1. Obtener la seal truncada sn(m)=s(m).w(n-m) con m=n-L+1,...,n donde w(n) es causal y tiene FIR de L muestras2. Formar un(k)= sn(N r + k) con 0 k N-1. Es decir, separa la seal sn(m) en porciones de N muestras y sumar estas para obtener una seal de N muestras3. Calcular la DFT de N puntos de un(k)4. Modular la DFT usando la secuencia e j 2 i n / N Este paso puede evitarse desplazando en forma circular la secuencia un(k) la cantidad n+N muestras para obtener un((k-n))N, con 0 k N-1 antes de calcular la DFT

    30

    1. Obtener la seal trun-cada sn(m)=s(m).w(n-m)2. Separar la seal sn(m)en porciones de Nmuestras y sumar estas para obtener una seal de N muestras3. Calcular la DFT de Npuntos de un(k)

    Pasos bsicos en el clculo del banco de filtros Pasos bsicos en el clculo del banco de filtros uniforme a partir de la FFTuniforme a partir de la FFT

  • 31

    La cantidad de clculos para la implementacin del banco de filtros es:

    Si consideramos a R como la tasa entre las cantidades de clculos para la implementacin directa del banco de filtros y la implementacin mediante FFT:

    Asumiendo N=32 (un banco de filtro de 16 canales) con L=128 (es decir una FIR de 12,8 mseg a una tasa de muestreo de 10KHz) y Q=16 canales, tenemos entonces:

    La implementacin via FFT es 6,4 veces ms eficiente.

    sumasy cionesmultiplica log2~ NNCFBFFT =

    NlogN2QL

    CCR

    FBFFT

    DFFIR ==

    4,65.32.2

    16.128R ==

    32

    Implementacin del Banco de Filtros no Implementacin del Banco de Filtros no uniforme con FIRuniforme con FIR

    En su forma ms general, en un banco de filtros no uniforme cada filtro pasabanda se implementa va convolucin directa, dado que no puede usarse una estructura FFT.

    Para el caso en que cada filtro pasabanda se disea va el mtodo de ventana, usando la misma ventana pasabajos, podemos demostrar que la respuesta en frecuencia combinada del banco de filtros con Q canales, es independiente del nmero y la distribucin de los filtros individuales.

  • 33

    Para demostrar esto escribimos la respuesta al impulso del k-simo filtro pasabanda como:

    donde es la respuesta al impulso ideal del filtro pasabanda que se est diseando. La respuesta en frecuencia puede entonces escribirse como:

    La respuesta en frecuencia total del banco de filtros es entonces:

    La ltima sumatoria es la suma de respuestas frecuencialesideales, donde vemos que es independiente del nmero y distribucin de los filtros individuales y esta sumatoria es 1 en el rango de frecuencias del banco de filtros.

    ( ) ( ) ( )nhnwnh kk ~.=

    ( ) ( ) ( )H~WH kk =

    ( ) ( ) ( ) ( ) ( ) ( )H~WH~WHH kQ

    1kk

    Q

    1kk

    Q

    1k===

    ===

    ( )nhk~

    34

    Banco de Filtros No Uniforme basado en FFTBanco de Filtros No Uniforme basado en FFTUna forma de aprovechar la estructura de la FFT para crear un banco de filtros no uniformes es mediante la combinacin de 2 o 3 canales uniformes. Est tcnica equivale a aplicar una ventana modificada a la secuencia antes de aplicarle la FFT. Para ver esto consideremos la DFT de N puntos de la secuencia x(n)derivada de la seal de voz s(n) mediante ventaneado con w(n)

    Si sumamos dos DFT de salida tenemos:

    ( ) 10210

    =

    = NkenxX knNjNn

    k

    ( ) ( )

    [ ( ) ] knNjNnjNn

    knN

    jknN

    jN

    nkk

    eNnenx

    eenxXX

    21

    0

    1221

    01

    )/cos(2

    )(

    =

    +

    =+

    =

    +=+

  • 35

    La frmula anterior podra verse como la salida de un canal equivalente donde la secuencia x(n) est ponderada en el tiempo por la secuencia compleja .

    Si se combinan 2 o ms canales se puede obtener una secuencia diferente que pondere a la seal. As combinando canales FFT se pueden obtener rpidamente filtros pasabanda ms anchos.Est tcnica constituye un mtodo simple y efectivo para realizar ciertos estructuras de bancos de filtros no uniformes.

    )/cos(2 Nne Nnj

    36

    Ejemplos Prcticos de Ejemplos Prcticos de Bancos de Filtros para Bancos de Filtros para Reconocimiento de VozReconocimiento de Voz

  • 37

    Banco de Filtros uniforme de 15 canalesBanco de Filtros uniforme de 15 canalesEl filtro bsico pasaba-jos fue diseado me-diante la tcnica de ventana usando una de Kaiser de 101 puntos.En a) se ve la IR del filtro ideal pasabajosmultiplicado por la ventana de Kaiser.En b) se ve la IR de los filtros individuales en la banda de filtrado.En c) se ve la respuesta en frecuencia total.

    38

    Banco de Filtros uniforme de 15 canalesBanco de Filtros uniforme de 15 canalesEl filtro pasabajos fue diseado mediante la tcnica de ventana usando una ventana de Kaiser como filtro pasabajos (figura a) )En b) y c) vemos la respuesta en frecuencia de los filtros individua-les (ms angostos) y del banco total. Claramente este banco no es aceptable para reconocimiento de voz.

  • 39

    Banco de Filtros No Uniforme de 4 canalesBanco de Filtros No Uniforme de 4 canales

    El filtro de una octava cubre el rango de 200 a 3200Hz y fue diseado usando filtros de fase lineal con FIR.

    Cada filtro individual tiene 101 muestras