lunes, 30 de marzo de 2009

Internet bueno, bonito y barato

Buenas! Como una de las actividades de PDS de esta semana hemos tenido que comparar diferentes ofertas de proveedores de Internet (ISPs) de la zona en la que vivimos. Ahí van las conclusiones:

Telefónica y ADSL
Dúo ADSL 10 Mb
Tecnología ADSL 2+. Conexión 24 h. 10 Mb (bajada) / 320 Kb (subida). Llamadas locales, provinciales y nacionales incluidas. Bien Kit autoinstalable bien instalación por técnico.
5 buzones de correo: 1 de 1 Gbyte y 4 de 100 Mb. Espacio web de 5 Mb.
Viene el antivirus Kasperksky (una licencia para su uso).
8 cuotas a 29,90 €/mes (tras eso, 44,90 €/mes).

Dúo ADSL 6 Mb
Conexión 24 h. 6 Mb (bajada) / 320 Kb (subida). Llamadas locales, provinciales y nacionales incluidas. Bien Kit autoinstalable bien instalación por técnico.
5 buzones de correo: 1 de 1 Gbyte y 4 de 100 Mb. Espacio web de 5 Mb.
Viene el antivirus Kasperksky (una licencia para su uso).
Hasta 2010 29,90 €/mes (tras eso, 40,90 €/mes).

Dúo ADSL 1 Mb
Conexión 24 h. 1 Mb (bajada) / 256 Kb (subida). Límite máximo de descarga de 20 Gb (incluyendo subida y descarga). Tras ello pasa al perfil de 256 Kb. Llamadas locales, provinciales y nacionales incluidas. Bien Kit autoinstalable bien instalación por técnico.
5 buzones de correo: 1 de 1 Gbyte y 4 de 100 Mb. Espacio web de 5 Mb.
29,90 €/mes.

Dúo ADSL 6 Mb + Televisión
Lo mismo que el Dúo ADSL 6 Mb pero incluyendo el servicio de televisión.
Hasta 2010 29,90 €/mes (tras eso, 43,90 €/mes).

ONO y cable
Línea de teléfono + Internet Banda Ancha 2 Mb
Cuta mensual: 28 €
Alta: 39 €
Instalación gratis
Módem cable gratis
Router WiFi: 50 €
Portabilidad de número gratuita
Centinela Ono con antivirus y firewall: 3 €/mes

Teléfono Fijo con llamadas gratis + Internet Banda Ancha 6 Mb
Cuta mensual: 50 €
Alta: 39 €
Instalación gratis
Módem cable o Router WiFi gratis por contratación online.
Portabilidad de número gratuita
Llamadas a cualquier teléfono de ámbito nacional totalmente gratuitas.

TELE 2 y ADSL
Línea de teléfono + ADSL + Llamadas (1 Mb)
29,90 €/mes
Todas las llamadas (locales, provinciales e interprovinciales) incluidas en la cuota mensual.
Alta gratis.
Mantenimiento de número.
1 Mb (bajada) / 300 Kb (subida)

Línea de teléfono + ADSL + Llamadas (3 Mb)
32,90 €/mes
Todas las llamadas (locales, provinciales e interprovinciales) incluidas en la cuota mensual.
Alta gratis.
Mantenimiento de número.
3 Mb (bajada) / 300 Kb (subida)

Línea de teléfono + ADSL + Llamadas (20 Mb)
19,95 €/mes hasta Junio 2009 y a partir de ahí 39,90 €/mes.
Todas las llamadas (locales, provinciales e interprovinciales) incluidas en la cuota mensual.
Alta gratis.
Mantenimiento de número.
20 Mb (bajada) / 500 Kb (subida)

Línea de teléfono + ADSL
20 Mb (bajada) / 500 Kb (subida)
29,90 €/mes

JAZZTEL y ADSL
ADSL Jazztelia TV + Llamadas gratis
Básico TV: 11,55 €/mes
Alquiler receptor Jazztelia TV + TDT: 6€/mes
Cuota mensual ADSL: 30,95 €/mes
Equipo ADSL Router WiFi: 35 €
Llamadas de ámbito nacional gratuitas

