Está en la página 1de 25

UNMSM

FACULTAS DE INGENIERIA ELECTRONICA Y ELECTRICA


APELLIDOS Y NOMBRES: MATRICULA:
Salome Arcos Russell 15190027

CURSO: TEMA:
COMUNICACIÓN DIGITAL
ANÁLISIS DE SEÑALES CON EL USO DE MATLAB
u OCTAVE

INFORME FECHAS: MODULO


2 REALIZADO ENTREGADO

10/11/21

GRUPO: PROFESOR:
Wilbert Chávez Irazábal

FACULTAD DE INGENIERÍA ELECTRÓNICA Y


Cuidad universitaria (Virtual), LIMA 09 de JUNIO del 2021
4.2. Consultar sobre las funciones de MatLab para procesamiento de señales:
filter, designfilt, fvtool, filtfilt, freqz, randn

Filter

Sintaxis
y = filter(b,a,x)

Descripción

y = filter(b,a,x) filtra
los datos de entrada x utilizando una función de transferencia
racional definida por los coeficientes del numerador y del
denominador b y a respectivamente.
Si a(1) no es igual a 1, entonces, filter normaliza los coeficientes del filtro dividiendo
cada uno entre a(1). Por lo tanto, a (1) debe ser distinto de cero.
Si x es un vector, entonces, filter devuelve los datos filtrados como un vector del mismo
tamaño que x.
Si x es una matriz, entonces, filter actúa a lo largo de la primera dimensión y devuelve
los datos filtrados para cada columna.
Si x es una matriz multidimensional, entonces el comando filter actúa a lo largo de la
primera dimensión de la matriz cuyo tamaño no es igual a 1.

Designfilt
Sintaxis
d = designfilt (resp, Name, Value)
designfilt(d)
Descripción
d = designfilt(resp,Name,Value) diseña un objeto, con el tipo de respuesta
digitalfilterdres
Especifique el filtro aún más utilizando un conjunto de pares name,value los conjuntos
de especificaciones permitidos dependen del tipo de respuesta y consisten en
combinaciones de los siguientes resp

FVTool

Es una herramienta interactiva que le permite mostrar la magnitud, la respuesta de


fase, el retardo de grupo, la respuesta de impulso, la respuesta de paso, la gráfica de
polo-cero y los coeficientes de un filtro. Herramienta de visualización de filtros Puede
exportar la respuesta mostrada a un archivo con File > Export.

Filtfilt
2
Sintaxis

y = filtfilt(b,a,x)

Descripción
y = filtfilt(b,a,x) realiza
el filtrado digital de fase cero procesando los datos de entrada,
tanto en las direcciones hacia delante como en las direcciones inversa. x Después de
filtrar los datos en la dirección de avance, invierte la secuencia filtrada y la vuelve a
ejecutar a través del filtro.filtfilt El resultado tiene las siguientes características
 Distorsión de fase cero.
 Una función de transferencia de filtro igual a la magnitud cuadrada de la
función de transferencia de filtro original.
 Un orden de filtro que es el doble del orden del filtro especificado por y .ba

Freqz
Sintaxis
[h,w] = freqz(b,a,n)
Descripción
[h,w] = freqz(b,a,n) devuelve
el vector de respuesta de frecuencia de punto y el vector de
frecuencia angular correspondiente para el filtro digital con coeficientes de función de
transferencia almacenados en y .nhwba

Randn
Sintaxis
X = randn
X = randn(n)
Descripción
X = randn devuelve un escalar aleatorio dibujado de la distribución normal estándar
X = randn(n) devuelve una matriz n-by-n de números aleatorios normalmente
distribuidos

4.3. Consultar sobre la sintaxis de lazos de repetición (for, while) y de condición (if,
switch) usados en MatLab (equivalente en OCTAVE).

for: esta función se encarga de ejecutar un grupo de declaraciones en un ciclo por


un número específico de veces

while: esta función se encarga de evaluar una expresión y repite la ejecución de un


grupo de declaraciones en un bucle mientras la expresión es verdadera

3
if: esta funcion se encarga de evaluar una expresion y ejecuta un grupo de
declaraciones cuando la expresion es verdadera.

switch: esta funcion se encarga de evaluar una expresion y elige ejecutar uno de varios
grupos de declaraciones.

4.4. Consultar y detallar el funcionamiento de los comandos que permitan obtener


el espectro de frecuencia de una señal.

p = pspectrum(x) devuelve el espectro de potencia de .x

Si es un vector o un calendario con un vector de datos, entonces se trata como un


solo canal.x Si es una matriz, un calendario con una variable de matriz o un calendario
con varias variables vectoriales, el espectro se calcula de forma independiente para
cada
canal y se almacena en una columna independiente de .xp

4.5. Graficar en el tiempo el producto de funciones g31 y g32 en los siguientes casos:
g 31(t )=a1sin ⁡( 2∗π ∗f 1∗t )
g 32(t )=¿ Una función diente de sierra simétrica periódica con amplitud A,
periodo T=1/f 2

%CODIGO EN MAT LAP

clc
clear
T = 20

%Amplitud
A=5

%Período
Wo = 2 * pi / T; %Frecuencia fundamental
%Ancho de la señal
x = 0 : 0.01 : T/4 ;

y = A*sawtooth(2*pi*2*x);

f1=1;

g31=sin(2*pi*f1*x);
subplot(2,2,1)
plot(x,y);
grid on

4
grid on
subplot(2,2,2)
plot(x,g31)
grid on
subplot(2,1,2)
gxy=g31.*y;
plot(x,gxy)

4.6. Graficar en Matlab u octave la figura 1;

5
%CODIGO EN MAT LAP
clc
clear
T = 1;
%Amplitud
A = 5;
%Período
Wo = 2 * pi / T;
%Frecuencia fundamental
%Ancho de la señal
x = 0 : 0.01 : T/4 ;
y( 1 : size( x, 2 ) ) = 2*A/3+((4*A)/(3*T))*x;
x1 = T/4 : 0.01 : T/2;
y1( 1 : size( x1, 2 ) ) = 0;
x2 = T/2 : 0.01 : 3*T/4;
y2( 1 : size( x2, 2 ) ) = A-((4*A)/(3*T))*x;
x3 = 3*T/4 : 0.01 : T;
y3( 1 : size( x3, 2 ) ) = 0;
x = [x x1 x2 x3];
y = [y y1 y2 y3 ];
plot(x,y);

6
6.1. Crear los siguientes filtros, mostrar su respuesta de frecuencia: Filtro pasa
bajos, con:

Frecuencia de corte: 2KHz


Filtro pasa altos, con frecuencia de corte: 20KHz
Filtro pasa banda, con frecuencias de corte: 8KHz y 9KHz

Filtro Pasa Bajos:

%CODIGO EN MAT LAP


clc
clear
x=0:0.00001:100;
w=1
f=5*sin(w*x);
d=wgn(1,size(x,2),2);
g=f+d;
grid on
figure(1)
subplot(2,1,1)
plot(x,g)
grid on
%pasabajO%% %G(s)=(1/RC)/(s+1/RC)
C=100e-9
R=795

7
num=[0 1/(R*C)]
den=[1 1/(R*C)]
G11=tf(num,den)

%bode(G11);
grid on
%señal de salida

figure(1)
subplot(2,1,2)
lsim(G11,g,x)
grid on

8
Filtro Pasa Altos:
%CODIGO MAT LAP:
clc
clear
x=0:0.0001:100;
f=10*sin(x);
d=wgn(1,size(x,2),5);
g=f+d;
grid on
subplot(2,1,1)
plot(x,g)
grid on
C=100e-9
R=800
%-pasaalta ;G=(s)=(s)/(s+1/RC)
num1=[1 0];
den1=[1 1/(R*C)];
G12=tf(num1,den1)
%bode(G12)
grid on
%señal de salida
figure(1)
subplot(2,1,2)
lsim(G12,g,x)
grid

9
6.3 Implementar la serie de Fourier y graficarla en el dominio del tiempo dentro de
un archivo .m (su equivalente en octave), a partir de la función periódica SENOIDAL,
TRIANGULAR y CUADRADA. Además, mostrar el espectro en frecuencia y la densidad
espectral de potencia.
FUNCIÓN SENOIDAL

4A
f ( t )= sen(ω 0 t )
π
Código en Matlab
%% FUNCION SENOIDAL
% GRÁFICA EN EL TIEMPO DE LA SEÑAL
Fs=1000; % Frecuencia de muestreo en Hz
Ts=1/Fs; % Periodo de muestreo en seg.
L=300; % Muestras

t=(0:L-1)*Ts; % Vector de tiempo


f=20; % Frecuencia de la señal en Hz
T=1/f; % Periodo de la señal

A=1; % Amplitud

s1=((4*A)/pi)*sin(2*pi*f*t);

subplot(2,1,1),plot(t,s1,'b');
xlabel ("Tiempo (segundos)");
ylabel ("AMPLITUD");
title ("ONDA SENOIDAL");
grid on
%% GRÁFICA EN LA FRECUENCIA DE LA SEÑAL
Y=fft(s1-0.24);
P1=2.*(abs(Y(1:L/2)/L));
f1=Fs.*(0:(L/2)-1)./L; % Vector de frecuencias

subplot(2,1,2)
plot(f1,P1,'r')
grid on
xlabel ("Frecuencia (Hz)");
ylabel ('Amplitud')
title ("ESPECTRO DE UNA ONDA SENOIDAL");

10
FUNCIÓN TRIANGULAR

2A
f ( t )= t , 0< t<T /2
T
−2 A
f ( t )= t ,T /2<t <T
T

ω 0=2 π /T

11
T/2
2
a 0= ∫ f (t )dt
T 0

T /2
2
a 0=
T ( ∫ 2TA tdt )
=
A
2
0

A
a 0=
2
Para evaluar a n y bn , hacemos uso de las integrales:

T/2
4
a n= ∫ f ( t ) cosn ω0 tdt
T 0

T/2
4
a n=
T
∫ 2TA tcosnω 0 tdt
0

8A 1 1
tsinn ω0 t T /2
a n= 2 2
T n ω0 2
[
cosn ω0 t+
n ω 0 0 ]
8A 1 nω T 1 T nω T 1 1
a n= 2 2
T n ω0 2
[
cos ⁡( 0 )+
2
( )sin ⁡( 0 )− 2 2 cosn ω0 0−
n ω0 2 2 n ω0 n ω0
0 sinn ω0 0
]
8A 1 nω T 1 T nω T 1
a n= 2 2
T n ω0 2
[
cos ⁡( 0 )+
2 n ω0
( ) sin ⁡( 0 )− 2 2
2 2 n ω0 ]
nω T nω T
a n=
8A
2 2
1
T n ω0 2
[ (
cos ⁡( 0 )−1 +
2
1 T
( )sin ⁡( 0 )
n ω0 2 2 ) ]
Siendo ω 0=2 π /T

8A 1 1 T
a n=
T2
[( n2

T
2

)
( cosπn−1 )+
n
T
( )sinπn
2π 2
]
Recordar

sinπn=0
cosπn=−1 ; si n es impar
cosπn=1 ; si n es par

8A 1 1
a n=
T2
[( n2

T
2

)
( cosπn−1 )+
n

T
( 0)
]
Calculamos cuando

cosπn=−1 ; si n es impar
12
8A 1
a n=
T2
[(
n2

T
2

)
(−1−1 )
]
−4 A
a n= ; n=¿2 n−1
n2 π2
−4 A
a n= 2 2
(2 n−1) π

b n=0

Serie trigonométrica de Fourier de f (t)



f ( t )=a0 +∑ ( an cosn ω0 t+ bn sinn ω0 t)
n=1

Reemplazando

A −4 A
f ( t )= +∑ (
[
2 n=1 ( 2 n−1 )2 π 2 ]
cos ⁡(2 n−1) ω0 t+ 0 sinn ω0 t)

Finalmente tenemos la serie trigonométrica de Fourier de una onda TRIANGULAR



A 4A cos ⁡( (2 n−1) ω0 t)
f ( t )= − 2 ∑
2 π n=1 (2 n−1)2

CODIGO EN MATLAB
%% FUNCION TRIANGULAR
% GRÁFICA EN EL TIEMPO DE LA SEÑAL
Fs=1000; % Frecuencia de muestreo en Hz
Ts=1/Fs; % Periodo de muestreo en seg.
L=300; % Muestras

t=(0:L-1)*Ts; % Vector de tiempo


f=20; % Frecuencia de la señal en Hz
T=1/f; % Periodo de la señal

A=1; % Amplitud
arm=20; % Número de armónicos a sumar
s1=A/2; % Componente continua
s3=(4*A)/(pi^2);
for n1=1:1:arm
p1=(1/(2*n1-1)^2)*cos((2*n1-1)*2*pi*f*t);
s1=s1-s3*p1;
end;
subplot(2,1,1),plot(t,s1,'b');
13
xlabel ("Tiempo (segundos)");
ylabel ("AMPLITUD");
title ("ONDA TRIANGULAR");
grid on
%% GRÁFICA EN LA FRECUENCIA DE LA SEÑAL
Y=fft(s1-0.24);
P1=2.*(abs(Y(1:L/2)/L));
f1=Fs.*(0:(L/2)-1)./L; % Vector de frecuencias

subplot(2,1,2)
plot(f1,P1,'r')
grid on
xlabel ("Frecuencia (Hz)");
ylabel ('Amplitud')
title ("ESPECTRO DE UNA ONDA TRIANGULAR");

FUNCION ONDA CUADRADA

14

4A sen ⁡(( 2n−1)ω 0 t )
f ( t )= ∑
π n=1 2 n−1
%% FUNCION CUADRADA
% GRÁFICA EN EL TIEMPO DE LA SEÑAL
Fs=1000; % Frecuencia de muestreo en Hz
Ts=1/Fs; % Periodo de muestreo en seg.
L=300; % Muestras

t=(0:L-1)*Ts; % Vector de tiempo


f=20; % Frecuencia de la señal en Hz
T=1/f; % Periodo de la señal

A=1; % Amplitud
arm=20; % Número de armónicos a sumar
s1=0; % Componente continua
s3=(4*A)/pi;
for n1=1:1:arm
p1=(1/(2*n1-1))*sin((2*n1-1)*2*pi*f*t);
s1=s1+s3*p1;
end;
subplot(2,1,1),plot(t,s1,'b');
xlabel ("Tiempo (segundos)");
ylabel ("AMPLITUD");
title ("ONDA CUADRADA");
grid on
%% GRÁFICA EN LA FRECUENCIA DE LA SEÑAL
Y=fft(s1-0.24);
P1=2.*(abs(Y(1:L/2)/L));
f1=Fs.*(0:(L/2)-1)./L; % Vector de frecuencia
subplot(2,1,2)
plot(f1,P1,'r')
grid on
xlabel ("Frecuencia (Hz)");
ylabel ('Amplitud')
title ("ESPECTRO DE UNA ONDA CUADRADA");

15
7. Realizar el cálculo de la serie de Fourier para la función indicada usando
propiedades y graficar dicha serie en el dominio del tiempo, como su espectro de
frecuencia, usando un archivo .m (equivalente en OCTAVE).

Sea

T
t 1= , A=5 ,T =12
3

T
A 0¿ t<
3
F=
T T
0 <t<
3 6 16
Hallando el coeficiente ao :
T/3 T

ao= ∫
6t
1 f ( t ) dt= 1
T 0
1

T [∫
0
¿
T /3
]
1
Adt + ∫ 0 dt = ¿ ¿
T

A
∗T
T 5
¿ =
3 3
Hallando el coeficiente an:

2
an= ¿
T
A 2 nπ
an=

[ sen
3 ( )
]

Hallando el coeficiente bn:


T/3 T
2
bn= [ ∫ Asen(nwt ) dt+ ∫ 0 sen (nwt )dt ]
T 0 T/3

A 2 nπ
bn=
nπ ( )
[−cos
3
+1]

5 2 nπ
bn= [−cos (
3 )
+1]

Sabemos que:


2nπt 2 nπt
f ( t )=a0 +∑ an cos
n=1
( T ) (
+b n sen
T )

Código en Matlab – Serie de Fourier en el dominio del tiempo

17
t=0:0.01:24;%Definimos el intervalo de tiempo
N=100 % Número de armónicos
sum=0;
T=24;
for n=1:1:N % Bucle para la sumatoria de los armónicos
An=(5/(pi*n))*(sin((2*pi*n)/3));%Coeficientes de Fourier
Bn=(5/(pi*n))*(-cos((2*pi*n)/3)+1);%Coeficientes de Fourier
sum=sum+An*cos((n*pi*t)/6)+Bn*sin((n*pi*t)/6)% Sumatoria de Serie
armonicos para la componente ca
end
sumx=sum+5/3; % Suma de ca +cd
plot(t,sumx)
grid on
title('Series de Fourier')

Para 10 armónicos

18
Para 100 armónicos

Código en Matlab – Espectro de frecuencia


