Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Crear cuenta

Matlab - espectro de frecuencias

Vista:
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:espectro de frecuencias
Autor:Juan (4 intervenciones)
Fecha:05/07/2007 14:34:42
Hola

Tengo un pequeño problema para calcular el espectro de frecuencias de un microfono de garganta.

Lo que he estado haciendo es:

grabar un pequeño segmento de mi voz usando el microfono.
despues lo mande llamar con la funcion wavread
le aplique la FFT
Grafiqué

el codigo es el siguiente:

[y,fs,nbits] =wavread('Path del archivo');
y= y ' ;
Y(1)=1;
Y= fft (y);
N=length(Y);
x=abs(Y(1:N/2)).^2;
nyquist=1/2;
freq=(1:N/2)/(N/2)*nyquist;
plot(freq,x), grid on;
xlabel('Frequenz (Hz)');

el problema es que no estoy muy convencido de que asi se calcule el espectro de frecuencia.

Alguien me puede dar su opinión ?

Muchas gracias!!!!!
Responder Subir
información
Otras secciones de LWP con contenido similar...
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:RE:espectro de frecuencias
Autor:Julian (75 intervenciones)
Fecha:05/07/2007 21:50:35
Hola, aqui un ejemplo....

[y Fs bits] =wavread('C:\señal_de_voz.wav');
%
y=y.'; % Organiza los datos en vector fila.
T=1/Fs; % Tiempo de muestreo.
L=length(y); % Longitud de la señal.
t=(0:L-1)*T; % Vector de tiempo.
%
NFFT=2^nextpow2(L); % Siguiente potencia de 2 de la longitud de 'y'.
Y=fft(y); % Aplica Transformada de Fourier.
f=Fs/2*linspace(0,1,NFFT/2); % Vector de frecuencias.
%
% Visualiza la señal de voz y el espectro de dicha señal.
subplot(2,1,1), plot(t,y), title('Señal de Voz'),...
xlabel('Tiempo (segundos)'), grid on
subplot(2,1,2), plot(f,2*abs(Y(1:NFFT/2))),...
title('Espector de la Señal de Voz'),...
xlabel('Frecuencia (Hz)'), ylabel('|Y(f)|'), grid on

Saludos!
Comentar Subir
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:RE:espectro de frecuencias
Autor:dario (1 intervención)
Fecha:14/09/2007 20:07:22
por favor enviarme un ejemplo practico de bajar un archivo wap a matlab y luego multiplicarlo con una seno para visulizar el resultado
Comentar Subir
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:calculo de la frecuencia
Autor:Julio (1 intervención)
Fecha:28/09/2008 07:32:31
Hola:
Por favor necesito una explicacion a esta función de matlab que calcula la distancia mayor o pico.

En el siguiente ejrcicio:
function T=encuentra_distancia_pico(x)
len = length (x)
x=x-mean(x) %%%por qué se le resta la media?
s = abs(fft(x,128)) %%%se calcula la frecuencia para 128 puntos???...por favor puede explicarme qué es lo que hace exactamente esta línea
idx = find (s==max(s)) %%% por qué se calcula la frecuencia de esa manera, qué es lo que hace exactamente esta línea.
T = 128/idx(1) %%% Por qué calculo el período de esa forma

Por favor necesito que me expliques en detalle esta función y si es bueno pasame links de esto para entenderlo mejor, ya que tengo que exponer esto y no entiendo casi nada. Gracias.
Comentar Subir