Cronicas de KUbuntu : El SSD, el BRTFS y SATA

Bueno, bueno… hacia tiempo que no publicaba nada en el blog, así que ahora toca con hablar de un disco duro SSD , Kubuntu y BTRFS.

Hace poco he conseguido un disco duro SSD SATA nuevecito, un Mushkin Chronos de 90GB ( ~83GiB). Con muy buena velocidad de lectura y escritora. De hecho hparm -t arroja uan velocidad de aproximadamente 480.85 MB/sec.

Pues ya con el chisme conectado estoy procediendo a mover mi instalación de Kubuntu al disco duro SSD por partes, y al paso también probar el sistema de ficheros BTRFS, el cual tiene algunas capacidades muy interesantes. Particularmente me llama la atención los snapshots, por el tema de tener a efectos prácticos un Time Machine mejor que el Time Machine de OS X, y ademas la robustez del sistema de ficheros (al menos sobre el papel).

Sigue leyendo “Cronicas de KUbuntu : El SSD, el BRTFS y SATA”

Codecs de Audio simples III : Binary Time constant (BTc)

Circuito RC

Circuito RC

Ya vimos el algoritmo DM, y que usando un integrador con perdidas, podíamos limitar el efecto de ruido en el medio de comunicación entre el codec y el decoder. También vimos que la descarga obedece la formula e^{\frac{-1}{\tau \cdot Fm}}. Esta tipo de formula debería de ser familiar para quien haya tenido unos mínimos estudios de electrónica. En particular, recuerda la formula de la tensión de descarga de un condensador en un circuito RC serie. También hemos observado que imitar este comportamiento, implicaba usar multiplicaciones en coma flotante, lo cual en principio es poco deseable para el tipo de dispositivos que estamos tratando. Y bueno… ¿No seria quizás posible usar un circuito RC para implementar el integrador con perdidas ? Pues la respuesta es que si, y además al paso actúa como conversor DAC del decoder, con lo que matamos dos pájaros de un tiro. Pues en esto se basa el algoritmo BTc.

Sigue leyendo “Codecs de Audio simples III : Binary Time constant (BTc)”

Codecs de Audio simple II : Modulación Delta con integrador con perdidas

Continuando con lo explicado en la entrada anterior, tenemos el codec Delta Modulation (o DM) )de audio bastante sencillo y fácil de implementar en un μcontrolador o una maquina de prestaciones limitadas. Ahora supongamos que en vez de leer los datos de audio desde la memoria Flash, RAM, etc, recibimos el stream de bits desde un medio en que pueda haber interferencias o errores, tal como radio, infrarrojos, un cable de cierta longitud, etc. Tal medio, podemos modelizarlo asumiendo que aleatoriamente habrá bits que cambiaran su valor, y la frecuencia con la que ocurre dicho evento, viene determinada por una Tasa de Error P. Cada vez que un bit cambia su valor en el stream, va a provocar que en el integrador se acumule un offset. Dicho offset, podrá variar hacia arriba y hacia abajo en una determinada cuantía, pero por la naturaleza aleatoria de los errores introducidos, podemos asumir que el offset medio va a ser nulo, ya que se intercambian el valor de los bits de forma aleatoria. El resultado final es que a la señal decodificada se le va a añadir una señal de ruido cuya intensidad va a estar en relación con la Tasa de Error. A mayor tasa, mayor ruido.

Sin embargo, aquí hemos cometido una suposición que puede ser no cierta para ciertos medios, y es que asumimos que una interferencia, va a conmutar el valor de un bit. Y si las interferencias simplemente remplazasen el valor del bit, por uno nuevo que además fuese más probable ser un 1 (o un 0). En este caso, el offset en la señal, se podría acumular a lo largo del tiempo, con lo que además del ruido aleatorio en la señal, se sumaria un recorte si el offset es suficientemente grande. Hay una forma de solucionar este problema.

Sigue leyendo “Codecs de Audio simple II : Modulación Delta con integrador con perdidas”

Codecs de Audio simples I : PCM y DM

En algunas aplicaciones realizadas con μcontroladores o cuando se realiza un programa en un sistema clasico, es necesario emitir alguna clase de sonido más complejo que simples pitidos o tonos musicales. Se puede tratar de sintetizar sonidos más complejos o podemos reproducir audio pregrabado (indispensable si se quiere reproducir una voz y no se tiene un chip SPO). Esta ultima opción puede representar un problema ya que el audio digitalizado suele ocupar una cierta cantidad de espacio nada despreciable. Hoy en día, con algunos micros de bajo coste, que ya llevan una cantidad respetable de memoria flash (32KiB o 64KiB), se palía bastante el problema, o también se puede usar una tarjeta SD o una memoria flash serie que puede solucionar el problema del espacio al cambio de aumentar la complejidad.

Empecemos viendo como se codifica el audio:

Audio PCM (Pulse Code Modulation) o como confundir al personal con el nombre del algoritmo

Detrás de estas siglas, tenemos  quizás la forma más tonta y obvia de almacenar audio digital. Podría uno pensar por su nombre que se almacenan pulsos que representan la forma de onda de alguna forma… pues si y no. Lo que se hace es cuantificar de forma discreta el valor de la forma de onda cada T unidades de tiempo. Dicho en cristiano, cada T unidades de tiempo, tomamos una muestra del audio mediante un conversor Analógico-Digital (ADC). Cada muestra del valor, se almacena (o envía). Si lo enviáramos por un cable o por radio, veríamos pulsos de datos cada T unidades de tiempo (de ahí lo de “Pulse Code”). A 1/T se le conoce como la frecuencia de muestreo o sampleo :

Sigue leyendo “Codecs de Audio simples I : PCM y DM”

A1200. Un Amiga con su monitor 1084S

Amiga a1200 y su monitor 1084S

Amiga a1200 y su monitor 1084S

Justo este Lunes, he echado mano a un Amiga a1200 con su monitor, fuente, ratón original y una capturadora de video, a un precio baratisimo! Obviamente quien me lo vendio, en un mercadillo, no tenia ni idea de que era. El muy pobre pensaba que era un teclado y un monitor viejos sin valor alguno. En fin, así que lo pille sin pensármelo dos veces y ahora tengo en mis mano una pieza de museo en un estado de conservación impecable.

Para quienes no lo sepáis un Amiga era un ordenador personal fabricado por Commodore, a finales de los 80 y principios de los 90. Dichos ordenadores eran capaces de dejar en la estacada a un PC de la época  De hecho, los PCs no se les pusieron de tu a tu, hasta que aparecieron los 386 y las gráficas SVGA. Para que os hagáis una idea, este a1200 del 93 era capaz de capturar y hacer edición de vídeo básica !!

Bueno, así que una vez conseguido esta ganga y verificado que funciona, ahora me toca cacharear y descubrir sus entresijos.

 

Sigue leyendo “A1200. Un Amiga con su monitor 1084S”