PROCESAMIENTO DIGITAL DE SEALES
CRUZ CECILIO ROSNELY 208301169 VAZQUEZ GONZALEZ EDUARDO IVAN 208202446
PROYECTO No. 1
1.- Disee una distribucin gaussiana. %corre el programa con uno x=[-5:0.1:5]; y=[-5:0.1:5]; gaussx=(1/((2*pi)*(1)*(1.5))).*(exp((-(x-1).^2/(2*1)^2)-(-(y-1.5).^2/(2*1.5)^2))); figure plot(x,gaussx) gaussy=(1/((2*pi)*(1)*(1.5))).*(exp((-(x-1).^2/(2*1)^2)-(-(y-1.5).^2/(2*1.5)^2))); figure plot(y,gaussy) Gauss=gaussy' * gaussx; Gauss2=gaussx' * gaussy; figure surf(x,y,Gauss) % z=[-5:0.5:5]; % [x,y]= normstat(1,1); % figure % surf(x,y,z)
0.014
0.012 0.01
0.008 0.006
0.004
0.002 0 5 4 3 2 1 0 -1 -2 -3 -4 -5 -5 -4 -3 -2 -1 0 1 2 3 4 5
2.-Investigue y describa comandos de MATLAB que permitan registrar y reproducir seales de voz o msica en la ventana de trabjo. PARA REGISTRAR AUDIO. Para capturar una seal por la entrada auxiliar de la tarjeta de sonido del computador, MATLAB cuenta con la funcin wavrecord(t*Fs,Fs,Ch) cuyos parmetros corresponden al tiempo en segundos de captura de la seal, frecuencia de muestreo (admite 8000, 11025, 22050 y 44100), el tipo de canal (1 para mono y 2 para stereo). Si se desea capturar una seal en stereo con 5 segundos de duracin, con una frecuencia de muestreo de 11.025 podemos emplear las siguients funciones: Fs = 11025; y = wavrecord(5*Fs, Fs, 2); Para guardar una seal capturada en formato wav se puede hacer uso de la funcin wavwrite(y,Fs,NBits,'[Link]') cuyos parmetros corresponden a la seal grabada, la frecuencia de muestreo, el nmero de bits (puede ser 8, 16, 24 o 32) y el nombre del archivo en el cual se grabar el sonido. Hay que tener en cuenta que los valores de amplitud que estn fuera del rango [-1,+1] son clipeados. Si no se especifican los NBits el programa asume por defecto 16 Bits. Si no se determina una Fs, el programa asume por defecto 8000 Hz. Por ejemplo, para guardar el sonido capturado anteriormente se emplear el siguiente comando: wavwrite(y,Fs,16,'sonido_uno.wav') b).-para reproducir. Para escuchar o manipular vectorialmente un sonido almacenado en formato wav se utilizan dos comandos. wavread('[Link]') sound(Var) ej. fs = 8000 >> y = wavrecord(3*fs,fs,1); >> sound(y) 3.-Genere, grafique y reproduzca una seal chirp. Seal chirp Un sonido es una seal de que la frecuencia aumenta ("arriba-chirp ') o bajar (" down-chirp') con el tiempo. En algunas fuentes, el chirrido trmino se usa indistintamente con la seal de barrido. [1] Se utiliza comnmente en sonar y radar , pero tiene otras aplicaciones, como en espectro ensanchado de las comunicaciones. En el uso de espectro ensanchado, SAW dispositivos tales como los CCR a menudo se utilizan para generar y demodular las seales son. En ptica , ultra lser pulsos tambin exhiben chirrido, que, en los sistemas de transmisin ptica interacta con la dispersin de las propiedades de los materiales, aumentando o disminuyendo la dispersin total del pulso como se propaga la seal.
c=1; % Control if c==1 fs=8000; % Frecuencia de muestreo T=1/fs; % Perodo de muestreo f0=3000; % Frecuencia seal sinusoidal beta=2000; % Beta n=0:1*(7999); % Tiempo discreto % Secuencia x[n] x=sin(2*pi*f0*n*T+0.5*beta*(n*T).^2); sound(x,fs) % Reproduccin de x[n] figure % Nueva figura t=n*T; % Intervalo temporal % Visualiza resultados subplot(211), stem(n(1:100),x(1:100)) title('Seal chirp x[n]'), grid xlabel('n'), ylabel('Unidades Lineales') subplot(212), plot(t(1:100),x(1:100)) title('Seal chirp x(t)'), grid xlabel('Tiempo (seg)'), ylabel('Unidades Lineales')
Para ver el grfico seleccione la opcin "Descargar" del men superior figure % Nueva figura N=length(x); % Longitud de x[n] % Espectro de x[n] X=fftshift(fft(x,N))/N; % Frecuencia discreta f=linspace(-0.5,0.5-(1/N),N); % Visualiza resultados subplot(211), plot(f,abs(X)) title('Espectro discreto de x[n]'), grid xlabel('fd=f/fs'), ylabel('Unidades Lineales') subplot(212), plot(f*fs,abs(X)) title('Espectro continuo de x[n]'), grid xlabel('Frecuencia (Hz)'), ylabel('Unidades Lineales') end
4.-Utilice un micrfono para generarun archivo de voz digital en el cual quede registrado su nombre completo. Grafique la seal en funcin del tiempo y reproduzca el archivo digital. %corres el programa con voz
%y despues de correrlo hablas y dices tu nombre en seguida se reproducira %tu nombre por ejemplo el archivo voz generado es mi nombre %Frecuencia de muestreo fs =8000; %frecuencia sonido, nota musical La fr=440; %Duracion en segundos t=3; x=0:100/fs:3; y=wavrecord(t.*fs,fs,1); %La hacemos sonar sound(y) %La guardamos como wav wavwrite(3*y,fs,'[Link]') %Graficamos un pedacito para ver la forma plot(y)
0.05
-0.05
-0.1
-0.15
-0.2
-0.25
-0.3
0.5
1.5
2.5 x 10
4