Misael Hernández; Ricardo Alejos Fundamentos de Sistemas de Comunicación
Tarea 08 Ejercicio 1
Solución
Enunciado
Para lograr cada uno de estos filtros se utilizan las líneas de código indicadas en la tabla:
Diseñe un pulso RC p con el que vamos a transmitir, ⁄ , con ; ; ; ⁄ . y con
Acorde con las especificaciones del script “rcpulse.m”, para crear un pulso con las especificaciones dichas en el enunciado se utiliza la siguiente línea de código en Octave:
Filtro Filtro acoplado Filtro pasabajas Filtro rectangular Filtro triangular
[p t] = rcpulse(0.5,10,1/1000,1/1000,"rc",0.1);
Ejercicio 3
Solución
Código f1=p; f2=fir1(40,0.375); f3=[ones(1,8),zeros(1,32)] ; f4=[triang(8),zeros(1,32)] ;
Pulso RC
Enunciado
12 10
Encuentre la potencia del ruido a la salida de cada filtro (con la fórmula dada), completando la tabla.
8
h(t)
6 4
∫
2
( )
0 -2 0
0.002
0.004
0.006
0.008
Solución
0.01
Tiempo en segundos
Ejercicio 2 0.1 0.08 0.06 0.4 0.025 0.01
Enunciado Diseñe cuatro filtros para usarse como candidatos a filtro receptor:
Un filtro acoplado. Un filtro pasabajas (de orden igual que el número de muestras del pulso RC) con frecuencia de corte igual que el ancho de banda del pulso. Un filtro cuya respuesta sea un rectángulo de la misma duración que la parte central del pulso RC. Un filtro triangular (ver comando triang)
Acoplado 1.00e-2 8.00e-3 6.00e-3 4.00e-3 2.00e-3 1.00e-3
Pasabajas 8.88e-6 7.11e-6 5.33e-6 3.55e-6 2.22e-6 8.88e-7
Rectangular 2.00e-4 1.60e-4 1.20e-4 8.00e-5 5.00e-5 2.00e-5
Triangular 6.56e-5 5.25e-5 3.93e-5 2.62e-5 1.64e-5 6.56e-5
Ejercicio 4 Enunciado Grafique la salida de cada uno de los filtros cuando la entrada es el pulso p. Encuentre el valor máximo (con el comando max) en cada caso, y complete la tabla.
1
Misael Hernández; Ricardo Alejos Fundamentos de Sistemas de Comunicación
Solución
Ejercicio 5
Filtro
Valor máximo de la salida ( ) 1.00e-1 2.67e-3 1.20e-2 7.85e-3
Acoplado Pasabajas Rectangular Triangular
Enunciado Encuentre el SNR para cada caso, y complete la tabla. Recuerde que podemos calcular el SNR mediante
Salida del filtro acoplado 0.12 0.1
Solución
y1 (t)
0.08 0.06 0.04 0.02 0
0.1 0.08 0.06 0.4 0.025 0.01
-0.02 0
20
40
60
80
100
Tiempo en segundos
Salida del filtro pasabajas 0.003 0.0025 0.002
Acoplado 1.0000 1.2500 1.6666 2.5000 4.0000 10.000
Pasabajas 0.8033 1.0041 1.3389 2.0083 3.2133 8.0334
Rectangular 0.7231 0.9040 1.2053 1.8080 2.8927 7.2319
Triangular 0.9391 1.1738 1.5651 2.3477 3.7564 9.3908
0.0015 0.001 0.0005
Ejercicio 6
0 -0.0005 0
20
40
60
80
Enunciado
100
Tiempo en segundos
Hecho esto, ahora podemos evaluar la probabilidad de que ocurran errores en la comunicación. Un error ocurre la mitad de las veces que la amplitud de una señal de ruido de potencia supera la amplitud . Haga la prueba un millón de veces y complete la siguiente tabla (BER, o bit-error rate, es el número de bits recibidos en error entre el número de bits transmitidos).
Salida del filtro rectangular 0.015
y3 (t)
0.01
0.005
0
-0.005 0
20
40
60
80
100
Tiempo en segundos
Solución
Salida del filtro triangular 0.01
El SNR en escala lineal se muestra en la siguiente tabla:
0.008
y4 (t)
0.006
0.004
0.002
0
-0.002 0
20
40
60
80
0.1 0.08 0.06 0.4 0.025 0.01
100
Tiempo en segundos
2
Acoplado 1.59e-1 1.32e-1 9.84e-2 5.73e-2 2.28e-2 8.03e-4
Pasabajas 1.85e-1 1.58e-1 1.23e-1 7.83e-2 3.67e-2 2.34e-3
Rectangular 2.11e-1 1.85e-1 1.50e-1 1.03e-1 5.44e-2 5.71e-3
Triangular 1.65e-1 1.39e-1 1.05e-1 6.23e-2 2.62e-2 1.04e-3
Misael Hernández; Ricardo Alejos Fundamentos de Sistemas de Comunicación
Ejercicio 7
Anexos
Enunciado
Código de Octave/MatLab utilizado
Grafique el BER para cada caso, utilizando el SNR en el eje horizontal, y el BER (en escala logarítmica) en el eje vertical.
close all; clear all;
% Cerrar todas las gráficas abiertas % Borrar todas las variables en uso
%Creación del pulso y del primer filtro acorde a las especificaciones E=0.1; Ts=4000; [p tp] = rcpulse(0.5,10,1/1000,1/Ts,"rc",E);
Solución BER vs SNR para filtro acoplado 100
BER
10
% Creación de los otros filtros acorde a las especificaciones f1=p*sqrt(E)/sqrt(sum(p.*p)); f2=(fir1(40,0.375))'; f2=f2*sqrt(E)/sqrt(sum(f2.*f2)); f3=[zeros(1,17),ones(1,8),zeros(1,16)]; f3=f3*sqrt(E)/sqrt(sum(f3.*f3)); f4=[zeros(1,17),(triang(8))',zeros(1,16)]; f4=f4*sqrt(E)/sqrt(sum(f4.*f4));
-1
10-2
10-3
% Cálculo de la potencia del ruido después de filtrar N=zeros(6,4); %i=[0.1,0.08,0.06,0.04,0.025,0.01]; i=[0.01,0.025,0.04,0.06,0.08,0.1]; for j=1:6 N(j,1)=i(j)*sum(f1.*f1)*(1/Ts); N(j,2)=i(j)*sum(f2.*f2)*(1/Ts); N(j,3)=i(j)*sum(f3.*f3)*(1/Ts); N(j,4)=i(j)*sum(f4.*f4)*(1/Ts); end N
10-4
0
2
4
6
8
10
12
6
8
10
6
8
10
SNR BER vs SNR para filtro pasabajas 100
BER
10-1
10-2
% Cálculo del valor máximo de la señal recibida, para así poderla muestrear ahí figure; plot(c1=conv(p,f1)/Ts); title("Salida del filtro acoplado") xlabel("Tiempo en segundos") ylabel("y_1 (t)") figure; plot(c2=conv(p,f2)/Ts); title("Salida del filtro pasabajas") xlabel("Tiempo en segundos") ylabel("y_2 (t)") figure; plot(c3=conv(p,f3)/Ts); title("Salida del filtro rectangular") xlabel("Tiempo en segundos") ylabel("y_3 (t)") figure; plot(c4=conv(p,f4)/Ts); title("Salida del filtro triangular") xlabel("Tiempo en segundos") ylabel("y_4 (t)")
10-3
-2
0
2
4 SNR BER vs SNR para filtro rectangular
100
BER
10-1
10-2
10-3
-2
0
2
4 SNR BER vs SNR para filtro triangular
100
BER
10-1
10-2
y=zeros(1,4); y(1)=max(c1); y(2)=max(c2); y(3)=max(c3); y(4)=max(c4); y=y'
10-3
-2
0
2
4
6
8
10
SNR
3
Misael Hernández; Ricardo Alejos Fundamentos de Sistemas de Comunicación % Cálculo de la relación señal a ruido de cada caso for j=1:6 SNR(j,1)=10*log10(y(1)*y(1)/N(j,1)); SNR(j,2)=10*log10(y(2)*y(2)/N(j,2)); SNR(j,3)=10*log10(y(3)*y(3)/N(j,3)); SNR(j,4)=10*log10(y(4)*y(4)/N(j,4)); end SNR for k=1:4 for j=1:6 n=sqrt(N(j,k))*randn(1,1000000); BER(j,k)=(sum(((abs(n)-y(k))>0)))/(2*1000000); end end BER filtros={"acoplado" "pasabajas" "rectangular" "triangular"} for k=1:4 figure; semilogy(SNR(:,k),BER(:,k)); title(["BER vs SNR para filtro ", filtros{k}]) xlabel("SNR") ylabel("BER") end
4