sábado, 9 de septiembre de 2023

ANEXO (nuevo) - Relación de fase entre desplazamiento, velocidad y presión sonora

El tema de las fases es complicado en las ondas de presión sonora, por lo que conviene dedicarle un espacio de reflexión.

NOTA: Al final de todo comento las diferencias con lo que fue el primer documento comentado en clases para obtener estas ecuaciones y el modo de realizar una comprobación en Matlab

Ondas progresivas de desplazamiento, velocidad y presión

Consideremos una onda progresiva que avanza hacia la derecha (comenzando como coseno)

y=y0.cos(k.xω.t)y=y_0 . cos(k.x-\omega .t)

La velocidad de partícula uu corresponde a dydt\frac{dy}{dt}

u=y0.(sen(k.xω.t)).(ω)u=y_0. (-sen(k.x-\omega . t)).(-\omega)

u=ω.y0.sen(k.xω.t)=u0.sen(k.xω.t)u=\omega . y_0. sen(k.x-\omega . t)=u_0. sen(k.x-\omega . t)

Es posible justificar por razonamientos que la presión mantiene una diferencia de fase de 90° con respecto al desplazamiento. Esto es, que en los lugares y momentos en que existe mínimo o máximo desplazamiento la presión es nula y viceversa. Por otro lado, en una onda plana progresiva estacionaria la relación entre presión y velocidad es una constante real (z0z_0) que corresponde a la impedancia acústica

p=z0.up = z_0 . u

p=z0.u0.sen(k.xω.t)=z0.ω.y0.sen(k.xω.t)=p0.sen(k.xω.t)p=z_0 . u_0. sen(k.x-\omega . t)=z_0 . \omega . y_0. sen(k.x-\omega . t)= p_0 . sen(k.x-\omega . t)

Onda regresiva de desplazamiento

Si ahora consideramos ondas regresivas, necesitamos tener en cuenta que cambios realizar en la ecuación de cada una de las ondas. Si solamente esperamos obtener una onda estacionaria, alcanzará (como vimos en otro momento) con cambiar el signo de uno de los términos del argumento de la senoidal. Por ejemplo, cambiando kx-ωt por kx+ωt. Sin embargo, si deseamos que dicha onda estacionaria sea consistente con alguna restricción física real (como una superficie reflectante), entonces será necesario elegir correctamente la fase entre ambas ondas viajeras. Una pared reflectante, ubicada en un determinado punto x=x0, impone como condición que la onda estacionaria de desplazamiento (superposición de ambas viajeras) sea nula. Es lo que se conoce como “condición de contorno, de frontera, o de borde” (boundary condition). La manera más sencilla de hallar las ecuaciones es suponer que la pared está en x0=0, y en caso de necesitar ubicarla en otro lugar reemplazar en las ecuaciones resultantes x por (x-x0). Esto implica que

yprogresiva(0,t)+yregresiva(0,t)=0y_{progresiva}(0,t)+y_{regresiva}(0,t)=0

Dicho de otro modo

y0.cos(0ω.t)+y0.cos(0+ω.t+ϕy)=0y_0 . cos(0 -\omega.t) + y_0 . cos(0 +\omega.t+\phi_y) =0

cos(ω.t)=cos(ω.t+ϕy)cos(-\omega.t) = - cos(\omega.t+\phi_y)

Debemos tener en cuenta que cos(α)=cos(α)cos(-\alpha)=cos(\alpha)

y también que cos(α)=cos(α±π)-cos(\alpha)=cos(\alpha \pm \pi)

cos(ω.t)=cos(ω.t)=cos(ω.t+ϕy±π)cos(-\omega.t) = cos(\omega.t) = cos(\omega.t+\phi_y \pm \pi)

La fase necesaria es

ϕy=±π\phi_y=\pm \pi

Queda entonces

yprogresiva=y0.cos(k.xω.t)y_{progresiva}=y_0.cos(k.x-\omega.t)

yregresiva=y0.cos(k.x+ω.t+π)y_{regresiva}=y_0.cos(k.x+\omega.t+\pi)

Onda estacionaria de desplazamiento

Partimos de la relación cos(a)+cos(b)=2.cos(ab2).cos(a+b2)cos(a)+cos(b)=2 . cos(\frac{a-b}{2}) . cos(\frac{a+b}{2})

a=k.xω.ta=k.x-\omega.t y b=k.x+ω.t+πb=k.x+\omega.t+\pi

