Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
PRACTICA No. 4
1. OBJETIVOS
Página 1|8
Wilbert Chávez Irazabal Comunicación Digital
b) Muestreo incorrecto.
Generar en MATLAB U OCTAVE, una función seno de frecuencia 9 KHz y amplitud 1
muestreado a distintas frecuencias de muestreo. Dicha señal se observará tanto en el
ordenador como en el osciloscopio.
A continuación se le muestra un programa como ejemplo, que el alumno pudiera
mejorar o realizar otra programación que cumpla con el propósito de generación de
muestreo incorrecto.
f=9000; % frecuencia de la señal senoidal
fso=1e6; % frecuencia de muestreo de referencia para los dibujos
No= fso*1e-3;
to=(0:No-1)/fso; % representaremos 1 ms de la señal
xo=sin(2*pi*f*to); % señal de referencia (muy sobremuestreada)
for fs=[44100 22050 11025 8000];
N=fs*1;
t=(0:N-1)/fs; % Vector con los instantes de muestreo: 1 s a fs Hz
x=sin(2*pi*f*t); % Señal muestreada
fr=rem(f,fs);fr=fr-fs.*(fr>fs/2); % frecuencia de señal reconstruida (con posible
aliasing)
xr=sin(2*pi*fr*to); % Señal reconstruida
plot(to,xo,'k',t,x,'r-o');axis([0,1e-3,–1,1]);
legend('Señal original','Señal muestreada')
title(sprintf('Frecuencia señal: %iHz Frecuencia de nuestreo: %iHz',f,fs))
xlabel('Pulse una tecla para escuchar y ver la señal reconstruida')
disp('Pulse una tecla para escuchar y ver la señal reconstruida')
pause
plot(to,xo,'k',t,x,'r-o',to,xr,'b'); axis([0,1e-3,–1,1]);
legend('original','muestreada','reconstruida')
title(sprintf('Frecuencia señal: %iHz Frecuencia de nuestreo: %iHz',f,fs))
frec_muestreo(fs);
envia(x,5); % Reproducimos la señal 5 veces (5 s) con la tarjeta de sonido
pause;cierra(0)
end
Notar como, para ciertas frecuencias de muestreo (aquellas para las que no se cumple el
teorema de muestreo), la señal reconstruida no se corresponde con la señal original de 9 KHz.
¿Cuáles son dichas frecuencias?. ¿Cuál sería la frecuencia mínima de muestreo para la señal
de 9 KHz?
Página 2|8
Wilbert Chávez Irazabal Comunicación Digital
Página 3|8
Wilbert Chávez Irazabal Comunicación Digital
Es importante que el alumno comprenda la relación entre velocidad binaria (Rb bits/s),
velocidad de símbolo (Rs baudios) y frecuencia de muestreo de la señal de línea (fs muestras/s)
para señales de comunicaciones del tipo.
X(t)= n Anh(t-nT)
Generaremos una señal conformada triangularmente de 1102.5 bits/sg con distintas
frecuencias de muestreo, es decir, distinto número de muestras por símbolo.
b=[1 0 1 0 1 1 0 0 1 0]; %bits
A=2*b-1; % simbolos
subplot(211);stem(b);subplot(212);stem(A) %dibujamos las secuencias de bits y
símbolos
fs1=44100;
frec_muestreo(fs1);
N1=40;
x1=filtro_tx(A,N1); % 40 muestras/símb, fs=44100Hz _ Rs=44100/40=1102.5 baudios
t1=(0:length(x1)-1)/fs1; % vector de tiempos para el dibujo
plot(t1,x1); % dibujamos las muestras de la señal de línea
envia([x1 ; 1 zeros(1,length(x1)-1)],500); % observe la señal en el osciloscopio
% dispare el sincronismo con el canal 2
cierra(1);
Nota: Repita el filtrado y visualice (tanto en la pantalla del ordenador como en el osciloscopio)
la misma señal pero con frecuencias de muestreo fs2=22050 Hz (N2=20) y fs3=11025
(N3=10). Compruebe que, en todos los casos, la señal de línea que se observa en el
osciloscopio es la misma (fíjese especialmente en que todas poseen la misma velocidad de
símbolo).
3. CUANTIFICACIÓN DE SEÑALES
Los sistemas digitales, así como los conversores A/D y D/A, poseen una resolución finita,
marcada por el número de bits. Este hecho limita la precisión con la que las señales pueden
ser adquiridas, generadas y procesadas.
En este experimento se trata de cuantificar, con distintas precisiones, una señal de voz
contenida en el fichero voz.mat. o su equivalente, de esta forma, el alumno podrá observar
cómo afecta el número de bits de cuantificación al nivel del error de cuantificación, a la relación
señal a ruido de cuantificación, a la función densidad de probabilidad del error y a su densidad
espectral de potencia.
A continuación se le muestra un programa como ejemplo, que el alumno pudiera mejorar o
realizar otra programación que cumpla con el propósito de cuantificación de señales.
a) Cargamos la señal de voz y observamos su histograma, lo que nos dará idea de la función
densidad de probabilidad de la señal de voz.
frec_muestreo(11025); % frecuencia de muestreo 11025 Hz
load voz.mat % en la variable x tenemos la señal de voz
subplot(211);hist(x,50) % la función hist(x) dibuja el histograma del vector x
Página 4|8
Wilbert Chávez Irazabal Comunicación Digital
b) Dibuje la densidad espectral de potencia (DEP) de la señal de voz, de manera que pueda
observar que frecuencias poseen más potencia. Utilize la función espect(x,N,f)
sx=espect (señal, número de puntos, frecuencia máxima)
El número de puntos afecta a la estima del espectro, cuanto mayor sea, más muestras se
obtienen, pero también más variabilidad. La frecuencia máxima detemina el límite superior
(el inferior es cero) del eje de abcisas al dibujar el espectro. Si se utiliza una variable de
salida sx, en ella se obtienen las muestras del espectro, si no se utiliza ninguna, la función
lo dibuja. Si no se incluyen el número de puntos o la frecuencia máxima toma valores por
defecto.
subplot(212);espect(x,200) % dibuja la dep
Página 5|8
Wilbert Chávez Irazabal Comunicación Digital
5. RUIDO
Por último, resulta de interés generar ruido para simular su efecto en los sistemas de
comunicación. En la realidad resulta imposible muestrear (adecuadamente) ruido blanco
Gaussiano (¿por qué?), pero si generamos repetidas realizaciones independientes de una
variable aleatorio Gaussiana obtenemos un ruido en tiempo discreto que nos permite simular
el efecto del ruido en comunicaciones. En el apartado siguiente se pretende ilustrar la
simulación en tiempo discreto de señales de comunicaciones en ruido. Así mismo, el alumno
podrá observar el efecto del ruido en la señal de línea por medio del osciloscopio.
Página 6|8
Wilbert Chávez Irazabal Comunicación Digital
b) Efecto del ruido en la forma de onda transmitida: Genere 10 símbolos de una señal
NRZ polar con un régimen binario de 800 bps. Genere ruido Gaussiano discreto.
Súmeselo a la señal x, dibuje ambas señales y obsérvelas en el osciloscopio.
¿Cómo estimaría la potencia de ruido a partir de las muestras del vector "ruido"?¿y la potencia
de la señal y? Genere señales cada vez más largas y compruebe cómo las estimas mejoran.
c) Repita el apartado b) para valores de la potencia de ruido de 0.5,1 y 2.5 (tenga en cuenta
en cada caso la posible saturación de la tarjeta de sonido).
Superponga sobre la densidad espectral de potencia de la señal ruidosa la de las otras señales
del apartado c) y compruebe el efecto en el espectro de incrementar el ruido.
Página 7|8
Wilbert Chávez Irazabal Comunicación Digital
6. PROBLEMA HA RESOLVER
Deberá implementar una función que lleve a cabo la compresión de la señal original siguiendo
la expresión:
Con A=87.56. Así mismo, se realizará una función de MATLAB U OCTAVE que implemente
el expansor, es decir, la función inversa de C (x).
Utilizando MATLAB U OCTAVE, se deberá presentar una gráfica que muestre la potencia de
la señal de entrada en el eje horizontal (para lo cual se escalará la señal original desde x hasta
x/100) y la SNR de ambos métodos en el eje vertical. Se deberán repetir las simulaciones para
cuantificadores de 5 bits.
7. BIBLIOGRAFÍA
[1] A.V. Oppenheim, A.S. Willsky, S. Hamid, “Signals and systems”, 2da ed., Ed.:
Prentice Hall, 1997.
[2] MATLAB - GNU Octave Tutorial, Disponible:
https://www.tutorialspoint.com/matlab/matlab_gnu_octave.htm
Página 8|8