APLICACIN DEL DSKPLUS: DECODIFICACIN DE SONIDO - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

APLICACIN DEL DSKPLUS: DECODIFICACIN DE SONIDO

Description:

Se basa en el efecto de inversi n del espectro al modular la se al con una portadora. ... de demos que vienen con el kit es bastante floja, y posee algunas erratas. ... – PowerPoint PPT presentation

Number of Views:77
Avg rating:3.0/5.0
Slides: 23
Provided by: Carl417
Category:

less

Transcript and Presenter's Notes

Title: APLICACIN DEL DSKPLUS: DECODIFICACIN DE SONIDO


1
APLICACIÓN DEL DSKPLUS DECODIFICACIÓN DE
SONIDO
Carlos Correcher Salvador
2
Decodificación del sonido del canal
  • Se basa en el efecto de inversión del espectro
    al modular la señal con una portadora.
  • En el canal plus la portadora es una senoidal
    de 12800Hz
  • Tareas Realizadas
  • Muestro de la señal.
  • Generación de la portadora a partir de la
    frecuencia de muestreo
  • Generación de los filtros para eliminar ruidos
  • Corrección de la ganancia por las pérdidas de
    los filtros

3
Decodificación del sonido del canal
MUESTREO
4
Decodificación del sonido del canal
MUESTREO
  • Debemos programar el AIC para conseguir la
    máxima frecuencia.
  • La frecuencia del reloj se dividie por reg A,
    por 2 y por reg B
  • Frecuencia máxima 43.2 Kmuestras/s
  • Programación
  • Registro A 12
  • Registro B 10
  • Reloj del sistema 10 Mhz
  • 10 MHz
  • Frecuencia ------------------ 41666
    kHz
  • 12 x 2 x 10

5
Decodificación del sonido del canal
  • Modificaciones mínimas en scr_ac01.asm, cambio
    de valores de los registros A y B (registros
    fisicos 1 y 2 en el AIC)

REGISTER .set 0bh Powerup default
values REG1 .set 10Ch
112h REG2 .set 20Ah 212h REG3 .set
300h 300h REG4 .set 409h
405h REG5 .set 501h 501h REG6 .set
600h 600h REG7 .set 700h
700h REG8 .set 801h 801h
6
Decodificación del sonido del canal
  • Registros de AIC
  • Registro 0 Registro de No-Operación.
  • Registros 1 y 2 Control de la frecuencia de
    muestreo.
  • Registro 3 Control de la Fase.
  • Registro 4 Control de la Ganancia.
  • Registro 5 Control de la configuración
    analógica.
  • Registro 6 Control de la configuración
    digital.
  • Registros 7 y 8 Control para conexiones en
    cascada.
  • La Programación de los registros se realiza
    mandándole al
  • AIC 3 bytes vía serie.

7
Decodificación del sonido del canal
GENERACIÓN DE LA PORTADORA
  • Se genera una señal senoidal a partir de una
    función recursiva
  • cos(? n) 2cos(?)cos(? n-1) cos(? n-2)
  • donde ? es el angulo diferencia entre la
    generación de un punto de la senoide y el
    siguiente.
  • Frec. Muestreo 41666 Hz
  • Generación de puntos cada 1/f
  • Senoide a generar 12800 Hz

8
Decodificación del sonido del canal
GENERACIÓN DE LA PORTADORA
Cada 25us debemos generar un punto de un senoide
de periodo 78us. Nº puntos 78 / 25 3.2552
ptos/periodo Por tanto ? 360 / 3.2552 110,6º
9
Decodificación del sonido del canal
GENERACIÓN DE LA PORTADORA
  • La fórmula queda de la siguiente manera
  • Y(n) 2 (-0,3517) Y(n-1) Y(n-2)
  • El Coeficiente 0,3517, debe estar en formato
    Q31 para que el código funcione. Dicho código
    maneja todos los datos en formato Q31, para la
    generación del seno.
  • COEFF -23050

10
Decodificación del sonido del canal
GENERACIÓN DE LA PORTADORA
  • Implementación
  • A 0
  • A _at_Yminus1 ltlt 16 y(n-2) gt
    ACCUMULATOR A SHIFT
  • LEFT BY
    16 BITS! (Q31 format)
  • A -A -y(n-2)
    gt A
  • macp(_at_sinx,coeff,A)
    (coeff)y(n-1) - y(n-2) gt A
  • macd(_at_sinx,coeff,A)
    2(coeff)y(n-1) - y(n-2) gt A
  • _at_sinx hi(A) ltlt 0 Store the
    carrier generated into
  • variable
    sinx.
  • Las variables Yminus y sinx, contienen Y(n-2) y
    Y(n-1) respectivamente.

11
Decodificación del sonido del canal
GENERACIÓN DE LA PORTADORA
12
Decodificación del sonido del canal
MODULACIÓN
A trcv LOAD ACC WITH WORD
RECEIVED FROM AIC! _at_XN A ltlt 0
STORE THE VALUE OF RECEIVED WORD TO VARIABLE
XN! A 0 Zero Accumulator
A. ----------AM modulate bandpass on carrier
macp(_at_XN,sinx,A) Multiply the carrier
with the filtered input. The extra sign
bit is automatically discarded with
FRCT1.
13
Decodificación del sonido del canal
FILTRADO
  • PRE-MODULACIÓN Eliminación de la continua y
    alta frecuencia. Implementación como un filtro
    Paso banda (1 - 14 Khz)
  • POST-MODULACIÓN Eliminación de altas frecuencias
    generadas por el efecto de la modulación.
    Implementación como un filtro Paso-Bajo a
    12800Hz

