Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
a) Teoría de muestreo
x(nTs)
f(t) C/D D/C y(t)
Esta figura muestra una señal continua f(t) , que se muestrea usando un
conversor C/D (continua a discreta) para producir una sucesión de valores
discretos x[n] =f(nTs), donde n es un entero que es el índice de muestreo y Ts es
el período de muestreo. La frecuencia de muestreo es el valor fs = 1/Ts.
El conversor D/A (discreta a continua) ideal discreto permite transformar de
nuevo los valores discretos e interpolar una curva suave entre ellos. El Teorema
de Muestreo dice que si se elige una frecuencia de muestreo superior a dos veces
la frecuencia mayor, fmax, presente en la señal de entrada, es decir fs > 2*fmax,
entonces la salida y(t) en el sistema, será igual a la entrada f(t) si se reconstruye
adecuadamente la señal. Para obtener la frecuencia fmax se puede representar la
entrada como una suma de sinusoidales y fmax será le frecuencia asociada a la
componente de mayor frecuencia con amplitud distinta de cero.
b) Conversión D/A
sound(x,fs)
Procedimiento:
- Represente los dos primeros ciclos de la señal continua.
dt=0.0001;
t = 0:dt:1;
f=100;
yc = cos(2*pi*f*t);
disp(yc)
dt=0.0001;
t = 0:dt:1;
f=100;
yc = cos(2*pi*f*t);
disp(yc)
% MUESTREO
dt=0.0001;
t = 0:dt:1;
f=100;
yc = cos(2*pi*f*t);
subplot(2,1,1);
plot(t,yc);
grid
xlabel('Tiempo, s');
ylabel( 'Amplitud');
title('Señal continua y_{c}(t)');
axis([0 1 -1.1 1.1]) ;
subplot(2,1,2);
fs=1000;
Ts = 1/fs;
T =0:Ts:1;
yd = cos(2*pi*f*T);
k = 0:length(T)-1;
stem(k,yd);
grid
xlabel('índice de muestreo')
ylabel('Amplitud')
title('Señal discreta y_d[n]')
Nota: “Para diferenciar las representaciones utilice siempre que sea
posible la función plot para las señales continuas y stem para las
segundas”.
b) Criterio de muestreo.
Procedimiento:
- Pruebe bajo las mismas condiciones que en el ejercicio anterior las siguientes
modificaciones.
f=10 Hz
F=50 Hz
f=250 Hz
f=500 Hz
F=1000 Hz
f=450 Hz
f=10 Hz y fs=100 Hz
f=10 Hz y fs=50 Hz
f=10 Hz y fs=20 Hz
f=10 Hz y fs=19 Hz
Procedimiento:
- Represente en la misma gráfica dos señales sinusoidales continuas de diferente
frecuencia y sus señales discretas correspondientes, que cumplan la relación
f2 = f1 + kfs, siendo k un entero y fs la frecuencia de muestreo.
%aliasig
clc
clear all
%señales continuas
dt = 0.0001;
t =0:dt:1;
f1=10;
yc1= sin(2*pi*f1*t);
subplot(3,1,1)
plot(t,yc1,'b')
hold on
fs=100;
k=0;
f2=f1+k*fs;
yc2= sin(2*pi*f2*t);
plot(t,yc2,'r')
xlabel('Tiempo, s');
ylabel( 'Amplitud');
title('Señales continuas ');
%señal discreta
Ts = 1/fs;
T =0:Ts:1;
yd1 =sin(2*pi*f1*T);
k = 0:length(T)-1;
subplot(3,1,2)
stem(k,yd1);
grid
xlabel('índice de muestreo')
ylabel('Amplitud')
title('Señal discreta y1_d[n]')
yd2 = sin(2*pi*f2*T);
k = 0:length(T)-1;
subplot(3,1,3)
stem(k,yd2,'r');
grid
xlabel('índice de muestreo')
ylabel('Amplitud')
title('Señal discreta y2_d[n]')
Para k mayores a 0 la señal yc2 toma frecuencias más altas por tanto la frecuencia de muestreo
no satisface la frecuencia Nyquist y no es posible recuperarla (son frecuencias alias).
𝐹𝑎𝑙𝑖𝑎𝑠 = 𝐹0 + 𝑘. 𝐹𝑠
Con k=0
Con k=2
Con k=5
𝐹𝑁𝑌𝑄𝑈𝐼𝑆𝑇 ≥ 2(5)
𝐹𝑁𝑌𝑄𝑈𝐼𝑆𝑇 ≥ 10 𝐻𝑧
Procedimiento:
- Para utilizar el comando sound, obtenga un vector x1 de valores muestreados
en una sinusoidal con A = 1, f = 400 Hz y = 0. Use un valor de muestreo de
8000 muestras/segundo, y calcule el número total de muestras equivalente a
un tiempo de duración de 2 segundos.
clc
clear
RA = 1;
f = 400;
fase = pi;
Fs = 8000;
n = 1:2*Fs;
Ts = 1/Fs;
x1 = RA*sin(2*pi*f*(n*Ts) + fase); sound(x1, 16e3)
clc
RA= 1;
f = 800;
fa = pi/3;
Fs = 8000;
n = 1:2*Fs;
Ts = 1/Fs;
R2 = RA*sin(2*pi*f*(n*Ts) + fa);
sound(R2, Fs)
xx = [x1 zeros(1,2000) x2];
xx = [ x1 zeros(1,2000) x2];
clc
a=1
wo=2*pi*400
fi=36
t=0:2/16000:2
y=a.*sin((wo.*t)+fi)
plot(t,y)
sound(y)
a=1
wo=2*pi*800
fi=pi/3
t=0:2/16000:2
y1=a.*sin((wo.*t)+fi)
xx=[y zeros(1,2000) y1];
sound(xx)
Procedimiento:
- Compruebe audiblemente el problema de aliasing, para ello genere y escuche
un tono a 440 Hz, utilizando una fs= 8000Hz.
clc
clear
close all
RA = 1;
f = 440;
fas = 0;
Fs = 8000;
n = 1:2*Fs;
Ts = 1/Fs;
x = RA*sin(2*pi*f*(n*Ts) + fas);
sound(x, Fs)
subplot(2, 1, 1)
stem(n(1:120)*Ts, x(1:120),'b');
grid on
hold on
title(['F = ', num2str(f), ' Hz'])
k =2;
f2 = f+k*Fs;
x2 = RA*sin(2*pi*f2*(n*Ts) + fas);
sound(x, Fs)
subplot(2, 1, 2)
stem(n(1:120)*Ts, x2(1:120), 'b');
grid on
title(['F = ', num2str(f2), ' Hz', ' y k = ', num2str(k)])
F = 440 Hz
1
0.5
-0.5
-1
0 0.005 0.01 0.015
F = 16440 Hz y k = 2
1
0.5
-0.5
-1
0 0.005 0.01 0.015
f = 10;
fs = 100;
n = 0:1:99;
y = cos(2*pi*(f/fs)*n);
yw = abs(fft(y))/length(y);
wn = linspace(0,0.5,50);
plot(wn,yw(1:50));
f = 10;
fs = 100;
n = 0:1:99;
y = cos(2*pi*(f/fs)*n);
yw = abs(fft(y))/length(y);
wn = linspace(0,0.5,50);
plot(wn,yw(1:50));
axis([0 0.5 0 1])
clc
clear
k = 1;
f = k*10;
fs = 300;
n = 0:1:99;
y = cos(2*pi*(f/fs)*n);
yw = abs(fft(y))/length(y);
wn = linspace(0,0.5,50);
stem(wn,yw(1:50),'fill');
axis([0 0.5 0 1])
grid on
title(['Frecuencia: ', num2str(f), ' Hz y Fs = ', num2str(fs), '
Hz'])
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Para K= 5
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Para K=8
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5