Estudio filtro iir

download Estudio filtro iir

of 29

  • date post

    01-Mar-2018
  • Category

    Documents

  • view

    222
  • download

    0

Embed Size (px)

Transcript of Estudio filtro iir

  • 7/25/2019 Estudio filtro iir

    1/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 75

    Jos Manuel Marn de la Rosa

    ESTUDIO DEL FILTRO IIREN PRESENCIA DE S.E.U.

    4.1. INTRODUCCIN

    En este apartado vamos a hacer un estudio de un filtro IIR en

    particular, en concreto un filtro IIR paso de bajo con los siguientes

    parmetros:

    - Frecuencia de paso: fp = 5 Khz.,

    - Frecuencia de corte: fs = 7 Khz.,

    - Atenuacin en la banda de paso: rp = 1 dB,

    -

    Atenuacin en la banda de rechazo: rs = 25 dB,

  • 7/25/2019 Estudio filtro iir

    2/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 76

    Jos Manuel Marn de la Rosa

    - Frecuencia de muestreo: fsim = 48 Khz.,

    Este filtro ser el que tendremos que implementar en la FPGA para

    despus, como hemos realizado con el FIR, estudiar su sensibilidad en

    presencia de SEU (Single Event Upset). Para implementarlo tendremos que

    saber su orden y sus coeficientes, ya que un filtro IIR es parecido a un FIR

    pero se diferencia en que el IIR tiene una etapa de realimentacin de la

    salida que no tenia el IIR (Ver Fundamentos tericos).

    Una vez que sepamos el orden del filtro (que por regla general, para

    unas especificaciones parecidas como son las del FIR que usamos en el

    captulo anterior y las de el IIR que vamos a implementar, es siempre de un

    orden mucho menor que el del FIR) y los coeficientes, lo que tendremos

    que hacer es implementarlo en un lenguaje de descripcin hardware

    (VHDL), tal y como hicimos con el FIR. Al igual que en el FIR, en el IIR,

    los retrasos los implementaremos con flip-flops.

    Cuando tengamos implementado el filtro en la FPGA el siguiente

    paso ser comprobar que efectivamente funciona como debe de funcionar y

    que filtra las frecuencias oportunas (comprobacin similar a la que hicimos

    en el FIR), o sea comprobar si el filtro real implementado en la FPGA,

    genera las mismas salidas que el filtro terico implementado en

    MATLAB ante el mismo estmulo de entrada.

    Llegados a este momento, ya tenemos nuestro filtro IIR

    implementado en la FPGA, ahora es cuando haremos un estudio exhaustivo

    sobre l realizndole diversas pruebas para ver como de sensible es en

    presencia de SEU.

  • 7/25/2019 Estudio filtro iir

    3/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 77

    Jos Manuel Marn de la Rosa

    Todos estos pasos se irn describiendo en los siguientes apartados.

    4.2. CARACTERIZACIN DEL FILTRO FIR EN MATLAB

    Una vez que sabemos las especificaciones del filtro, el primer paso

    que debemos de dar ser saber cual es el orden de dicho filtro y cuales son

    sus coeficientes. Para esto utilizamos MATLAB. Vamos a usar en este caso

    la aproximacin elptica, y para sacar el orden y los coeficientes usamos la

    siguiente funcin de MATLAB:

    % Funci on que gener a un f i l t r o el pt i co paso baj o, con

    f r ecuenci a de paso f p, f r ecuenci a de l a banda de r echazof s, at enuaci n

    % de l a banda de de paso r p, atenuaci n de l a bada de

    r echazo r s

    r p=1;

    r s=25;

    f p=5000;

    f s=7000;

    f si m=48000;

    wp=2*f p/ f si m;

    ws=2*f s/ f si m;

    [ N, Wn] =el l i por d ( wp, ws, r p, r s) ;

  • 7/25/2019 Estudio filtro iir

    4/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 78

    Jos Manuel Marn de la Rosa

    [ b, a] =el l i p( N, r p, r s, Wn) ;

    f =1: 100: 20000;

    H=f r eqz( b, a, f , f si m) ;

    pl ot ( f , abs(H) ) ;

    Con esta funcin obtenemos el orden del filtro (N) y los coeficientes

    (a y b). El orden sale 4 y los coeficientes son:

    Coeficientes a Valor

    a1 0

    a2 -2.9457

    a3 3.6851

    a4 -2.2205

    a5 0.5502

    Tabla 3: Coeficientes a

    Coeficientes b Valor

    b0 0.0695

    b1 -0.1308

    b2 0.1842

    b3 -0.1308

    b4 0.0695

    Tabla 4: coeficientes b

    En Realidad, el coeficiente a1 del filtro no es 0, sino que es 1. Lo que

    pasa es que nosotros lo haremos 0, ya que el 1 se le suma automticamente

  • 7/25/2019 Estudio filtro iir

    5/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 79

    Jos Manuel Marn de la Rosa

    al estar el bloque de los coeficientes a en el bucle de realimentacin (ver

    figura 21).

    Estos son los coeficientes que tendremos que digitalizar para poder

    implementar el filtro en la FPGA.

    Y el filtro que se obtiene es el siguiente:

    Figura 20: filtro IIR implementado

  • 7/25/2019 Estudio filtro iir

    6/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 80

    Jos Manuel Marn de la Rosa

    Para comprobar que esto funciona bien, hacemos uso de la

    herramienta SIMULINK de MATLAB y hacemos el siguiente montaje:

    Figura 21: Montaje simulink filtro IIR

    En la figura 21 lo que hemos realizado ha sido meter 2 bloques

    discrete filter en el que le hemos pasado como parmetros, dentro de las

    variables b(z) y a1(z) los coeficientes de la tabla 4 y la tabla 3

    respectivamente.

    Para probarlo, le hemos introducido 2 seales de entrada, en concreto

    2 senos, uno a una frecuencia dentro de la banda de paso (4 khz) y otro

    superior a la banda de paso (5.5 Khz.), y comprobamos que a la salida se

    filtra y solo tenemos el seno de 4 Khz. Si simulamos, lo que se obtiene es

    lo siguiente:

  • 7/25/2019 Estudio filtro iir

    7/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 81

    Jos Manuel Marn de la Rosa

    Figura 22: Salida filtro IIR

    Como se observa en la figura 22, en el osciloscopio se mete tanto la

    entrada como la salida, para poder visualizar las dos seales a la vez. La

    entrada (ambas senoides sumadas) es la seal amarilla, y la seal de salida,

    la filtrada (que debe de ser solo la sinusoidal de 4 Khz.) es la seal rosa. Se

    ve claramente como el filtro funciona correctamente, y como a la salida

    tenemos solo la seal de 4 Khz. (discretizada claro est al tratarse de un

    filtro discreto).

    Si hacemos un anlisis espectral de nuestro sistema, poniendo a la

    salida de nuestro filtro IIR un analizador de espectro obtenemos la imagen

    de la figura 23, en la que podemos ver la seal de salida en el tiempo, la

    densidad espectral de potenica y la fase. Como caba esperar tenemos 2

    sampling, una centrada a la frecuencia de 4 Khz. de gran densidad de

  • 7/25/2019 Estudio filtro iir

    8/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 82

    Jos Manuel Marn de la Rosa

    potencia, y otra pequea sampling de frecuencia 5.5 Khz. con muy baja

    densidad de potencia a la salida, ya que es filtrada casi en su totalidad.

    Figura 23: Anlisis espectral de la salida del filtro

  • 7/25/2019 Estudio filtro iir

    9/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 83

    Jos Manuel Marn de la Rosa

    4.3. IMPLEMENTACIN DEL FILTRO EN LA FPGA

    Una vez que ya tenemos nuestro filtro perfectamente caracterizado y

    definido ( El filtro es de orden 4, y sabemos todos sus coeficientes), el

    siguiente paso ser implementarlo en una FPGA, y para ello habr que

    implementar la estructura del filtro IIR (Figura 21) en un lenguaje de

    descripcin hardware, que en nuestro caso ser el lenguaje VHDL.

    La estructura que tenemos que implementar en hardware es una

    estructura como la que sigue:

    Figura 24: Estructura directa I filtro IIR

    Que como vimos en los fundamentos tericos, se trata de la

    estructura directa I.

    Para nuestro diseo, hemos decidido, que la seal digital que entra en

    el filtro (X(n)) provenga de digitalizar la seal analgica con 18 bits, as

    que las muestras de la seal de entrada estarn codificadas con 18 bits, ya

    que as logramos tener una buena precisin. Y los coeficientes de nuestro

    filtro lo vamos a codificar con 9 bits y vamos a usar 1 bit para codificar la

    parte entera de los coeficientes y 8 para la parte decimal.

  • 7/25/2019 Estudio filtro iir

    10/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 84

    Jos Manuel Marn de la Rosa

    Lo primero que tenemos que realizar es codificar los coeficientes de

    las tablas 3 y 4 en 9 bits ( 1 para la parte entera y 8 para la parte decimal) .

    Si cuantizamos, tendremos que multiplicarlos por 256, eso es lo q vamos a

    hacer con los coeficientes b. Con los a, para que no salgan muy grandes y

    no lo podamos codificar, lo multiplicaremos por 64, y sabemos que despus

    la salida que se obtenga hay que multiplicarla por 4 para que todo salga

    correcto (esta multiplicacin se har en hardware, la codificaremos en

    VHDL).

    As que haremos eso, multiplicaremos todos los coeficientes por esos

    valores y redondearemos al entero ms cercano obteniendo la siguiente

    tabla:

    Coeficiente Valor Codificacin con 9

    bits en CA2

    a1 0 000000000

    a2 -189 101000011

    a3 236 011101100

    a4 -142 101110010

    a5 35 000100011

    Tabla 5: Coeficientes a Codificados en CA2

  • 7/25/2019 Estudio filtro iir

    11/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 85

    Jos Manuel Marn de la Rosa

    Coeficiente Valor Codificacin con 9

    bits en CA2

    b0 18 000010010

    b1 -33 111011111

    b2 47 000101111

    b3 -33 111011111

    b4 18 000010010

    Tabla 6: coeficientes b Codificados en CA2

    Para implementar en hardware la estructura de la figura 21

    actuaremos como en el caso del filtro FIR, es decir, modelando los retrasos

    con flip-flops, a los que les entrarn un vector de 18 bits y saldrn otro

    vector de 18 bits retrasados un ciclo. La salida de cada biestable es

    multiplicada por el coeficiente correspondiente, para implementar dicha

    multiplicacin usaremos multiplicadores de 18X9 bits y el resultado se ir

    almacenando en un vector de 27 bits para evitar el overflow. Luego se hace

    la suma de todas las multiplicaciones de la seal de entrada por los

    coeficientes b, y le restamos la suma de todas las multiplicaciones de la

    seal de salida por los coeficientes a, para hacer la realimentacin de la

    salida al tratarse de un filtro IIR. Y por ltimo, el resultado se mete en un

    vector de salida de 18 bits. Esto, a grosso modo, es lo que se ha realizado

    para implementar el filtro en la FPGA. El cdigo en VHDL, queda de la

    siguiente manera:

  • 7/25/2019 Estudio filtro iir

    12/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 86

    Jos Manuel Marn de la Rosa

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    - - Fi l t r o I I R:

    - - Seal di gi t al de ent r ada de 18 bi t s

    - - Coef i ci ent es de 9 Bi t s

    - - Fi l t r o paso de baj a t i po But t er wor t h, con f r ecuenci a

    de cor t e de 5 Khz.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    l i br ar y i eee;

    use i eee. st d_l ogi c_1164. al l ;

    use i eee. numer i c_std. al l ;

    - - Fi l t r o i i r

    l i br ar y i eee;use i eee. st d_l ogi c_1164. al l ;

    use i eee. numer i c_std. al l ;

    use work. f i r_coef . al l ;

    ent i t y i i r i s

    port ( cl k, r eset , l oad: i n std_ l ogi c;

    dat a_i n: i n st d_l ogi c_vect or ( 17 downt o 0) ;

    dat a_out : out st d_l ogi c_vect or ( 17 downt o 0) ;

    ul t i ma_etapa: out st d_l ogi c_vect or ( 17 downt o 0) ) ;

    end i i r ;

  • 7/25/2019 Estudio filtro iir

    13/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 87

    Jos Manuel Marn de la Rosa

    archi t ecture a_ i i r of i i r i s

    si gnal dat a_out i : st d_l ogi c_vect or ( 17 downt o 0) ;

    si gnal dat a_out b, dat a_out a: si gned ( 17 downt o 0) ;

    si gnal dat a_out bv, dat a_out av: st d_l ogi c_vect or ( 17

    downt o 0) ;

    component f i r

    Gener i c ( es_a: i nt eger : =0) ;

    port ( cl k, r eset , l oad: i n std_ l ogi c;

    dat a_i n: i n st d_l ogi c_vect or ( 17 downt o 0) ;

    dat a_out : out st d_l ogi c_vect or ( 17 downt o 0) ;

    ul t i ma_etapa: out st d_l ogi c_vect or ( 17 downt o 0) ) ;

    end component ;

    begi n

    f i r _a: f i r

    gener i c map ( es_a=>1)por t map ( cl k=>cl k, r eset =>r eset , l oad=>l oad,

    data_i n=>data_out i , data_out =>dat a_out av) ;

    dat a_out a 0)

    por t map ( cl k=>cl k, r eset =>r eset , l oad=>l oad,

    data_i n=>data_i n, data_out =>dat a_out bv) ;

    data_out b

  • 7/25/2019 Estudio filtro iir

    14/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 88

    Jos Manuel Marn de la Rosa

    begi n

    i data_t mp : =

    ( dat a_out b( 17) &data_out b( 17) &data_out b( 17 downt o 0) ) -

    ( dat a_out a&"00" ) ;

    i f i data_t mp( 19 downt o 18) = "01" t hen - -

    si gni f i ca que desbor da por ar r i ba

    data_t mp: =( 17=>' 0' , others=>' 1' ) ;

    el si f i dat a_t mp( 19 downt o 18) = "10" t hen -

    - si gni f i ca que desbor da por abaj o

    data_t mp: =( 17=>' 1' , others=>' 0' ) ;

    el se

    dat a_t mp: =i dat a_t mp( 17 downto 0) ;

    end i f ;

    dat a_out i

  • 7/25/2019 Estudio filtro iir

    15/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 89

    Jos Manuel Marn de la Rosa

    Este cdigo es el Top del filtro IIR, este cdigo, junto con la

    descripcin de los componentes, se adjuntan al final de la documentacin

    en el apartado Anexos.

    Una vez que ya tenemos implementado nuestro filtro FIR en la

    FPGA, lo que tenemos que hacer es probar si realmente funciona bien, para

    ello, como hicimos en el caso del FIR, lo que hicimos es compararlo con el

    filtro terico que caracterizamos en MATLAB, siguiendo los mismos

    pasos que para el FIR, es decir meterle a los dos la misma entrada y ver las

    salidas, sabiendo que tenemos que obtener salidas parecidas.

    Esta prueba la realizamos en el laboratorio y observamos un

    resultado positivo. (omitiremos los ficheros obtenidos ya que son parecidos

    a los que se obtuvieron en el caso del filtro FIR). Como en el caso anterior,

    los pequeos errores que se tienen son errores difciles de evitar debido a

    los redondeos y truncamientos que se hacen en el filtro digital para obtenerla salida.

  • 7/25/2019 Estudio filtro iir

    16/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 90

    Jos Manuel Marn de la Rosa

    4.4. ESTUDIO EXHAUSTIVO DEL FILTRO IIR. PRUEBAS

    REALIZADAS

    En este punto estudiaremos como se comporta este filtro IIR que

    hemos implementando en la FPGA en presencia de SEU.

    El estudio que vamos a hacer del filtro ser un estudio similar al que

    hicimos con el filtro FIR, o sea, introduciremos fallos en determinadas

    partes de nuestro filtro con ayuda de la misma herramienta que usamos

    para el estudio del FIR diseada en el proyecto FT-UNSHADES a la

    cual ya hicimos referencia en el capitulo anterior, y cuya documentacin,

    como ya dijimos, la introducimos en el capitulo Anexos, y veremos la

    respuesta del filtro ante estos fallos, viendo si se produce error o no en la

    salida del filtro, para as, hacer un mapa de nuestro filtro viendo donde si

    se produce fallo en ese sitio es ms grave para nuestro sistema, ya que

    como veremos, habr bits en los cuales, aunque se introduzca un fallo, la

    salida no lo notar y ser igual que si no se hubiese producido dicho fallo.

    Mientras que habr otros bits, en los cuales si se tiene un fallo en ese bit,

    ser crtico para nuestro filtro, ya que un fallo en ese bit puede que siempre

    produzca un fallo en la salida. As, como hicimos para el FIR, sabremos

    que registros y que bits dentro de dichos registros son ms interesantes

    de proteger para un mejor funcionamiento de nuestro sistema.

    En este apartado, como ya hemos dicho, el estudio va a ser muy

    similar al que hicimos para el FIR, pero vamos a variar un poco nuestro

    modos operandi ya que en vez de ir creando distintas pruebas

    redundando bits diferentes (eso conllevaba crear un cdigo nuevo cada vez,

    compilarlo y cargarlo en la FPGA) lo que vamos a hacer es que slo vamos

  • 7/25/2019 Estudio filtro iir

    17/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 91

    Jos Manuel Marn de la Rosa

    a atacar los bits que no queramos redundar, sin tocar los que queramos

    darle triple redundancia modular, o sea, que vamos a utilizar un nico

    diseo desprotegido y slo vamos a introducir errores en los bits de los

    registros que no queramos redundar en esa prueba, ya que introducir un

    error en un bit redundado no sirve para nada, ya que sabemos que al tener

    triple redundancia modular ese fallo no se ver reflejado en un error a la

    salida de nuestro sistema. Y as podremos ver tambin, al igual que en el

    caso anterior, que registros y bits son ms importantes de redundar

    ahorrando una gran cantidad de tiempo en pruebas de laboratorio.

    4.4.1. PRUEBAS REALIZADAS

    PRUEBA 0: La primera prueba que realizamos fue ver como

    funcionaba nuestro filtro sin proteccin, o sea, sin redundar nada, en

    presencia de SEU, y los resultados que se obtuvieron, nos dejaron ver que,

    como al igual que el FIR, los bits ms sensibles son los bits ms

    significativos, ya que un fallo en uno de ellos producen casi

    automticamente un error en la salida. O sea, ya sabemos que estos son los

    bits ms importantes a la hora de redundar. (Nota: esta prueba fueorientativa, por esa razn no guardamos datos ni documentos, de las

    sucesivas si tenemos toda la informacin)

  • 7/25/2019 Estudio filtro iir

    18/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 92

    Jos Manuel Marn de la Rosa

    PRUEBA 1:La siguiente prueba que realizamos fue la siguiente:

    Registro a_0: Simple

    Registro a_1: Solo redundamos el bit ms significativo, el MSB

    Registro a_2: Redundamos los 2 bits MSB

    Registro a_3: Redundamos los 3 bits MSB

    Registro b_0: Simple

    Registro b_1: Redundamos el MSB

    Registro b_2: Redundamos los 2 bits MSB

    Registro b_3: Redundamos los 3 bits MSB

    Registro b_4: Redundamos los 4 bits MSB

    Para realizar esta prueba, no tuvimos que crear de nuevo el fichero

    VHDL compilarlo y pasarlo a la FPGA, lo que hicimos, para acelerar el

    proceso, fue solamente atacar el diseo desprotegido, pero solamente los

    bits que no se redundan, ya que como dijimos antes, atacar un bitredundado no sirve de nada, porque sabemos que un fallo en el, no dar

    error en la salida.

    Pues haciendo esta prueba, los resultados que obtuvimos fueron los

    siguientes:

    - Flip-flops bajo ataque: 198

    - Tasa de error: 8.26 %

    - Errores se producen 2.9 ciclos de media despus de introducirse

    el error, en un rango de 1 a 13 ciclos.

  • 7/25/2019 Estudio filtro iir

    19/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 93

    Jos Manuel Marn de la Rosa

    Como se puede observar, redundando muy pocos bits, ya se tiene una

    tasa de error relativamente baja. Si observamos el fichero de salida

    referente a esta prueba 1 (adjunto en CD), se puede observar como casi

    todos los errores se tienen en los bits del 10 al 17 de cada registro, as que

    redundando estos bits casi con total seguridad se puede obtener una tasa de

    fallos muy reducida.

    PRUEBA 2: En esta prueba vamos a redundar los bits del 10 al 17 de cada

    registros, o sea, los 8 bits ms significativos tanto de los registros de a,

    como los registros de b.

    Registro a_0: Redundamos los 8 bits ms significativos

    Registro a_1: Redundamos los 8 bits ms significativos

    Registro a_2: Redundamos los 8 bits ms significativosRegistro a_3: Redundamos los 8 bits ms significativos

    Registro b_0: Redundamos los 8 bits ms significativos

    Registro b_1:Redundamos los 8 bits ms significativos

    Registro b_2: Redundamos los 8 bits ms significativos

    Registro b_3: Redundamos los 8 bits ms significativos

    Registro b_4: Redundamos los 8 bits ms significativos

    Para realizar esta prueba, lo nico que tenemos que hacer es dejar de

    atacar a los 8 MSB de cada registro, o sea, vamos a atacar a los 10 bits

    menos significativos de todos los registros.

  • 7/25/2019 Estudio filtro iir

    20/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 94

    Jos Manuel Marn de la Rosa

    Realizando esta prueba, los resultados que obtuvimos fueron los

    siguientes:

    - Flip-flops bajo ataque: 122

    - Tasa de error: 0.57 %

    - Errores se producen 2.2 ciclos de media despus de introducirse

    el error, con un rango de 1 a 10 ciclos.

    Como vaticinamos al ver los resultados de la prueba anterior,

    redundando los 8 MSB de cada registro, la tasa de error que se tiene al estar

    expuesto nuestro diseo a los SEU es casi nula, aunque claro est, y que no

    se nos olvide, en esta prueba hemos redundado casi la mitad del sistema.

    PRUEBA 3: Para demostrar que realmente los MSB son los bits mssensible de los registros, vamos a realizar ahora la prueba inversa a la 2, o

    sea, redundar los 10 LSB:

    Registro a_0: Redundamos los 10 bits menos significativos

    Registro a_1: Redundamos los 10 bits menos significativos

    Registro a_2: Redundamos los 10 bits menos significativos

    Registro a_3: Redundamos los 10 bits menos significativos

    Registro b_0: Redundamos los 10 bits menos significativos

    Registro b_1:Redundamos los 10 bits menos significativos

    Registro b_2: Redundamos los 10 bits menos significativos

    Registro b_3: Redundamos los 10 bits menos significativos

    Registro b_4: Redundamos los 10 bits menos significativos

  • 7/25/2019 Estudio filtro iir

    21/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 95

    Jos Manuel Marn de la Rosa

    O sea, ahora debemos de atacar solo a los 8 MSB de cada registro.

    Realizando dicha prueba, los resultados fueron:

    - Flip-flops bajo ataque: 76

    - Tasa de error: 19.49 %

    - Errores se producen 2.8 ciclos de media despus de introducirse

    el error, con un rango de 1 a 13 ciclos.

    Efectivamente, se confirma que los bits ms sensibles son los MSB

    ya que redundar los LSB no sirve para mucho pues como se observa se

    tiene una tasa de error altsima.

    PRUEBA 4: En esta prueba vamos a atacar solo a los 10 LSB del

    registro b, o sea, redundaremos todos los registros a, y los 8 MSB de losregistros b.

    Registro a_0: Totalmente redundado

    Registro a_1: Totalmente redundado

    Registro a_2: Totalmente redundado

    Registro a_3: Totalmente redundado

    Registro b_0: Redundamos los 8 bits ms significativos

    Registro b_1:Redundamos los 8 bits ms significativos

    Registro b_2: Redundamos los 8 bits ms significativos

    Registro b_3: Redundamos los 8 bits ms significativos

    Registro b_4: Redundamos los 8 bits ms significativos

  • 7/25/2019 Estudio filtro iir

    22/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 96

    Jos Manuel Marn de la Rosa

    Con los siguientes resultados:

    - Flip-flops bajo ataque: 66

    -

    Tasa de error: 0.35 %

    - Errores se producen 2.2 ciclos de media despus de introducirse

    el error, con un rango de 1 a 10 ciclos.

    Como cabra esperar la tasa de fallo es nfima, eso es debido a que en

    esta prueba hemos redundado todos los bits importantes (los MSB de todos

    los registros) y adems los 10 LSB de a.

    PRUEBA 5: En esta prueba vamos a atacar solo a los 10 LSB del

    registro a, o sea, redundaremos todos los registros b, y los 8 MSB de losregistros a.

    Registro a_0: Redundamos los 8 bits ms significativos

    Registro a_1: Redundamos los 8 bits ms significativos

    Registro a_2: Redundamos los 8 bits ms significativos

    Registro a_3: Redundamos los 8 bits ms significativos

    Registro b_0: Totalmente redundado

    Registro b_1:Totalmente redundado

    Registro b_2: Totalmente redundado

    Registro b_3: Totalmente redundado

    Registro b_4: Totalmente redundado

  • 7/25/2019 Estudio filtro iir

    23/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 97

    Jos Manuel Marn de la Rosa

    Con los siguientes resultados:

    - Flip-flops bajo ataque: 56

    -

    Tasa de error: 0.8 %

    - Errores se producen 1.9 ciclos de media despus de introducirse

    el error, con un rango de 1 a 10 ciclos.

    PRUEBA 6: En esta prueba y la siguiente, vamos a intentar descubrir

    que registros son ms sensibles si los a o los b. Para ello vamos a atacar en

    esta prueba a los bits ms sensibles de los registros de a, o sea vamos a

    atacar los 8 MSB de a, y en la siguiente atacaremos los 8 MSB de b y

    compararemos los resultados.

    Registro a_0: Redundamos los 10 bits menos significativosRegistro a_1: Redundamos los 10 bits menos significativos

    Registro a_2: Redundamos los 10 bits menos significativos

    Registro a_3: Redundamos los 10 bits menos significativos

    Registro b_0: Totalmente redundado

    Registro b_1:Totalmente redundado

    Registro b_2: Totalmente redundado

    Registro b_3: Totalmente redundado

    Registro b_4: Totalmente redundado

  • 7/25/2019 Estudio filtro iir

    24/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 98

    Jos Manuel Marn de la Rosa

    Realizando la prueba los resultados fueron:

    - Flip-flops bajo ataque: 34

    -

    Tasa de error: 25.09 %

    - Errores se producen 2.4 ciclos de media despus de introducirse

    el error, con un rango de 1 a 10 ciclos.

    Estos resultados los vamos a comparar con los obtenidos en la

    prueba 7.

    PRUEBA 7:Aqu vamos ahora a atacar los 8 MSB de los registros b.

    Registro a_0: Totalmente redundado

    Registro a_1: Totalmente redundadoRegistro a_2: Totalmente redundado

    Registro a_3: Totalmente redundado

    Registro b_0: Redundamos los 10 bits menos significativos

    Registro b_1:Redundamos los 10 bits menos significativos

    Registro b_2: Redundamos los 10 bits menos significativos

    Registro b_3: Redundamos los 10 bits menos significativos

    Registro b_4: Redundamos los 10 bits menos significativos

  • 7/25/2019 Estudio filtro iir

    25/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 99

    Jos Manuel Marn de la Rosa

    Realizando la prueba los resultados fueron:

    - Flip-flops bajo ataque: 42

    -

    Tasa de error: 14.74 %

    - Errores se producen 3.4 ciclos de media despus de introducirse

    el error, con un rango de 1 a 13 ciclos.

    A la vista de los resultados obtenidos parece ser que los registros a o

    sea, los de la realimentacin, son bastante ms sensible que los registro b,

    ya que introducir un fallo en uno de sus bits ms significativos tiene

    bastante ms probabilidad de producir un error en la salida que si se

    produce el fallo en uno de los bits ms significativos de los registros b.

    Para confirmar dichos resultados, lo que tendramos q hacer es

    realizar otras dos pruebas que sera, una atacar a todos los bits de los

    registros a, y otra hacer un ataque a todos los bits de los registros b ycomparar los resultados. As que en las dos pruebas siguientes vamos a

    hacer este experimento.

    PRUEBA 8: En esta prueba vamos a atacar todos los bits de los registros a.

    Por lo tanto redundaremos todos los bits de los registros de b y dejaremos

    totalmente sin redundar los registros a.

    Registro a_0: Simple

    Registro a_1: Simple

    Registro a_2: Simple

  • 7/25/2019 Estudio filtro iir

    26/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 100

    Jos Manuel Marn de la Rosa

    Registro a_3: Simple

    Registro b_0: Totalmente redundado

    Registro b_1:Totalmente redundado

    Registro b_2: Totalmente redundado

    Registro b_3: Totalmente redundado

    Registro b_4: Totalmente redundado

    Realizamos el ataque, y los resultados fueron:

    - Flip-flops bajo ataque: 90

    - Tasa de error: 10.11 %

    - Errores se producen 2.3 ciclos de media despus de introducirse

    el error, con un rango de 1 a 10 ciclos.

    PRUEBA 9: Para comparar que registro es ms sensible, ahora haremos la

    prueba complementaria, es decir, realizaremos un ataque sobre los registros

    de b. Esto sera redundar por completo los registros a, y dejar simple los

    registros b

    Registro a_0: Totalmente redundado

    Registro a_1: Totalmente redundado

    Registro a_2: Totalmente redundado

    Registro a_3: Totalmente redundado

    Registro b_0: Simple

  • 7/25/2019 Estudio filtro iir

    27/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 101

    Jos Manuel Marn de la Rosa

    Registro b_1:Simple

    Registro b_2: Simple

    Registro b_3: Simple

    Registro b_4: Simple

    Realizamos el ataque, y los resultados fueron:

    - Flip-flops bajo ataque: 118

    -

    Tasa de error: 6.10 %

    - Errores se producen 3.4 ciclos de media despus de introducirse

    el error, con un rango de 1 a 13 ciclos.

    As que con el resultado de estas dos pruebas queda claro lo que ya

    empezamos a ver con las dos anteriores, y es que los registros de a (de la

    realimentacin) son ms sensibles que los registros de b. As que situviramos que elegir que registros redundar, sera ms eficiente redundar

    los registros a que los registros b.

  • 7/25/2019 Estudio filtro iir

    28/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 102

    Jos Manuel Marn de la Rosa

    4.4.2. CONCLUSIONES FILTRO IIR

    Tras haber realizado todas estas pruebas para intentar estudiar la

    sensibilidad de un filtro IIR en presencia de SEU, llegamos a las siguientes

    conclusiones:

    1.- Los registros ms sensibles, o sea con mayor porcentaje de que al

    introducir en ellos un fallo se tenga un error en la salida, son los registros

    de la realimentacin, los registros de a.

    2.- Los bits ms sensibles de cada registro, o sea los que tienen

    mayor porcentaje de que al provocar un fallo en ellos se tenga un error en

    la salida, son los bits ms significativos (los MSB), en concreto los 8 MSB,

    los que van del bit 10 al 17 de cada registro.

    3.- Si queremos un filtro IIR que sea bastante tolerante a los SEU los

    ms importante de redundar son siempre los registros de la realimentacin

    (registros a) y tambin redundar siempre los bits ms significantes de las

    etapas, en concreto los 8 bits MSB. Ya que haciendo esto, hemos visto que

    podemos obtener filtros bastante eficientes y ahorrando gran cantidad de

    recursos.

  • 7/25/2019 Estudio filtro iir

    29/29

    ESTUDIO DEL FILTRO IIR EN PRESENCIA DE S.E.U. 103

    Jos Manuel Marn de la Rosa