ADSL hasta 20 Megas + Llamadas gratis
Cuota mensual ADSL: 30,95 €/mes
Router monopuerto gratis
Router WiFi: 35 €
Llamadas de ámbito nacional gratuitas
Velocidad 20480 Kb (bajada) / 1024 Kb (subida)

ADSL hasta 6 Megas + Llamadas gratis
Cuota mensual ADSL: 26,95 €/mes
Router monopuerto gratis
Router WiFi: 35 €
Llamadas de ámbito nacional gratuitas
Velocidad 6 Mb (bajada) / 512 Kb (subida)

ADSL hasta 3 Megas + Llamadas gratis
Cuota mensual ADSL: 21,95 €/mes
Router monopuerto gratis
Router WiFi: 35 €
Llamadas de ámbito nacional gratuitas
Velocidad 3 Mb (bajada) / 512 Kb (subida)

Internet 24h RTC/RDSI + Llamadas gratis
Simplemente añado esta oferta por lo curioso de la misma ya que es un tipo de tecnología cada vez menos común y que me ha llamado la atención.
Ofrece servicio de Internet tanto de tipo módem analógico (módem que ofrece como máximo ancho de banda 56 Kbps) o bien por módem RDSI, es
decir, tecnología ya digital con una velocidad máxima de 64 Kbps.

Pues hasta aquí todo. Simplemente os digo que no os toméis esto al pie de la letra e intentad buscar información si de verdad queréis tener Internet de buena calidad y a buen precio que luego las culpas me las llevo yo... Nos vemos!

martes, 10 de marzo de 2009

CeBIT

CeBIT es una feria enfocada a la tecnología, como puede ser el SIMO aquí en España, que se viene celebrando desde 1986 anualmente en la ciudad alemana de Hannover. Cabe destacar que no tiene nada que envidiar a ninguna de sus equivalentes en los distintos países, puesto que es la que mayor importancia tiene en este campo a nivel mundial.
Centrándonos más en la edición de este año, la feria ha tenido lugar del 3 al 8 de Marzo y se han podido ver algunos avances tecnológicos interesantes, de los cuales a continuación vamos a resaltar algunos:
  • Monitores Inalámbricos: Este gran avance tecnológico viene de la mano de la empresa ASUS. Según se dijo en la feria, esta tecnología será la llamada Asus ezLink y permitirá "conectar" (por ponerlo de alguna forma, pero nos referimos a algo inalámbrico) incluso hasta seis monitores a la misma máquina.
  • Microsoft Surface: La compañía de Bill Gates aprovechó para insertar en el mercado europeo un revolucionario sistema que pretende ser un gran avance en lo que se ha llamado Interfaz de Usuario Natural (NUI), es decir, una "superficie" que, con nuestras propias manos y gestos naturales, podemos manejar tocando y manipulando la información literalmente con nuestras propias manos.

  • eBooks: Los famosos libros electrónicos, aunque no son una novedad, sí que es remarcable la importancia que cada vez más van teniendo por todo el tema del desarrollo sostenible. Algunos de los que se vieron en la feria fueron el Kindle de la empresa Amazon, el PRS-505 de Sony, el eSleek de Foxit o el BOOX de Onyx.

  • Green IT: Con este nombre se designa a las tecnologías que se basan en el desarrollo sostenible y que intentan contaminar lo menos posible. Recomiendo visitar el post al respecto de la compañera Mamen.
  • eyeBook: Quizás sea la novedad que más me ha llamado la atención. Se trata de una especie de "libro multimedia", es decir, un libro electrónico que es capaz de ver por dónde van nuestros ojos leyendo y así crear el ambiente necesario para ayudar a meternos en esa situación mediante sonidos o imágenes. Una verdadera experiencia multimedia que ha sido desarrollada por el DFKI.
Finalmente, y no por ello menos importante, me gustaría destacar algo que también me ha llamado la atención pero que, al no ser una novedad de la feria, no sabía muy bien como ponerlo en el post: el "C3PO Barman". Según he podido leer, se trata de un robot que se encarga de preparar y servir las bebidas a los periodistas acreditados a la feria y según parece en la foto con bastante habilidad:

Ref.:
http://www.lomasnuevo.net/noticias/cebit-2009/
http://www.abc.es/20090308/nacional-sociedad/gris-cebit-2009-caen-200903082058.html
http://www.xataka.com/tag/cebit+2009
http://www.gigle.net/arranca-el-cebit-2009/
http://www.electro-imagen.com/index.php?option=com_content&task=view&id=3119&Itemid=2
http://www.gizmotika.com/2009/02/28/onyx-boox-ereader-para-el-cebit-2009/
http://www.lanacion.com.py/noticias-232490.htm
http://www.gaceta.es/03-03-2009+microsoft_surface_llega_ordenador_forma_mesa,noticia_1img,24,24,49153
http://cebit.vnunet.es/

lunes, 9 de marzo de 2009

Un DSP para el reproductor de CD

Buenas! Con esta actividad se pretende escoger un DSP para realizar una aplicación de filtrado en un reproductor de CD. Las condiciones eran que la frecuencia de muestreo era 44100 Hz (la estándar en el formato CD) y que se utilizaba un filtro FIR con 300 coeficientes. Tras el cálculo de la potencia necesaria, el resultado fue 13.23 MIPS. Aunque no sabemos si es correcto, parece que al menos es un número que podría valer (vamos, que es algo que un DSP comercial existente puede procesar con tranquilidad).
Tras buscar diferentes procesadores capaces de realizar esta tarea, hemos visto los siguientes:
  • Familia TMS320C2x (Texas Instruments): Esta familia de DSP es de coma fija y con una resolución de 16 bits (algo que también se comentaba en el enunciado de la actividad). Cabe destacar que con esta familia llegaríamos a una potencia de cálculo de 12.5 MIPS (DSP TMS320C25), por lo que necesitaríamos bajar bien la cantidad de muestras o bien la cantidad de coeficientes de filtro (a unos 280).
  • Familia TMS320C2xx (Texas Instruments): Con esta familia, también de coma fija y con 16 bits de resolución, nos conseguimos mover en un rango de potencia entre 20 y 40 MIPS, de sobra para nuestra aplicación. De todo el rango posible, escogeríamos el que tuviera una potencia de 20 MIPS por ser el que más se acerca a la necesaria.
  • ADSP-21xx (Analog Devices): Se trata de un DSP con una resolución de 16 bits y de coma fija. De los que componen esta serie destaca uno que puede funcionar a 40 MIPS, lo más cercano a lo que nos hace falta.
  • ADSP-21cspxx (Analog Devices): El único DSP que tiene esta empresa en esta familia también funciona a 16 bits y con coma fija pero su media de instruciones por segundo es 50 MIPS.
Atendiendo a la principal característica que diferencia a los distintos DSPs encotrados (los MIPS), el que mejor se acercaría a nuestra aplicación sería el procesador de la familia TMS320C2xx, cuya casa es Texas Instruments. Hemos rechazado los otros bien por ser (fijándonos únicamente en los MIPS) más potentes y, por tanto, estaríamos desaprovechando potencia, o bien por quedarse cortos en la misma (primera familia de DSPs que hemos comentado de Texas Instruments, es decir, TMS320C2x).

miércoles, 4 de marzo de 2009

Arduino y compañía

Buenas! Tras encontrar algo de información acerca del sistema uCLinux en la familia de DSPs Blackfin (remito al artículo de Analog Devices realizado por el compañero Alex), me gustaría comentar un movimiento parecido al del software libre pero en hardware (denominado Hardware Abierto).
Algunos conocerán la historia y filosofía del movimiento del software libre (por ahí están Richard Stallman, Linus Torvalds o el movimiento GNU como algunos de los nombres que siempre suenan) en el que se propone la libre distribución del software (tanto a nivel de poder distribuir el código como de hacerlo de forma gratuita) protegido por la licencia GPL, en la que se aseguran tanto la autoría de la persona sobre el código como el hecho de que ese software no acabe siendo propietario.
Aunque yo conocía ya el movimiento del software libre, me llamó la atención cuando un compañero de clase me habló de Arduino. Este nombre un tanto peculiar representa una placa de desarrollo de aplicaciones con un microcontrolador (concretamente un ATmega) cuyo diseño está bajo la licencia GPL, lo que permite que ese diseño sea libre de implementarse como quiera, quien quiera y cuando quiera. Quizás en esto cueste un poco más de ver la libertad que implica ya que, desde que yo recuerde, la gente se creaba su propio grabador de Pics (típicamente el TE-20) para programar los famosos 16F84 que se insertaban en la tarjeta Piccard para poder ver el Canal Satélite gratis, y nadie decía si el grabador era propiedad de alguien, un diseño privado o cualquier otra cosa que afectara a la libre distribución de su diseño. Sin embargo, el tener un movimiento que permita tener diseños de hardware que pertenezcan a todos y, a la vez, a nadie no deja de ser curioso en una asignatura enfocada al hardware que se utiliza en el procesado de señales, ya que quizás algún día podamos recurrir a él para una aplicación medianamente modesta sin necesidad de pagar una gran cantidad de dinero por un hardware propietario.
Por último, para enlazar un poco con lo que sería nuestra asignatura, encontré un vídeo de unos chavales que, utilizando la placa Arduino (aunque no la he comentado mucho, cuenta, además de con el procesador, con unos conversores A/D y D/A, con lo que podemos digitalizar nuestra señal y tratarla con cualquiera de los algoritmos de procesado de señal que sepamos) han implementado unos efectos para su guitarra eléctrica.
Para acabar simplemente decir que, aunque existen más proyectos con la misma temática (es decir, otras placas parecidas a la que da título al post), yo os remito a la página principal de Arduino, que es de la que se ha hablado aquí.

Procesadores Digitales de Señal: Arquitecturas y criterios de selección

1. Justifica la necesidad de un DSP en una aplicación real de electrónica de consumo. ¿En qué casos usarías un microprocesador convencional?
Un DSP, hoy en día, lo podemos encontrar en cualquier reproductor de mp3 (descompresión de la señal, aplicación de efectos de audio...), en una cámara de vídeo o de fotos (algoritmos de compresión, algoritmos de balances de color...), en dispositivos de red (módems, routers...) y muchas más aplicaciones de ámbito diario, que al fin y al cabo es la electrónica de consumo.
Un microprocesador convencional lo utilizaría en cualquier aplicación de control de otros dispositivos u otros DSPs pero no para el procesado de señal ya que no sería algo eficiente.

2. ¿Qué entiendes por escalado de datos? ¿Por qué crees que se deben escalar las señales en datos de coma fija?
Simplemente el cambiar el rango en que se mueve una señal pero conservando cada uno de sus valores, es decir, no saturándola sino convirtiendo cada valor de un rango (escala) a otro rango, de forma lineal o no.
Por el hecho de que los DSPs de coma fija tienen una rango dinámico relativamente limitado (relativamente porque todo depende siempre de la problemática a la que vaya destinado a dar respuesta), al procesar datos puede que los resultados, aún estando los de origen en el rango que acepta el procesador, la salida se nos vaya de rango y por tanto sea necesario volver a introducir la señal en el mismo. Llegados a este punto bien se podría saturar la señal, pero si la gran mayoría de la señal está fuera de rango, el resultado no sería nada bueno (muchísimas muestras podrían tener el mismo valor cuando en realidad deberían ser muy diferentes), por lo que se prefiere escalar la señal, eliminando problemas como, por ejemplo, la distorsión armónica en señales de audio.

3. ¿Qué medidas para comparar la velocidad de un procesador conoces? ¿Te parecen adecuadas? ¿Cómo crees que se utilizan? Añade otras que tú consideres necesarias.
Algunas de las medidas del rendimiento conocidas son:
MIPS: Millones de instrucciones por segundo. Hace referencia a la cantidad de instrucciones que es capaz de procesar el DSP en un segundo. El que el procesador sea mejor o peor según este dato sea grande o pequeño dependerá de la arquitectura del mismo (RISC, CISC...).
MOPS: Millones de operaciones por segundo. Hace referencia a la cantidad de operaciones que puede realizar el procesador en un segundo. No es exactamente lo mismo que el parámetro anterior ya que puede que una intrucción no sea exactamente una operación (por ejemplo, en una arquitectura CISC una instrucción puede significar varias operaciones).
FLOPS: Operaciones de coma flotante por segundo. Hace referencia a lo mismo que MIPS pero se aplica a procesadores que trabajan en coma flotante.
MBPS: MegaBytes por segundo. Hace referencia al rendimiento del sistema.
MAC: Operación de multiplicación-acumulación. Hace referencia al tiempo que tarda el procesador en realizar una multiplicación y guardar el resultado en memoria.
Las medidas aquí propuestas parecen bastante razonables para cuantificar la velocidad y capacidad de procesado de un DSP. Con respecto a otra forma de medir su potencia, yo añadiría resultados de tiempo obtenidos ante procesos conocidos, como pueden ser tablas de tiempo de cómputo ante operaciones que han de realizar estos procesadores como FFTs, operaciones con filtros... Esto realmente aparece en los datasheets de los procesadores, pero al no aparecer en este artículo, creí oportuno el nombrarlo.


