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
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
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á encore/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.
generate_impulse, filtros,compute_frequency_response,plot_frequency_responsemoving_average,comb_filtergenerate_pure_tones,add_white_noise,load_audioconvolve_time,convolve_frequency,plot_signaltruncate_fir,apply_firEstructura esperada del notebook
Archivo:
faculty/preentrega/notebook.ipynbCriterios de aceptación
Kernel → Restart & Run Allpasa limpio)faculty/preentrega/functions.pycontiene las funciones requeridas por la cátedra (puede hacerfrom core.dsp.filters import moving_averageetc.)Notas
core/dsp/al notebook — solo importarArchivos involucrados
faculty/preentrega/notebook.ipynbfaculty/preentrega/functions.py