Professional Documents
Culture Documents
Fourier
Generacin de una seal senoidal con ruido
%Vector de valores en el tiempo
t= 0:0.001:1;
y=sin(2*pi*20*t);
2.5
randn('state',0);
yn=y+0.5*randn(size(t)); 2
plot(t(1:50),yn(1:50))
1.5
1
0.5
0
-0.5
-1
-1.5
-2
0.005
0.01
0.015
0.02
0.025
0.03
0.035
0.04
0.045
0.05
Amplitud de la seal
-1.5
5
6
Tiempo (s)
10
1
0.8
0.6
0.4
0.2
kT
N=64;
T=1/128;
k=0:N-1;
%Seal con una frecuenia de 20 Hz
f=sin(2*pi*20*k*T);
figure
%Grafica de la seal senoidal
plot(k,f)
xlabel('k');ylabel('kT');grid
grid
F=fft(f);
magF=abs(F);
figure
%GRafica de la magnitud de la
transformada de Fourier de la seal
senoidal
plot(k,magF)
ylabel('|F|');xlabel('k');grid
hertz=k*(1/(N*T));
figure
%Grafica de la transformada de
Fourier con escala en Hz
plot(hertz(1:N/2),magF(1:N/2))
xlabel('Hz');ylabel('|F(k)|')
0
-0.2
-0.4
-0.6
-0.8
-1
10
20
30
40
k
50
60
70
35
30
25
|F|
20
15
10
5
35
10
20
30
40
50
60
70
30
25
20
|F(k)|
15
10
10
20
30
40
Hz
50
60
70
f k 2 sin(2 50k )
g k cos(250k ) 2 sin(200k )
hk 5 cos(1000k )
mk 4 sin 250k
4
Sonido
Una seal de sonido es un ejemplo de una seal
continua que es muestreada como resultado de una
seal discreta. En este caso el sonido que viaja a travs
del aire es grabado como un conjunto de mediciones que
pueden ser usadas para reconstruir el sonido original tan
fiel como sea posible. La razn de muestreo o frecuencia
de muestreo se toma por unidad de tiempo.
En MATLAB ls seales discretas son representadas por un
vector y la frecuencia es medida en Hz. Existen archivos
en MATLAB como chirp, gong, laughter, splat, train y
handel.
Estas
funciones
pueden
ser
cargadas
directamente en la ventana de comandos como:
>>load gong
y para que se escuche se teclea
>>sound(y,Fs)
Amplitude
10000
12000
14000
10000
12000
14000
Train
1
Amplitude
0.5
0
-0.5
-1
2000
4000
6000
8000
%%Reproduce sonido
soundsc(call,fs)
plot(t,call)
-1
-2
-3
0.5
1.5
2.5
[y,Fs] = audioread(filename)
Lees datos de un archivo de nombre name, y regresa datos
muestreados a una razn de muestreo, Fs
[y,Fs] = audioread(filename,samples)
Lee unrango seleccionado de datos de una muestra de audio, donde
las muestras son un vector [start,finish]
[y,Fs] = audioread(___,dataType)
Regresa datos muestreado de audio en un archivo, donde las
muestra son un vector de native o double y puede incluir
cualquiera de los argumentos antes descritos.
Read only the first 2 seconds.
samples = [1,2*Fs];
clear y Fs
[y,Fs] = audioread(filename,samples);
f k 2 sin( 2 50k )
g k cos(250k ) 2 sin( 200k )
hk 5 cos(1000k )
mk 4 sin 250k
4
Procesamiento de imgenes
Las imgenes son representadas como rejillas,
matrices o elementos de imgenes (llamados pixeles).
En MATLAB una imagen es una representacin matricial
en el que cada elementos representa un pixel y este
almacena su propio color. Existen dos formas bsicas
en las que se puede representar el color.
Color verdadero o RGB en el que se tienen tres
componentes bsicos(rojo, verde y azul).
Indexado a un mapa de colores, este almacena los
colores bsicos en tres columnas separadas.
50
100
150
200
250
300
350
50
100
150
200
250
300
350
400
450
>> mat=round(rand(5)*(r-1)+1)
mat =
0.5
1
1.5
52
58
9
59
41
7
19
35
61
62
11
62
61
32
51
10
28
59
51
61
42
3
54
60
44
2
2.5
3
3.5
4
4.5
>> image(mat)
5
5.5
0.5
>> mat=round(rand(500)*(r-1)+1)
mat =
52
58
9
59
41
7
19
35
61
62
11
62
61
32
51
10
28
59
51
61
42
3
54
60
44
1.5
2.5
3.5
4.5
5.5
250
300
350
400
450
500
50
100
150
200
250
300
350
400
>> image(mat)
450
500
50
100
150
200
>> whos
Name
I
Size
285x510x3
Bytes Class
436050 uint8
Attributes
>> imaqhwinfo('winvideo',1)
ans =
DefaultFormat:
DeviceFileSupported:
DeviceName:
DeviceID:
VideoInputConstructor:
VideoDeviceConstructor:
SupportedFormats:
'YUY2_160x120'
0
'Microsoft LifeCam VX-800'
1
'videoinput('winvideo', 1)'
'imaq.VideoDevice('winvideo', 1)'
{1x5 cell}
Video corriendo
Encender la cmara y
adquirir imgenes
>>start(vid);
Mostrar lo que se esta
visualizando por la cmara
>>preview(vid);
Video detenido
40
60
Imagen capturada
80
100
120
20
40
60
80
100
120
140
160
20
40
60
80
100
120
20
40
60
80
100
120
140
160
aqu