Bueno...AML_2020 escribió:El uso del multiplicador analógico es una solución excelente. Recuerdo haber visto algo hace muchos años con el sonido del Canal+: se solía usar el LM1496 que permite hacer el proceso de heterodinación y suprimir la portadora del oscilador empleado, en ese caso iba con un filtro pasa-bajos para obtener el espectro original del sonido y quitar el siseo agudo característico de la emisión codificada, aquí sería con un filtro pasa-altos (o quizás simplemente sin filtro ya que el infrasonido no lo podremos oir).pfdc escribió:Buena idea. Antes estas cosas se hacían con un magnetófono de cinta. Se grababa a una velocidad y se reproducía a otra 8 o 10 veces mayor. El problema es que normalmente los equipos no registraban las frecuencias muy bajas.
Con un micro potente puedes digitalizar la señal, hacer transformada rápida de Fourrier y generar otra señal con múltiplos de las frecuencias obtenidas conservando las amplitudes y así escucharlas en tiempo real. Pero todo eso son meses de desarrollo para una persona experta y creo que ese no es el caso.
El circuito que propongo no es la panacea pero puede dar resultados con unas horas de trabajo si se sabe un poquito.
Salud!!
Voy a probar con un Teensy 4.0 que ya incluye ADC y como DAC montaré uno del tipo R-2R a ver que sale...
Saludos
he hecho una primera prueba sintetizando una señal senoidal de 100 Hz y 1 segundo de duración con Matlab para acto seguido reproducirla 3 veces más rápida sonando por tanto a 300 Hz:
clear all
clc
Fs = 44100; % Frecuencia de muestreo
T = 1/Fs; % Periodo de muestreo
L = 44100; % Longitud de la señal (1 segundo)
t = (0:L-1)*T; % Vector de tiempo
f = Fs*(0:(L/2))/L;
% Señal sintetizada
X=sin(2*pi*100*t);
% Reproducción sonora a 3 veces la frecuencia de la señal
% f_real=100 Hz, f_reproducida=300 Hz
% Duración de la señal original 1 segundo
% Duración de la reproducción 1/3 segundo
sound(X, 3*44100);
% Transformada Rápida de Fourier (FFT)
Y = fft(X);
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
% Representación de la FFT
plot(f,P1)
title('Amplitud Espectral S(t)')
xlabel('f (Hz)')
ylabel('|P1(f)|')
La salida de la FFT es:
https://subefotos.com/ver/?b0fb2df2c49a ... bbc30o.png
Lo siguiente que voy a hacer es usar el ADC de un Teensy 4.0 y muestrar el sonido para acto seguido enviarlo a Matlab y procesarlo aquí, es más cómodo que usar un DAC R-2R.
Saludos