Matlab - Decodificador morse y viceversa

 
Vista:

Decodificador morse y viceversa

Publicado por Pablo (1 intervención) el 12/06/2007 04:48:01
Hola soy Pablo y me gustaria si me pudieran ayudar cn un proyecto q estoy haciendo que s de un programa en el cual yo escribo algo en codigo morse y me lo traduce al español y viceversa.

Si alguien me puede enviar este programa se lo agradeceria mucho, aunque sea que traduza morse a español solamente.

de antemano gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Decodificador morse y viceversa

Publicado por Pumy (38 intervenciones) el 13/06/2007 01:36:31
Lo primero que se me ocurriría para hacer lo que dices sería identificar los puntos y rayas con 0 y 1 o viceversa. Entonces la decodificación es como la de un alfabeto binario con palabras de longitud variable. El problema es que el morse es rarillo y algunos símbolos son prefijo de otros.

Pensándolo se me había ocurrido poner un valor por cada posición y multiplicarlo por 1 si es un punto y por 100 si es una raya y sumarlo a un total. Por ejemplo si en morse te viene una letra con un string a que vale '..-..'

total=0;

for i=1: length(a)

val=2^i;

if a(i)=='.'
prod=1;
else
prod=100;
end

total=total+val*prod;

end


Al final tendremos un número en total que será distinto para cada símbolo del alfabeto. Ahora bien, tendremos que haber preparado previamente un array donde tengamos los valores de las letras y otro donde estén ordenadas las letras correspondientes. Serán por ejemplo:

valores=[201 114 510 etc (no voy a calcular todos, se puede hacer con otro script y dejarlo guardado)

letras='abcdefgh...

Entonces ya se puede buscar el número que nos ha dado en total con la función find

resultado=letras(find(valores==total));
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar