Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
El objetivo principal de este laboratorio es generar sonido de las ondas a diferentes frecuencias.
En física, una onda es una propagación de una perturbación de alguna propiedad de un medio, por ejemplo,
densidad, presión, campo eléctrico o campo magnético, que se propaga a través del espacio transportando
energía. El medio perturbado puede ser de naturaleza diversa como aire, agua, un trozo de metal o el vacío.
Cresta: La cresta es el punto más alto de dicha amplitud o punto máximo de saturación de la onda.
Período: El periodo es el tiempo que tarda la onda en ir de un punto de máxima amplitud al
siguiente.
Amplitud: La amplitud es la distancia vertical entre una cresta y el punto medio de la onda. Nótese
que pueden existir ondas cuya amplitud sea variable, es decir, crezca o decrezca con el paso del
tiempo.
Frecuencia: Número de veces que es repetida dicha vibración. En otras palabras, es una simple
repetición de valores por un período determinado.
Valle: Es el punto más bajo de una onda.
Longitud de onda: Distancia que hay entre dos crestas consecutivas de dicho tamaño.
Las magnitudes que van a entrar en juego en el estudio matemático de estas ondas son:
El período es el tiempo que transcurre entre la generación de un pulso y el siguiente. Se
representa por la letra " T " y en el S.I. se mide en segundos.
La longitud de onda es la distancia que existe entre dos pulsos consecutivos. Se representa por
la letra " l " y en el S.I se mide en metros.
ELECTROACUSTICA A9607-5
La frecuencia es la inversa del período, es decir representa el número de pulsos generados por unidad de
tiempo y en el S.I se mide en Hz. (Hertz)
Ecuación de onda
Una forma habitual de introducir los parámetros que intervienen en la descripción de ondas es a partir de
una definición previa y justificar su significado posteriormente en la función de onda. Algunos términos son
ya conocidos de etapas previas, por ejemplo amplitud como valor máximo que puede alcanzar la
perturbación o la frecuencia como rapidez con que cambia la perturbación en un punto.
Muchas de las características de las ondas dependen de la forma como se genera la perturbación en el
punto origen o FOCO de la onda. Consideremos de nuevo el caso de una cuerda tensa y supongamos que
uno de sus puntos - Origen - realiza el movimiento oscilatorio causado por un muelle sujeto a él.
Dibujando el desplazamiento vertical de todos los puntos de la cuerda y congelando la figura para
compararlos en el mismo instante, apreciamos que su valor varía espacialmente como una función seno.
La función espacial del seno, con un valor máximo que denominamos A -AMPLITUD- , puede escribirse como
Para una posicion x determinada la fase varia respecto al tiempo como podemos ver en una representación
temporal. En una cuerda representa al desplazamiento vertical en cada instante si bien en este caso
particular también puede representar el movimiento
puntual de masa. Esto, que solo es posible en medios materiales con propiedades elásticas, no da lugar sin
embargo a transporte neto de materia cuando la onda se propaga.
ELECTROACUSTICA A9607-5
Observamos que la nueva gráfica también es un seno, donde se repite el mismo valor en intervalos de
tiempo T llamado PERIODO.
es un movimiento armónico simple (MAS) que coincide con el que realiza el extremo del muelle descrito por
Como el elemento de cuerda realiza el MAS con el mismo periodo y amplitud que el muelle, comparando
ambas expresiones se obtiene una relaccion entre el periodo y la longitud de onda
Comprobamos que T es también el tiempo para que un cierto valor de la onda, determinado por la fase,
llegue al siguiente punto separado la distancia de una longitud de onda. Esto nos lleva a interpretar la
VELOCIDAD DE LA ONDA como aquella con la que recorre una longitud de onda en el tiempo de un periodo
Por ser la velocidad con que se transmite la fase de la función de onda,se le conce también
comoVELOCIDAD DE FASE.
y la frecuencia espacial o NUMERO DE ONDAS como el numero longitudes de onda en dos pi metros
Tipos de ondas
La física distingue entre dos tipos de ondas fundamentales, las ondas materiales que requieren un medio
material para propagarse, y las ondas electromagnéticas que no requieren un medio material.
Las ondas materiales, se transmiten por la vibración de las partículas que integran el medio por el que
estas viajan. En este caso, el medio es fundamental para la transmisión de la perturbación, siendo de
partícula a partícula. La energía se transmite gracias a las condiciones elásticas del medio.
ELECTROACUSTICA A9607-5
En cambio las ondas electromagnéticas se transmiten por las modificaciones que sufren los campos
magnéticos y eléctricos, transmitiéndose en el vacío.
La velocidad a que se propagan las ondas electromagnéticas, depende de la constante dieléctrica "e" y la
permeabilidad magnética del medio "m". En caso de transmitirse por el vacío, su velocidad será
No obstante lo expresado anteriormente, las ecuaciones que describen el comportamiento de ambos tipos
de ondas son las mismas y en ambos casos, lo que se transporta es energía.
También las ondas, pueden ser clasificadas según el comportamiento que tiene la perturbación en relación
a la propagación de la onda.
Tendremos entonces, ondas que se propagan en una dirección , mientras que las partículas del medio se
mueven en dirección perpendicular a dicha propagación (caso de ondas en una cuerda) y las llamaremos
ondas transversales
En cambio cuando comprimimos un resorte, se observa que la dirección del movimiento de las partículas
es la misma que la de la onda. A este tipo de ondas se les llama longitudinales.
Las ondas o perturbaciones longitudinales pueden tener como ejemplo claro el de la propagación del
sonido. Para entenderlo basta con pensar el movimiento de pistón que realiza el cono de un parlante
donde podemos observar que se mueve en la misma dirección en que se propaga el sonido.
MATLAB
herramientas adicionales que expanden sus prestaciones, a saber, Simulink (plataforma de simulación
multidominio) y GUIDE (editor de interfaces de usuario - GUI). Además, se pueden ampliar las capacidades
de MATLAB con las cajas de herramientas (toolboxes); y las de Simulink con los paquetes de bloques
(blocksets).
Es un software muy usado en universidades y centros de investigación y desarrollo. En los últimos años ha
aumentado el número de prestaciones, como la de programar directamente procesadores digitales de señal
o crear código VHDL.
GUIDE es un entorno de programación visual disponible en MATLAB para realizar y ejecutar programas que
necesiten ingreso continuo de datos. Tiene las características básicas de todos los programas visuales como
Visual Basic o Visual C++.
INICIO
Para iniciar nuestro proyecto, lo podemos hacer de dos maneras:
a) Ejecutando la siguiente instrucción en la ventana de comandos:
>> guide
b) Haciendo un click en el ícono que muestra la figura:
Esta opción presenta un ejemplo en el cual se calcula la masa, dada la densidad y el volumen, en alguno de
los dos sistemas de unidades. Podemos ejecutar este ejemplo y obtener resultados.
Esta opción es otro ejemplo el cual contiene el menú File con las opciones Open, Print y Close. En el
formulario tiene un Popup menu, un push button y un objeto Axes, podemos ejecutar el programa eligiendo
alguna de las seis opciones que se encuentran en el menú despegable y haciendo click en el botón de
comando.
d) Modal Question Dialog
Con esta opción se muestra en la pantalla un cuadro de diálogo común, el cual consta de una pequeña
imagen, una etiqueta y dos botones Yes y No, dependiendo del botón que se presione, el GUI retorna el
texto seleccionado (la cadena de caracteres ‘Yes’ o ‘No’).
COMPONENTES
CONTROL DESCRIPCIÓN
Push Button Genera una acción
Slider Representa un rango de valores
Radio Button Representa una opción
Check Box Indica el estado de una opción
Edit Text Para editar texto
Static text Muestra un string de texto
Pop-up Menu Provee una lista de opciones
Listbox Lista deslizable
Toggle Button Genera una acción on, off
Axes Para graficar
Panel Visualiza grupo de controles
Button Grup Es un panel exclusivo para radio buttons y
toggle buttons
ActiveX Control Despliega controles ActiveX en Gui
Cada uno de los elementos de GUI, tiene un conjunto de opciones que acceder con click derecho. Aparece el
siguiente submenú:
ELECTROACUSTICA A9607-5
Al hacer click derecho en el elemento ubicado en el área de diseño, una de las opciones más importantes es
View Callbacks, la cual, al ejecutarla, abre el archivo .m. asociado a nuestro diseño y nos posiciona en la
parte del programa que corresponde a la subrutina que se ejecutará cuando se realice una determinada
acción sobre el elemento que estamos editando.
Todos los valores de las propiedades de los elementos (color, valor, posición, string…) y los valores de las
variables transitorias del programa se almacenan en una estructura, los cuales son accedidos mediante un
único y mismo puntero para todos estos. Tomando por ejemplo el programa listado anteriormente el
puntero se asigna en:
handles.output = hObject;
handles, es nuestro puntero a los datos de la aplicación. Esta definición de puntero es salvada con la
siguiente instrucción:guidata(hObject, handles); guidata, es la sentencia para salvar los datos de la
aplicación.
ELECTROACUSTICA A9607-5
Aviso: guidata es la función que guarda las variables y propiedades de los elementos en la estructura de
datos de la aplicación, por lo tanto, como regla general, en cada subrutina se debe escribir en la última línea
lo siguiente:
guidata(hObject,handles);
Esta sentencia nos garantiza que cualquier cambio o asignación de propiedades o variables quede
almacenado.
Por ejemplo, si dentro de una subrutina una operación dio como resultado unavariable utpl para poder
utilizarla desde el programa u otra subrutina debemos salvarla de la siguiente manera:
handles.utpl=utpl;
guidata(hObject,handles);
La primera línea crea la variable utpl a la estructura de datos de la aplicación apuntada por handles y la
segunda graba el valor.
La asignación u obtención de valores de los componentes se realiza mediante las sentencias get y set. Por
ejemplo si queremos que la variable utpl tenga el valor del Slider escribimos
utpl= get(handles.slider1,'Value');
Notar que siempre se obtienen los datos a través del puntero handles.
Para asignar el valor a la variable utpl al statictext etiquetada como text1 escribimos:
set(handles.text1,'String',utpl);%Escribe el valor del Slider...%en static-text
El computador funciona de forma discreta, no en forma continua, es decir, trabaja con números, que
guardamos en vectores.
Para hacer sonidos necesitamos una señal que en este caso es un vector con muchos números, de repente
millones. Este vector tiene que contener el sonido.
Un sonido es una vibración, una onda, que la vemos de forma sinuidal o de forma parecida (En realidad es
consecuencia de ello pero para formar una idea buena lo planteo así).
Lo que se guarda en el vector son valores de la señal. Una analogía para entender esto la visualizo así: Una
cuerda que se mueve, vibrando (Fig. 1) y le sacamos una foto en un instante. Cuando la cuerda esta quieta,
no vibrando, decimos que está en el valor cero (Fig. 2). Mientras empieza a moverse de izquierda a derecha
va adquiriendo valores, los que medimos al medio de la cuerda desde el punto donde esta quieta -cuando
esta en cero- (Fig.3), su elongación máxima será 1 a la derecha, y -1 a la izquierda (Fig.5 y 6).
ELECTROACUSTICA A9607-5
Bueno, con cada foto que le saque a mi onda que representé como cuerda, tendré un valor que guardaré en
el vector. Pero como el movimiento es una vibración, tengo que guardar estos valores cada cierto intervalo
de tiempo, algo así como sacar fotos cada 1 segundo a mi onda, y es ahí donde aparece el concepto de
“Frecuencia de Muestro”.
Frecuencia de muestreo
Lógicamente cuando tengo una mayor frecuencia de muestreo mejor será la calidad del sonido, porque
estaré representando con más puntos mi función.
Por ejemplo el teléfono funciona a 8000 [Hz], y se escucha más o menos no más, (Sobre todo cuando hacen
esos contactos con las unidades móviles en la Radio); Los CD tienen una frecuencia de muestreo de
44.100[Hz] la radio de 22100[Hz], bueno como dato no más.
ELECTROACUSTICA A9607-5
Para realizar nuestro laboratorio, con ayuda de todos los aspectos teoricos ya revisados en la anterior
sección, empezaremos definiendo la ecuación de la onda que programaremos.
Sabiendo que la ecuación de una onda, es una de carácter trigonométrico, la ecuación de esta será:
Con esta ecuación ya podemos identificar, a nuestra amplitud que es de 5, además de la velocidad angular
que contiene o depende de la frecuencia y esta es la que variara en nuestra interfaz.
Ya identificados nuestros parámetros procedamos a realizar una programa en matlab , es deir un archivo .m
que reprodusca el sonida y grafique parte de esta. Entonces analicemos el siguiente programa.
Con este programa vemos y reconocemos que significa, cada parámetro. En primer lugar definimos la
frecuencia de muestreo, esto se refiere a los puntos que serán tomados en cuenta para que la grafica no
sea tan cuadrada y nos permita apreciar bien las carcteristicas.
La frecuencia de sonido, esta definida a nuestra variable f de nuestra ecuación de onda, por el momento la
definiremos con un valor.
La duración del sonido será como se ve de 2 segundos esta se puede cambiar. La señal que introduciremos
es la ya antes vista con lo que con el comando ‘sound’ podremos escuchar el sonido de esa frecuencia.
Definimos asi también los limitesdel grafico que dependerán de la frecuencia de muestreo y de la frecuencia
del sonido, pa esto le damos nuevamente la ecuación con x en función de t1.
ELECTROACUSTICA A9607-5
Como vemos en la grafica, la amplitud es 5, nuestra frecuencia es casi 10000 con lo que el periodo es 2e-4,
con esto completamos nuestro primer paso.
Ahora para realizar nuestro GUI o interfaz de usuario debemos realizar los pasos para crear la interfaz el cual
debera ser modificada en PROPERTY INSPECTOR para quedar de esta manera.
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Outputs from this function are returned to the command line.
function varargout = SON1_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
Como se ve en la configuración del botón PLAY, definimos la frecuencia de muestreo, la duración y nuestra
función. La aplicación del slider es que obtenemos el valor de la frecuencia de este y lo guardamos en fr
como se ve.
%if user inputs something is not a number, or if the input is less than 0
%or greater than 100, then the slider value defaults to 0
set(handles.slider1,'Value',0);
set(handles.edit2,'String','0');
else
set(handles.slider1,'Value',sliderValue);
end
En esta parte de la programación podemos ver como determinamos los límites con una condición haciendo
que si el valor de la interfaz edit text que pusimos , sobrepasa el limite este mostrara por defecto un 0.
Entonces después de haber armado nuestro GUI y luego haber configurado los botones de nuestra interfaz
la guardamos y podemos ejecutarla para poder visualizar esta interfaz y poder escuchar los sonidos a
distintas frecuencias en el rango de 20 a 20000 hertz.
ELECTROACUSTICA A9607-5
5.- CONCLUSIONES
Con los aspectos teóricos expuestos se pudo conocer los parámetros de una onda que es de forma
trigonometría y la podemos graficar en MATLAB.
De acuerdo a las utilidades de la INTERFAZ DE USUARIO podemos generar sonido de nuestra onda a
diferentes frecuencias.
6.- BIBLIOGRAFIA
http://es.wikipedia.org/wiki/Onda_(f%C3%ADsica).
http://www.fisica-facil.com/Temario/Ondas/Teorico/PulsodeOndas/centro.htm
http://rocoblog.blogspot.com/2007/01/el-sonido-y-matlab.html
MANUAL DE INTERFAZ GRAFICA DE USUARIO EN MATLAB por Diego Orlando Barragan Guerrero
MANUAL GUIDE CEDUVIRT
MATLAB 2010