Skip to content

[DOCS] notebook: Ensamblar Parte 1 del TP (análisis de filtros) #12

Description

@jero-scafati

Depende de: #1, #2, #3, #4, #5, #6, #7, #10, #11

Descripción

Usar las funciones de core/dsp/ para resolver la Parte 1 de la consigna dentro del notebook. Este issue no requiere implementar lógica matemática nueva — toda la lógica está en core/dsp/. El trabajo acá es importar, ejecutar, graficar y escribir las conclusiones.

Responsabilidades por sección

Cada sección del notebook la redacta la persona que implementó la función correspondiente. Quien escribió el filtro es quien mejor entiende su comportamiento.

Sección del notebook Funciones usadas Quién redacta
Respuestas al impulso + caracterización en frecuencia generate_impulse, filtros, compute_frequency_response, plot_frequency_response Quienes hicieron issues #1#3
Variación de parámetros (M, b0, b1, b2) moving_average, comb_filter Quienes hicieron #1 y #2
Generación de señales de prueba generate_pure_tones, add_white_noise, load_audio Quienes hicieron #4 y #11
Filtrado en tiempo y en frecuencia convolve_time, convolve_frequency, plot_signal Quien hizo #7
Truncado del FIR truncate_fir, apply_fir Quien hizo #3

Estructura esperada del notebook

Archivo: faculty/preentrega/notebook.ipynb

## 1. Respuesta al impulso de los filtros
   - Celda de código: generar delta, pasar por cada filtro, graficar h[n]
   - Celda Markdown: explicar qué es la respuesta al impulso y qué significa su forma
 
## 2. Caracterización en frecuencia
   - Celda de código: módulo y fase de cada filtro
   - Celda Markdown: analizar y comparar comportamientos (¿pasa-bajos? ¿pasa-altos? ¿por qué?)
 
## 3. Variación de parámetros
   - Celda de código: barrer valores de M (3, 8, 20) y graficar los espectros superpuestos
   - Celda de código: variar b0, b1, b2 y graficar
   - Celda Markdown: describir las relaciones encontradas
 
## 4. Señales de prueba
   - Celda de código: generar tono + ruido, cargar música + agregar ruido
   - Celda de código: graficar señal limpia vs con ruido, en tiempo y en frecuencia
 
## 5. Filtrado
   - Celda de código: filtrar por convolución temporal y circular, graficar ambas
   - Celda Markdown: verificar equivalencia y comentar diferencias numéricas si las hay
 
## 6. Truncado del FIR
   - Celda de código: comparar filtro FIR completo vs truncado a N=10, N=50, N=100
   - Celda Markdown: describir el efecto del truncado en frecuencia

Criterios de aceptación

  • Todas las celdas de código ejecutan sin error (Kernel → Restart & Run All pasa limpio)
  • Cada sección tiene al menos una celda Markdown con conclusiones escritas en prosa (no bullets)
  • Los gráficos tienen título, labels en ejes X e Y, y leyenda si hay más de una curva
  • El archivo faculty/preentrega/functions.py contiene las funciones requeridas por la cátedra (puede hacer from core.dsp.filters import moving_average etc.)

Notas

  • No copiar código de core/dsp/ al notebook — solo importar
  • Si algo no funciona como se espera, abrir un issue de bug en el issue correspondiente (no arreglarlo en el notebook)
  • La cátedra evalúa las explicaciones escritas, no el código — invertir tiempo en las celdas Markdown

Archivos involucrados

  • faculty/preentrega/notebook.ipynb
  • faculty/preentrega/functions.py

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions