SlideShare una empresa de Scribd logo
1 de 52
TC.Práctica 1
Código Práctica 1
fs = 1024; % frec. de muestreo (Hz)
A = 0.1; % valor de pico de la sinusoide (V)
Z = 50; % impedancia (Ohmios)
N = 1024; % número de muestras
f0 = 50; % frecuencia de la sinusoide (Hz)
nef = 0.001; % valor eficaz del ruido blanco (V)
B = 50; % B en el que mediremos el ruido
fn = 300; % frec. central de la banda de ruido
>> % (3) Vector con los instantes de muestreo:
T = 1/fs; % tiempo de muestreo: inversa de fs
t = 0:T:(N-1)*T; % N elementos, desde 0 en saltos de T
>> % (4) Sinusoide: creación
x = A*sin(2*pi*f0*t); % muestras de la sinusoide
>> help powmeter
function P=powmeter(x,fs,f0,B,Z)

Función que calcula la potencia (W) que hay dentro de una banda
espectral de la señal x.
Datos de entrada:
x = Señal de entrada
fs = Frecuencia de muestreo
f0 = Frecuencia central de la banda
B = Ancho de banda de la medida
Z = Impedancia de trabajo (parte real)
>> % (5) Sinusoide: potencia
px_W = powmeter(x,fs,f0,1,Z) % sin ";" al final, muestra el valor (W)
Px_dBm = 10*log10(px_W*1e3) % en dBm
helptime_dep
functiontime_dep(x,T,Z,s,lin_log)

Esta función representa en la parte superior la señal en el dominio
del tiempo, y en la parte inferior la d.e.p.

Parametros de entrada:
......................
x: señal a analizar (real)
T: periodo de muestreo
Z: impedancia (ohmios)
s: título que se quiere aparezca
lin_log: representación lineal ('lin') o logaritmica ('log')
>> % (6) Sinusoide: visualización en osciloscopio y analizador
figure(1)
time_dep(x,T,Z,'SINUSOIDE','log'); % el espectro siempre con eje log.
SINUSOIDE

V (voltios)

0.1
0.05
0
-0.05
-0.1

0

0.1

0.2

0.3

0.4

0.5
t (sg)

0.6

0.7

0.8

0.9

1

0

dBm

-50
-100
-150
-200

0

100

200

300
Hz

400

500

>> % (7) Ruido blanco (gaussiano en tensión): creación
n = nef*randn(size(t)); % vector gaussiano, valor eficaz nef
>> % (8) Ruido blanco: valores teóricos
disp('Valores teóricos:')
pn_W = nef^2/Z % potencia (W)
Pn_dBm = 10*log10(pn_W*1e3) % potencia (dBm)
No_W_Hz = pn_W/(fs/2) % densidad espectral (W/Hz)
No_dBm_Hz = 10*log10(No_W_Hz*1e3) % densidad espectral (dBm/Hz)
Pn_dBm_B = 10*log10(No_W_Hz*B*1e3) % potencia (dBm) en B = 50 Hz
>> % (9) Ruido blanco: valores simulados
disp('Valores simulados:')
pn_W = powmeter(n,fs,fn,B,Z) % potencia de ruido (W) en B
Pn_dBm = 10*log10(pn_W*1000) % potencia de ruido (dBm) en B
>> % (10) Ruido blanco: visualización
figure(2), time_dep(n,T,Z,'RUIDO','log');

600
-3

V (voltios)

4

RUIDO

x 10

2
0
-2
-4

0

0.1

0.2

0.3

0.4

0.5
t (sg)

0.6

0.7

0.8

0.9

1

-60

dBm

-70
-80
-90
-100

0

100

200

300
Hz

400

500

>> % (11) Señal con ruido: creación
xn = x + n; % AWGN es aditivo, se suma al tono
% (12) Señal con ruido: visualización
figure(3), time_dep(xn,T,Z,'SINUSOIDE CON RUIDO','log');

600
SINUSOIDE CON RUIDO

V (voltios)

0.2
0.1
0
-0.1
-0.2

0

0.1

0.2

0.3

0.4

0.5
t (sg)

0.6

0.7

0.8

0.9

1

dBm

0

-50

-100

0

100

200

300
Hz

400

500

600

% (13) Señal con ruido: promediado (para ver el nivel de ruido mejor)
NP = input('Número de espectros promediados?: ');
tic% comienza a medir el tiempo de la operación
unos = ones(NP,1); % una fila por cada espectro (NP filas)
matx = unos*x; % matriz con NP filas, cada fila es el tono x
matn = nef*randn(NP,N); % cada fila es un ruido diferente
matxn = matx+matn; % en cada fila: suma de x con un ruido distinto
matXN = fft(matxn.')/N; % espectro (de señal)
Smatxn = (matXN.*conj(matXN)).'/Z; % densidad espectral de potencia
(DEP)
DEPprom = mean(Smatxn); % DEP promedio de cada columna (afecta al
ruido)
DEPpromuni = [DEPprom(1) 2*DEPprom(2:N/2)]; % se pasa DEP a unilateral
ejefrec = (0:fs/2-1); % eje de frec. de la DEP unilateral
toc% se termina de medir el tiempo de la operación
DEPpromuni_dBm = 10*log10(DEPpromuni*1e3); % DEP en dBm/Hz
figure(4), plot(ejefrec,DEPpromuni_dBm), grid% se dibuja
title('SINUSOIDE CON RUIDO. PROMEDIO DE ESPECTROS')
xlabel('Hz'), ylabel('dBm')
% Fin
1-Compruebe que la potencia, mostrada por pantalla, de la sinusoide es la
correcta (total,unilateral). Como su valor de pico es 0,1 V y la impedancia
vale 50 Z, debe aparecer:
1-Px_dBm = 10*log10(px_W*1e3) % en dBm
Px_dBm = -10
2. Compruebe que la sinusoide aparece en el osciloscopio y el analizador de
time_depcon los valores adecuados (amplitud, frecuencia, potencia). En el
analizador, realice un zoom para
apreciar con detalle los −10 dBm.
% (6) Sinusoide: visualización en osciloscopio y analizador
figure(1)
time_dep(x,T,Z,'SINUSOIDE','log'); % el espectro siempre con eje log.

SINUSOIDE
0.1
0.08
0.06

V (voltios)

0.04
0.02
0
-0.02
-0.04
-0.06
-0.08
-0.1

0

0.1

0.2

0.3

0.4

0.5
t (sg)

0.6

0.7

0.8

0.9

1

0
-5
-10

dBm

-15
-20
-25
-30
-35
-40

0

50

100
Hz

150
3. Compruebe el valor de la potencia de ruido en el ancho de banda B = 50
Hz. Siga los siguientes pasos:
a) Calcule la potencia de n (en W y dBm).
b) Calcule la densidad espectral del ruido. Tenga en cuenta que el ancho de
banda equivalente del vector de ruido es B’ = fs/2 (la frecuencia de
muestreo dividida entre 2 para que salga unilateral).
c) Calcule la potencia deruido en B = 50 Hz.
3-a)
% (7) Ruido blanco (gaussiano en tensión): creación
n = nef*randn(size(t)); % vector gaussiano, valor eficaz nef
>> % (8) Ruido blanco: valores teóricos
disp('Valores teóricos:')
pn_W = nef^2/Z % potencia (W)
Pn_dBm = 10*log10(pn_W*1e3) % potencia (dBm)
pn_W =2.0000e-008
Pn_dBm =-46.9897
3-b)
No_W_Hz = pn_W/(fs/2) % densidad espectral (W/Hz)
No_dBm_Hz = 10*log10(No_W_Hz*1e3) % densidad espectral (dBm/Hz)
No_W_Hz = 3.9063e-011
No_dBm_Hz = -74.0824
3-c)
Pn_dBm_B = 10*log10(No_W_Hz*B*1e3) % potencia (dBm) en B = 50 Hz
Pn_dBm_B = -57.0927
4. Compruebe que el nivel de la densidad espectral de ruido (unilateral) en
el analizador de time_depcoincide (aproximadamente) con el valor calculado
(−74,1 dBm/Hz).
T1=(2/fs)
figure(2), time_dep(n,T1,Z,'RUIDO','log');
-3

V (voltios)

4

RUIDO

x 10

2
0
-2
-4

0

0.2

0.4

0.6

0.8

1
t (sg)

1.2

1.4

1.6

1.8

2

-60

dBm

-70
-80
-90
-100

0

50

100

150
Hz

200

250

300
5. Observe la sinusoide con AWGN: En el osciloscopio apenas notara el ruido
porque es pequeño comparado con la señal. En el espectro vera claramente la
delta del tono y el nivel del
AWGN.
% (11) Señal con ruido: creación
xn = x + n; % AWGN es aditivo, se suma al tono
% (12) Señal con ruido: visualización
figure(3), time_dep(xn,T,Z,'SINUSOIDE CON RUIDO','log');

SINUSOIDE CON RUIDO

V (voltios)

0.2
0.1
0
-0.1
-0.2

0

0.1

0.2

0.3

0.4

0.5
t (sg)

0.6

0.7

0.8

0.9

1

0

dBm

-50

-100

-150

0

100

200

300
Hz

400

500

600
6. Promedie bastantes espectros para conseguir que el AWGN presente una
densidad espectral de potencia razonablemente plana. (Como es logico, el
tono no se ve afectado por el promediado.) Por ejemplo, pruebe con NP = 100,
1000, 10000 y 100000. Usando el valor Más alto que no cree problemas de
memoria, compruebe ahora con el zoom que el ruido tiene −74,1 dBm/Hz.
% (10) Ruido blanco: visualización
figure(2), time_dep(n,T,Z,'RUIDO','log');
>> % (11) Señal con ruido: creación
xn = x + n; % AWGN es aditivo, se suma al tono
% (12) Señal con ruido: visualización
figure(3), time_dep(xn,T,Z,'SINUSOIDE CON RUIDO','log');
>> % (13) Señal con ruido: promediado (para ver el nivel de ruido mejor)
NP = input('Número de espectros promediados?: ');
tic % comienza a medir el tiempo de la operación
unos = ones(NP,1); % una fila por cada espectro (NP filas)
matx = unos*x; % matriz con NP filas, cada fila es el tono x
matn = nef*randn(NP,N); % cada fila es un ruido diferente
matxn = matx+matn; % en cada fila: suma de x con un ruido distinto
matXN = fft(matxn.')/N; % espectro (de señal)
Smatxn = (matXN.*conj(matXN)).'/Z; % densidad espectral de potencia (DEP)
DEPprom = mean(Smatxn); % DEP promedio de cada columna (afecta al ruido)
DEPpromuni = [DEPprom(1) 2*DEPprom(2:N/2)]; % se pasa DEP a unilateral
ejefrec = (0:fs/2-1); % eje de frec. de la DEP unilateral
toc % se termina de medir el tiempo de la operación
DEPpromuni_dBm = 10*log10(DEPpromuni*1e3); % DEP en dBm/Hz
figure(4), plot(ejefrec,DEPpromuni_dBm), grid % se dibuja
title('SINUSOIDE CON RUIDO. PROMEDIO DE ESPECTROS')
xlabel('Hz'), ylabel('dBm')
% Fin
Número de espectros promediados?:
Para NP=100
SINUSOIDE CON RUIDO. PROMEDIO DE ESPECTROS
0
-10
-20

dBm

-30
-40
-50
-60
-70
-80

0

100

200

300
Hz

400

500

600

Para NP=1000
SINUSOIDE CON RUIDO. PROMEDIO DE ESPECTROS
0
-10
-20

dBm

-30
-40
-50
-60
-70
-80

0

100

200

300
Hz

400

500

600
Para NP=10000
SINUSOIDE CON RUIDO. PROMEDIO DE ESPECTROS
0
-10
-20

dBm

-30
-40
-50
-60
-70
-80

0

100

200

Para NP=100000No deja representarlo

300
Hz

400

500

600
Ejercicios
Calcule el valor de pico de la sinusoide (cuyas muestras estan en el vector
x). Para ello basta con traducir la definicion de valor de pico a MATLAB:
v_p = max(abs(x))
Si tiene dudas sobre el funcionamiento de alguna de las funciones que
aparecen en el codigo,tecleehelpnombre_funcion, y estudie la informacion
que se presenta por pantalla.
v_p = max(abs(x))
v_p =
0.1000
Calcule el valor medio de la sinusoide. En cada una de las siguientes lineas
de codigo se ofrece una forma diferente de conseguirlo. Piense que ventajas
e inconvenientes presenta cada
una:
a)
suma=0; for i=1:N, suma=suma+x(i); end, media_x=suma/N
b)
media_x = sum(x)/length(x)
c)
media_x = mean(x)
Observara que no sale exactamente 0 (si bien se obtiene un numero muy
pequeno). .Por que?

Calcule el valor eficaz de la sinusoide. Es suficiente con:
x_ef = std(x)
Calcule el valor cuadratico medio de la sinusoide. Segun la definicion:
media_x2 = mean(x.^2)
Por otro lado, teniendo en cuenta que el valor cuadratico medio es la
potencia de alterna sobre1 Z, queda claro que tambien se puede obtener con:
media_x2 = std(x)^2
Es mas, como un valor cuadratico medio es una varianza desde el punto de
vista estadistico,
podemos incluso usar:
media_x2 = var(x)
Ejercicio1
Calcule el valor medio del ruido (cuyas muestras estan en el vector n).
Compruebe que sale un valor similar (pero no igual) a 0. (Ya no se da un
codigo. Escribalo por su cuenta.)
media_ruido=mean(n)
media_ruido =
-3.3132e-005
Calcule el valor eficaz del ruido. Compruebe que sale un valor similar (pero
no igual) a nef.
n_ef=std(n)
n_ef =
9.9579e-004
Calcule el valor cuadratico medio del ruido. Si divide el resultado por 50,
.que parametroseobtiene?
media_n2=var(n)
media_n2 = 9.9160e-007
Sale la potencia del ruido
PRACTICA 2
Distorsión Lineal
retardo=6e-6
atenuacion=6
fc=2,5e6%frecuencia corte
n=6%orden filtrado
distorsionfase=3%orden

Genere un pulso de 4 μs de duración y 1 V de amplitud, dentro de una ventana de
observación de 42,66 μs. Debe trabajar con una frecuencia de muestreo de 6 MHz en su
simulación. Así:
a) A partir de la frecuencia de muestreo calcule el tiempo de muestreo, T.
fm=6e6;%freq muestreo 6MHz
Tm=1/fm;%periodo de muesteo
b) Calcule cuántas muestras hay en 4 μs (N1) y en 42,66 μs (NV). Para facilitar el
procesado, redondee NV a una potencia de 2.
fm=6e6%frecuencia muestro
Tm=1/fm%Periodo muestreo
Z=1
%usx6Mhz=24...Representa el número de muestras que van a ser 1...es
%decir...24 muestras van a estar a 1 y el resto a 0
N1=4*6
%42,66usx6Mhz=....-->230=256(redondeado)-(24+2)....numero total de
muestras
NV=42,66*6
%Como te piden redondear el número de muestras....la potencia de 2 mas
%cercana es 256
NV=256

c) El pulso en cuestión será un vector de NV elementos, de los que N1 valdrán 1 (en voltios)
y el resto 0. Por ejemplo: una forma elegante de crear el vector es:
x=[zeros(1,2) ones(1,24) zeros(1,230)];
s='pulso';
time_dep(x,Tm,1,s,'log');
pulso

V (voltios)

1

0.5

0

0

0.5

1

1.5

2

2.5

3

3.5

4

t (sg)

4.5
-5

x 10

100

dBm

0

-100

-200

0

0.5

1

1.5
Hz

2

2.5

3
6

x 10
4- Para simular el retardo y la atenuación use la función del apéndice atade.
Observaciones:
a) Realice el retardo y la atenuación en pasos separado. (Primero retarde 6 μs y atenúe 0
dB. Después retarde 0 μs y atenúe 6 dB.) De esta forma podrá apreciar mejor el efecto
de cada transformación.
b) El retardo se pasa a la función atadecomo un número de muestras.
c) El pulso es un vector de señal (está en voltios, no es potencia o energía). Piense
detenidamente cuántas veces de señal se debe atenuar el pulso para perder 6 dB.
d) En time_depel retardo debe desplazar el pulso temporal a la derecha (en el espectro no
se nota); y la atenuación debe reducir tanto la señal temporal como el espectro (la
primera en veces de señal, el segundo en dB —por lo tanto 6 dB—).
%6usx6Mhz=36 de retardo...y en atenuacion ponemos un 1(relacion dBveces)
%6us-->retardo
6MHz-->frecuencia muestreo
%Fórmula para calcular Atenuación expresada en veces
%Veces=10^(atenuacion/20)
%atenuación expresada en veces-->10^(0/20)=1-->caso A
y=atade(x,1,36);
time_dep(y,Tm,1,s,'log');
pulso

V (voltios)

1

0.5

0

0

0.5

1

1.5

2

2.5

3

3.5

4

t (sg)

4.5
-5

x 10

100

dBm

0

-100

-200

0

0.5

1

1.5
Hz

2

2.5

%0 de retardo...Relacción en tension= 10 elevado
(dB:20)=10^(6/20)=1,995=2
%caso B
z=atade(x,2,0);
figure(2)
time_dep(z,Tm,1,s,'log');

3
6

x 10
pulso

V (voltios)

0.8
0.6
0.4
0.2
0

0

0.5

1

1.5

2

2.5

3

3.5

4

t (sg)

4.5
-5

x 10

100

dBm

0

-100

-200

0

0.5

1

1.5
Hz

2

2.5

3
6

x 10

5- Para simular el filtrado use la función del apéndice lpf. Observaciones: En el tiempo, el
filtrado debe estropear los flancos del pulso. En frecuencia, el filtrado debe reducir
apreciablemente los lóbulos secundarios a partir de la frecuencia de corte.

f=lpf(x,fm,fc,n);

6- Para simular la distorsión de fase use la función del apéndice disfase. Observaciones: a)
Con distorsión cúbica, la potencia a la que se eleva la recta (“pot”) es 3. b) La función
disfasedevuelve un vector con los valores de la transferencia del filtro que realiza la
distorsión deseada. (Es un vector complejo.) c) Por lo tanto, si la señal antes del filtrado es
x_in, la señal distorsionada, x_out, se puede obtener con el siguiente código:
x_in = x;
H = disfase(length(x_in),3); % Transferencia del filtro
H_mod = abs(H); % Módulo del filtro
H_ang = angle(H); % Fase del filtro
plot(H_mod), title('MODULO DE H')
plot(H_ang), title('FASE DE H')
X_in = fft(x_in); % Espectro de la señal a la entrada
X_out = X_in.*H; % La señal pasa por el filtro
x_out = real(ifft(X_out,length(X_out))); % Señal temporal
%comprobamos
time_dep (x_out, Ts, Z, 'Ejercicio 6', 'lin');

MODULO DE H
FASE DE H

1

4

1

3

1

2
1

1

0

1
-1

1
-2

1

1

-3

0

50

100

150

200

250

300

-4

0

50

100

150

200

250

300
7- Ecualice la distorsión de fase. Para ello: a) Genere un filtro inverso (elemento a
elemento) al obtenido con disfase. Puede hacerlo así:
Heq = H.^(-1);
b) Pase la señal por el filtro ecualizador.
X_out2=X_out.*Heq;
x_out2 = real(ifft(X_out2,length(X_out2)));

c) Compruebe que efectivamente ecualiza: comparando su módulo y fase con el filtro H, y
estudiando con time_depla señal obtenida a su salida. (Podrá observar mejor la
ecualización de la distorsión si anula o ecualiza el filtrado paso bajo.)
time_dep (x_out2, Ts, Z, 'Ejercicio 7', 'log');

Distorsión No lineal
%Distorsión no lineal
%punto de compresión a 1d
a1=10
a2=0
a3=-0.1
fm=512%Frecuencia de muestreo
Tm=1/fm
N=256
fe1=34
fe2=40
Z=50
%1-A
A=0.01
t=0:Tm:(N-1)*Tm
sinusoide=A*sin(2*pi*30*t)
s='pulso'
time_dep(sinusoide,Tm,Z,s,'log')
%1-B
y=a1*sinusoide+a2*sinusoide.^2+a3*sinusoide.^3
figure(2)
time_dep(y,Tm,Z,s,'log')
%1-C
A2=7
sinusoide1=A2*sin(2*pi*30*t)
figure(3)
time_dep(sinusoide1,Tm,Z,s,'log')
%1-D
y1=a1*sinusoide1+a2*sinusoide1.^2+a3*sinusoide1.^3
figure(4)
time_dep(y1,Tm,Z,s,'log')
%2
Pin=-10:0.5:30
fori=1:length(Pin)
A2=sqrt(10^((Pin(i)-30)/10)*2*Z);
x=A2*sin(2*pi*30*t)
y=a1*x+a2*x.^2+a3*x.^3
Pout(i)= 10*log10(powmeter(y,fm,30,Pin(i),Z))//(+30)??????
G(i)= Pout(i) - Pin(i);
end
subplot(1,1,1),plot(Pin,G),grid,pause
%3
Gi = 20*log10(a1);
Pin = 10:0.5:35;
Pout_i = Pin + Gi ;
f1 = 30;
f2 = 34;
fori = 1:length(Pin)
A = sqrt(10^((Pin(i)-30)/10)*2*Z);
x1 = A*sin(2*pi*30*t);
x2 = A*sin(2*pi*fe1*t);
x = x1 + x2;
y = a1*x + a2*x.^2 + a3*x.^3;
Pout_3(i) = 10*log10(powmeter(y,fs,2*f1-f2,1,Z))+30; % batido
Pout_f(i) = 10*log10(powmeter(y,fs,f1,1,Z))+30; % fundamental con sat.
end
plot(Pin,Pout_3,Pin,Pout_f,Pin,Pout_i), grid, pause
PRACTICA 3

1- Cree un script para medir señales AM. Resetee el espacio de trabajo.
2- Valores iniciales: frecuencia de muestreo fs = 1024 Hz; número de muestras N =
1024; frecuencia de portadora fc = 128 Hz; potencia de AM −20 dBm (potencia de
portadora sola); moduladora sinusoidal de fm = 16 Hz; impedancia de trabajo Z =
50 Ω. (Como fs = N = 1024, la resolución espectral es de una muestra por Hz.)
fs=1024%Frecuencia Muestro
N=1024%Número de muestras
fc=128%Frecuencia de portadora
p_AM=-20%Potencia de Am en dBm(portadora sola)
fm=16%moduladora sinusoidal
Z=50

3- El programa debe pedir al usuario el valor del índice de modulación, m, en tanto
por uno. (Para ello, puede usar la instrucción input.)
m=input('Introduzca m en tanto por uno: ');

4- Genere un vector, t, con los instantes de muestreo. Calcule la amplitud, A, de la
portadora sin modular (a partir de los −20 dBm). Genere las señales moduladora
normalizada, xn, y modulada, y.

A=(sqrt(((10^(potenciaAm/10))*2*Z)/1000));//sacada de la
fórmula de potencia de portadora sola en dBm
t=0:T:(N-1)*T
xn=cos(wm*t);
y=A*(1+m*xn).*cos(wc*t);
5- Con un índice de modulación del 50%, visualice con time_depla señal AM.
Compruebe y/o calcule sus parámetros:
a) Verifique fc y fm en el tiempo y el espectro (use el zoom para ver con detalle).
s=('Señal Am');
Tm=1/fm
Tc=1/fc
figure(2)
time_dep(y,Tm,Z,s,'log')
figure(3)
time_dep(y,Tc,Z,s,'log')

b) Lea en el espectro la potencia de portadora sola.
figure(1)
time_dep(y,T,Z,s,'log')

c) Mida la potencia de portadora sola con powmeter.
%Ancho de banda es 1
%Coincide con la primera formula de la pagina 5.(Potencia de
portadora
potPortadoraSola=powmeter(y,fs,fc,1,Z);
d) Lea en el espectro y mida con powmeterla potencia de la banda lateral superior.
%Coincide con la tercera formula de la pagina 5.(Potencia de la banda
%lateral superior)Sumarfc+fm
potBandaLateralSuperior=powmeter(y,fs,fc+fm,1,Z);
potBandaLateralInferior=powmeter(y,fs,fc-fm,1,Z);

e) Calcule la potencia total de AM (sumando en unidades naturales, por supuesto).
potenciaTotal=(potPortadoraSola+2*potBandaLateralSuperior

f) Calcule la potencia equivalente de pico, PEP.

PEP=((A^2)*((1+m)^2))/(2*Z)

g) Mida la diferencia en dB entre la potencia de portadora sola y la potencia de
una banda lateral, ΔP(dB). A partir de ese valor, calcule el índice de modulación.
Compare con el valor introducido (0,5).

DifP=10*log10(potPortadoraSola/potBandaLateralSuperior=powmeter(y,fs,f
c+fm,1,Z);)=10*log10(potPortadoraSola)10*log1o(potBandaLateralSuperior)
DifP=10*log10(potPortadoraSola)-10*log1o(potBandaLateralSuperior)
m=(4/(10^(DifP/10)))^0.5

h) En el tiempo, mida los valores máximo y mínimo de la envolvente. Con esos
valores, calcule de nuevo el índice de modulación. Compare con el valor
introducido.

//Código de Pepe, por eso no coincide con lo anterior….
A=(sqrt(((10^(potenciaAm/10))*2*Z)/1000));
t=0:T:(N-1)*T
xn=cos(wm*t);
y=A*(1+m*xn).*cos(wc*t);
s='señalAM';
time_dep(y,1/fs,Z,s,'log');
s='señalAM';
time_dep(y,1/fs,Z,s,'log');
pc=powmeter(y,fs,fc,1,Z)
p1bl=powmeter(y,fs,(fc+fm),1,Z)
pt=pc+2*p1bl
PEP=((A^2)*((1+m)^2))/(2*Z)
DifP=10*log10(pc/p1bl)
m=(4/(10^(DifP/10)))^0.5
señalAM
0.4
0.3
0.2

V (voltios)

0.1
0
-0.1
-0.2
-0.3
-0.4

0

0.1

0.2

0.3

0.4

0.5
t (sg)

0.6

0.7

0.8

0.9

1

0
-20
-40

dBm

-60
-80
-100
-120
-140
-160

0

100

200

300
Hz

400

500

600

6- Ahora, varíe el valor del índice de modulación, m, entre 0 y 100%. Visualice la
señal AM para cada valor de m. Observe cómo cambia la señal, tanto en el tiempo
como en el espectro. Saque conclusiones.
fs=1024;
N=1024;
fc=128;
fm=16;
Z=50;
PC=-20;
m=input('Introduzca el indice de modulacion m (en tanto por 1) : ')
T=1/fs;
t=0:T:(N-1)*T;
Pc=(10^(PC/10))/1000
A=(Pc*2*Z)^0.5
xn=cos(2*pi*fm*t);
y=A*(1+xn*m).*cos(2*pi*fc*t);
s='señalAM';
time_dep(y,1/fs,Z,s,'log');
pc=powmeter(y,fs,fc,1,Z)
p1bl=powmeter(y,fs,(fc+fm),1,Z)
pt=pc+2*p1bl
PEP=((A^2)*((1+m)^2))/(2*Z)
DifP=10*log10(pc/p1bl)
m=(4/(10^(DifP/10)))^0.5
Indice de Modulación m=0
señalAM

V (voltios)

0.04
0.02
0
-0.02
-0.04

0

0.1

0.2

0.3

0.4

0.5
t (sg)

0.6

0.7

0.8

0.9

1

0

dBm

-50
-100
-150
-200

0

100

200

300
Hz

400

500

600

Indice de modulación m=0.5
señalAM

V (voltios)

0.05

0

-0.05

0

0.1

0.2

0.3

0.4

0.5
t (sg)

0.6

0.7

0.8

0.9

1

0

dBm

-50
-100
-150
-200

0

100

200

300
Hz

400

500

600
Indice de modulación m=1
señalAM

V (voltios)

0.1
0.05
0
-0.05
-0.1

0

0.1

0.2

0.3

0.4

0.5
t (sg)

0.6

0.7

0.8

0.9

1

0

dBm

-50
-100
-150
-200

0

100

200

300
Hz

400

500

600

7- Genere un índice de modulación aleatorio (0 < m < 1). Puede usar la función rand.
Genere la señal AM correspondiente, y visualícela con time_dep. Mida ΔP(dB) y
calcule m. Compare el valor generado con el calculado.
//Ponemos rand(m) que nos da un valor aleatorio de m
rand(m)
ans = 0.9058
T=1/fs;
t=0:T:(N-1)*T;
Pc=(10^(PC/10))/1000
A=(Pc*2*Z)^0.5
xn=cos(2*pi*fm*t);
y=A*(1+xn*m).*cos(2*pi*fc*t);
s='señalAM';
time_dep(y,1/fs,Z,s,'log');

Y luego:

p1bl=powmeter(y,fs,(fc+fm),1,Z)
pt=pc+2*p1bl
DifP=10*log10(pc/p1bl)
m=(4/(10^(DifP/10)))^0.5
8- Por último, estudie señales digitales de amplitud ASK. Para ello:
a) Genere una señal moduladora binaria con pulsos cuadrados de ±1 V, y régimen
simbólico de 64 baudios (luego el régimen binario es de 64 bits/s). Tendrá que muestrear
cada uno de los símbolos binarios con 1024/32 = 32 muestras (en la parte digital de la
asignatura se explican los conceptos necesarios para entender esto). Es conveniente que
escriba un código que aproveche la potencia matricial/vectorial de MATLAB, evitando el
uso de bucles y sentencias tipo if. La siguiente línea de código le puede servir de
inspiración; estudie detenidamente qué es lo que hace:
aux = 4*(rand(1,20)>0.5)-2
Con la moduladora digital, genere una AM al 100% (m = 1). La señal modulada
resultante es una modulación digital de amplitud, de nombre 2-ASK. Visualice con
time_depla 2-ASK. Preste especial atención a la forma del espectro y a la situación de sus
nulos.

d) Genere una señal moduladora cuaternaria (de 4 símbolos diferentes) con pulsos
cuadrados de ±1 V y ±3 V, y régimen simbólico de 64 baudios (luego el régimen
binario es de 128 bits/s). Trabaje con 32 muestras por símbolo. Con la moduladora
digital, genere una AM al 100% (m = 1). La señal modulada resultante es una
modulación digital de amplitud, de nombre 4-ASK. Visualice con time_depla 4-ASK.
Preste especial atención a la forma del espectro y a la situación de sus nulos.
PRACTICA 4

1- Valores iniciales: frecuencia de muestreo fs = 1024 Hz; número de muestras N = 1024;
frecuencia de portadora fc = 200 Hz; potencia de FM −20 dBm; moduladora
sinusoidal de fm = 16 Hz; desviación máxima de frecuencia 20 Hz; impedancia de
trabajo Z = 50 Ω.
fs=1024;
N=1024;
fc=200;
Pfm=-20;
fm=16;
Dfm=20;
Z=50;
Ts=1/fs;
Tm=1/fm;
2- Como posteriormente debe variar la desviación de frecuencia y la frecuencia
moduladora, es conveniente que el programa pida dichos datos al usuario (use el
comando input).
Df=input('Introduce la maximadesviacion de frecuencia:')
fmod=input('Introduce la frecuencia moduladora')

3- Calcule, y muestre por pantalla: la amplitud de la señal FM; el índice de modulación;
el ancho de banda de Carson. Genere un vector con los instantes de muestreo (no lo
muestre por pantalla).
PfmW= 0.01/1000;//Pasando dBm a Watios
A=sqrt(PfmW*2*Z); %Amplt.
BW=2*(fm+Df);
%Ancho del tio Carson
%Genere vector de instantes de muestreo:
t=0:Ts:(N-1)*Ts;

4- Genere la señal moduladora normalizada (tono tipo coseno). Genere la integral de la
señal moduladora, también normalizada. Genere la señal FM.
beta=Df/fm;
xn=cos(2*pi*fm*t);
dxn=sin(2*pi*fm*t);
y=A*cos((2*pi*fc*t)+beta*dxn);

5- Visualice la señal moduladora con time_dep. Compruebe sus parámetros:

functiontime_dep(y,Ts,Z,'Titulo','log')
%
% function time_dep(x,T,Z,s,lin_log)
%
% Esta función representa en la parte superior la señal en el dominio
% del tiempo, y en la parte inferior la d.e.p.
%
% Parametros de entrada:
% ......................
% x: señal a analizar (real)
% T: periodo de muestreo
% Z: impedancia (ohmios)
% s: título que se quiere aparezca
% lin_log: representación lineal ('lin') o logaritmica ('log')
%
% 06/02/07
%
a=length(x);
subplot(211),plot((0:a-1)*T,x,'b'),grid
xlabel('t (sg)'),ylabel('V (voltios)')
title(s)
x1=fft(x)/a;
y=x1.*conj(x1);
y=[y(1) 2*y(2:a/2)]/real(Z);
eje=(1/T)*(0:a/2-1)/a;
aux=(lin_log(1:3) =='lin');
if sum(aux)==3
subplot(212),plot(eje,y*1e3,'b')
ylabel('mw')
else
subplot(212),plot(eje,10*log10(y*1e3+eps),'b')
ylabel('dBm')
end
grid,xlabel('Hz')
pause
% Fin de la función time_dep

a) Verifique fm en el tiempo y el espectro.

b) time_dep(y,fm,Z,'pulso','log')

b) Verifique la amplitud en el tiempo.
c) Calcule la potencia y verifique su valor en el espectro (con el zoom). Visualice la
señal FM con time_dep. Compruebe sus parámetros:
a) Verifique fc en el tiempo y el espectro.
time_dep(y,fc,Z,'pulso','log')

c) Verifique fm en el espectro.

d) time_dep(y,fm,Z,'pulso','log')
c) Varíe la desviación de frecuencia (pruebe con valores bastante más
bajos). Observe y anote cómo cambia la señal FM. d) Con la desviación
máxima de frecuencia fija a 50 Hz (para mejorar la visualización),
modifique fm a valores muy bajos (p. ej: 1 Hz). Observe y anote cómo
cambia la señal FM.

6- De nuevo con los valores iniciales (desviación máxima de frecuencia 20 Hz, fm = 16
Hz), mida con powmeter(en W y dBm) la potencia de FM contenida en diferentes
anchos de banda:
a) Mida, tomando un ancho de banda que incluya todas las deltas del espectro, la
potencia total de FM. Compruebe que sale el valor esperado.
potenciatotalFM=powmeter(y,fs,fc,250,Z)//250 es el ancho de
banda con el que cogemos todas las deltas->mirar grafica

b) Mida la potencia contenida en el ancho de banda de Carson. Compruebe que es
menor que la total, y calcule el porcentaje de la total incluido en la de Carson.
potenciaBW=powmeter(y,fs,fc,BW,Z)
porcentaje=(potenciaBW*100)/potenciatotalFM

c) Averigüe en el espectro cuántas deltas contiene el ancho de banda a 20 dB.
Calcule el ancho de banda a 20 dB. Mida la potencia incluida en el ancho de banda
a 20 dB. Compare el resultado obtenido para los anchos de banda de Carson y 20
dB.
pc=powmeter(y,fs,fc,1,Z)
p1bl=powmeter(y,fs,(fc+fm),1,Z)

7- Ahora tome una desviación máxima de frecuencia de 50 Hz, y una portadora de 250
Hz. Variando fm, y modificando por tanto el índice de modulación, cancele
determinadas líneas espectrales. Para ello, consulte en el apéndice los valores del
índice de modulación que anulan las funciones de Bessel de primera especie. En
concreto:
a) Cancele la delta a fc, mediante el primer nulo de J0. Para el valor del índice de
modulación que anula J0, calcule fm (redondeando al Hz, es decir: un valor entero
en Hz). Genere la nueva señal FM y visualícela con time_dep.

beta=2.406;
>>fm=Df/beta;
>> round(fm)
ans =
21
>>xn=cos(2*pi*fm*t);
>>dxn=sin(2*pi*fm*t);
>> y=A*cos((2*pi*fc*t)+beta*dxn);
>>time_dep(y,Tm,Z,'pulso','log')
>>time_dep(y,Tm,Z,'pulso','lin')

b) Cancele la delta a fc, mediante el segundo nulo de J0. Siga los pasos del apartado
(a).

>>beta=6.62;
>>fm=Df/beta;
round(fm)
ans =
8
>>xn=cos(2*pi*fm*t);
dxn=sin(2*pi*fm*t);
y=A*cos((2*pi*fc*t)+beta*dxn);
time_dep(y,Tm,Z,'pulso','log')
>>time_dep(y,Tm,Z,'pulso','lin')
c) Cancele las deltas de la primera banda lateral, mediente el primer nulo de
J1. Siga los pasos del apartado (a).
beta=3.8317;
>>fm=Df/beta;
round(fm)
ans =
13
>>xn=cos(2*pi*fm*t);
dxn=sin(2*pi*fm*t);
y=A*cos((2*pi*fc*t)+beta*dxn);
time_dep(y,Tm,Z,'pulso','log')
>>time_dep(y,Tm,Z,'pulso','lin')

d) Cancele las deltas de la segunda banda lateral, mediente el primer nulo de J2. Siga
los pasos del apartado (a).

>>beta=5.1356;
>>fm=Df/beta;
round(fm)
ans =
10
>>xn=cos(2*pi*fm*t);
dxn=sin(2*pi*fm*t);
y=A*cos((2*pi*fc*t)+beta*dxn);
time_dep(y,Tm,Z,'pulso','log')
time_dep(y,Tm,Z,'pulso','lin')
8- Por último, debe medir la desviación máxima de frecuencia usando la función del
apéndice time_FM, que actúa como un osciloscopio. Tome los siguientes valores:
frecuencia de muestreo fs = 1024*32; número de muestras N = 1024*32; frecuencia de
portadora fc = 200 Hz; moduladora sinusoidal con fm = 16 Hz; desviación máxima de
frecuencia 20 Hz. Genere el nuevo vector con los instantes de muestreo, y la nueva
señal FM. Visualice la señal modulada con time_FM. Mida la desviación máxima de
frecuencia usando 2 periodos, de forma análoga a como se describe en la parte teórica
para 3 periodos.

>>xn=cos(2*pi*fm*t);
dxn=sin(2*pi*fm*t);
y=A*cos((2*pi*fc*t)+beta*dxn);
time_dep(y,Tm,Z,'pulso','log')
time_dep(y,Tm,Z,'pulso','lin')
Práctica 5
MODULACIÓN PRBS 9
-Moduladoras IQ
5.1En I y en Q hay dos niveles diferenciados. En cada instante
temporal, la combinación de valores de amplitud I y Q, llevados sobre el plano IQ, nos dan el
punto que define el símbolo digital que lleva la modulación.

5.2Fase en Coordenadas Polares
La amplitud es constante (la información solo modifica la fase), y que aparecen 4 fases
diferentes (QPSK =4PSK).Es una modulación de fase…
5.3Diagrama de ojos IQ
5.4Constelación
Tiene 2 bits porque al tener 4 fases equiespaciadas…M=4 símbolos =2^2
Rb=k*Rs…..Rb/Rs=2…tiene dos niveles diferenciados..

5.5Espectro

6
MODULACIÓN BPSK:
1-Moduladoras IQ
I(t) tiene dos niveles mientras que q(t) es cte…

2Fase en Coordenadas Polares
Amplitud es cte….aparecen 2 fases distintas…es una modulación de fase…
3Diagrama de ojos IQ
4Constelación
Tiene un bit…2^1=2 y dos niveles diferentes

5
Modulación 8PSK
1 Moduladoras IQ
Hay 5 niveles de amplitud no equiespaciados, por lo que en la constelación aparecerán 5
niveles ( es decir, tirando una línea vertical que coja los puntos).

2Fase en Coordenadas Polares
Amplitud es cte…aparecen9 fases diferentes…es una modulación de fase…
3Diagrama de ojos IQ
4Constelación
Tiene 3 bits….2^3…diferenciando en la constelación 5 niveles( línea vertical que coge los
puntos)

5
Modulación 16QAM
1-Moduladoras IQ
Tienen ambas 4 niveles diferenciados…La constelación también los tendrá…

2Fase en Coordenadas Polares
No es una modulación de fase….-->Amplitud no es cte..
3Diagrama de ojos IQ
4Constelación
Tiene 4 bits…2^4…4 niveles diferenciados…

5
Modulación 32QAM
1Moduladoras IQ
Tienen 6 niveles diferenciados…

2Fase en Coordenadas Polares
No es una modulación de fase..
3Diagrama de ojos IQ
4Constelación
Tiene 5 bits..2^5=32…6 niveles…

5
7Modulación QPSK con filtrado coseno alzado “Roll Off 0.5”
7.1Moduladoras IQ

2Fase en Coordenadas Polares
3Diagrama de ojos IQ
4Constelación

5
7Modulación QPSK con filtrado coseno alzado “Roll Cosine 0.5”
7.Moduladoras IQ

Constelación
8
……………
9.1
QPSK

Desplazamiento de fase de 4 símbolos, desplazados entre sí 90º. Normalmente se usan
como valores de salto de fase 45º, 135º, 225º, y 315º. Cada símbolo aporta 2 bits. Suele
dividirse el flujo de cada bit que forman los símbolos como I y Q.
El diagrama de constelación muestra 4 símbolos equiespaciados. La asignación de bits a
cada símbolo suele hacerse mediante el código Gray, que consiste en que entre dos
símbolos adyacentes los símbolos solo se diferencian en 1 bit. Esto se escoge así para
minimizar la tasa de bits erróneos.
OQPSK
QPSK con datos I y Q desplazados temporalmente medio periodo de símbolo
Evitar transiciones simultáneas en ambos canales, (señal OQPSK)
se retrasa un tiempo de bit uno de los canales
9.2

Más contenido relacionado

La actualidad más candente

Minterm and maxterm
Minterm and maxtermMinterm and maxterm
Minterm and maxtermparsa.khan64
 
Signals and systems 2e oppenheim solutions
Signals and systems 2e oppenheim solutionsSignals and systems 2e oppenheim solutions
Signals and systems 2e oppenheim solutionsrbatec
 
Ee341 dsp1 1_sv_chapter1_hay truy cap vao trang www.mientayvn.com de tai them...
Ee341 dsp1 1_sv_chapter1_hay truy cap vao trang www.mientayvn.com de tai them...Ee341 dsp1 1_sv_chapter1_hay truy cap vao trang www.mientayvn.com de tai them...
Ee341 dsp1 1_sv_chapter1_hay truy cap vao trang www.mientayvn.com de tai them...www. mientayvn.com
 
Network analysis-mcq-for-apgenco-aptranco-preparation
Network analysis-mcq-for-apgenco-aptranco-preparationNetwork analysis-mcq-for-apgenco-aptranco-preparation
Network analysis-mcq-for-apgenco-aptranco-preparationVenugopala Rao P
 
DSP Lab Manual (10ECL57) - VTU Syllabus (KSSEM)
DSP Lab Manual (10ECL57) - VTU Syllabus (KSSEM)DSP Lab Manual (10ECL57) - VTU Syllabus (KSSEM)
DSP Lab Manual (10ECL57) - VTU Syllabus (KSSEM)Ravikiran A
 
Thevenin's Theorem,Mesh analysis and sine wave Basic
Thevenin's Theorem,Mesh analysis and sine wave BasicThevenin's Theorem,Mesh analysis and sine wave Basic
Thevenin's Theorem,Mesh analysis and sine wave BasicIkhlas Rahman
 
Fundamentos da Teoria da Computação Segunda Lista de Exercícios - Aula sobre ...
Fundamentos da Teoria da Computação Segunda Lista de Exercícios - Aula sobre ...Fundamentos da Teoria da Computação Segunda Lista de Exercícios - Aula sobre ...
Fundamentos da Teoria da Computação Segunda Lista de Exercícios - Aula sobre ...Sérgio Dias
 
Computer Networking Lab File
Computer Networking Lab FileComputer Networking Lab File
Computer Networking Lab FileNitin Bhasin
 
Time and space complexity
Time and space complexityTime and space complexity
Time and space complexityAnkit Katiyar
 
application of complex numbers
application of complex numbersapplication of complex numbers
application of complex numbersKaustubh Garud
 
Bilinear z transformaion
Bilinear z transformaionBilinear z transformaion
Bilinear z transformaionNguyen Si Phuoc
 
Chapter10. Realization of Digital Filter.pptx
Chapter10. Realization of Digital Filter.pptxChapter10. Realization of Digital Filter.pptx
Chapter10. Realization of Digital Filter.pptxRajGopalMishra4
 

La actualidad más candente (20)

Basic Logic gates
Basic Logic gatesBasic Logic gates
Basic Logic gates
 
Pumping lemma for cfl
Pumping lemma for cflPumping lemma for cfl
Pumping lemma for cfl
 
Microwave Filter
Microwave FilterMicrowave Filter
Microwave Filter
 
Minterm and maxterm
Minterm and maxtermMinterm and maxterm
Minterm and maxterm
 
Signals and systems 2e oppenheim solutions
Signals and systems 2e oppenheim solutionsSignals and systems 2e oppenheim solutions
Signals and systems 2e oppenheim solutions
 
Ee341 dsp1 1_sv_chapter1_hay truy cap vao trang www.mientayvn.com de tai them...
Ee341 dsp1 1_sv_chapter1_hay truy cap vao trang www.mientayvn.com de tai them...Ee341 dsp1 1_sv_chapter1_hay truy cap vao trang www.mientayvn.com de tai them...
Ee341 dsp1 1_sv_chapter1_hay truy cap vao trang www.mientayvn.com de tai them...
 
Network analysis-mcq-for-apgenco-aptranco-preparation
Network analysis-mcq-for-apgenco-aptranco-preparationNetwork analysis-mcq-for-apgenco-aptranco-preparation
Network analysis-mcq-for-apgenco-aptranco-preparation
 
DSP Lab Manual (10ECL57) - VTU Syllabus (KSSEM)
DSP Lab Manual (10ECL57) - VTU Syllabus (KSSEM)DSP Lab Manual (10ECL57) - VTU Syllabus (KSSEM)
DSP Lab Manual (10ECL57) - VTU Syllabus (KSSEM)
 
digital filter design
digital filter designdigital filter design
digital filter design
 
Lti system
Lti systemLti system
Lti system
 
Ch1
Ch1Ch1
Ch1
 
Thevenin's Theorem,Mesh analysis and sine wave Basic
Thevenin's Theorem,Mesh analysis and sine wave BasicThevenin's Theorem,Mesh analysis and sine wave Basic
Thevenin's Theorem,Mesh analysis and sine wave Basic
 
Information theory
Information theoryInformation theory
Information theory
 
Fundamentos da Teoria da Computação Segunda Lista de Exercícios - Aula sobre ...
Fundamentos da Teoria da Computação Segunda Lista de Exercícios - Aula sobre ...Fundamentos da Teoria da Computação Segunda Lista de Exercícios - Aula sobre ...
Fundamentos da Teoria da Computação Segunda Lista de Exercícios - Aula sobre ...
 
Computer Networking Lab File
Computer Networking Lab FileComputer Networking Lab File
Computer Networking Lab File
 
Matlab: Speech Signal Analysis
Matlab: Speech Signal AnalysisMatlab: Speech Signal Analysis
Matlab: Speech Signal Analysis
 
Time and space complexity
Time and space complexityTime and space complexity
Time and space complexity
 
application of complex numbers
application of complex numbersapplication of complex numbers
application of complex numbers
 
Bilinear z transformaion
Bilinear z transformaionBilinear z transformaion
Bilinear z transformaion
 
Chapter10. Realization of Digital Filter.pptx
Chapter10. Realization of Digital Filter.pptxChapter10. Realization of Digital Filter.pptx
Chapter10. Realization of Digital Filter.pptx
 

Similar a Prácticas tc.docx_

Similar a Prácticas tc.docx_ (20)

Practica1m
Practica1mPractica1m
Practica1m
 
epn filtros
epn filtrosepn filtros
epn filtros
 
Fourier
FourierFourier
Fourier
 
Fourier
FourierFourier
Fourier
 
Genesis
GenesisGenesis
Genesis
 
Actividad n4 matematicas
Actividad n4 matematicasActividad n4 matematicas
Actividad n4 matematicas
 
Muestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLabMuestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLab
 
P5pds
P5pdsP5pds
P5pds
 
Dsp2 filtros
Dsp2 filtrosDsp2 filtros
Dsp2 filtros
 
Fourier
FourierFourier
Fourier
 
Matlab
Matlab Matlab
Matlab
 
05 unidades de medida
05 unidades de medida05 unidades de medida
05 unidades de medida
 
Dsp5
Dsp5Dsp5
Dsp5
 
Solución ejercicios 9 12
Solución ejercicios 9 12Solución ejercicios 9 12
Solución ejercicios 9 12
 
2 epn señales y efectos falta con y sin gui
2 epn señales y efectos falta con y sin gui2 epn señales y efectos falta con y sin gui
2 epn señales y efectos falta con y sin gui
 
Fibra optica empleada para realizar FTTH
Fibra optica empleada para realizar FTTHFibra optica empleada para realizar FTTH
Fibra optica empleada para realizar FTTH
 
326880093-Senales-y-Filtros-Con-Matlab.ppt
326880093-Senales-y-Filtros-Con-Matlab.ppt326880093-Senales-y-Filtros-Con-Matlab.ppt
326880093-Senales-y-Filtros-Con-Matlab.ppt
 
Exploracion delsubsuelo
Exploracion delsubsueloExploracion delsubsuelo
Exploracion delsubsuelo
 
Series De Fourier
Series De FourierSeries De Fourier
Series De Fourier
 
Lab 2 tele
Lab 2 teleLab 2 tele
Lab 2 tele
 

