Tree


.gitignorecommits | blame
.idea/
Imagenes/
LICENSEcommits | blame
README.mdcommits | blame
Scripts/

README.md

# πŸ”¬ Microfono Laser β€” Reconstruccion de Sonido por Vibracion de Vidrio

**Fisica Ondas, Oscilaciones y Espacios Vectoriales**  
**Autor:** Alejandro B. E.

---

![MATLAB](https://img.shields.io/badge/MATLAB-R2025b-blue?style=flat-square&logo=mathworks)
[![Release](https://img.shields.io/badge/release-v1.0-brightgreen?style=flat-square)](https://github.com/Richard7987/Proyecto-Fisica-2do/releases)
![Tests](https://img.shields.io/badge/tests-passing-brightgreen?style=flat-square)
[![Open in MATLAB Online](https://www.mathworks.com/images/responsive/global/open-in-matlab-online.svg)](https://matlab.mathworks.com/open/github/v1?repo=Richard7987/Proyecto-Fisica-2do)
[![File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://www.mathworks.com/matlabcentral/fileexchange/72999-fsda)

## 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

![Resultados completos](Imagenes/Sistema%20Laser-Fotosensor%20β€”%20Resultados%20Completos.png)

| SeΓ±al                  | 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          | 100–1000 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

![SVD](Imagenes/Analisis%20SVD%20β€”%20Espacios%20Vectoriales.png)

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

![Reconstruccion](Imagenes/Reconstruccion%20FFT.png)

---

### Simulacion 3D del montaje experimental

![Simulacion 3D](Imagenes/Simulacion%203D%20β€”%20Microfono%20Laser.png)

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

![Diagrama](Imagenes/Diagrama%20de%20Circuito%20β€”%20Microfono%20Laser.png)

---

## 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 anΓ‘lisis 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

```matlab
% 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

```matlab
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 = UΞ£Vα΅€ 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*