14
Decodificación del sonido del canal
FILTRO POST-MODULACIÓN
  • Diseño con MATLAB
  • filtro de ventana de Blackman con 80 etapas, FIR,
    como los definidos en el programa SCRAMBLE, para
    aprovechar su estructura.
  • Generación de coeficientes
  • Determinación de frec. de banda-paso y
    banda-stop 12800 y 13500 Hz.
  • Debemos tener en cuenta que el muestreo es
    bastante rápido, y con 80 pasos filtros con mayor
    caída puede que no consigan el efecto deseado.

15
Decodificación del sonido del canal
FILTRO POST-MODULACIÓN
  • Generación con la Función fir2
  • - Frecuencias F 0.0 0.58626 0.6183 1.0
  • - Ganancia A 10 10 0.01 0.01
  • FIR2 C FIR2(79,F,A,blackman(80))
  • El DSP es de coma fija, para pasar estos números
    al formato adecuado se deben escalar
  • - Escalado R round(C8192)
  • Colocar en el fichero scr_coeff.asm los
    coeficientes, declarados como .word, y generar
    las ordenes que computan el filtro tras la
    modulación, en el fichero scr_main.asm

16
Decodificación del sonido del canal
FILTRO POST-MODULACIÓN
17
Decodificación del sonido del canal
FILTRO PRE-MODULACIÓN
  • Eliminar componentes de continua y de altas
    frecuencias para que al modular no salgan más
    ruidos, filtro paso-banda entre 1KHz y 14KHz.
  • Fc1 600/21833.3333333333
  • Fc2 1000/21833.3333333333
  • Fc3 14000/21833.3333333333
  • Fc4 14400/21833.3333333333
  • F 0.0 Fc1 Fc2 Fc3 Fc4 1.0
  • A 0.01 0.01 10 10 0.01 0.01
  • C FIR2(79,F,A,blackman(80))
  • R round(C8192)

18
Decodificación del sonido del canal
FILTRO PRE-MODULACIÓN
19
Decodificación del sonido del canal
FILTROS. IMPLEMENTACIÓN
-------- get sample and run through bandpass
filter --------- A trcv
LOAD ACCUMULATOR WITH WORD
RECEIVED FROM AIC!
_at_XN A ltlt 0 STORE THE VALUE OF
RECEIVED
WORD TO VARIABLE XN! AR0 XNLAST
LOAD AR0 WITH ADDRESS OF LAST
DELAY ELEMENT!
repeat(79) , A 0 Zero Accumulator A and
repeat next
instructions 80 times.
macd(AR0-,h0,A) Compute FIR output. The
extra sign
bit is automatically
discarded with FRCT1.
_at_OUTPUT hi(A) ltlt 0 Store the filtered
input into
variable OUTPUT.
20
Decodificación del sonido del canal
FILTROS. IMPLEMENTACIÓN
_at_LS hi(A) ltlt 0 Store the AM
modulated signal
into variable LS.
----------Select low-side only
--------------------------- AR1
LSLAST LOAD AR1 WITH ADDRESS OF LAST
DELAY
ELEMENT!
repeat(79) , A 0 Zero Accumulator A and
repeat
next instructions 80 times.
macd(AR1-,g0,A) Compute FIR output. The
extra
sign bit is discarded
automatically. DP
LOWSIDE This sets Data Memory Page
Pointer to
page LOWSIDE, which is
defined earlier in the program.
_at_LOWSIDE hi(A) ltlt 0 Store the low
sideband into
variable LOWSIDE.
21
Decodificación del sonido del canal
CORRECCIÓN DE LA GANANCIA
  • Necesidad Como a la señal le hemos aplicado un
    par de filtros, la señal ha perdido en ganancia
    además de haber perdido algunas frecuencias.
  • Compensaciónmultiplicar la señal de salida por
    un factor.
  • A _at_LOWSIDE ltlt 2 LOWSIDE gt
    Accumulator A.
  • A 0FFFCh A TWO LSB'S
    MUST BE ZERO FOR AIC!
  • tdxr A

22
Decodificación del sonido del canal
CONCLUSIONES
  • Ventajas
  • El DSK proporciona una base de pruebas muy
    interesante para poder realizar todo tipo de
    programas.
  • Inconvenientes
  • Documentación de los programas de demos que
    vienen con el kit es bastante floja, y posee
    algunas erratas.
  • Conjunto KIT-PC no es demasiado robusto, y suele
    dar problemas.
  • Muchos de los filtros diseñados con MATLAB con
    FIRLS no funcionan bien en el DSK, y los filtros
    de blackman de ganancia 1 en la banda de paso,
    tampoco funcionan, ya que los coeficientes que
    generan son demasiado bajos.
Write a Comment
User Comments (0)
About PowerShow.com