ab2=ω.tπ/2\frac{a-b}{2}=-\omega.t-\pi/2 y a+b2=k.x+π/2\frac{a+b}{2}=k.x+\pi/2

Con lo cual

ytotal=y0.cos(k.xω.t)+y0.cos(k.x+ω.t+π)=2.y0.cos(ω.tπ/2).cos(k.x+π/2)y_{total}=y_0.cos(k.x-\omega .t)+y_0.cos(k.x+\omega .t+\pi)=2 . y_0.cos(-\omega.t-\pi/2) . cos(k.x+\pi/2) ytotal=2.y0.cos(ω.t+π/2).cos(k.x+π/2)=2.y0.sen(ω.t).sen(k.x)y_{total}=2 . y_0.cos(\omega.t+\pi/2) . cos(k.x+\pi/2)=2.y_0 . sen(\omega.t) . sen(k.x)

Onda regresiva de velocidad

Para la onda regresiva de velocidad podría hacerse un análisis semejante al anterior respecto de las condiciones de contorno, o bien obtener la derivada temporal la solución obtenida de la onda correspondiente de desplazamiento

uprogresiva=typrogresiva=y0.(sen(k.xω.t)).(ω)u_{progresiva}=\frac{\partial}{\partial t} y_{progresiva} =y_0.(-sen(k.x-\omega.t) ). (-\omega)

uprogresiva=y0.ω.sen(k.xω.t)=u0.sen(k.xω.t)u_{progresiva}=y_0.\omega.sen(k.x-\omega.t)=u_0.sen(k.x-\omega.t)

uregresiva=tyregresiva=y0.(sen(k.x+ω.t+π)).ωu_{regresiva}=\frac{\partial}{\partial t} y_{regresiva} =y_0.(-sen(k.x+\omega.t+\pi)).\omega

uregresiva=u0.sen(k.x+ω.t+π)u_{regresiva}=- u_0.sen(k.x+\omega.t+\pi)

El signo menos se puede cancelar si se altera el argumento agregando o quitando π\pi

uregresiva=u0.sen(k.x+ω.t)u_{regresiva}= u_0.sen(k.x+\omega.t)

NOTA: En este caso, las restricciones impuestas considerando una superficie reflectora ideal en x=0, dan lugar a que la onda progresiva y la regresiva solamente tengan cambio de signo en uno de los términos sin ninguna fase adicional. Esto se obtuvo derivando el desplazamiento, pero también podría obtenerse aplicando la condición de contorno para determinar la relación de fases.

Onda estacionaria de velocidad

Partimos de la relación cos(a)+cos(b)=2.cos(ab2).cos(a+b2)cos(a)+cos(b)=2 . cos(\frac{a-b}{2}) . cos(\frac{a+b}{2})

Modificamos para calcular seno + seno

sen(a)+sen(b)=cos(aπ/2)+cos(bπ/2)=2.cos(ab2).cos(a+b2π/2)sen(a)+sen(b)=cos(a-\pi/2)+cos(b-\pi/2)=2 . cos(\frac{a-b}{2}) . cos(\frac{a+b}{2}-\pi/2)

Dando por resultado

sen(a)+sen(b)=2.cos(ab2).sen(a+b2)sen(a)+sen(b)=2 . cos(\frac{a-b}{2}) . sen(\frac{a+b}{2})

En el caso de onda progresiva y regresiva de velocidad, tenemos que a y b son

a=k.xω.ta=k.x-\omega.t b=k.x+ω.tb=k.x+\omega.t

ab2=ω.t\frac{a-b}{2}=-\omega.t a+b2=k.x\frac{a+b}{2}=k.x

Con lo cual

utotal=u0.sen(k.xω.t)+u0.sen(k.x+ω.t)=2.u0.cos(ω.t).sen(k.x)u_{total}=u_0.sen(k.x-\omega .t)+u_0.sen(k.x+\omega .t)=2 . u_0.cos(-\omega.t) . sen(k.x)

utotal=2.u0.cos(ω.t).sen(k.x)u_{total}=2 . u_0.cos(\omega.t) . sen(k.x)

Onda regresiva de presión

Para la onda regresiva de presión consideraremos la relación que muestra el libro Fundamentos de Acústica de Kinsler, donde indica que la relación entre presión y velocidad es la impedancia que coincide con z0=ρ.cz_0=\rho . c . El libro deduce en el capítulo 2 esta relación para la impedancia mecánica de la cuerda, pero más adelante muestra que la ecuación es válida para una onda sonora plana (unidimensional).

pprogresiva=z0.uprogresiva=z0.u0.sen(k.xω.t)=p0.sen(k.xω.t)p_{progresiva}=z_0 . u_{progresiva}=z_0 . u_0.sen(k.x-\omega.t) = p_0.sen(k.x-\omega.t)

Para calcular la onda regresiva podríamos intentar aplicar la misma relación con respecto a la velocidad regresiva, sin embargo en esa situación hay algo que nos puede llevar a una contradicción que intentaré explicar del modo más claro posible aquí. Si seguimos la misma relación dada por z0z_0 tendremos las mismas funciones senoidales con idénticos argumentos sumadas, por lo cual necesariamente los máximos y mínimos de las ondas estacionarias se producirán en los mismos lugares. Esto no es posible, ya que sabemos por cuestiones físicas que junto a la pared no puede haber desplazamiento longitudinal de partículas y que la presión será máxima en una onda estacionaria. Intentaremos entonces seguir otro camino para obtener la pregresivap_{regresiva} y luego de obtenerla calcularemos la relación entre esa presión y la velocidad para comparar con la impedancia.

El procedimiento a seguir será como el que usamos para el desplazamiento. La onda de presión cambia de dirección, por lo que el argumento de la senoidal cambia el signo del término dependiente del tiempo. Para considerar la condición de contorno (o frontera) agregamos una fase ϕp\phi_p que deberá respetar esta restricción.

pregresiva=p0.sen(k.x+ω.t+ϕp)p_{regresiva}= p_0.sen(k.x+\omega.t+\phi_p)

Consideraremos que la condición de contorno corresponde a una pared reflectante ideal en la posición x=0. En ese punto, la presión se refleja sin inversión, lo que significa que

pregresiva(0,t)=pprogresiva(o,t)p_{regresiva}(0,t)=p_{progresiva}(o,t)

sen(0+ω.t)=sen(0ω.t+ϕp)sen(0+\omega.t)=sen(0-\omega.t+\phi_p)

sen(ω.t)=sen(ω.t+ϕp)sen(\omega.t)=sen(-\omega.t+\phi_p)

Esto puede pensarse como la proyección vertical de dos fasores que están girando en sentido contrario, de los cuales se requiere que el valor de proyección vertical sea igual para todo tiempo t. El cambio de signo de ω\omega implica un fasor rotando en sentido contrario. Hay que tener en cuenta además que el gráfico animado que estamos mostrando varía en el tiempo, pero estamos representando el eje x en forma horizontal. Para cada instante de tiempo, se representan ambas ondas en el espacio.

El comportamiento mostrado en el gif animado se corresponde con las condiciones adecuadas de contorno en x=0, para el caso de reflexiones sin inversión (como es el caso de la presión sonora ante una pared reflectante). Tengan en cuenta que si bien la orientación de las senoidales está a la derecha y por lo tanto la onda incidente sería la regresiva, mientras que la reflectante sería la progresiva, todas las ecuaciones son idénticas, ya que la expresión matemática de la onda estacionaria presupone una onda que va desde menos infinito a más infinito. Lo que establece la condición de frontera o contorno es el valor que debe tener la onda resultante para todo t en un punto x determinado.

En forma general, para cada onda progresiva con una fase determinada

pprogresiva=p0.sen(k.xω.t+ϕp1)p_{progresiva}= p_0.sen(k.x-\omega.t+\phi_{p1})

deberá tenerse en cuenta una onda regresiva con una fase tal que se cumpla la condición de contorno

pregresiva=p0.sen(k.x+ω.t+ϕp2)p_{regresiva}= p_0.sen(k.x+\omega.t+\phi_{p2})

Para x=0 deben coincidir los valores para todo tiempo t

sen(ω.t+ϕp1)=sen(ω.t+ϕp2)sen(-\omega.t+\phi_{p1})=sen(\omega.t+\phi_{p2})

Puedo considerar aquí que la función seno tiene la siguiente propiedad (la primera es para cualquier función con simetría impar, y la segunda por ser armónica)

sen(α)=sen(α)=sen(α+π)sen(-\alpha)=-sen(\alpha)=sen(\alpha+\pi)