Prácticas tc.docx_

  • 1. TC.Práctica 1 Código Práctica 1 fs = 1024; % frec. de muestreo (Hz) A = 0.1; % valor de pico de la sinusoide (V) Z = 50; % impedancia (Ohmios) N = 1024; % número de muestras f0 = 50; % frecuencia de la sinusoide (Hz) nef = 0.001; % valor eficaz del ruido blanco (V) B = 50; % B en el que mediremos el ruido fn = 300; % frec. central de la banda de ruido >> % (3) Vector con los instantes de muestreo: T = 1/fs; % tiempo de muestreo: inversa de fs t = 0:T:(N-1)*T; % N elementos, desde 0 en saltos de T >> % (4) Sinusoide: creación x = A*sin(2*pi*f0*t); % muestras de la sinusoide >> help powmeter function P=powmeter(x,fs,f0,B,Z) Función que calcula la potencia (W) que hay dentro de una banda espectral de la señal x. Datos de entrada: x = Señal de entrada fs = Frecuencia de muestreo f0 = Frecuencia central de la banda B = Ancho de banda de la medida Z = Impedancia de trabajo (parte real)
  • 2. >> % (5) Sinusoide: potencia px_W = powmeter(x,fs,f0,1,Z) % sin ";" al final, muestra el valor (W) Px_dBm = 10*log10(px_W*1e3) % en dBm helptime_dep functiontime_dep(x,T,Z,s,lin_log) Esta función representa en la parte superior la señal en el dominio del tiempo, y en la parte inferior la d.e.p. Parametros de entrada: ...................... x: señal a analizar (real) T: periodo de muestreo Z: impedancia (ohmios) s: título que se quiere aparezca lin_log: representación lineal ('lin') o logaritmica ('log') >> % (6) Sinusoide: visualización en osciloscopio y analizador figure(1) time_dep(x,T,Z,'SINUSOIDE','log'); % el espectro siempre con eje log.
  • 3. SINUSOIDE V (voltios) 0.1 0.05 0 -0.05 -0.1 0 0.1 0.2 0.3 0.4 0.5 t (sg) 0.6 0.7 0.8 0.9 1 0 dBm -50 -100 -150 -200 0 100 200 300 Hz 400 500 >> % (7) Ruido blanco (gaussiano en tensión): creación n = nef*randn(size(t)); % vector gaussiano, valor eficaz nef >> % (8) Ruido blanco: valores teóricos disp('Valores teóricos:') pn_W = nef^2/Z % potencia (W) Pn_dBm = 10*log10(pn_W*1e3) % potencia (dBm) No_W_Hz = pn_W/(fs/2) % densidad espectral (W/Hz) No_dBm_Hz = 10*log10(No_W_Hz*1e3) % densidad espectral (dBm/Hz) Pn_dBm_B = 10*log10(No_W_Hz*B*1e3) % potencia (dBm) en B = 50 Hz >> % (9) Ruido blanco: valores simulados disp('Valores simulados:') pn_W = powmeter(n,fs,fn,B,Z) % potencia de ruido (W) en B Pn_dBm = 10*log10(pn_W*1000) % potencia de ruido (dBm) en B >> % (10) Ruido blanco: visualización figure(2), time_dep(n,T,Z,'RUIDO','log'); 600
  • 4. -3 V (voltios) 4 RUIDO x 10 2 0 -2 -4 0 0.1 0.2 0.3 0.4 0.5 t (sg) 0.6 0.7 0.8 0.9 1 -60 dBm -70 -80 -90 -100 0 100 200 300 Hz 400 500 >> % (11) Señal con ruido: creación xn = x + n; % AWGN es aditivo, se suma al tono % (12) Señal con ruido: visualización figure(3), time_dep(xn,T,Z,'SINUSOIDE CON RUIDO','log'); 600
  • 5. SINUSOIDE CON RUIDO V (voltios) 0.2 0.1 0 -0.1 -0.2 0 0.1 0.2 0.3 0.4 0.5 t (sg) 0.6 0.7 0.8 0.9 1 dBm 0 -50 -100 0 100 200 300 Hz 400 500 600 % (13) Señal con ruido: promediado (para ver el nivel de ruido mejor) NP = input('Número de espectros promediados?: '); tic% comienza a medir el tiempo de la operación unos = ones(NP,1); % una fila por cada espectro (NP filas) matx = unos*x; % matriz con NP filas, cada fila es el tono x matn = nef*randn(NP,N); % cada fila es un ruido diferente matxn = matx+matn; % en cada fila: suma de x con un ruido distinto matXN = fft(matxn.')/N; % espectro (de señal) Smatxn = (matXN.*conj(matXN)).'/Z; % densidad espectral de potencia (DEP) DEPprom = mean(Smatxn); % DEP promedio de cada columna (afecta al ruido) DEPpromuni = [DEPprom(1) 2*DEPprom(2:N/2)]; % se pasa DEP a unilateral ejefrec = (0:fs/2-1); % eje de frec. de la DEP unilateral toc% se termina de medir el tiempo de la operación DEPpromuni_dBm = 10*log10(DEPpromuni*1e3); % DEP en dBm/Hz figure(4), plot(ejefrec,DEPpromuni_dBm), grid% se dibuja title('SINUSOIDE CON RUIDO. PROMEDIO DE ESPECTROS') xlabel('Hz'), ylabel('dBm') % Fin
  • 6. 1-Compruebe que la potencia, mostrada por pantalla, de la sinusoide es la correcta (total,unilateral). Como su valor de pico es 0,1 V y la impedancia vale 50 Z, debe aparecer: 1-Px_dBm = 10*log10(px_W*1e3) % en dBm Px_dBm = -10 2. Compruebe que la sinusoide aparece en el osciloscopio y el analizador de time_depcon los valores adecuados (amplitud, frecuencia, potencia). En el analizador, realice un zoom para apreciar con detalle los −10 dBm. % (6) Sinusoide: visualización en osciloscopio y analizador figure(1) time_dep(x,T,Z,'SINUSOIDE','log'); % el espectro siempre con eje log. SINUSOIDE 0.1 0.08 0.06 V (voltios) 0.04 0.02 0 -0.02 -0.04 -0.06 -0.08 -0.1 0 0.1 0.2 0.3 0.4 0.5 t (sg) 0.6 0.7 0.8 0.9 1 0 -5 -10 dBm -15 -20 -25 -30 -35 -40 0 50 100 Hz 150
  • 7. 3. Compruebe el valor de la potencia de ruido en el ancho de banda B = 50 Hz. Siga los siguientes pasos: a) Calcule la potencia de n (en W y dBm). b) Calcule la densidad espectral del ruido. Tenga en cuenta que el ancho de banda equivalente del vector de ruido es B’ = fs/2 (la frecuencia de muestreo dividida entre 2 para que salga unilateral). c) Calcule la potencia deruido en B = 50 Hz. 3-a) % (7) Ruido blanco (gaussiano en tensión): creación n = nef*randn(size(t)); % vector gaussiano, valor eficaz nef >> % (8) Ruido blanco: valores teóricos disp('Valores teóricos:') pn_W = nef^2/Z % potencia (W) Pn_dBm = 10*log10(pn_W*1e3) % potencia (dBm) pn_W =2.0000e-008 Pn_dBm =-46.9897 3-b) No_W_Hz = pn_W/(fs/2) % densidad espectral (W/Hz) No_dBm_Hz = 10*log10(No_W_Hz*1e3) % densidad espectral (dBm/Hz) No_W_Hz = 3.9063e-011 No_dBm_Hz = -74.0824 3-c) Pn_dBm_B = 10*log10(No_W_Hz*B*1e3) % potencia (dBm) en B = 50 Hz Pn_dBm_B = -57.0927
  • 8. 4. Compruebe que el nivel de la densidad espectral de ruido (unilateral) en el analizador de time_depcoincide (aproximadamente) con el valor calculado (−74,1 dBm/Hz). T1=(2/fs) figure(2), time_dep(n,T1,Z,'RUIDO','log'); -3 V (voltios) 4 RUIDO x 10 2 0 -2 -4 0 0.2 0.4 0.6 0.8 1 t (sg) 1.2 1.4 1.6 1.8 2 -60 dBm -70 -80 -90 -100 0 50 100 150 Hz 200 250 300
  • 9. 5. Observe la sinusoide con AWGN: En el osciloscopio apenas notara el ruido porque es pequeño comparado con la señal. En el espectro vera claramente la delta del tono y el nivel del AWGN. % (11) Señal con ruido: creación xn = x + n; % AWGN es aditivo, se suma al tono % (12) Señal con ruido: visualización figure(3), time_dep(xn,T,Z,'SINUSOIDE CON RUIDO','log'); SINUSOIDE CON RUIDO V (voltios) 0.2 0.1 0 -0.1 -0.2 0 0.1 0.2 0.3 0.4 0.5 t (sg) 0.6 0.7 0.8 0.9 1 0 dBm -50 -100 -150 0 100 200 300 Hz 400 500 600
  • 10. 6. Promedie bastantes espectros para conseguir que el AWGN presente una densidad espectral de potencia razonablemente plana. (Como es logico, el tono no se ve afectado por el promediado.) Por ejemplo, pruebe con NP = 100, 1000, 10000 y 100000. Usando el valor Más alto que no cree problemas de memoria, compruebe ahora con el zoom que el ruido tiene −74,1 dBm/Hz. % (10) Ruido blanco: visualización figure(2), time_dep(n,T,Z,'RUIDO','log'); >> % (11) Señal con ruido: creación xn = x + n; % AWGN es aditivo, se suma al tono % (12) Señal con ruido: visualización figure(3), time_dep(xn,T,Z,'SINUSOIDE CON RUIDO','log'); >> % (13) Señal con ruido: promediado (para ver el nivel de ruido mejor) NP = input('Número de espectros promediados?: '); tic % comienza a medir el tiempo de la operación unos = ones(NP,1); % una fila por cada espectro (NP filas) matx = unos*x; % matriz con NP filas, cada fila es el tono x matn = nef*randn(NP,N); % cada fila es un ruido diferente matxn = matx+matn; % en cada fila: suma de x con un ruido distinto matXN = fft(matxn.')/N; % espectro (de señal) Smatxn = (matXN.*conj(matXN)).'/Z; % densidad espectral de potencia (DEP) DEPprom = mean(Smatxn); % DEP promedio de cada columna (afecta al ruido) DEPpromuni = [DEPprom(1) 2*DEPprom(2:N/2)]; % se pasa DEP a unilateral ejefrec = (0:fs/2-1); % eje de frec. de la DEP unilateral toc % se termina de medir el tiempo de la operación DEPpromuni_dBm = 10*log10(DEPpromuni*1e3); % DEP en dBm/Hz figure(4), plot(ejefrec,DEPpromuni_dBm), grid % se dibuja title('SINUSOIDE CON RUIDO. PROMEDIO DE ESPECTROS') xlabel('Hz'), ylabel('dBm') % Fin Número de espectros promediados?:
  • 11. Para NP=100 SINUSOIDE CON RUIDO. PROMEDIO DE ESPECTROS 0 -10 -20 dBm -30 -40 -50 -60 -70 -80 0 100 200 300 Hz 400 500 600 Para NP=1000 SINUSOIDE CON RUIDO. PROMEDIO DE ESPECTROS 0 -10 -20 dBm -30 -40 -50 -60 -70 -80 0 100 200 300 Hz 400 500 600
  • 12. Para NP=10000 SINUSOIDE CON RUIDO. PROMEDIO DE ESPECTROS 0 -10 -20 dBm -30 -40 -50 -60 -70 -80 0 100 200 Para NP=100000No deja representarlo 300 Hz 400 500 600
  • 13. Ejercicios Calcule el valor de pico de la sinusoide (cuyas muestras estan en el vector x). Para ello basta con traducir la definicion de valor de pico a MATLAB: v_p = max(abs(x)) Si tiene dudas sobre el funcionamiento de alguna de las funciones que aparecen en el codigo,tecleehelpnombre_funcion, y estudie la informacion que se presenta por pantalla. v_p = max(abs(x)) v_p = 0.1000 Calcule el valor medio de la sinusoide. En cada una de las siguientes lineas de codigo se ofrece una forma diferente de conseguirlo. Piense que ventajas e inconvenientes presenta cada una: a) suma=0; for i=1:N, suma=suma+x(i); end, media_x=suma/N b) media_x = sum(x)/length(x) c) media_x = mean(x) Observara que no sale exactamente 0 (si bien se obtiene un numero muy pequeno). .Por que? Calcule el valor eficaz de la sinusoide. Es suficiente con: x_ef = std(x) Calcule el valor cuadratico medio de la sinusoide. Segun la definicion: media_x2 = mean(x.^2) Por otro lado, teniendo en cuenta que el valor cuadratico medio es la potencia de alterna sobre1 Z, queda claro que tambien se puede obtener con: media_x2 = std(x)^2 Es mas, como un valor cuadratico medio es una varianza desde el punto de vista estadistico, podemos incluso usar: media_x2 = var(x)
  • 14. Ejercicio1 Calcule el valor medio del ruido (cuyas muestras estan en el vector n). Compruebe que sale un valor similar (pero no igual) a 0. (Ya no se da un codigo. Escribalo por su cuenta.) media_ruido=mean(n) media_ruido = -3.3132e-005 Calcule el valor eficaz del ruido. Compruebe que sale un valor similar (pero no igual) a nef. n_ef=std(n) n_ef = 9.9579e-004 Calcule el valor cuadratico medio del ruido. Si divide el resultado por 50, .que parametroseobtiene? media_n2=var(n) media_n2 = 9.9160e-007 Sale la potencia del ruido
  • 15. PRACTICA 2 Distorsión Lineal retardo=6e-6 atenuacion=6 fc=2,5e6%frecuencia corte n=6%orden filtrado distorsionfase=3%orden Genere un pulso de 4 μs de duración y 1 V de amplitud, dentro de una ventana de observación de 42,66 μs. Debe trabajar con una frecuencia de muestreo de 6 MHz en su simulación. Así: a) A partir de la frecuencia de muestreo calcule el tiempo de muestreo, T. fm=6e6;%freq muestreo 6MHz Tm=1/fm;%periodo de muesteo b) Calcule cuántas muestras hay en 4 μs (N1) y en 42,66 μs (NV). Para facilitar el procesado, redondee NV a una potencia de 2. fm=6e6%frecuencia muestro Tm=1/fm%Periodo muestreo Z=1 %usx6Mhz=24...Representa el número de muestras que van a ser 1...es %decir...24 muestras van a estar a 1 y el resto a 0 N1=4*6 %42,66usx6Mhz=....-->230=256(redondeado)-(24+2)....numero total de muestras NV=42,66*6 %Como te piden redondear el número de muestras....la potencia de 2 mas %cercana es 256 NV=256 c) El pulso en cuestión será un vector de NV elementos, de los que N1 valdrán 1 (en voltios) y el resto 0. Por ejemplo: una forma elegante de crear el vector es: x=[zeros(1,2) ones(1,24) zeros(1,230)]; s='pulso'; time_dep(x,Tm,1,s,'log'); pulso V (voltios) 1 0.5 0 0 0.5 1 1.5 2 2.5 3 3.5 4 t (sg) 4.5 -5 x 10 100 dBm 0 -100 -200 0 0.5 1 1.5 Hz 2 2.5 3 6 x 10
  • 16. 4- Para simular el retardo y la atenuación use la función del apéndice atade. Observaciones: a) Realice el retardo y la atenuación en pasos separado. (Primero retarde 6 μs y atenúe 0 dB. Después retarde 0 μs y atenúe 6 dB.) De esta forma podrá apreciar mejor el efecto de cada transformación. b) El retardo se pasa a la función atadecomo un número de muestras. c) El pulso es un vector de señal (está en voltios, no es potencia o energía). Piense detenidamente cuántas veces de señal se debe atenuar el pulso para perder 6 dB. d) En time_depel retardo debe desplazar el pulso temporal a la derecha (en el espectro no se nota); y la atenuación debe reducir tanto la señal temporal como el espectro (la primera en veces de señal, el segundo en dB —por lo tanto 6 dB—). %6usx6Mhz=36 de retardo...y en atenuacion ponemos un 1(relacion dBveces) %6us-->retardo 6MHz-->frecuencia muestreo %Fórmula para calcular Atenuación expresada en veces %Veces=10^(atenuacion/20) %atenuación expresada en veces-->10^(0/20)=1-->caso A y=atade(x,1,36); time_dep(y,Tm,1,s,'log'); pulso V (voltios) 1 0.5 0 0 0.5 1 1.5 2 2.5 3 3.5 4 t (sg) 4.5 -5 x 10 100 dBm 0 -100 -200 0 0.5 1 1.5 Hz 2 2.5 %0 de retardo...Relacción en tension= 10 elevado (dB:20)=10^(6/20)=1,995=2 %caso B z=atade(x,2,0); figure(2) time_dep(z,Tm,1,s,'log'); 3 6 x 10
  • 17. pulso V (voltios) 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 3.5 4 t (sg) 4.5 -5 x 10 100 dBm 0 -100 -200 0 0.5 1 1.5 Hz 2 2.5 3 6 x 10 5- Para simular el filtrado use la función del apéndice lpf. Observaciones: En el tiempo, el filtrado debe estropear los flancos del pulso. En frecuencia, el filtrado debe reducir apreciablemente los lóbulos secundarios a partir de la frecuencia de corte. f=lpf(x,fm,fc,n); 6- Para simular la distorsión de fase use la función del apéndice disfase. Observaciones: a) Con distorsión cúbica, la potencia a la que se eleva la recta (“pot”) es 3. b) La función disfasedevuelve un vector con los valores de la transferencia del filtro que realiza la distorsión deseada. (Es un vector complejo.) c) Por lo tanto, si la señal antes del filtrado es x_in, la señal distorsionada, x_out, se puede obtener con el siguiente código: x_in = x; H = disfase(length(x_in),3); % Transferencia del filtro H_mod = abs(H); % Módulo del filtro H_ang = angle(H); % Fase del filtro plot(H_mod), title('MODULO DE H') plot(H_ang), title('FASE DE H') X_in = fft(x_in); % Espectro de la señal a la entrada X_out = X_in.*H; % La señal pasa por el filtro x_out = real(ifft(X_out,length(X_out))); % Señal temporal %comprobamos time_dep (x_out, Ts, Z, 'Ejercicio 6', 'lin'); MODULO DE H FASE DE H 1 4 1 3 1 2 1 1 0 1 -1 1 -2 1 1 -3 0 50 100 150 200 250 300 -4 0 50 100 150 200 250 300
  • 18. 7- Ecualice la distorsión de fase. Para ello: a) Genere un filtro inverso (elemento a elemento) al obtenido con disfase. Puede hacerlo así: Heq = H.^(-1); b) Pase la señal por el filtro ecualizador. X_out2=X_out.*Heq; x_out2 = real(ifft(X_out2,length(X_out2))); c) Compruebe que efectivamente ecualiza: comparando su módulo y fase con el filtro H, y estudiando con time_depla señal obtenida a su salida. (Podrá observar mejor la ecualización de la distorsión si anula o ecualiza el filtrado paso bajo.) time_dep (x_out2, Ts, Z, 'Ejercicio 7', 'log'); Distorsión No lineal %Distorsión no lineal %punto de compresión a 1d a1=10 a2=0 a3=-0.1 fm=512%Frecuencia de muestreo Tm=1/fm N=256 fe1=34 fe2=40 Z=50 %1-A A=0.01 t=0:Tm:(N-1)*Tm sinusoide=A*sin(2*pi*30*t) s='pulso' time_dep(sinusoide,Tm,Z,s,'log') %1-B y=a1*sinusoide+a2*sinusoide.^2+a3*sinusoide.^3 figure(2) time_dep(y,Tm,Z,s,'log') %1-C A2=7 sinusoide1=A2*sin(2*pi*30*t) figure(3) time_dep(sinusoide1,Tm,Z,s,'log') %1-D y1=a1*sinusoide1+a2*sinusoide1.^2+a3*sinusoide1.^3 figure(4) time_dep(y1,Tm,Z,s,'log') %2 Pin=-10:0.5:30 fori=1:length(Pin) A2=sqrt(10^((Pin(i)-30)/10)*2*Z); x=A2*sin(2*pi*30*t) y=a1*x+a2*x.^2+a3*x.^3 Pout(i)= 10*log10(powmeter(y,fm,30,Pin(i),Z))//(+30)?????? G(i)= Pout(i) - Pin(i); end subplot(1,1,1),plot(Pin,G),grid,pause
  • 19. %3 Gi = 20*log10(a1); Pin = 10:0.5:35; Pout_i = Pin + Gi ; f1 = 30; f2 = 34; fori = 1:length(Pin) A = sqrt(10^((Pin(i)-30)/10)*2*Z); x1 = A*sin(2*pi*30*t); x2 = A*sin(2*pi*fe1*t); x = x1 + x2; y = a1*x + a2*x.^2 + a3*x.^3; Pout_3(i) = 10*log10(powmeter(y,fs,2*f1-f2,1,Z))+30; % batido Pout_f(i) = 10*log10(powmeter(y,fs,f1,1,Z))+30; % fundamental con sat. end plot(Pin,Pout_3,Pin,Pout_f,Pin,Pout_i), grid, pause
  • 20. PRACTICA 3 1- Cree un script para medir señales AM. Resetee el espacio de trabajo. 2- Valores iniciales: frecuencia de muestreo fs = 1024 Hz; número de muestras N = 1024; frecuencia de portadora fc = 128 Hz; potencia de AM −20 dBm (potencia de portadora sola); moduladora sinusoidal de fm = 16 Hz; impedancia de trabajo Z = 50 Ω. (Como fs = N = 1024, la resolución espectral es de una muestra por Hz.) fs=1024%Frecuencia Muestro N=1024%Número de muestras fc=128%Frecuencia de portadora p_AM=-20%Potencia de Am en dBm(portadora sola) fm=16%moduladora sinusoidal Z=50 3- El programa debe pedir al usuario el valor del índice de modulación, m, en tanto por uno. (Para ello, puede usar la instrucción input.) m=input('Introduzca m en tanto por uno: '); 4- Genere un vector, t, con los instantes de muestreo. Calcule la amplitud, A, de la portadora sin modular (a partir de los −20 dBm). Genere las señales moduladora normalizada, xn, y modulada, y. A=(sqrt(((10^(potenciaAm/10))*2*Z)/1000));//sacada de la fórmula de potencia de portadora sola en dBm t=0:T:(N-1)*T xn=cos(wm*t); y=A*(1+m*xn).*cos(wc*t);
  • 21. 5- Con un índice de modulación del 50%, visualice con time_depla señal AM. Compruebe y/o calcule sus parámetros: a) Verifique fc y fm en el tiempo y el espectro (use el zoom para ver con detalle). s=('Señal Am'); Tm=1/fm Tc=1/fc figure(2) time_dep(y,Tm,Z,s,'log') figure(3) time_dep(y,Tc,Z,s,'log') b) Lea en el espectro la potencia de portadora sola. figure(1) time_dep(y,T,Z,s,'log') c) Mida la potencia de portadora sola con powmeter. %Ancho de banda es 1 %Coincide con la primera formula de la pagina 5.(Potencia de portadora potPortadoraSola=powmeter(y,fs,fc,1,Z);
  • 22. d) Lea en el espectro y mida con powmeterla potencia de la banda lateral superior. %Coincide con la tercera formula de la pagina 5.(Potencia de la banda %lateral superior)Sumarfc+fm potBandaLateralSuperior=powmeter(y,fs,fc+fm,1,Z); potBandaLateralInferior=powmeter(y,fs,fc-fm,1,Z); e) Calcule la potencia total de AM (sumando en unidades naturales, por supuesto). potenciaTotal=(potPortadoraSola+2*potBandaLateralSuperior f) Calcule la potencia equivalente de pico, PEP. PEP=((A^2)*((1+m)^2))/(2*Z) g) Mida la diferencia en dB entre la potencia de portadora sola y la potencia de una banda lateral, ΔP(dB). A partir de ese valor, calcule el índice de modulación. Compare con el valor introducido (0,5). DifP=10*log10(potPortadoraSola/potBandaLateralSuperior=powmeter(y,fs,f c+fm,1,Z);)=10*log10(potPortadoraSola)10*log1o(potBandaLateralSuperior) DifP=10*log10(potPortadoraSola)-10*log1o(potBandaLateralSuperior) m=(4/(10^(DifP/10)))^0.5 h) En el tiempo, mida los valores máximo y mínimo de la envolvente. Con esos valores, calcule de nuevo el índice de modulación. Compare con el valor introducido. //Código de Pepe, por eso no coincide con lo anterior…. A=(sqrt(((10^(potenciaAm/10))*2*Z)/1000)); t=0:T:(N-1)*T xn=cos(wm*t); y=A*(1+m*xn).*cos(wc*t); s='señalAM'; time_dep(y,1/fs,Z,s,'log'); s='señalAM'; time_dep(y,1/fs,Z,s,'log'); pc=powmeter(y,fs,fc,1,Z) p1bl=powmeter(y,fs,(fc+fm),1,Z) pt=pc+2*p1bl PEP=((A^2)*((1+m)^2))/(2*Z) DifP=10*log10(pc/p1bl)
  • 23. m=(4/(10^(DifP/10)))^0.5 señalAM 0.4 0.3 0.2 V (voltios) 0.1 0 -0.1 -0.2 -0.3 -0.4 0 0.1 0.2 0.3 0.4 0.5 t (sg) 0.6 0.7 0.8 0.9 1 0 -20 -40 dBm -60 -80 -100 -120 -140 -160 0 100 200 300 Hz 400 500 600 6- Ahora, varíe el valor del índice de modulación, m, entre 0 y 100%. Visualice la señal AM para cada valor de m. Observe cómo cambia la señal, tanto en el tiempo como en el espectro. Saque conclusiones. fs=1024; N=1024; fc=128; fm=16; Z=50; PC=-20; m=input('Introduzca el indice de modulacion m (en tanto por 1) : ') T=1/fs; t=0:T:(N-1)*T; Pc=(10^(PC/10))/1000 A=(Pc*2*Z)^0.5 xn=cos(2*pi*fm*t); y=A*(1+xn*m).*cos(2*pi*fc*t); s='señalAM'; time_dep(y,1/fs,Z,s,'log'); pc=powmeter(y,fs,fc,1,Z) p1bl=powmeter(y,fs,(fc+fm),1,Z) pt=pc+2*p1bl PEP=((A^2)*((1+m)^2))/(2*Z) DifP=10*log10(pc/p1bl) m=(4/(10^(DifP/10)))^0.5
  • 24. Indice de Modulación m=0 señalAM V (voltios) 0.04 0.02 0 -0.02 -0.04 0 0.1 0.2 0.3 0.4 0.5 t (sg) 0.6 0.7 0.8 0.9 1 0 dBm -50 -100 -150 -200 0 100 200 300 Hz 400 500 600 Indice de modulación m=0.5 señalAM V (voltios) 0.05 0 -0.05 0 0.1 0.2 0.3 0.4 0.5 t (sg) 0.6 0.7 0.8 0.9 1 0 dBm -50 -100 -150 -200 0 100 200 300 Hz 400 500 600
  • 25. Indice de modulación m=1 señalAM V (voltios) 0.1 0.05 0 -0.05 -0.1 0 0.1 0.2 0.3 0.4 0.5 t (sg) 0.6 0.7 0.8 0.9 1 0 dBm -50 -100 -150 -200 0 100 200 300 Hz 400 500 600 7- Genere un índice de modulación aleatorio (0 < m < 1). Puede usar la función rand. Genere la señal AM correspondiente, y visualícela con time_dep. Mida ΔP(dB) y calcule m. Compare el valor generado con el calculado. //Ponemos rand(m) que nos da un valor aleatorio de m rand(m) ans = 0.9058 T=1/fs; t=0:T:(N-1)*T; Pc=(10^(PC/10))/1000 A=(Pc*2*Z)^0.5 xn=cos(2*pi*fm*t); y=A*(1+xn*m).*cos(2*pi*fc*t); s='señalAM'; time_dep(y,1/fs,Z,s,'log'); Y luego: p1bl=powmeter(y,fs,(fc+fm),1,Z) pt=pc+2*p1bl DifP=10*log10(pc/p1bl) m=(4/(10^(DifP/10)))^0.5
  • 26. 8- Por último, estudie señales digitales de amplitud ASK. Para ello: a) Genere una señal moduladora binaria con pulsos cuadrados de ±1 V, y régimen simbólico de 64 baudios (luego el régimen binario es de 64 bits/s). Tendrá que muestrear cada uno de los símbolos binarios con 1024/32 = 32 muestras (en la parte digital de la asignatura se explican los conceptos necesarios para entender esto). Es conveniente que escriba un código que aproveche la potencia matricial/vectorial de MATLAB, evitando el uso de bucles y sentencias tipo if. La siguiente línea de código le puede servir de inspiración; estudie detenidamente qué es lo que hace: aux = 4*(rand(1,20)>0.5)-2 Con la moduladora digital, genere una AM al 100% (m = 1). La señal modulada resultante es una modulación digital de amplitud, de nombre 2-ASK. Visualice con time_depla 2-ASK. Preste especial atención a la forma del espectro y a la situación de sus nulos. d) Genere una señal moduladora cuaternaria (de 4 símbolos diferentes) con pulsos cuadrados de ±1 V y ±3 V, y régimen simbólico de 64 baudios (luego el régimen binario es de 128 bits/s). Trabaje con 32 muestras por símbolo. Con la moduladora digital, genere una AM al 100% (m = 1). La señal modulada resultante es una modulación digital de amplitud, de nombre 4-ASK. Visualice con time_depla 4-ASK. Preste especial atención a la forma del espectro y a la situación de sus nulos.
  • 27. PRACTICA 4 1- Valores iniciales: frecuencia de muestreo fs = 1024 Hz; número de muestras N = 1024; frecuencia de portadora fc = 200 Hz; potencia de FM −20 dBm; moduladora sinusoidal de fm = 16 Hz; desviación máxima de frecuencia 20 Hz; impedancia de trabajo Z = 50 Ω. fs=1024; N=1024; fc=200; Pfm=-20; fm=16; Dfm=20; Z=50; Ts=1/fs; Tm=1/fm; 2- Como posteriormente debe variar la desviación de frecuencia y la frecuencia moduladora, es conveniente que el programa pida dichos datos al usuario (use el comando input). Df=input('Introduce la maximadesviacion de frecuencia:') fmod=input('Introduce la frecuencia moduladora') 3- Calcule, y muestre por pantalla: la amplitud de la señal FM; el índice de modulación; el ancho de banda de Carson. Genere un vector con los instantes de muestreo (no lo muestre por pantalla). PfmW= 0.01/1000;//Pasando dBm a Watios A=sqrt(PfmW*2*Z); %Amplt. BW=2*(fm+Df); %Ancho del tio Carson %Genere vector de instantes de muestreo: t=0:Ts:(N-1)*Ts; 4- Genere la señal moduladora normalizada (tono tipo coseno). Genere la integral de la señal moduladora, también normalizada. Genere la señal FM. beta=Df/fm; xn=cos(2*pi*fm*t); dxn=sin(2*pi*fm*t); y=A*cos((2*pi*fc*t)+beta*dxn); 5- Visualice la señal moduladora con time_dep. Compruebe sus parámetros: functiontime_dep(y,Ts,Z,'Titulo','log') % % function time_dep(x,T,Z,s,lin_log)
  • 28. % % Esta función representa en la parte superior la señal en el dominio % del tiempo, y en la parte inferior la d.e.p. % % Parametros de entrada: % ...................... % x: señal a analizar (real) % T: periodo de muestreo % Z: impedancia (ohmios) % s: título que se quiere aparezca % lin_log: representación lineal ('lin') o logaritmica ('log') % % 06/02/07 % a=length(x); subplot(211),plot((0:a-1)*T,x,'b'),grid xlabel('t (sg)'),ylabel('V (voltios)') title(s) x1=fft(x)/a; y=x1.*conj(x1); y=[y(1) 2*y(2:a/2)]/real(Z); eje=(1/T)*(0:a/2-1)/a; aux=(lin_log(1:3) =='lin'); if sum(aux)==3 subplot(212),plot(eje,y*1e3,'b') ylabel('mw') else subplot(212),plot(eje,10*log10(y*1e3+eps),'b') ylabel('dBm') end grid,xlabel('Hz') pause % Fin de la función time_dep a) Verifique fm en el tiempo y el espectro. b) time_dep(y,fm,Z,'pulso','log') b) Verifique la amplitud en el tiempo.
  • 29. c) Calcule la potencia y verifique su valor en el espectro (con el zoom). Visualice la señal FM con time_dep. Compruebe sus parámetros: a) Verifique fc en el tiempo y el espectro. time_dep(y,fc,Z,'pulso','log') c) Verifique fm en el espectro. d) time_dep(y,fm,Z,'pulso','log') c) Varíe la desviación de frecuencia (pruebe con valores bastante más bajos). Observe y anote cómo cambia la señal FM. d) Con la desviación máxima de frecuencia fija a 50 Hz (para mejorar la visualización), modifique fm a valores muy bajos (p. ej: 1 Hz). Observe y anote cómo cambia la señal FM. 6- De nuevo con los valores iniciales (desviación máxima de frecuencia 20 Hz, fm = 16 Hz), mida con powmeter(en W y dBm) la potencia de FM contenida en diferentes anchos de banda: a) Mida, tomando un ancho de banda que incluya todas las deltas del espectro, la potencia total de FM. Compruebe que sale el valor esperado. potenciatotalFM=powmeter(y,fs,fc,250,Z)//250 es el ancho de banda con el que cogemos todas las deltas->mirar grafica b) Mida la potencia contenida en el ancho de banda de Carson. Compruebe que es menor que la total, y calcule el porcentaje de la total incluido en la de Carson.
  • 30. potenciaBW=powmeter(y,fs,fc,BW,Z) porcentaje=(potenciaBW*100)/potenciatotalFM c) Averigüe en el espectro cuántas deltas contiene el ancho de banda a 20 dB. Calcule el ancho de banda a 20 dB. Mida la potencia incluida en el ancho de banda a 20 dB. Compare el resultado obtenido para los anchos de banda de Carson y 20 dB. pc=powmeter(y,fs,fc,1,Z) p1bl=powmeter(y,fs,(fc+fm),1,Z) 7- Ahora tome una desviación máxima de frecuencia de 50 Hz, y una portadora de 250 Hz. Variando fm, y modificando por tanto el índice de modulación, cancele determinadas líneas espectrales. Para ello, consulte en el apéndice los valores del índice de modulación que anulan las funciones de Bessel de primera especie. En concreto: a) Cancele la delta a fc, mediante el primer nulo de J0. Para el valor del índice de modulación que anula J0, calcule fm (redondeando al Hz, es decir: un valor entero en Hz). Genere la nueva señal FM y visualícela con time_dep. beta=2.406; >>fm=Df/beta; >> round(fm) ans = 21 >>xn=cos(2*pi*fm*t); >>dxn=sin(2*pi*fm*t); >> y=A*cos((2*pi*fc*t)+beta*dxn); >>time_dep(y,Tm,Z,'pulso','log') >>time_dep(y,Tm,Z,'pulso','lin') b) Cancele la delta a fc, mediante el segundo nulo de J0. Siga los pasos del apartado (a). >>beta=6.62; >>fm=Df/beta; round(fm) ans = 8 >>xn=cos(2*pi*fm*t); dxn=sin(2*pi*fm*t); y=A*cos((2*pi*fc*t)+beta*dxn); time_dep(y,Tm,Z,'pulso','log') >>time_dep(y,Tm,Z,'pulso','lin')
  • 31. c) Cancele las deltas de la primera banda lateral, mediente el primer nulo de J1. Siga los pasos del apartado (a). beta=3.8317; >>fm=Df/beta; round(fm) ans = 13 >>xn=cos(2*pi*fm*t); dxn=sin(2*pi*fm*t); y=A*cos((2*pi*fc*t)+beta*dxn); time_dep(y,Tm,Z,'pulso','log') >>time_dep(y,Tm,Z,'pulso','lin') d) Cancele las deltas de la segunda banda lateral, mediente el primer nulo de J2. Siga los pasos del apartado (a). >>beta=5.1356; >>fm=Df/beta; round(fm) ans = 10 >>xn=cos(2*pi*fm*t); dxn=sin(2*pi*fm*t); y=A*cos((2*pi*fc*t)+beta*dxn); time_dep(y,Tm,Z,'pulso','log') time_dep(y,Tm,Z,'pulso','lin')
  • 32. 8- Por último, debe medir la desviación máxima de frecuencia usando la función del apéndice time_FM, que actúa como un osciloscopio. Tome los siguientes valores: frecuencia de muestreo fs = 1024*32; número de muestras N = 1024*32; frecuencia de portadora fc = 200 Hz; moduladora sinusoidal con fm = 16 Hz; desviación máxima de frecuencia 20 Hz. Genere el nuevo vector con los instantes de muestreo, y la nueva señal FM. Visualice la señal modulada con time_FM. Mida la desviación máxima de frecuencia usando 2 periodos, de forma análoga a como se describe en la parte teórica para 3 periodos. >>xn=cos(2*pi*fm*t); dxn=sin(2*pi*fm*t); y=A*cos((2*pi*fc*t)+beta*dxn); time_dep(y,Tm,Z,'pulso','log') time_dep(y,Tm,Z,'pulso','lin')
  • 33. Práctica 5 MODULACIÓN PRBS 9 -Moduladoras IQ 5.1En I y en Q hay dos niveles diferenciados. En cada instante temporal, la combinación de valores de amplitud I y Q, llevados sobre el plano IQ, nos dan el punto que define el símbolo digital que lleva la modulación. 5.2Fase en Coordenadas Polares La amplitud es constante (la información solo modifica la fase), y que aparecen 4 fases diferentes (QPSK =4PSK).Es una modulación de fase…
  • 35. 5.4Constelación Tiene 2 bits porque al tener 4 fases equiespaciadas…M=4 símbolos =2^2 Rb=k*Rs…..Rb/Rs=2…tiene dos niveles diferenciados.. 5.5Espectro 6
  • 36. MODULACIÓN BPSK: 1-Moduladoras IQ I(t) tiene dos niveles mientras que q(t) es cte… 2Fase en Coordenadas Polares Amplitud es cte….aparecen 2 fases distintas…es una modulación de fase…
  • 38. 4Constelación Tiene un bit…2^1=2 y dos niveles diferentes 5
  • 39. Modulación 8PSK 1 Moduladoras IQ Hay 5 niveles de amplitud no equiespaciados, por lo que en la constelación aparecerán 5 niveles ( es decir, tirando una línea vertical que coja los puntos). 2Fase en Coordenadas Polares Amplitud es cte…aparecen9 fases diferentes…es una modulación de fase…
  • 41. 4Constelación Tiene 3 bits….2^3…diferenciando en la constelación 5 niveles( línea vertical que coge los puntos) 5
  • 42. Modulación 16QAM 1-Moduladoras IQ Tienen ambas 4 niveles diferenciados…La constelación también los tendrá… 2Fase en Coordenadas Polares No es una modulación de fase….-->Amplitud no es cte..
  • 44. 4Constelación Tiene 4 bits…2^4…4 niveles diferenciados… 5
  • 45. Modulación 32QAM 1Moduladoras IQ Tienen 6 niveles diferenciados… 2Fase en Coordenadas Polares No es una modulación de fase..
  • 48. 7Modulación QPSK con filtrado coseno alzado “Roll Off 0.5” 7.1Moduladoras IQ 2Fase en Coordenadas Polares
  • 51. 7Modulación QPSK con filtrado coseno alzado “Roll Cosine 0.5” 7.Moduladoras IQ Constelación
  • 52. 8 …………… 9.1 QPSK Desplazamiento de fase de 4 símbolos, desplazados entre sí 90º. Normalmente se usan como valores de salto de fase 45º, 135º, 225º, y 315º. Cada símbolo aporta 2 bits. Suele dividirse el flujo de cada bit que forman los símbolos como I y Q. El diagrama de constelación muestra 4 símbolos equiespaciados. La asignación de bits a cada símbolo suele hacerse mediante el código Gray, que consiste en que entre dos símbolos adyacentes los símbolos solo se diferencian en 1 bit. Esto se escoge así para minimizar la tasa de bits erróneos. OQPSK QPSK con datos I y Q desplazados temporalmente medio periodo de símbolo Evitar transiciones simultáneas en ambos canales, (señal OQPSK) se retrasa un tiempo de bit uno de los canales 9.2