t=0:0.01:24;%Definimos el intervalo de tiempo
N=100 % Número de armónicos
sum=0;
T=24;
for n=1:1:N % Bucle para la sumatoria de los armónicos
An=(5/(pi*n))*(sin((2*pi*n)/3));%Coeficientes de Fourier
Bn=(5/(pi*n))*(-cos((2*pi*n)/3)+1);%Coeficientes de Fourier
sum=sum+An*cos((n*pi*t)/6)+Bn*sin((n*pi*t)/6)% Sumatoria de Serie
armonicos para la componente ca
end
sumx=sum+5/3; % Suma de ca +cd
plot(t,sumx)
grid on
title('Series de Fourier')

f=fft((sumx))% Espectro de frecuencias


figure(2)
plot(abs(f))
xlabel('frecuencia')

19
Espectro de frecuencias

7.2 Analizando el espectro de un tren de pulsos que sucede si τ (tau) es fijo y T


variable (creciente)?
Código en Matlab
t=0:0.01:24;%Definimos el intervalo de tiempo
20
N=100 % Número de armónicos
sum=0;
T=6;
for n=1:1:N % Bucle para la sumatoria de los armónicos
t1=3;
A0=5*t1/T
An=(5/(pi*n))*(sin((2*pi*n*t1)/T));%Coeficientes de Fourier
Bn=(5/(pi*n))*(-cos((2*pi*n*t1)/T)+1);%Coeficientes de Fourier
sum=sum+An*cos((n*2*pi*t)/T)+Bn*sin((n*2*pi*t)/T)% Sumatoria de
Serie armonicos para la componente ca
end
sumx=sum+A0; % Suma de ca +cd
plot(t,sumx)
grid on
title('Series de Fourier')

f=fft((sumx))% Espectro de frecuencias


figure(2)
plot(abs(f))
xlabel('frecuencia')

Analizando
Si T (periodo de la señal) es variable y τ (tau) es fijo, se puede apreciar que el valor de
la amplitud del espectro se reduce conforme aumenta el periodo.
Para:
T=6 y t1=3

T=10 y t1=3

21
T=14 y t1=3

7.3 En base al análisis del literal anterior qué sucede si T (periodo) es fijo y τ (tau)
variable (creciente)?

Código en Matlab
t=0:0.01:24;%Definimos el intervalo de tiempo

22
N=100 % Número de armónicos
sum=0;
T=10;
for n=1:1:N % Bucle para la sumatoria de los armónicos
t1=5;
A0=5*t1/T
An=(5/(pi*n))*(sin((2*pi*n*t1)/T));%Coeficientes de Fourier
Bn=(5/(pi*n))*(-cos((2*pi*n*t1)/T)+1);%Coeficientes de Fourier
sum=sum+An*cos((n*2*pi*t)/T)+Bn*sin((n*2*pi*t)/T)% Sumatoria de
Serie armonicos para la componente ca
end
sumx=sum+A0; % Suma de ca +cd
plot(t,sumx)
grid on
title('Series de Fourier')

f=fft((sumx))% Espectro de frecuencias


figure(2)
plot(abs(f))
xlabel('frecuencia')

Analizando
Si T (periodo de la señal) es fijo y τ (tau) es variable, se puede apreciar que el valor de
la amplitud del espectro aumenta conforme aumenta el tau.

T=10 y t1=5

T=10 y t1=8

23
T=10 y t1=12

7.2. Analizando el espectro del tren de pulsos del numeral 7.1, que sucede si τ es fijo y
T variable (creciente)?
Si τ es fijo y T es variable o creciente, el ciclo de trabajo o duty cycle se
vuelve decreciente debido a que:
7.3. En base al analisis del literal anterior que sucede si T es fijo y τ variable
(creciente)?
Si τ es variable o creciente y T es fijo, el ciclo de trabajo o duty cycle se vuele creciente
debido a que:
7.4. Compare la densidad espectral de potencia y el espectro de una senal, cual es la
diferencia entre las dos?, y cual es la utilidad de cada uno?
La densidad espectral de potencia es una funcion matematica la cual nos informa de que
manera esta distribuida la potencia de la senal analizada sobre las distintas frecuencias
de las que esta formada; siendo una de sus utilidades identificar periodicidades
escondidas en una funcion de variable continua o de variable discreta.
Mientras que el espectro de una senal es la descripcion de la senal en el dominio de la
frecuencia.

CONCLUSIONES
Los filtros son muy importantes porque de acuerdo al tipo de filtro pueden impedir el paso de
cierta frecuencia para poder eliminar ruido de una señal y atenuarla.

24
25

También podría gustarte