4. Explica, con tus propias palabras, qué es la segmentación de intrucciones. ¿Qué son las instrucciones de "salto"? ¿Por qué dan problemas con el pipelining?
La segmentación en procesadores consiste en dividir las instrucciones en unidades más pequeñas (procesos más pequeños) que puedan procesarse de forma paralela y así ganar tiempo de cómputo, ya que en los procesadores en los que las instrucciones se procesan de forma secuencial (un detrás de la otra), el tiempo de cómputo total, en el mejor caso, es la suma de los tiempos de cada operación, mientras que en un sistema en que se permita el solape, idealmente con un solape total, el tiempo de cómputo (en un período estacionario tras el transitorio inicial) sería el tiempo que tarda la mayor operación en realizarse.
Una operación de salto es una operación que cambia de la línea en la que está a otra línea que nos es la que le sigue, sino que es otra que estará en otra parte del código (tanto por arriba como por abajo). Un ejemplo de instrucción de salto sería el famoso GOTO o un condicional IF.
Las instrucciones de tipo salto dan problemas con el pipelining porque el procesador, si comienza a realizar la línea que sigue a la que se está ejecutando (concepto de solape de instrucciones), puede que esa línea nunca se tenga que ejecutar (imaginemos un condicional en el que la condición evaluada no se cumpla) o por ejemplo que la línea siguiente requiera un resultado de la anterior para poder procesarse. En este tipo de casos, no se puede realizar el solape (al menos el solape ideal del 100%) ya que necesitamos un resultado anterior para poder seguir.
Como conclusión de esto podemos afirmar que, en el peor caso del pipelining, nos encontramos con un sistema totalmente secuencial.

5. Imagina que tienes un puesto de ingeniero jefe de un proyecto telecomunicaciones en una empresa. Tu primer cometido es elegir una placa de desarrollo en tiempo real adecuada para la aplicación que vas a desarrollar. Especifica qué criterios tomarías para realizar dicha elección, justificándolos.
Para elegir una placa de desarrollo sobre la que realizar las pruebas de los algoritmos de la empresa, me basaría en los siguientes criterios:
  • Primero de todo intentaría escoger un DSP cuyas características se acercaran bastante a los procesadores que luego pueda utilizar en el proyecto. De nada serviría el poder utilizar procesadores muy potentes en diseño y esperar los mismos resultados en la fase de producción, siendo los utilizados en la segunda etapa bastante distintos (normalmente menos potentes) a los primeros. Además, también conviene utilizar un DSP cuyas características sean lo más cercanas posible a lo que finalmente requerirá el algoritmo por el hecho de que si no tuviéramos suficiente potencia de cálculo, el DSP no funcionaría en "tiempo real" y si tuviéramos más de la necesaria habrían partes del procesador que no estarían funcionando al máximo pero sí gastanto potencia energética.
  • Siguiendo con el tema de potencia (aunque en este caso energética), intentaría utilizar un DSP bastante similar al que fuera a utilizar en la aplicación final: el saber si el algoritmo necesita gran potencia energética (que aunque está relacionado con la de cálculo, vale la pena considerarlo como una variable más para un mejor diseño) vendrá bastante bien para poder optimizar el diseño final.
  • También, como criterio de búsqueda de qué DSP utilizar, propondría la utilización de un procesador que fuera relativamente común (en la medida de lo posible) y de una empresa relativamente fuerte en este tipo de mercado. Este criterio es algo inicial y no implica que más tarde, cuando ya se pudieran evaluar los objetivos comerciales del proyecto, si se hubiera tenido éxito, no se pudiera contemplar la posibilidad de firmar con una casa de DSP más modesta la creación de una línea propia de procesadores.