Con lo cual se puede reescribir la ecuación de igualación anterior para que los signos de omega por t sean iguales

sen(ω.tϕp1+π)=sen(ω.t+ϕp2)sen(\omega.t-\phi_{p1}+\pi)=sen(\omega.t+\phi_{p2})

Esto implica que los argumentos de la función pueden igualarse si se suma a ellos 2n.π2n.\pi con cualquier n entero.

ω.tϕp1+π=ω.t+ϕp2+2n.π\omega.t-\phi_{p1}+\pi=\omega.t+\phi_{p2}+2n.\pi

Esto implica que ϕp1=ϕp2+(2n1)π-\phi_{p1}=\phi_{p2}+(2n-1)\pi

La relación entre ambas fases puede ser cualquier valor impar multiplicado por pi (signo positivo o negativo)

De modo que conociendo la fase correcta de una de las componentes, puede hallarse la otra.

En nuestro caso, el desarrollo tomando la relación con la onda de velocidad corresponde a una onda progresiva de presión con fase nula. Por lo cual será

pregresiva=p0.sen(k.x+ω.t+πϕp1)=p0.sen(k.x+ω.t+π)p_{regresiva}= p_0.sen(k.x+\omega.t+\pi-\phi_{p1})= p_0.sen(k.x+\omega.t+\pi)

Donde de todos los valores impares posibles (positivos o negativos) elegimos el valor más sencillo de relación de fases sumando π\pi

Onda estacionaria de presión

Partimos de la expresión que utilizamos previamente con la velocidad

sen(a)+sen(b)=2.cos(ab2).sen(a+b2)sen(a)+sen(b)=2 . cos(\frac{a-b}{2}) . sen(\frac{a+b}{2})

Tenemos que a y b son

a=k.xω.ta=k.x-\omega.t b=k.x+ω.t+πb=k.x+\omega.t+\pi

ab2=ω.tπ/2\frac{a-b}{2}=-\omega.t-\pi/2 a+b2=k.x+π/2\frac{a+b}{2}=k.x+\pi/2

Con lo cual

ptotal=p0.sen(k.xω.t)+p0.sen(k.x+ω.t+π)=2.p0.cos(ω.tπ/2).sen(k.x+π/2)p_{total}=p_0.sen(k.x-\omega .t)+p_0.sen(k.x+\omega .t+\pi)=2 . p_0.cos(-\omega.t-\pi/2) . sen(k.x+\pi/2) Considerando que

cos(α)=cos(α)cos(-\alpha)=cos(\alpha)

cos(α+π/2)=sen(α)=sen(α+π)cos(\alpha+\pi/2)=-sen(\alpha)=sen(\alpha+\pi)

sen(α+π/2)=cos(α)sen(\alpha+\pi/2)=cos(\alpha)

ptotal=2.p0.sen(ω.t+π).cos(k.x)p_{total}=2 . p_0.sen(\omega.t+\pi) . cos(k.x)

Resumen de expresiones

ytotal=y0.cos(k.xω.t)+y0.cos(k.x+ω.t+π)=2.y0.sen(ω.t).sen(k.x)y_{total}=y_0.cos(k.x-\omega .t)+y_0.cos(k.x+\omega .t+\pi)=2.y_0 . sen(\omega.t) . sen(k.x)

utotal=u0.sen(k.xω.t)+u0.sen(k.x+ω.t)=2.u0.cos(ω.t).sen(k.x)u_{total}=u_0.sen(k.x-\omega .t)+u_0.sen(k.x+\omega .t)=2 . u_0.cos(\omega.t) . sen(k.x)

ptotal=p0.sen(k.xω.t)+p0.sen(k.x+ω.t+π)=2.p0.sen(ω.t+π).cos(k.x)p_{total}=p_0.sen(k.x-\omega .t)+p_0.sen(k.x+\omega .t+\pi)=2 . p_0.sen(\omega.t+\pi) . cos(k.x)

En la siguiente figura pueden verse en forma animada las diferentes ondas

Con el fin de testear los resultados generé las ondas estacionarias de dos modos diferentes: sumando ambas ondas y utilizando la versión que multiplica dos senoidales. La suma está graficada con color verde, mientras que el producto está graficado con línea de puntos negra. Puede notarse que todos se superponen.

El código Matlab para generar la figura animada es el siguiente (allí pueden encontrar que se están aplicando las ecuaciones anteriores)

% Fases ondas estacionarias desplazamiento, velocidad y presión
% Chequeo generando todas las ondas (más detallado)
p10=0.5; p20=0.5; % amplitud presión progresiva y regresiva
y10=0.5; y20=0.5; % amplitud desplazamiento progresiva y regresiva
u10=0.5; u20=0.5; % amplitud velocidad progresiva y regresiva

dx=1e-3; fs=48000; dt=1/fs;
xmin=-3.25; xmax=0.25; tmax=3e-3;
x=xmin:dx:xmax;

c=340;
f=500;
w=2*pi*f;
lambda=2; %c/f;
k=2*pi/lambda;

saltot=2*dt;

for t=0:saltot:tmax
    yp=y10*cos(k*x-w*t);
    yr=y20*cos(k*x+w*t+pi);
    ysuma=yp+yr;
    yprod=(y10+y20)*sin(w*t).*sin(k*x);
    
    up=u10*sin(k*x-w*t);
    ur=u20*sin(k*x+w*t);
    usuma=up+ur;
    uprod=(u10+u20)*cos(w*t).*sin(k*x);
    
    
    pp=p10*sin(k*x-w*t);
    pr=p20*sin(k*x+w*t+pi);
    psuma=pp+pr;
    pprod=(p10+p20)*sin(w*t+pi).*cos(k*x);

    
    subplot(3,2,1)
    plot(x,yp,'k',x,yr,'r',x,ysuma,'g',x,yprod,':k')    
    axis([-inf inf -2 2])
    grid on
    title('desplazamiento')
    line([0 0],[-2 2],'color','k','linewidth',4)
    legend('progresiva','regresiva','suma','producto', ...
       'location','northwest')

    subplot(3,2,3)
    plot(x,up,'k',x,ur,'r',x,usuma,'g',x,uprod,':k')    
    axis([-inf inf -2 2])
    grid on
    title('velocidad de partículas')
    line([0 0],[-2 2],'color','k','linewidth',4)

    subplot(3,2,5)
    plot(x,pp,'k',x,pr,'r',x,psuma,'g',x,pprod,':k')    
    axis([-inf inf -2 2])
    grid on
    title('presión')
    line([0 0],[-2 2],'color','k','linewidth',4)


    subplot(3,2,2)
    plot(x,yp,'b',x,2*up,'r',x,3*pp,'k')    
    axis([-inf inf -2 2])
    grid on
    title('ondas progresivas (amplitudes arbitrarias)')
    line([0 0],[-2 2],'color','k','linewidth',4)
    legend('desplaz','velocidad','presión', ...
       'location','northwest')

    subplot(3,2,4)
    plot(x,yr,'b',x,2*ur,'r',x,3*pr,'k')    
    axis([-inf inf -2 2])
    grid on
    title('ondas regresivas (amplitudes arbitrarias)')
    line([0 0],[-2 2],'color','k','linewidth',4)
    legend('desplaz','velocidad','presión', ...
       'location','northwest')
    
    subplot(3,2,6)
    plot(x,yprod,'b',x,uprod,'r',x,pprod,'k')    
    axis([-inf inf -2 2])
    grid on
    title('ondas estacionarias')
    line([0 0],[-2 2],'color','k','linewidth',4)
    legend('desplaz','velocidad','presión', ...
       'location','northwest')
    pause(0.0001) 
    
end

Es posible descargar el archivo .m en el siguiente link 

ondas_estacionarias_acustica.m

Las tres ondas estacionarias se ven reflejadas en el siguiente gif animado (y: desplazamiento; u: velocidad; p: presión)




Aclaraciones finales

En la primera versión que intenté analizar, estaba considerando la pared ubicada en una coordenada diferente de x=0, lo que provoca que las senoidales pueden tener distintas fases y distintas expresiones. Una onda estacionaria de desplazamiento que tenga que anularse en x=0 deberá tener un seno dependiente de x, pero tendrá una fase diferente (e incluso puede expresarse como coseno) si la condición de valor nulo se traslada a otro punto de x.

El tema que mencioné en clase sobre el cambio de signo de la velocidad o el desplazamiento queda supeditado a demasiadas cosas para que pueda considerarse de modo simple y directo como lo pensé en ese momento. La cuestión es que quien manda allí es la condición de frontera que debe cumplirse. La fase estará definida por lo que suceda en esa condición de frontera.