Transformada De Fourier Y Filtrado En Matlab

Páginas: 6 (1414 palabras) Publicado: 9 de octubre de 2012
Facultad de Ingeniería en Computación y Electrónica

Ingeniería en Electrónica y Telecomunicaciones

Procesamiento Digital de Señales

Práctica #2:
Transformada de Fourier y Filtrado

Adrián Muñoz Gallardo
Luis Alejandro Martínez Hernández

02/09/12

Objetivo: Utilizar la transformada de Fourier como una herramienta para el análisis
espectral de señales temporales y tambiénobtener los parámetros de diseño de
filtros.
Material:


Computadora Personal con tarjeta de audio compatibl e con Matlab



Micrófono



Generador de Funciones



Misceláneas (generadores de tono, diapasón 440Hz, otras fuentes de
audio)
Desarrollo

Obtener el espectro de Fourier de los archivos a1.txt, a2.txt y a3.txt
Espectro de Fourier de a1.txt (p1.m):
clc,
load
loadload

clear all, close all
a1.txt;
a2.txt;
a3.txt;

Fs = 44100; %Frecuencia de muestreo
T = 1/Fs;
L = length(a1);
t = (0:L-1)*T;
Nbits = 16; %Resolución del canal: 8, 16, 24bits
Nchans = 1; %Modo canal 1 = Mono, 2 = Stereo
subplot(1,2,1)
plot (t,a1)

%FFT a1
NFFT = 2^nextpow2(L); %Next power od 2 from lenght of y
Y = fft(a1, NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
%Gráfica FFTa1
subplot(2,2,2)
plot(f,2*abs(Y(1:NFFT/2+1)))
title('Espectro de Amplitud de y(t)')
xlabel('Frecuencia (Hz)')
ylabel('|Y(f)|')

Ésta es una señal de 425 Hz similar a la que escuchamos cuando no hay ton o en
el teléfono, del lado izquierdo se ve la señal original y del lado derecho tenemos su
espectro de frecuencia.
Espectro de Fourier de a2.txt (p2.m):
clc,
load
load
load

clearall, close all
a1.txt;
a2.txt;
a3.txt;

Fs = 44100; %Frecuencia de muestreo
T = 1/Fs;
L = length(a2);
t = (0:L-1)*T;
Nbits = 16; %Resolución del canal: 8, 16, 24bits
Nchans = 1; %Modo canal 1 = Mono, 2 = Stereo
subplot(1,2,1)
plot (t,a2)

%FFT a1
NFFT = 2^nextpow2(L); %Next power od 2 from lenght of y
Y = fft(a2, NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
%Gráfica FFT a1 subplot(2,2,2)
plot(f,2*abs(Y(1:NFFT/2+1)))
title('Espectro de Amplitud de y(t)')
xlabel('Frecuencia (Hz)')
ylabel('|Y(f)|')

Ésta es una señal de 425 Hz similar a la que escuchamos cuando se cuelga el
teléfono, del lado izquierdo se ve la señal original y del lado derecho tenemos su
espectro de frecuencia.
Espectro de Fourier de a3.txt (p3.m):
clc,
load
load
load

clear all, close alla1.txt;
a2.txt;
a3.txt;

Fs = 44100; %Frecuencia de muestreo
T = 1/Fs;
L = length(a3);
t = (0:L-1)*T;
Nbits = 16; %Resolución del canal: 8, 16, 24bits
Nchans = 1; %Modo canal 1 = Mono, 2 = Stereo
subplot(1,2,1)
plot (t,a3)

%FFT a1

NFFT = 2^nextpow2(L); %Next power od 2 from lenght of y
Y = fft(a3, NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
%Gráfica FFT a1
subplot(2,2,2)plot(f,2*abs(Y(1:NFFT/2+1)))
title('Espectro de Amplitud de y(t)')
xlabel('Frecuencia (Hz)')
ylabel('|Y(f)|')

Ésta es una señal de voz mezclada con un tono de 425 Hz, del lado izquierdo se
ve la señal original y del lado derecho tenemos su espectro de frecuencia.
A ésta misma señal se le aplica un filtro para poder aislar la señal indeseada (en
éste caso el tono de 425 Hz) y dejar solamente lavoz. Para realizar éste proceso
se hizo lo siguiente:
clc, clear all, close all
load a3.txt;
Fm = 44100;
Fn = Fm/2;
L = length(a3);
Wp = [1550 6000]/Fn; %Banda de paso
Ws = [1 6500]/Fn; %Banda eliminada
Rp = 3;

Rs = 10;
%Filtro Butterworth
[n,Wn] = buttord(Wp,Ws,Rp,Rs);
[b,a] = butter(n,Wn);
[h f] = freqz(b,a,[],Fm);
figure
subplot(2,2,1);
plot(abs(h))
title('Filtro pasabandade la señal a3')
xlabel('Frecuencia (Hz)')
ylabel('|Y(f)|')
senal = filter(b,a,a3); %Convolución del filtro con la señal
%FFT a3
NFFT = 2^nextpow2(L); %Next power od 2 from lenght of y
Y = fft(a3, NFFT)/L;
f = Fm/2*linspace(0,1,NFFT/2+1);
subplot(2,2,2)
plot(f,2*abs(Y(1:NFFT/2+1)))
title('Espectro de Amplitud de la señal a3')
xlabel('Frecuencia (Hz)')
ylabel('|Y(f)|')
%FFT señal...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Matlab Transformada De Fourier
  • Transformada de fourier en matlab
  • Transformada de Fourier rapida Matlab
  • Codigo Para La Transformada De Fourier Matlab
  • Transformada de laplace y transformada de fourier con matlab
  • Transformada de Fourier
  • Transformada de fourier
  • Transformada De Fourier

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS