- Description:
- Proyecto en MATLAB para la decodificación de ondas sonoras con un láser y un fotosensor.
- Last Change:
- Clone URL:
https://git.nezzontli.xyz/clone/proyecto-fisica-2do.git
Commit Briefs
docs(readme): actualizar enlace de File Exchange en badge
- Reemplazar enlace existente con URL correcta al proyecto en MATLAB File Exchange.
chore: agregar `.gitignore` y actualizar README con badges y dependencias MATLAB
- Añadir archivo `.gitignore` con exclusiones específicas para MATLAB, sistemas operativos y herramientas IDE. - Incorporar badges de MATLAB, estado de pruebas y versiones en el README. - Detallar dependencias de MATLAB, incluyendo la toolbox FSDA.
docs(readme): añadir botón MATLAB Online y mejorar formato de tablas
- Integrar botón "Open in MATLAB Online" en la sección inicial - Reformatear tablas de resultados y descripción del hardware para mayor claridad
Cambio en el nombre (tags/v1.0.0)
Merge branch 'main' of codeberg.org:Richard7987/Proyecto-Fisica-2do
Cambios en codeberg README y en el pc
docs(readme): actualizar hardware y descripcion del montaje
- Tabla hardware: laser D18x65mm, ESP32 fuente 5V, modulo jack ShillehTek, soporte Neiko - Descripcion simulacion 3D actualizada con componentes reales - Pipeline paso 7: agregar modulo Jack ShillehTek
Actualizar README.md
Signed-off-by: Richard7987 <richard7987@noreply.codeberg.org>
docs(imagenes): actualizar capturas con hardware real
- Diagrama circuito: ESP32, laser D18x65mm, jack ShillehTek - Simulacion 3D: nuevo layout con soporte Neiko y componentes separados - Reconstruccion FFT: correlacion 1.0000 confirmada
Actualizar README.md
Signed-off-by: Richard7987 <richard7987@noreply.codeberg.org>
Branches
Tree
| .gitignore | commits | blame |
| .idea/ | |
| Imagenes/ | |
| LICENSE | commits | blame |
| README.md | commits | blame |
| README.txt | commits | blame |
| Scripts/ | |
README.txt
Microfono Laser Reconstruccion de Sonido por Vibracion de Vidrio
Fisica Ondas, Oscilaciones y Espacios Vectoriales
Autor: Alejandro B. E.
Descripcion
-----------
Sistema optico-electronico que captura el sonido dentro de una caja
insonorizada sin contacto fisico, usando la vibracion que el audio imprime
sobre un vidrio. Un laser de 650 nm apunta al vidrio; el reflejo modulado
por las vibraciones es capturado por un fotodiodo BPW34, amplificado por un
TIA LM358 y un MAX9814, y digitalizado via el jack de microfono de la PC.
MATLAB aplica la Transformada de Fourier para reconstruir el audio
original.
Bocina vibra vidrio laser reflejado BPW34 TIA LM358 MAX9814 jack PC MATLAB FFT
Resultados
----------
Sistema completo pipeline BPW34 TIA MAX9814 FFT
--------------------------------------------------
Seal Frec. base Error RMS SNR (dB) Correlacion
Tono puro 1000 Hz 2.79 10 102.1 dB 1.0000
Acorde Do Mayor 262 Hz 2.87 10 62.1 dB 1.0000
Barrido chirp 1001000 Hz 1.06 10 30.5 dB 0.9996
Compleja (5 armonicos) 262 Hz 3.00 10 63.1 dB 1.0000
Analisis SVD Espacios Vectoriales
----------------------------------
La descomposicion en valores singulares revela la estructura del espacio
vectorial de cada senal. El tono puro concentra el 99% de su energia en 1
modo; el acorde en 3 modos (uno por nota); la senal compleja en 5 modos
(uno por armonico).
Reconstruccion FFT
------------------
Simulacion 3D del montaje experimental
--------------------------------------
Escena 3D animada del montaje completo: caja insonorizada, vidrio
vibrante,laser industrial D18x65mm 650nm 5mW sobre soporte Neiko, BPW34 en
tubo negro, ESP32 como fuente 5V, circuito TIA LM358 + MAX9814 + modulo
jack ShillehTek en protoboard 830pts, y laptop con MATLAB.
Diagrama de circuito
--------------------
Hardware
--------
Componente Funcion Valor clave
Laser D18x65mm 650nm 5mW Fuente de luz, enfocable P = 5 mW, punto continuo
BPW34 (fotodiodo PIN) Luz corriente R = 0.3 A/W @ 650 nm
LM358 (TIA) Corriente voltaje Rf = 10 k, Cf = 100 pF
Capacitor C_ac Bloqueo DC 10 F
MAX9814 HiLetgo Amplificador AGC Av = 40 dB (GAIN flotante)
Capacitor C_sal Bloqueo offset salida 47 F
Modulo Jack ShillehTek 3.5mm Interfaz PC Entrada microfono, breakout TRRS
ESP32 DIYables Fuente de alimentacion 5V Pin VIN rail protoboard
Soporte Neiko con pinzas Posicionar laser en angulo Ajuste ~30 sobre el vidrio
Alimentacion: ESP32 VIN (+5V) + GND protoboard
Software
--------
Dependencias MATLAB
-------------------
MATLAB Student Suite (Signal Processing Toolbox, Symbolic Math, etc.)
FSDA Flexible Statistics Data Analysis
https://www.mathworks.com/matlabcentral/fileexchange/72999-fsda (para
anlisis SVD avanzado)
Estructura del repositorio
--------------------------
Proyecto-Fisica-2do/
Scripts/
script_prueba_demostracion.m # Simulacion completa del sistema
simulacion_3d_laser.m # Visualizacion 3D animada
diagrama_circuito.m # Esquematico del circuito
Imagenes/
Sistema Laser-Fotosensor Resultados Completos.png
Analisis SVD Espacios Vectoriales.png
Reconstruccion FFT.png
Simulacion 3D Microfono Laser.png
Diagrama de Circuito Microfono Laser.png
LICENSE
Uso
---
% 1. Simulacion matematica completa (no requiere hardware)
run('Scripts/script_prueba_demostracion.m')
% 2. Simulacion 3D animada del montaje (presionar Q para detener)
run('Scripts/simulacion_3d_laser.m')
% 3. Diagrama de circuito esquematico
run('Scripts/diagrama_circuito.m')
% Guardar en alta resolucion:
print(gcf, '-dpng', '-r300', 'diagrama_circuito.png')
Requisitos: MATLAB (base) + Signal Processing Toolbox
No requiere Simulink ni Simscape.
Metodo
------
Pipeline optico-electronico
---------------------------
1. Audio dentro de la caja vibra el vidrio (x ~ m)
2. Vidrio vibrante modula la intensidad del reflejo del laser
P_luz(t) = P_laser [1 + m audio(t)] (m = profundidad de modulacion)
3. BPW34 convierte luz en corriente:
I_foto = R P_luz (R = 0.3 A/W)
4. TIA LM358 convierte corriente en voltaje:
V_TIA = I_foto Rf (Rf = 10 k)
5. C_ac elimina el offset DC
6. MAX9814 amplifica con AGC automatico (40 dB)
7. Modulo Jack ShillehTek 3.5mm jack microfono PC MATLAB
Reconstruccion por FFT
----------------------
Y = fft(senal_capturada);
umbral = max(abs(Y)) * 0.1; % conservar componentes > 10%
mascara = abs(Y) > umbral; % filtro espectral
mascara = mascara | flipud(mascara); % simetria hermitiana
senal_rec = real(ifft(Y .* mascara)); % reconstruccion
Analisis SVD
------------
La matriz de trayectoria M ^(ventana cols) captura la estructura
temporal de la senal. Su descomposicion M = UV revela cuantos modos
son necesarios para representar el contenido espectral directamente
relacionado con el numero de frecuencias presentes.
Licencia
--------
Distribuido bajo los terminos del archivo LICENSE LICENSE.
Proyecto integrador Fisica 2do Semestre Ondas, Oscilaciones y
Espacios Vectoriales
