2 epn señales y efectos falta con y sin gui
-
Upload
rafael-medina-velasco -
Category
Technology
-
view
1.018 -
download
0
Transcript of 2 epn señales y efectos falta con y sin gui
Procesamiento de señales, imágenes y visión artificial con MatLab
“Quien no se resuelve a cultivar el hábito de pensar, se pierde el mayor placer de la vida”
Thomas A. Edison
Señal sinusoidal de 50 HzFs=1000;
t = (0:1/Fs:1)';
y = sin(2*pi*50*t);
plot(t(1:50),y(1:50))
Le aumentamos ruido 1:t = (0:0.001:1)';
y = sin(2*pi*50*t);
yn = y + 0.05*randn(size(t));
figure
plot(t(1:50),yn(1:50))
Dos señales sinusoidales y ruidot = (0:0.001:1)';
y = sin(2*pi*50*t) + 2*sin(2*pi*120*t);
yn = y + 0.5*randn(size(t));
plot(t(1:50),yn(1:50))
Le aumentamos ruido 2:
close all;clear all;
Fs = 100;t = 0:1/Fs:1;y1 = sin(2*pi*t*3)+.25*rand*sin(2*pi*t*40);plot(t,y1)
% Función SINC:x = linspace(-5,5);y = sinc(x);plot(x,y)
Señal diente de sierra:
Fs = 10000;
t = 0:1/Fs:1.5;
x = sawtooth(2*pi*50*t);
figure
plot(t,x), axis([0 0.2 -1 1])
SEÑAL CHIRP: (ver help chirp)% 2 secs de chirp muestreada a 1kHz
% Inicie en DC y alcance 150Hz en t=1sec
t=0:0.001:2;
y=chirp(t,0,1,150); figure; plot(t,y)
Figure; specgram(y,256,1E3,256,250);
% 2 secs de chirp muestreada a 1kHz
% Inicie en 100 Hz y alcance 200Hz en t=1sec
t=0:0.001:2;
y=chirp(t,100,1,200); figure; plot(t,y)
figure; specgram(y,128,1E3,128,120);
SEÑAL murciélago:
% señal de murciélago:% grabada con una frecuencia de muestreo de 230.4 kHz
close all;clear all;
load bat % sonido externo a matlab ….sound(bat,23400)t0=linspace(0,2500/2304,2500);plot(t0,bat); xlabel('Time [ms]');
% load handel %sonido que viene con matlab %dónde está?% sound(y,Fs)% % t=(0:length(y)-1)/Fs;% plot(t,y)
SONIDO CON LA CHIRP:
Fs=1000;t=0:1/Fs:6; %6 seg. de duración.y=chirp(t,100,2,200);
sound(y,Fs)
figure; plot(t,y)figure; specgram(y,128,1E3,128,120);
Salvas de estados y variables
Comando “save”
Se emplea para guardar en disco las variables particulares que existan en este.
Sintaxis (ver help):
save(‘filename’, ‘var-1’, ..., ‘var-n’, formato);save nombre_de_variable.txt variable –ascii
save señales y1 y2 y3 ; % se guarda como .matsave señales.txt y1 y2 y3 -ascii; % se guarda como .txt
Salvas de estados y variables
Comando “load”
Permite cargar variables existentes en un archivo en el espacio de trabajo.
Al hacer load, se puede ver las variables recuperadas en el espacio de trabajo (workspace)
Sintaxis:
load ‘filename.mat’ ‘var-1’ ... ‘var-n’;
Deber 4: Paso de datos MATLAB ------- Archivo.txt
Archivo.txt ------- MATLAB
En matlab: generar una señal de seno, otra de coseno y otra de seno más coseno. Escoger las frecuencias que ustedes quieran. Guardar las tres señales en un archivo .txt
Seguidamente, en el mismo programa, leer el archivo de texto anterior y poner las tres señales en tres axes diferentes.
RELACI”N SEÑAL A RUIDO
- Señal: onda de interés
- Ruido: todo lo demás
- Cálculo de la relación señal a ruido:
- Relación señal a ruido (en escala lineal):
Ejemplos:
20 dB: valor RMS de la señal fue 10 veces el valor RMS del ruido (10 20/20 )
-20 dB: valor RMS de la señal fue 1/10 del valor RMS del ruido.
Ejemplos: rand (números randómicos uniformemente distrib.)
-10 dB (0.316):close all;clear all;
Fs = 100;t = 0:1/Fs:1;y1 = sin(2*pi*t*3)+rand(size(t))/ 0.316;plot(t,y1)
YA NO ES VISIBLE
3dB(1.41):close all;clear all;
Fs = 100;t = 0:1/Fs:1;y1 = sin(2*pi*t*3)+rand(size(t))/1.41;plot(t,y1)
ES VISIBLE
-3dB (0.707):close all;clear all;
Fs = 100;t = 0:1/Fs:1;y1 = sin(2*pi*t*3)+rand(size(t))/ 0.707;plot(t,y1)
SIGUE SIENDO VISIBLE
Distribución uniforme vs distribución normal
% Comparación entre distribución uniforme vs distribución normal:close allclear all
x1=rand(10000,1); %números al azar uniformemente distribuidosmedia1=mean(x1)desviacion_estandar1=std(x1)plot(x1)title('números al azar uniformemente distribuidos')figurehistfit(x1) % histograma con ajuste gaussiano superimpuestotitle('números al azar uniformemente distribuidos')
x2=randn(10000,1); %números al azar normalmente distribuidosmedia2=mean(x2)desviacion_estandar2=std(x2)figureplot(x2)title('números al azar normalmente distribuidos')figurehistfit(x2) %histograma con ajuste gaussiano superimpuesto
Rand: genera números al azar entre 0 y 1 uniformemente distribuidos
Randn: genera números al azar normalmente distribución con media 0 y desviación estándar 1.
Resultados:
media1 = 0.5007
desviacion_estandar1 = 0.288
media2 = 1.1073e-004
desviacion_estandar2 = 1.0012
close allclear all
t = (0:0.001:1);y = sin(2*pi*50*t); % + 2*sin(2*pi*120*t);yn1 = y + 0.5*rand(size(t));yn2 = y + 0.5*randn(size(t));plot(t,y)title('señal original')figureplot(t,yn1)title('señal original + ruido dist. uniformemente')figureplot(t,yn2)title('señal original + ruido dist. normalmente')
Señales particulares (plot vs stem):
% Generación de señales particulares:
% 1. Impulso unitario:
n=-2:3; % abscisas (eje de tiempos)y=[0 0 1 0 0 0]; % ordenadas (alturas)stem(n,y)figureplot(n,y)
Generalización de la ubicación:
% Generalización:clear allclose allM=-2; % límite inferiorN=3; % límite superiorK=0; % ubicación del pulson=M:N; % base de tiemposy=[zeros(1,K-M) 1 zeros(1,N-K)]stem(n,y)
% Generalización:clear allclose allM=-4; % límite inferiorN=5; % límite superiorK=3; % ubicación del pulson=-2:3; % base de tiemposy=[zeros(1,K-M) 1 zeros(1,N-K)]stem(n,y)
Función paso unitario (u[n]) de longitud L:
% 1. Paso unitario:clear allclose all
M=0; % límite inferiorN=7; % límite superiorK=1; % inicio de los pulsosn=M:N;y=[zeros(1,K-M) ones(1,N-K+1)]stem(n,y)
% Paso unitario desplazado:
clear allclose all
M=0; % límite inferiorN=10; % límite superiorK=5; % inicio de los pulsosn=M:N;y=[zeros(1,K-M) ones(1,N-K+1)]stem(n,y)