Parcial_3 ITA 4_1 BARRAZA_GUZMÁN_MORALES
-
Upload
ali-ivan-morales -
Category
Documents
-
view
43 -
download
2
Transcript of Parcial_3 ITA 4_1 BARRAZA_GUZMÁN_MORALES
Universidad Tecnológica de San Luis Potosí Dispositivos Digitales Programables 3° ParcialITA 4.1 Barraza M., Guzmán C., Morales V.
2.1 Antecedentes teóricos.
Una señal es un soporte físico para obtener información, en función de una o varias variables independientes, tales como: tiempo, intervalo, temperatura, presión, etc. El concepto de la señal generalmente refiere a su modelo físico o matemático, escogiendo la manera más apropiada para describir la complejidad de las señales reales.
En función de si la señal depende de una o dos variables, es llamada unidimensional (1D), o bidimensional (2D). Como regla general, una señal multidimensional es definida como una función de varias variables.
Una señal discreta en el tiempo es representada por una serie digital muestreada uniformemente o no uniformemente. El primer caso es considerado en el siguiente y corresponde a un intervalo de tiempo constante entre cada una de las muestras sucesivas.
Usualmente, s(k) representa el k t h muestra de una señal discreta en el tiempo {s(k )}k=1,2 ,… sin
embargo las dos notaciones por lo general se superponen con el fin de simplificar la representación teórica.
La teoría de la señal está relacionada principalmente con la representación matemática de la señal en un espacio original o transformado y este algoritmo es procesado con el fin de obtener información útil.
Ejercicio 2.1.
El código de MATLAB genera a continuación algunas graficas básicas de señales de tiempo discreto.
subplot(3,3,1);stem([1;zeros(49,1)]);title({'Pulso Dirac'; ' (ITA 4.1 Barraza M., Guzmán C., Morales V.)'})subplot(3,3,2); stem(ones(50,1));title({'Funcion Escalonada';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})subplot(3,3,3);stem([ones(1,5),zeros(1,3)])title({'Pulso Rectangular';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})subplot(3,3,4);stem(sin(2*pi/8*(0:15)))title({'Señal Sinusoidal';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})subplot(3,3,5); stem(sinc(0:0.25:8));title({'Señal "Sinc"';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})subplot(3,3,6); stem(exp(-(0:15)));title({'Señal e^-^n';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})subplot(3,3,7);stem(pow2(-0.5*(0:15)))title({'Señal 2^-^0^.^5^n';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})subplot(3,3,8); stem(3.^(0:15));title({'Señal 3^n';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})subplot(3,3,9); stem(randn(1,16));
title({'Señal Aleatoria Gaussian';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})
0 10 20 30 40 500
0.5
1
Pulso Dirac (ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 10 20 30 40 500
0.5
1
Funcion Escalonada(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 2 4 6 80
0.5
1
Pulso Rectangular(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 5 10 15 20-1
-0.5
0
0.5
1
Señal Sinusoidal(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 10 20 30 40-0.5
0
0.5
1
Señal "Sinc"(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 5 10 15 200
0.5
1
Señal e-n
(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 5 10 15 200
0.5
1
Señal 2-0.5n
(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 5 10 15 200
5
10
15x 10
6Señal 3n
(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 5 10 15 20-4
-2
0
2
4
Señal Aleatoria Gaussian(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 2.1. Ejemplos de señales de tiempo discreto
Ejercicio 2.2
Generar la siguiente señal:
X=K ∙exp [c ∙n ] ,
Donde: K=2, c= 112
+ jπ6
, nϵ N y n=0. .40 .
c = - (1/12) + (pi/6)*i; K = 2; n = 0:40; x = K*exp(c*n); subplot (2, 1, 1); stem(n, real(x)); xlabel ('Tiempo n');ylabel ('Amplitud'); title({'Parte Real';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); subplot (2, 1, 2); stem(n,imag(x)); xlabel ('Tiempo n');ylabel ('Amplitud'); title({'Parte Imaginaria';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});
0 5 10 15 20 25 30 35 40-2
-1
0
1
2
Tiempo n
Am
plitu
d
Parte Real(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 5 10 15 20 25 30 35 40-1
0
1
2
Tiempo n
Am
plitu
d
Parte Imaginaria(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 2.2 Parte Real e imaginaria de una señal compleja discreta en el tiempo
K es un factor de amplitud constante y Re {c} establece la atenuación, mientras que lm {c} está
relacionada con el periodo de la señal de descarga (12 puntos de periodo).
Ejercicio 2.3
Generar la siguiente señal de amplitud modulada:
y (n )=(1+m. sen (2π vbn )) . sen (2π vhn)
donde m=0.4 , vb0.01 , vh=0.1 , n∈N y n=0.100.
n = 0:100; m = 0.4;fH = 0.1 ; fL = 0.01;xH = sin(2*pi*fH*n);xL = sin(2*pi*fL*n);y = (1+m*xL).*xH;stem(n,y); grid ;title({'Señal de amplitud modulada';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); xlabel('Tiempo (n)');ylabel('Amplitud');
0 10 20 30 40 50 60 70 80 90 100-1.5
-1
-0.5
0
0.5
1
1.5
Señal de amplitud modulada(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Tiempo (n)
Am
plitu
d
Figura 2.3. Señal de Amplitud modulada.
Ejercicio 2.4.
Vamos a considerar la señal de tiempo continuo a continuación:x(t)=2te^(-t),tϵ[0,10]Demostrar que el muestreo de la señal en este resultado de distorsión en el espectro si el período de muestreo es:
T_s=〖0.005〗_s
t = 0:0.005:10; xa = 2*t.*exp(-t);subplot(2,2,1); plot(t,xa); gridxlabel('Tiempo [ms]'); ylabel('Amplitud');title({'Señal de Tiempo Continuo x_{a}(t)';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});wa = 0:10/511:10 ; ha = freqs(2,[1 2 1],wa);subplot(2,2,2); plot(wa/(2*pi),abs(ha)); grid;xlabel('Frecuencia [kHz]'); ylabel('Amplitud');title({'|X_{a}(j\Omega)|';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); axis([0 5/pi 0 2]);T = 1; n = 0:T:10 ; xs = 2*n.*exp(-n); k = 0:length(n)-1;subplot(2,2,3); stem(k,xs);grid;xlabel('Tiempo n'); ylabel('Amplitud');title({'Señal de Tiempo Discreto x[n]';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});wd = 0:pi/255:pi; hd = freqz(xs,1,wd);subplot(2,2,4); plot(wd/(T*pi), T*abs(hd)); grid;xlabel('Frecuencia [kHz]'); ylabel('Amplitud');
title({'|X(e^{j\omega})|'; '(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); axis([0 1/T 0 2])
0 2 4 6 8 100
0.2
0.4
0.6
0.8
Tiempo [ms]
Am
plitu
dSeñal de Tiempo Continuo x
a(t)
(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 0.5 1 1.50
0.5
1
1.5
2
Frecuencia [kHz]
Am
plitu
d
|Xa(j)|
(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 2 4 6 8 100
0.2
0.4
0.6
0.8
Tiempo n
Am
plitu
d
Señal de Tiempo Discreto x[n](ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 0.2 0.4 0.6 0.8 10
0.5
1
1.5
2
Frecuencia [kHz]
Am
plitu
d
|X(ej)|(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 2.4. Ilustración de muestreo de espectro
Una representación espectral proporciona información sobre la tasa de variación de la señal correspondiente en el dominio del tiempo. El más extenso espectro de la señal, más rápida será la variación de la señal temporal y se tiene la más alta es la frecuencia de muestreo a fin de evitar la pérdida de información.
De acuerdo con el teorema de Nyquist, no hay pérdida de información si el muestreo la frecuencia es al menos igual al doble de la máxima componente espectral de la señal. La señal de tiempo discreto obtenida por muestreo el tiempo continuo se entonces la cuenta de todas sus variantes.
Siempre es necesario utilizar un filtro anti-muestreo antes de la etapa de muestreo para evitar cualquier riesgo de solapamiento espectral y para establecer un muestreo adecuado de frecuencia. En la práctica, una aproximación causal de este filtro ideal se utiliza. Por lo tanto, dependiendo del método de síntesis de filtro que haya elegido, se introducen algunas imperfecciones, como una onda de amplitud paso de banda, una banda de transición y un número finito de banda de rechazo atenuación.
Filtros de Butterworth, cuya frecuencia de 3 dB de corte es aproximadamente igual a v_m, son generalmente considerados para esta tarea, porque no hay onda de paso de banda, en este caso. El principal inconveniente de este tipo de filtro es las distorsiones residuales debidos a la onda de la banda pasante.
Cuanto mayor sea el orden del filtro anti-muestreo, más cerca de la v_s frecuencia de muestreo puede ser 2v_m. Por tanto, existe una compensación de encontrar entre la disminución de la frecuencia de muestreo hacia el 2v_m límite teórico necesario y el anti-muestreo de filtro complejidad.
Ejercicio 2.5
El objetivo de este ejercicio es analizar las propiedades de algunos puntos básicos de señales
discretas en el tiempo. En primer lugar generar una señal sinusoidal de 1,000 puntos y
representarlo en 200 muestras.
xsin=sin(2*pi*[1:0.1:1000]); plot(1:200,xsin(1:200)); xlabel('Tiempo'); ylabel('Amplitud');title({'Señal Sinusoidal';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});
0 20 40 60 80 100 120 140 160 180 200-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Tiempo
Am
plitu
d
Señal Sinusoidal(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 2.5 Señal Sinusoidal
Averiguar su valor máximo, valor mínimo, el valor medio, valor de la mediana y su desviación
estándar.
max(xsin)ans =
min(xsin)ans =
0.9511 -0.9511mean(xsin)ans = -3.2531e-016
median(xsin)ans = -4.9110e-016
std(xsin)ans = 0.7071
Repita el mismo ejercicio para las señales generadas en MATLAB: onda cuadra, diente de sierra, en
números pseudoaleatorios uniformemente distribuidos y en números pseudoaleatorios
normalmente distribuidos.
xsquare=square(2*pi*[1:0.1:1000]); plot(1:200,xsquare(1:200)); xlabel('Tiempo'); ylabel('Amplitud')title({'Señal Cuadrada';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});
0 20 40 60 80 100 120 140 160 180 200-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Tiempo
Am
plitu
d
Señal Cuadrada(ITA 4.1 Barraza M., Guzmán C., Morales V.)
max(xsquare)ans = 1
min(xsquare)ans = -1
mean(xsquare)ans = 0.0159
median(xsquare)ans = 1
std(xsquare)ans = 0.9999
xsawtooth=sawtooth(2*pi*[1:0.1:1000]); plot(1:200,xsawtooth(1:200)); xlabel('Tiempo'); ylabel('Amplitud')title({'Señal Diente de Sierra';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});
0 20 40 60 80 100 120 140 160 180 200-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Tiempo
Am
plitu
d
Señal Diente de Sierra(ITA 4.1 Barraza M., Guzmán C., Morales V.)
max(xsawtooth)ans = 0.8000
min(xsawtooth)ans = -1
mean(xsawtooth)ans = -0.1001
median(xsawtooth)ans = -0.2000
std(xsawtooth)ans = 0.5745
xrand=rand(1:10); plot(1:200,xrand(1:200)); xlabel('Tiempo'); ylabel('Amplitud')title({'Señal números pseudoaleatorios uniformemente distribuidos ';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});
0 20 40 60 80 100 120 140 160 180 2000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Tiempo
Am
plitu
d
Señal números pseudoaleatorios uniformemente distribuidos (ITA 4.1 Barraza M., Guzmán C., Morales V.)
max(xrand)ans = 0.9888
min(xrand)ans = 0.0587
mean(xrand)ans = 0.8888
median(xrand)ans = 0.5287
std(xrand)ans = 0.5247
xrandn=randn(1:10); plot(1:200,xrandn(1:200)); xlabel('Tiempo'); ylabel('Amplitud')title({'Señal números pseudoaleatorios normalmente distribuidos ';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})
0 20 40 60 80 100 120 140 160 180 200-3
-2
-1
0
1
2
3
4
Tiempo
Am
plitu
d
Señal números pseudoaleatorios normalmente distribuidos (ITA 4.1 Barraza M., Guzmán C., Morales V.)
max(xrandn)ans = 3.6587
min(xrandn)ans = -2.9887
mean(xrandn)ans = 0.8784
median(xrandn)ans = 0.8988
std(xrandn)ans = 0.3549
Ejercicio 2.6.
Grafique las formas de onda correspondientes a una señal sinusoidal continua en el tiempo x (t) y su versión muestreada x [n], sabiendo que:
x (t )=Asen(Ω0t+ϕ0)
La señal muestreada puede ser escrita así como se indica a continuación:
x (t ) ¿t=nT=x (nT )=A sen¿
¿ As en(2π F01/T
n+ϕ0)=A sen (2π F0F s
n+ϕ0)Por lo tanto:
x [n ]=A sen (ω0n+ϕ0 )=Asen (2π f 0n+∅ 0)
Donde ω0=2π f 0=2 π F0/F s con F s=1/T .
Porque t=nT yω0=Ω0T , obtenemos:
ω0=Ω0tn
[rad /muestra ]
El código para MATLAB mostrado debajo, corresponde a las formas de onda de una señal sinusoidal en tiempo continuo y discreto para los siguientes parámetros.
F0=1,200Hz ,F s=16Khz ,φ0=π /4 ra d , A=10 ,t 0=0 ,t f=5ms .
Fs=16e3; t=0:1/Fs:5e-3;n=0:length(t)-1;subplot(211);plot(t,10*sin(2*pi*1200*t+pi/4));xlabel('tiempo continuo');ylabel('amplitud')title('Señal sinusoidal en tiempo continuo')subplot(212);stem(10*sin(2*pi*1200/16000*n+pi/4))xlabel('tiempo discreto');ylabel('amplitud')title({'Señal sinusoidal en tiempo discreto';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
x 10-3
-10
-5
0
5
10
tiempo continuo
ampl
itud
Señal sinusoidal en tiempo continuo(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 10 20 30 40 50 60 70 80 90-10
-5
0
5
10
tiempo discreto
ampl
itud
Señal sinusoidal en tiempo discreto(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 2.6. Señal sinusoidal Continua (arriba) y muestreada (abajo).
Ejercicio 2.7.
La generación de una señal digital mediante un ordenador o un procesador de señal digital requiere algunas precauciones respecto a la elección de la frecuencia de muestreo. El objetivo de este ejercicio es mostrar que si la frecuencia de muestreo no está bien elegido, graves errores de interpretación se produzcan durante la simulación o la generación de señales sintéticas.
1. Generar la señal durante 0.5s a obtenida por la suma de dos sinusoides tienen la misma amplitud (1 V), muestreo de 256 Hz y cuya frecuencia es 100 Hz y 156, respectivamente. Parcela esta señal y la conclusión acerca de su forma.
2. Generar y trazar una sinusoide de 356 Hz a 256 Hz muestreada. Compara esta señal a otra sinusoide de 100 Hz y se tomaron muestras en la misma frecuencia.
3. Generar la señal durante 0.5sa obtenida por la suma de dos sinusoides, etc.
t=[1:128]; f1=100;f2=156; fe=256;y=sin(2*pi*f1/fe*t)+sin(2*pi*f2/fe*t);plot(t/fe,y);xlabel('Tiempo [s]');ylabel('Amplitud [V]')
title('(ITA 4.1 Barraza M., Guzmán C., Morales V.)')
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-6
-4
-2
0
2
4
6x 10
-14
Tiempo [s]
Am
plitu
d [V
]
(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 2.7. Suma de dos sinusoides muestra
Se puede ver fácilmente que el resultado final no refleja la suma de dos sinusoides de amplitud igual a 1 V. De hecho, la señal se muestra en la figura de arriba es otra cosa que el error residual en relación con la precisión de cálculo de MATLAB.
Este resultado se explica por una mala aplicación del teorema de muestreo.De hecho, la frecuencia de muestreo tiene que ser igual al menos al doble de la frecuencia de cada una de las dos sinusoides. Esta restricción se cumple sólo para la sinusoide en primer lugar, porque para el segundo la frecuencia de muestreo se ha producido al menos 312 Hz.
El uso de algunas relaciones trigonométricas estándar, es fácil ver que después de probar las dos sinusoides parecen tener la misma frecuencia (100 Hz) y fases opuestas, como se ilustra en la figura siguiente. Por lo tanto, se anulan entre sí y su suma es teóricamente cero.
t=[1:30]; f1=100; f2=156; fs=256;y1=sin(2*pi*f1/fs*t); y2=sin(2*pi*f2/fs*t);plot(t/fs,y1,'-xb',t/fs,y2,'-or');xlabel('Tiempo [s]') ; ylabel('Amplitud [V]')legend('Sinusoidal at 100 Hz','Sinusoidal at 156 Hz')axis([min(t/fs) max(t/fs) -1.1 1.5])title('(ITA 4.1 Barraza M., Guzmán C., Morales V.)')
0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11
-1
-0.5
0
0.5
1
1.5
Tiempo [s]
Am
plitu
d [V
]
(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Sinusoidal at 100 Hz
Sinusoidal at 156 Hz
Figura 2.8. Una elección inadecuada de la frecuencia de muestreo hacedos sinusoides diferentes que aparecen como señales de fase opuesta.
2. Generar y trazar una sinusoide de 356 Hz muestreada a 256 Hz, etc.
t=(1:100); f1=100; f2=356; fs=256;y1=sin(2*pi*f1/fs*t); y2=sin(2*pi*f2/fs*t);subplot(211); plot(t/fs,y1); ylabel('Amplitud [V]');title({'Sinusoidal at 100 Hz';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})subplot(212); plot(t/fs,y2); xlabel('tiempo [s]');ylabel('amplitud [V]'); title({'Sinusoidal at 356 Hz';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})
Puede verse fácilmente en las siguientes ecuaciones que las dos sinusoides son idénticas:
sin( 2 π356 n256 )=sin ( 2π (256+100 )n256 )
sin( 2 π356 n256 )=sin ( 2π 256256 )cos ( 2π 256256 )+sin ( 2π 100n256 )cos (2 π 256n256 )
sin( 2 π356 n256 )=sin ( 2π 100n256 )
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4-1
-0.5
0
0.5
1
Am
plitu
d [V
]
Sinusoidal at 100 Hz(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4-1
-0.5
0
0.5
1
tiempo [s]
ampl
itud
[V]
Sinusoidal at 356 Hz(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 2.9. Sinusoidales a 100 Hz (arriba) y 356 Hz (abajo)
Ejercicio 2.8
Un pulso chirriado de T ancho se puede expresar como: x (t)=A0 cos∅ (t), donde la instantánea
de fase está dada por: ∅ (t)=Ω0t+∅ βt 2. Una variación lineal de la frecuencia instantánea Ω( t)
durante el tiempo de soporte T se obtiene entonces de acuerdo a: Ω ( t )=d∅ tdt
=Ω0+2βt ,
donde β=ΔΩ2T
=Ωf−Ω0¿ /(2T ).
El código de MATLAB a continuación realiza el análisis temporal y espectral de una señal de
chirrido, cuya frecuencia instantánea varía entre 0 y 5 MHz, durante su soporte en tiempo T =
10ms. La frecuencia de muestreo se considera de 50 MHz.
f0=0; ff=5e6; T=10e-6; beta=(ff-f0)*pi/T; Fs=5e7; t=0:1/Fs:T; x=cos(2*pi*f0*t+beta*t.^2); subplot(211);plot(t,x);xlabel('Tiempo [s]');ylabel('Amplitud [V]'); title({'Señal Chirriada';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); N=length(x); X=fftshift(abs(fft(x))); freqv=linspace(-Fs/2,Fs/2,length(X)); subplot(212); plot(freqv,X) xlabel('Frecuencia [Hz]'); ylabel('Amplitud [V]'); title({'Señal de Espectro';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); axis([0 1.2*ff 0 1.1*max(X)])
0 0.2 0.4 0.6 0.8 1 1.2
x 10-5
-1
-0.5
0
0.5
1
Tiempo [s]
Am
plitu
d [V
]
Señal Chirriada(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 1 2 3 4 5 6
x 106
0
20
40
Frecuencia [Hz]
Am
plitu
d [V
]
Señal de Espectro(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 2.10 Representación temporal y espectral de una señal Chirriada
Ejercicio 2.9.
En el caso de una transmisión de información binaria, el mensaje consiste en una serie de símbolos, que se transmiten a una velocidad constante dada. El tiempo de retardo entre dos símbolos de denomina ancho de símbolo.
Grafique la modulación de pulso correspondiente a la secuencia binaria dada a continuación:
1 0 1 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 1
Usando los siguientes códigos.
- Unipolar con y sin retorno a cero (RZ (Retorno a Cero.));- Polar con y sin retorno a cero;- Bipolar con y sin retorno a cero.
Grafique la PSD (Densidad Espectral de Potencia) de cada señal. Utilice un velocidad binaria de 1,000 símbolos por segundo y una frecuencia de muestro de 10Khz.
Rb = 1000; fs = 10000;Ts = 1/fs; Tb = 1/Rb;sequence=[1 0 1 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 1 ];no= length(sequence);no_ech = no* Tb/Ts;time_t = [0:(no-1)] * Ts;pulse=ones(1,fs/Rb);x=(sequence'*pulse)'; x=x(:);t_time=Ts*[0:no_ech];figure(1);subplot(231); plot(t_time,[x;0]);axis([0 0.021 0 1.2]);title({'Unipolar Sin Retorno a Cero';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});xlabel('t [s]'); ylabel('A [V]')[y1,f]=psd(x,64,10000,64);figure(2);subplot(231); plot(f,y1);xlabel('frecuencia [Hz]'); ylabel('PSD [W]')title({'Unipolar Sin Retorno a Cero';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});n_middle = no /2;pulse = ones(1,no);pulse((n_middle + 1):(no)) = zeros(1,(no-n_middle));x=(sequence'*pulse)';x=x(:); t_time=Ts*[0:length(x)];figure(1);subplot(234); plot(t_time,[x;0]);axis([0 0.041 0 1.2]);title({'Unipolar Retorno a Cero';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});xlabel('t [s]');ylabel('A [V]')[y1,f]=psd(x,64,10000,64);figure(2);subplot(234); plot(f,y1);title({'Unipolar Retorno a Cero';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});xlabel('frecuencia[Hz]');ylabel('PSD [W]')pulse=ones(1,fs/Rb);x=(2*sequence'*pulse)'-ones(size(pulse,2),size(sequence,2));x=x(:); t_time=Ts*[0:length(x)];figure(1);subplot(232); plot(t_time,[x;0]);axis([0 0.021 -1.2 1.2]);xlabel('t [s]'); ylabel('A [V]')title({'Polar Sin Retorno a Cero';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});[y1,f]=psd(x,64,10000,64);figure(2);subplot(232); plot(f,y1);xlabel('frecuencia [Hz]');ylabel('PSD [W]')title({'Polar Sin Retorno a Cero';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});pulse = ones(1,no);pulse((n_middle + 1):(no)) = zeros(1,(no-n_middle));x=(2*sequence'*pulse)'-ones(size(pulse,2),size(sequence,2));
x=x(:);t_time=Ts*[0:length(x)];figure(1);subplot(235); plot(t_time,[x;0]);axis([0 0.041 -1.2 1.2]);xlabel('t [s]'); ylabel('A [V]')title({'Polar Retorno a Cero';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});[y1,f]=psd(x,64,10000,64);figure(2);subplot(235); plot(f,y1);title({'Polar Retorno a Cero';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});xlabel('frecuencia [Hz]');ylabel('PSD [W]')pulse=ones(1,fs/Rb);for ii = 1:nobipol(ii,1) =sequence(ii)*(-1)^(sum(sequence(1:ii)) - 1);endx=(bipol*pulse)';x=x(:);t_time=Ts*[0:length(x)];figure(1);subplot(233);plot(t_time,[x;0]);axis([0 0.021 -1.2 1.2]);xlabel('t [s]');ylabel('A [V]')title({'Bipolar Sin Retorno a Cero código';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});[y1,f]=psd(x,64,10000,64);figure(2);subplot(233) ;plot(f,y1);xlabel('frecuencia [Hz]');ylabel('PSD [W]')title({'Bipolar Sin Retorno a Cero';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});pulse = ones(1,no);pulse((n_middle + 1):(no)) = zeros(1,(no-n_middle));for ii = 1:nobipol(ii,1) = sequence(ii)*(-1)^(sum(sequence(1:ii)) - 1);endx=(bipol*pulse)'; x=x(:);t_time=Ts*[0:length(x)];figure(1);subplot(236); plot(t_time,[x;0]);xlabel('t [s]'); ylabel('A [V]')axis([0 0.041 -1.2 1.2]);title({'Bipolar Retorno a Cero';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});[y1,f]=psd(x,64,10000,64);figure(2);subplot(236); plot(f,y1);title('Bipolar Retorno a Cero');xlabel('frecuencia [Hz]'); ylabel('PSD [W]')
0 0.005 0.01 0.015 0.020
0.2
0.4
0.6
0.8
1
1.2
Unipolar Sin Retorno a Cero(ITA 4.1 Barraza M., Guzmán C., Morales V.)
t [s]
A [
V]
0 0.01 0.02 0.03 0.040
0.2
0.4
0.6
0.8
1
Unipolar Retorno a Cero(ITA 4.1 Barraza M., Guzmán C., Morales V.)
t [s]
A [
V]
0 0.005 0.01 0.015 0.02
-1
-0.5
0
0.5
1
t [s]
A [
V]
Polar Sin Retorno a Cero(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 0.01 0.02 0.03 0.04
-1
-0.5
0
0.5
1
t [s]
A [
V]
Polar Retorno a Cero(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 0.005 0.01 0.015 0.02
-1
-0.5
0
0.5
1
t [s]
A [
V]
Bipolar Sin Retorno a Cero código(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 0.01 0.02 0.03 0.04
-1
-0.5
0
0.5
1
t [s]
A [
V]
Bipolar Retorno a Cero(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 2.11. Representación temporal de los diferentes códigos.
0 1000 2000 3000 4000 50000
5
10
15
frecuencia [Hz]
PS
D [
W]
Unipolar Sin Retorno a Cero(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 1000 2000 3000 4000 50000
1
2
3
4
5
6
Unipolar Retorno a Cero(ITA 4.1 Barraza M., Guzmán C., Morales V.)
frecuencia[Hz]
PS
D [
W]
0 1000 2000 3000 4000 50000
5
10
15
frecuencia [Hz]
PS
D [
W]
Polar Sin Retorno a Cero(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 1000 2000 3000 4000 50000
2
4
6
8
10
Polar Retorno a Cero(ITA 4.1 Barraza M., Guzmán C., Morales V.)
frecuencia [Hz]
PS
D [
W]
0 1000 2000 3000 4000 50000
2
4
6
8
frecuencia [Hz]
PS
D [
W]
Bipolar Sin Retorno a Cero(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 1000 2000 3000 4000 50000
1
2
3
4Bipolar Retorno a Cero
frecuencia [Hz]
PS
D [
W]
Figura 2.12. Representación espectral de los diferentes códigos.
Ejercicio 2.10.
Un generador de señales caóticas se puede configurar usando las ecuaciones de Lorentz:
{d x
d t
=10 ( y−x )
d y
d t
=28 x− y−xz
d z
d t
=xy−83z
El siguiente código genera una señal caótica utilizando un método de integración de MATLAB, y muestra su comportamiento en el tiempo y el dominio de la frecuencia. El cchua.m función de la que indica a continuación:
xx = cchua(12,15,25,1024,0.05);function xx = cchua(x0,y0,z0,n,h)t=0; x=x0;y=y0; z=z0;for i=1:nk0=h*fchua(t,x,y,z);l0=h*gchua(t,x,y,z);m0=h*hchua(t,x,y,z);th2=t+h/2; xk0=x+k0/2;yl0=y+l0/2; zm0=z+m0/2;k1=h*fchua(th2,xk0,yl0,z+m0/2);l1=h*gchua(th2,xk0,yl0,zm0);m1=h*hchua(th2,xk0,yl0,zm0);xk1=x+k1/2; yl1=y+l1/2; zm1=z+m1/2;k2=h*fchua(th2,xk1,yl1,zm1);l2=h*gchua(th2,xk1,yl1,zm1);m2=h*hchua(th2,xk1,yl1,zm1);th=t+h; xk2=x+k2;yl2=y+l2; zm2=z+m2;k3=h*fchua(t+h,x+k2,y+l2,z+m2);l3=h*gchua(t+h,x+k2,y+l2,z+m2);m3=h*hchua(t+h,x+k2,y+l2,z+m2);x=x+(1/6)*(k0+2*k1+2*k2+k3);y=y+(1/6)*(l0+2*l1+2*l2+l3);z=z+(1/6)*(m0+2*m1+2*m2+m3);xx(i)=x; yy(i)=y; zz(i)=z;t=t+h; tt(i)=t;end;xx = cchua(12,15,25,1024,0.05);figure; subplot(211)fs=1000000; tmp=0:1/fs:1023/fs;plot(tmp,xx);xlabel('tiempo [s]'); ylabel('A');title({'Señal Caotica';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); grid;subplot(212)fxx=abs(fftshift(fft(xx,1024)));vf=((-511:512)/1024)*fs;plot(vf,fxx,'-b');xlabel('frecuencia [Hz]');ylabel('A'); grid;
title({'Señal de Espectro';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});%Primera ecuaciónfunction fc = fchua(t,x,y,z)fc=10*(y-x);% Segunda ecuaciónfunction gc = gchua(t,x,y,z)gc=28*x-y-x*z;% Tercera ecuaciónfunction hc = hchua(t,x,y,z)hc=x*y-(8/3)*z;
0 0.2 0.4 0.6 0.8 1 1.2
x 10-3
-20
-10
0
10
20
tiempo [s]
A
Señal CaoticaITA 4.1 Barraza M. Guzmàn C. Morales V.
-5 -4 -3 -2 -1 0 1 2 3 4 5
x 105
0
500
1000
1500
2000
frecuencia [Hz]
A
Señal de EspectroITA 4.1 Barraza M. Guzmàn C. Morales V.
Figura 2.13. Representación temporal y espectral de una señal caótica
Ejercicio 2.11
El siguiente código de MATLAB a continuación tiene por objetivo comparar la representación
espectral de una 1D señal discreta en el tiempo a la obtenida cuando esté periodizada.
xd=[1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0]; xdf=abs(fft(xd,64)); f=0:63; subplot(221); stem([xd,zeros(1,16)]); xlabel('Tiempo'); ylabel('Amplitud'); title({'Señal Rectangular de Pulso';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});
)(
( )
subplot(222); plot(f,xdf); xlabel('Tiempo'); ylabel('Amplitud'); title({'Señal de Espectro';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); subplot(223);stem([xd,xd]); xlabel('Tiempo'); ylabel('Amplitud'); title({'Ráfaga de Impulsos Periódicos';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); subplot(224); stem(xdf); xlabel('Tiempo'); ylabel('Amplitud'); title({'Señal de Espectro';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});
0 10 20 30 400
0.2
0.4
0.6
0.8
1
Tiempo
Am
plitu
d
Señal Rectangular de Pulso(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 20 40 60 800
1
2
3
4
Tiempo
Am
plitu
d
Señal de Espectro(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 10 20 30 400
0.2
0.4
0.6
0.8
1
Tiempo
Am
plitu
d
Ráfaga de Impulsos Periódicos(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 20 40 60 800
1
2
3
4
Tiempo
Am
plitu
d
Señal de Espectro(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 2.14 Señales de tiempo discreto y el espectro de frecuencias asociadas
Tenga en cuenta que cuando una señal de tiempo discreto es periodizado, su espectro es
muestreado.
Ejecutar el mismo código de nuevo para realizar este análisis comparativo de las siguientes
señales: triangular, diente de sierra y exponencial.
%Señal Triangular t=0:10;xd=sawtooth(2*pi*0.1*t,0.5); xdf=abs(fft(xd,64)); f=0:63; subplot(221); stem([xd,zeros(1,16)]); xlabel('Tiempo'); ylabel('Amplitud'); title({'Señal Triangular de Pulso';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});
subplot(222); plot(f,xdf); xlabel('Tiempo'); ylabel('Amplitud'); title({'Señal de Espectro';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); subplot(223);stem([xd,xd]); xlabel('Tiempo'); ylabel('Amplitud'); title({'Ráfaga de Impulsos Periódicos';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); subplot(224); stem(xdf); xlabel('Tiempo'); ylabel('Amplitud'); title({'Señal de Espectro';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});
0 10 20 30-1
-0.5
0
0.5
1
Tiempo
Am
plitu
d
Señal Triangular de Pulso(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 20 40 60 800
2
4
6
TiempoA
mpl
itud
Señal de Espectro(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 5 10 15 20 25-1
-0.5
0
0.5
1
Tiempo
Am
plitu
d
Ráfaga de Impulsos Periódicos(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 20 40 60 800
2
4
6
Tiempo
Am
plitu
d
Señal de Espectro(ITA 4.1 Barraza M., Guzmán C., Morales V.)
%Señal Diente de Sierrat=0:10;xd=sawtooth(t);xdf=abs(fft(xd,64)); f=0:63; subplot(221); stem([xd,zeros(1,16)]); xlabel('Tiempo'); ylabel('Amplitud'); title({'Señal de Pulso Diente de Sierra';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); subplot(222); plot(f,xdf); xlabel('Tiempo'); ylabel('Amplitud'); title({'Señal de Espectro';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); subplot(223);stem([xd,xd]); xlabel('Tiempo'); ylabel('Amplitud'); title({'Ráfaga de Impulsos Periódicos';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); subplot(224); stem(xdf); xlabel('Tiempo'); ylabel('Amplitud'); title({'Señal de Espectro';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})
0 10 20 30-1
-0.5
0
0.5
1
Tiempo
Am
plitu
d
Señal de Pulso Diente de Sierra(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 20 40 60 800
1
2
3
4
Tiempo
Am
plitu
d
Señal de Espectro(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 5 10 15 20 25-1
-0.5
0
0.5
1
Tiempo
Am
plitu
d
Ráfaga de Impulsos Periódicos(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 20 40 60 800
1
2
3
4
Tiempo
Am
plitu
d
Señal de Espectro(ITA 4.1 Barraza M., Guzmán C., Morales V.)
%Señal Exponencial t=0:10;% tau: constante de tiempo (RC)tau=200e-2;xd=exp(-t/tau);xdf=abs(fft(xd,64)); f=0:63; subplot(221); stem([xd,zeros(1,16)]); xlabel('Tiempo'); ylabel('Amplitud'); title({'Señal Exponencial de Pulso';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); subplot(222); plot(f,xdf); xlabel('Tiempo'); ylabel('Amplitud'); title({'Señal de Espectro';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); subplot(223);stem([xd,xd]); xlabel('Tiempo'); ylabel('Amplitud'); title({'Ráfaga de Impulsos Periódicos';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); subplot(224); stem(xdf); xlabel('Tiempo'); ylabel('Amplitud'); title({'Señal de Espectro';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});
0 10 20 300
0.5
1
Tiempo
Am
plitu
d
Señal Exponencial de Pulso(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 20 40 60 800
1
2
3
Tiempo
Am
plitu
d
Señal de Espectro(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 5 10 15 20 250
0.5
1
Tiempo
Am
plitu
d
Ráfaga de Impulsos Periódicos(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 20 40 60 800
1
2
3
Tiempo
Am
plitu
d
Señal de Espectro(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Ejercicio 2.12.
La DTFS (Transformada de Fourier en Tiempo Discreto) de una señal periódica discreta en el tiempo es ilustrada por el siguiente código para MATLAB:
x=[ones(1,32),zeros(1,32)]; N=64;for k=0:N-1c(k+1)=0;for n=0:N-1c(k+1)=c(k+1)+x(n+1)*exp(-j*pi*2*k/N*n);endc(k+1)=c(k+1)/N;endstem(abs(c(1:N))); ylabel('Amplitud');xlabel('coeficiente de índice')title({'Valor Absoluto de los coeficientes de la Trasformada de Fourier en Tiempo Discreto';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});
0 10 20 30 40 50 60 700
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
Am
plitu
d
coeficiente de índice
Valor Absoluto de los coeficientes de la Trasformada de Fourier en Tiempo Discreto(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 2.15. Magnitud de los coeficientes de la Serie de Fourier.
Verifique las siguientes propiedades principales de los coeficientes de la DTFS (Transformada de Fourier en Tiempo Discreto) correspondientes a una señal real periódica en tiempo discreto.
c (1 )= 1N∑n=0
N−1
x [n+1 ] , c (N /2 )= 1N∑n=0
N−1
x [n+1 ] (−1)n , cN−k=ck¿
Escriba un nuevo código para calcular los coeficientes de la DTFS (Transformada de Fourier en Tiempo Discreto) de una señal discreta en el tiempo de 2D.
x=zeros(16);x(1:4,1:4)=ones(4);c=zeros(16); N=16;for k1=1:Nfor k2=1:Nfor n1=1:Nfor n2=1:Nexpo=exp(-j*2*pi*(n1-1)*(k1-1)/N-j*2*pi*(n2-1)*(k2-1)/N);c(k1,k2)=c(k1,k2)+x(n1,n2)*expo;endendendendfigure;
subplot(211); mesh(real(c))xlabel('k1'); ylabel('k2');title({'Parte real de los coeficientes';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})subplot(212); mesh(imag(c))xlabel('k1'); ylabel('k2');title({'Parte imaginaría de los coeficientes';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'});
0 5 10 15 20
05
1015
20-20
0
20
k1
Parte real de los coeficientes(ITA 4.1 Barraza M., Guzmán C., Morales V.)
k2
0 5 10 15 20
05
1015
20-20
0
20
k1
Parte imaginaría de los coeficientes(ITA 4.1 Barraza M., Guzmán C., Morales V.)
k2
Figura 2.16. Coeficientes de la serie de Fourier para una señal discreta en el tiempo de 2D.
Ejercicio 2.13
Escriba una función MATLAB para el cálculo de la DTFT (Tiempo Discreto de la Transformada de Fourier) de un número finito de tiempo discreto señal h [n ] de longitud N, para N frecuencias espaciadas de manera uniforme en el círculo unitario.
function [H,W]=tftd(h,N)W=(2*pi/N)*[0:N-1];mid=ceil(N/2)+1;W(mid:N)=W(mid:N)-2*pi;W=fftshift(W);H=fftshift(fft(h,N));end
El siguiente código de MATLAB utiliza el tftd.m nueva función para calcular y graficar la DTFT (Tiempo Discreto de la Transformada de Fourier) de la señal en tiempo discreto x [n ]=0.88n en N = 128 puntos.
nn=0:40; xn=0.88.^nn;[X,W]=tftd(xn,128);subplot(211); plot(W/2/pi,abs(X))xlabel('Frecuencia Normalizada');title('(ITA 4.1 Barraza M., Guzmán C., Morales V.)');ylabel('amplitud [V]')subplot(212);plot(W/2/pi,180/pi*angle(X))xlabel('Frecuencia Normalizada')ylabel('Fase [deg.]')title('(ITA 4.1 Barraza M., Guzmán C., Morales V.)');
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.50
5
10
Frecuencia Normalizada
(ITA 4.1 Barraza M., Guzmán C., Morales V.)
ampl
itud
[V]
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5-100
-50
0
50
100
Frecuencia Normalizada
Fas
e [d
eg.]
(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 2.17. Magnitud (arriba) y fase (abajo) del espectro
Ejercicio 2.14
Considere la posibilidad de una señal real en el tiempo discreto definido por:
x [n ]=cos (2¿Ωn/N ).¿ Es la transformada de Hilbert y [n] es la parte imaginaria del análisis de
la señal:
x [n ]+ j ∙ y [n]. El siguiente código de MATLAB a continuación permite el cálculo de los
componentes de la señal analítica.
N=64;n=0:N-1; x=cos(2*pi/N*n);stem(x) y=hilbert(x); subplot(211);stem(real(y)); title({'Señal Real';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); xlabel('n');ylabel('Amplitud'); subplot(212);stem(imag(y)); title({'Señal de la Transformada de Hilbert';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); xlabel('n'); ylabel('Amplitud');
0 10 20 30 40 50 60 70-1
-0.5
0
0.5
1
Señal Real(ITA 4.1 Barraza M., Guzmán C., Morales V.)
n
Am
plitu
d
0 10 20 30 40 50 60 70-1
-0.5
0
0.5
1
Señal de la Transformada de Hilbert(ITA 4.1 Barraza M., Guzmán C., Morales V.)
n
Am
plitu
d
Figura 2.18 Señal Discreta en el Tiempo y su Transformada de Hilbert
La transformada de Hilbert con respuesta al impulso h [n ] y su respuesta de frecuencia H [v ]
puede ser obtenida de la siguiente forma:
for nn=-31:1:32; h(nn+32)=2*pi./nn.*((sin(pi*nn/2)).^2); end h(32)=0; [H,f]=freqz(h); amp=20*log10(abs(H)); phase=unwrap(angle(H))*180/pi; subplot(311); stem(h); title({'Respuesta de impulso';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); xlabel('n')
subplot(312); semilogy(f,amp); xlabel('Frecuencia Normalizada'); ylabel('Amplitud (dB)'); grid subplot(313); plot(f,phase); xlabel('Frecuencia Normalizada'); ylabel('Fase (Grados)'); grid
0 10 20 30 40 50 60 70-10
0
10
Respuesta de impulso(ITA 4.1 Barraza M., Guzmán C., Morales V.)
n
0 0.5 1 1.5 2 2.5 3 3.510
0
101
102
Frecuencia Normalizada
Am
plitu
d (d
B)
0 0.5 1 1.5 2 2.5 3 3.5-6000
-4000
-2000
0
Frecuencia Normalizada
Fas
e (G
rado
s)
Figura 2.19 Tiempo (Superior) y Frecuencia (Inferior) representaciones del operador de Hilbert
La respuesta al impulso de la transformada de Hilbert puede ser también obtenida usando a
continuación el siguiente comando de MATLAB:
h=remez(64,[0.1,0.9],[1,1],'Hilbert');
for nn=-31:1:32; h(nn+32)=2*pi./nn.*((sin(pi*nn/2)).^2); end h(32)=0; [H,f]=freqz(h); amp=20*log10(abs(H)); phase=unwrap(angle(H))*180/pi; subplot(311); stem(h); title({'Respuesta de impulso';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); xlabel('n') subplot(312); semilogy(f,amp); xlabel('Frecuencia Normalizada'); ylabel('Amplitud (dB)'); grid subplot(313); plot(f,phase); xlabel('Frecuencia Normalizada'); ylabel('Fase (Grados)'); grid
0 10 20 30 40 50 60 70-1
0
1
Respuesta de impulso(ITA 4.1 Barraza M., Guzmán C., Morales V.)
n
0 0.5 1 1.5 2 2.5 310
-2
10-1
100
Frecuencia Normalizada
Am
plitu
d (d
B)
0 0.5 1 1.5 2 2.5 3 3.5-10000
-5000
0
Frecuencia Normalizada
Fas
e (G
rado
s)
5.1 Antecedentes teóricos.
La transformada de Fourier discreta (DFT), es una herramienta básica para el procesamiento digital de señales. Desde un punto de vista matemático la DFT (Transformada de Fourier Discreta) transforma una señal digital original con dominio en el tiempo dentro de otra serie discreta, en una transformada con dominio en frecuencia. Esto permite el análisis de la señal en tiempo discreto en ambas la original y la de dominios transformados (especiales.)
El análisis de frecuencia de un filtro digital y de una señal discreta en el tiempo son problemas muy similares. Estos serán vistos en el próximo capítulo, mediante un filtro digital, esto consiste en
evaluar la función de transferencia H (z ) en un círculo unitario ( z=e j2πvT ).
Esto es lo mismo que utilizar la transformada z para el análisis de una señal digital, que está estrechamente relacionado con la DFT (Transformada de Fourier Discreta).
Como los cálculos se realizan en una computadora, hay tres tipos de errores relacionados con la transición de una transformada de Fourier de una señal en tiempo continuo a la DFT (Transformada de Fourier Discreta) de una señal discreta en el tiempo:
- Errores debidos a tiempo de muestreo. (transición de x (t ) a xs(t )),- Errores debidos a interrupciones o cortes de tiempo (transición de xs (t ) a xs(t )ΠT (t)),- Errores debidos a frecuencia de muestreo.
Ejercicio 5.1.Calcular y representar el espectro de la señal digital 1D:
x [n ]={1 , sin=0. .70 , otherwise
x=ones(1,8) ;X=fft(x,128);subplot(3,1,1),stem(x),xlabel('n'),ylabel('x[n]')title('(ITA 4.1 Barraza M., Guzmán C., Morales V.)');subplot(3,1,2),stem(abs(X)),xlabel('k'),ylabel('abs(X[k])')title('(ITA 4.1 Barraza M., Guzmán C., Morales V.)');subplot(3,1,3),stem(angle(X)),xlabel('k'),ylabel('angle(X)')title('(ITA 4.1 Barraza M., Guzmán C., Morales V.)');
1 2 3 4 5 6 7 80
0.5
1
n
x[n]
(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 20 40 60 80 100 120 1400
5
10
k
abs(
X[k
])
(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 20 40 60 80 100 120 140-5
0
5
k
angl
e(X
)
(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 5.1. El tiempo y la representación de la frecuencia de una señal digital de pulso
Ejercicio 5.2
Este ejercicio tiene como objetivo subrayar la importancia de la fase del espectro se encuentra en
el caso de una imagen.
Escriba el código en MATLAB para evaluar las dos dimensiones de la transformada de Fourier de
las dos imágenes “Payaso” y “Gatlin2” de MATLAB. Trazar la correspondientes representaciones
de frecuencia y la reconstrucción de las dos imágenes por la transformada inversa, pero
intercambiando sus espectros de fase.
clear; clf %%%% Descargando imágenes % Cargando la imagen x desde el archivo clown.mat load clown; x = X; % Cargando la imagen x desde el archivo gatlin2.mat load gatlin2; y = X; % X e Y para el cambio de tamaño tienen el mismo tamaño l = min(size(x,1),size(y,1)); c = min(size(x,2),size(y,2)); x = x(1:l,1:c);y = y(1:l,1:c); %%%%% RECONSTRUCCIÓN DE LAS NUEVAS IMÁGENES % Cálculo de la FT (transformada de fourier) de x e y X=fft2(x); Y=fft2(y); % Reconstrucción de z1 usando la magnitud de X y la fase de Y z1 = real(ifft2(abs(X).*exp(i*angle(Y)))); % Reconstrucción de z2 usando la magnitud de Y y la fase de X z2 = real(ifft2(abs(Y).*exp(i*angle(X)))); %%%%%% MOSTRANDO LAS IMAGENES % mostrando la FT (transformada de fourier) de x e y: magnitud y fase fh = ([1:l]-l/2)/l; fv = ([1:c]-c/2)/c; figure(1); subplot(3,2,1); image(x); axis('image'); title({'imagen x';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); axis off subplot(3,2,2); image(y); axis('image'); title({'imagen y';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); axis off subplot(3,2,3); imagesc(fh,fv,log(abs(fftshift(X.^2)))); axis('image'); title({'Magnitud de X';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); xlabel('Frecuencias horizontales'); ylabel('Frecuencias verticales') subplot(3,2,4); imagesc(fh,fv,log(abs(fftshift(Y.^2)))); axis('image'); title({'Magnitud de Y';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); xlabel('Frecuencias horizontales'); ylabel('Frecuencias verticales') subplot(3,2,5); imagesc(fh,fv,angle(fftshift(X))); axis('image'); title({'X fase' ;'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); xlabel('Frecuencias horizontales');
ylabel('Frecuencias verticales') subplot(3,2,6); imagesc(fh,fv,angle(fftshift(Y))); axis('image'); title({'Y fase';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}) ; xlabel('Frecuencias horizontales'); ylabel('Frecuencias verticales') % Mostrando las imágenes reconstruidas z1 and z2 figure(2) subplot(2,2,1); image(x); axis('image'); title({'imagen x';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); axis off subplot(2,2,2); image(y); axis('image'); title({'imagen y';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); axis off subplot(2,2,3); image(z1); axis('image'); axis off title({'Magnitud de x & fase de y';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}) subplot(2,2,4); image(z2); axis('image'); axis off title({'Magnitud de y & fase de x';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}) colormap('gray')
imagen x(ITA 4.1 Barraza M., Guzmán C., Morales V.)
imagen y(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Magnitud de X(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Frecuencias horizontales
Fre
cuen
cias
ver
tical
es
-0.4-0.2 0 0.2 0.4
-0.4
-0.2
0
0.2
0.4
Magnitud de Y(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Frecuencias horizontales
Fre
cuen
cias
ver
tical
es
-0.4-0.2 0 0.2 0.4
-0.4
-0.2
0
0.2
0.4
X fase(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Frecuencias horizontales
Fre
cuen
cias
ver
tical
es
-0.4-0.2 0 0.2 0.4
-0.4
-0.2
0
0.2
0.4
Y fase(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Frecuencias horizontales
Fre
cuen
cias
ver
tical
es
-0.4-0.2 0 0.2 0.4
-0.4
-0.2
0
0.2
0.4
imagen x(ITA 4.1 Barraza M., Guzmán C., Morales V.)
imagen y(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Magnitud de x & fase de y(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Magnitud de y & fase de x(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 5.2 Imágenes originales y reconstruidas después de haber cambiado el espectro de fase
Ejercicio 5.3.
Calcular la DFT (Transformada de Fourier Discreta) de un coseno 1D definido en N=50 puntos, y con la frecuencia normalizada 2.25/50.
n=(0:49)';x=cos(2*pi*2.25/50*n);X=abs(fft(x));Xsh=fftshift(X);subplot(3,1,1);stem(x);title('señal en tiempo discreto')subplot(3,1,2);stem(X);title({'magnitud de la Transformada de Fourier Discreta';'(ITA 4.1 Barraza M., Guzmán C., Morales V.) '})subplot(3,1,3),stem(Xsh);title({'magnitud de la simetría de la Transformada de Fourier Discreta';'(ITA 4.1 Barraza M., Guzmán C., Morales V.) '})
0 5 10 15 20 25 30 35 40 45 50-1
0
1
señal en tiempo discreto(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 5 10 15 20 25 30 35 40 45 500
20
40
magnitud de la Transformada de Fourier Discreta(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 5 10 15 20 25 30 35 40 45 500
20
40
magnitud de la simetría de la Transformada de Fourier Discreta(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 5.3. Representación de tiempo y frecuencia de una señal coseno.
Ejercicio 5.4
Escriba un código de MATLAB para ilustrar las siguientes propiedades DFT (Transformada discreta de Fourier): tiempo de retardo, cambio de frecuencia, modulación y la inversión de tiempo, utilizando la señal digital:
x [n ]={ nsi n=1..80 si n=9..16
% Tiempo de retardo de propiedad ilustraciónw = -pi:2*pi/255:pi;wo = 0.4*pi; D = 10;num = [1 2 3 4 5 6 7 8 9];h1 = freqz(num, 1, w);h2 = freqz([zeros(1,D) num], 1, w);subplot(2,2,1)plot(w/(2*pi),abs(h1));grid
title({'Señal original de la magnitud del espectro';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})subplot(2,2,2)plot(w/(2*pi),abs(h2));gridtitle({'Retraso de la señal de la amplitud del espectro';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})subplot(2,2,3)plot(w/(2*pi),angle(h1));gridtitle({'Señal original de la fase de espectro';'ITA 4.1 Barraza M. Guzmàn C. Morales V.'})subplot(2,2,4)plot(w/(2*pi),angle(h2));gridtitle({'Retraso de la señal de la fase de espectro';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})
-0.5 0 0.50
20
40
60
Señal original de la magnitud del espectro(ITA 4.1 Barraza M., Guzmán C., Morales V.)
-0.5 0 0.50
20
40
60
Retraso de la señal de la amplitud del espectro(ITA 4.1 Barraza M., Guzmán C., Morales V.)
-0.5 0 0.5-4
-2
0
2
4
Señal original de la fase de espectroITA 4.1 Barraza M. Guzmàn C. Morales V.
-0.5 0 0.5-4
-2
0
2
4
Retraso de la señal de la fase de espectro(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 5.4. Ilustración de la propiedad de tiempo de retardo de la DFT (Transformada discreta de Fourier)
% cambio de propiedad clf ilustración;w = -pi:2*pi/255:pi;wo = 0.4*pi;num1 = [1 3 5 7 9 11 13 15 17];L = length(num1);h1 = freqz(num1, 1, w);
n = 0:L-1;num2 = exp(wo*i*n).*num1;h2 = freqz(num2, 1, w);subplot(2,2,1)plot(w/(2*pi),abs(h1));gridtitle({'Señal original de la magnitud del espectro';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})subplot(2,2,2)plot(w/(2*pi),abs(h2));gridtitle({'Retraso de la señal de la amplitud del espectro';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})subplot(2,2,3)plot(w/(2*pi),angle(h1));gridtitle({'Señal original de la fase de espectro';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})subplot(2,2,4)plot(w/(2*pi),angle(h2));gridtitle({'Retraso de la señal de la fase de espectro';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})
-0.5 0 0.50
50
100
Señal original de la magnitud del espectro(ITA 4.1 Barraza M., Guzmán C., Morales V.)
-0.5 0 0.50
50
100
Retraso de la señal de la amplitud del espectro(ITA 4.1 Barraza M., Guzmán C., Morales V.)
-0.5 0 0.5-4
-2
0
2
4
Señal original de la fase de espectro(ITA 4.1 Barraza M., Guzmán C., Morales V.)
-0.5 0 0.5-4
-2
0
2
4
Retraso de la señal de la fase de espectro(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 5.5. Ilustración de la propiedad cambio de frecuencia de la DFT (Transformada discreta de Fourier)
% Modulación de la propiedad ilustración clf;w = -pi:2*pi/255:pi;x1 = [1 3 5 7 9 11 13 15 17];x2 = [1 -1 1 -1 1 -1 1 -1 1];y = x1.*x2;h1 = freqz(x1, 1, w);h2 = freqz(x2, 1, w);
h3 = freqz(y,1,w);subplot(3,1,1)plot(w/(2*pi),abs(h1));gridtitle({'1^s^t Modulación de la propiedad, Ilustración clf ';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})subplot(3,1,2)plot(w/(2*pi),abs(h2));gridtitle({'2^n^d Señal de la magnitud de espectro';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})subplot(3,1,3)plot(w/(2*pi),abs(h3));gridtitle({'Producto de la señal de la magnitud del espectro';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.50
50
100
1st Modulación de la propiedad, Ilustración clf (ITA 4.1 Barraza M., Guzmán C., Morales V.)
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.50
5
10
2nd Señal de la magnitud de espectro(ITA 4.1 Barraza M., Guzmán C., Morales V.)
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.50
50
100
Producto de la señal de la magnitud del espectro(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 5.6. Ilustración de la propiedad de la modulación de la DFT (Transformada discreta de Fourier)
% Inversión de tiempo de la propiedad ilustración clf;w = -pi:2*pi/255:pi;num = [1 2 3 4];L = length(num)-1;h1 = freqz(num, 1, w);h2 = freqz(fliplr(num), 1, w);h3 = exp(w*L*i).*h2;subplot(2,2,1);plot(w/(2*pi),abs(h1));grid
title({' Señal original de la magnitud de espectro';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})subplot(2,2,2);plot(w/(2*pi),abs(h3));gridtitle({' Señal invertida de tiempo en la amplitud del espectro';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})subplot(2,2,3);plot(w/(2*pi),angle(h1));gridtitle({' Señal original espectro de fase';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})subplot(2,2,4);plot(w/(2*pi),angle(h3));gridtitle({'Tiempo de inversión de la señal del espectro de fase';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})
-0.5 0 0.52
4
6
8
10
Señal original de la magnitud de espectro(ITA 4.1 Barraza M., Guzmán C., Morales V.)
-0.5 0 0.52
4
6
8
10
Señal invertida de tiempo en la amplitud del espectro(ITA 4.1 Barraza M., Guzmán C., Morales V.)
-0.5 0 0.5-4
-2
0
2
4
Señal original espectro de fase(ITA 4.1 Barraza M., Guzmán C., Morales V.)
-0.5 0 0.5-4
-2
0
2
4
Tiempo de inversión de la señal del espectro de fase(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 5.7. Ilustración de la propiedad de la inversión de tiempo de la DFT (Transformada discreta de Fourier)
Ejercicio 5.5
Escribir un código en MATLAB para ilustrar la influencia del tiempo de observación de una señal en
su espectro. Considere la posibilidad de una señal sinusoidal de 10 Hz, la muestra a 100 Hz y tratar
con los siguientes casos:
- El número de periodos de la señal se completa,
- La señal es rellenado con ceros antes de su cálculo del espectro,
- El número de periodos de la señal no es completa.
% Definción del Tiempo de Soporte (50 muestras = 5 periodos)
t = 0:0.01:0.5-0.01; % Definición de la Señal x = cos(20*pi*t); % Cálculo del Espectro N = length(x); X = fft(x,N); % Trazado del Espectro de Amplitud fp = (0:N-1)/N/0.01; fp = fp - 1/2/0.01; stem(fp,fftshift(abs(X))); axis([ -1/(2*0.01) 1/(2*0.01) 0 25]); xlabel('Frecuencia [Hz]'); ylabel('Amplitud del Espectro')title({'La amplitud del espectro de una señal senoidal';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); axis([-50 50 0 30])
-50 -40 -30 -20 -10 0 10 20 30 40 500
5
10
15
20
25
30
Frecuencia [Hz]
Am
plitu
d de
l Esp
ectr
o
La amplitud del espectro de una señal senoidal(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 5.8 La amplitud del espectro de una señal sinusoidal
La figura 5.8 muestra solo un componente del espectro, en la frecuencia del seno de la señal.
% Relleno con ceros en 100 períodos X = fft(x,20*N); N = length(X); fp = (0:N-1)/N/0.01; fp = fp - 1/2/0.01; plot(fp,abs(fftshift(X))); axis([ -1/(2*0.01) 1/(2*0.01) 0 25]); xlabel('Frecuencia [Hz]') ylabel('Amplitud del Espectro')title({'La amplitud del espectro de una señal sinusoidal con relleno de ceros';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); axis([-50 50 0 30])
-50 -40 -30 -20 -10 0 10 20 30 40 500
5
10
15
20
25
30
Frecuencia [Hz]
Am
plitu
d de
l Esp
ectr
o
La amplitud del espectro de una señal sinusoidal con relleno de ceros(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 5.9 La amplitud del espectro de una señal sinusoidal con relleno de ceros
En este caso, además de la componente espectral dominante, muchos otros componentes
espectrales que aparecen debido al relleno con ceros. La precisión de la representación espectral
ha sido mejorada, pero sin mejorar la resolución del espectro.
% Definción del Tiempo de Soporte (45 muestras = 4.5 periodos de la señal) t = 0:0.01:0.5-0.01-1/20; x = cos(20*pi*t); N = length(x); X = fft(x,N); fp = (0:N-1)/N/0.01; fp = fp - 1/2/0.01; stem(fp,abs(fftshift(X))); axis([ -1/(2*0.01) 1/(2*0.01) 0 25]); xlabel('Frecuencia [Hz]') ylabel('Amplitud del Espectro') title({'La amplitud del espectro de una señal sinusoidal truncada';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}); axis([-50 50 0 20])
-50 -40 -30 -20 -10 0 10 20 30 40 500
2
4
6
8
10
12
14
16
18
20
Frecuencia [Hz]
Am
plitu
d de
l Esp
ectr
o
La amplitud del espectro de una señal sinusoidal truncada(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 5.10 La amplitud del espectro de una señal sinusoidal truncada
Como puede observarse en la figura 5.10, el componente espectral correspondiente a la sinusoide
de frecuencia no está presente en el espectro de amplitud calculada por el número de períodos, la
cual no está completa, y la baja resolución. Su energía está distribuida alrededor del valor de la
frecuencia real (efecto de la fuga espectral).
Ejercicio 5.6.
Considere las siguientes dos señales: x=[0 ,0.25 ,0.5 ,0.75 ,1 ] y h=[0 ,0.5 ,1 ,0.5 ,0 ]. Calcular el producto de sus DFTs (Transformadas de Fourier Discretas) y luego volver al dominio del tiempo por la DFT (Transformada de Fourier Discreta). Comparar los resultados obtenidos con el producto de convolución de las dos señales y concluir.
x=[0,0.25,0.5,0.75,1]; h=[0,0.5,1,0.5,0];X=fft(x,9); H=fft(h,9);Y=X.*H;y=abs(ifft(Y)); y2=conv(x,h)figuresubplot(211);stem(y); xlabel('n'); ylabel('A');title({'Señal obtenida con el primer método';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})subplot(212);stem(y2); xlabel('n'); ylabel('A');
title({'Señal obtenida con el segundo método';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})
1 2 3 4 5 6 7 8 90
0.5
1
1.5
n
ASeñal obtenida con el primer método
(ITA 4.1 Barraza M., Guzmán C., Morales V.)
1 2 3 4 5 6 7 8 90
0.5
1
1.5
n
A
Señal obtenida con el segundo método(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 5.11. Ilustración del cálculo del producto de convolución por dos métodos diferentes.
Ejercicio 5.7
Tenga en cuenta la suma de dos sinusoides de 50 Hz y 120 Hz, corrompido por unaaditivo, de media cero, el ruido blanco. Calcular y trazar su densidad espectral de potencia.
t=0:0.001:0.8; % T=0.001, so Fs=1 kHzx=sin(2*pi*50*t)+sin(2*pi*120*t)+2*randn(1,length(t));subplot(211);plot(x(1:500));title({'Señal';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})X=fft(x,512);Px=X.*conj(X)/512;f=1000*(0:255)/512; % f=Fe*(k-1)/Nsubplot(212);plot(f,Px(1:256));title({' Densidad espectral de potencia';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})
0 50 100 150 200 250 300 350 400 450 500-10
-5
0
5
10
Señal(ITA 4.1 Barraza M., Guzmán C., Morales V.)
0 50 100 150 200 250 300 350 400 450 5000
50
100
Densidad espectral de potencia(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 5.12. Mezcla de ruido sinusoidal y su densidad espectral de potencia
Debido a la naturaleza aleatoria de la señal analizada, su densidad espectral de potenciatiene que ser estimado. La potencia espectral métodos de estimación de la densidad seen el capítulo 10.
Ejercicio 5.8
Calcular el DCT 1D (Transformada Discreta del Coseno) de la señal digital
x [n ]=n+50cos ( 2πn40 ) , n=1. .100 y determinar el porcentaje de su energía total acumulada por
los tres primeros coeficientes.
x=(1:100)+50*cos(2*pi/40*(1:100)); X=dct(x); norm([X(1),X(2),X(3)])/norm(X)
El porcentaje de la energía acumulada es el siguiente:ans =
0.8590
Ejercicio 5.9.
Considere la siguiente respuesta impulso de un filtro digital h=[1 ,√2 ,1 ] .
a. Calcular su transformada-zb. Encuentras los ceros de la función de transferencia H ( z ).c. Graficar la función H (z ) para z=e jω
d. Evalué la función H (e jω )en N=16 puntos.
a. La definición ZT1D (Transformada Z) H ( z )=∑n
h [n ] z−n, conduce a:
H ( z )=1+√2 z−1+z−2
b. h=[1,sqrt(2),1]; r=roots(h)
Se obtuvieron los siguientes ceros de la función de transferencia:
r =
-0.7071 + 0.7071i
-0.7071 - 0.7071i
zplane(h,1)title({'Ceros de la Función de transferencia';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'});
-1 -0.5 0 0.5 1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
2
Real Part
Imag
inar
y P
art
Ceros de la Función de transferencia(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Figura 5.13. Ceros de la función de transferencia.
c.
[H,w]=freqz(h,1)figureplot(w/(2*pi),abs(H))title({'Representación de la magnitud de la función de transferencia.';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'})xlabel('Frecuencia normalizada')ylabel('Amplitud')
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50
0.5
1
1.5
2
2.5
3
3.5
Representación de la magnitud de la función de transferencia.(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Frecuencia normalizada
Am
plitu
d
Figura 5.14. Representación de la magnitud de la función de transferencia
d.
H = fftshift(fft(h,16)); N = length(H);fqv = [-0.5:1/N:0.5-1/N];stem(fqv,abs(H))title({'Valor absoluto de la función de transferencia';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'});xlabel('Frecuencia normalizada');ylabel('Amplitud')
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.50
0.5
1
1.5
2
2.5
3
3.5
Valor absoluto de la función de transferencia(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Frecuencia normalizada
Am
plitu
d
o:
Hz=czt([h,zeros(1,13)]);fqv = [-0.5:1/N:0.5-1/N];stem(fqv,abs(H))title({'Valor absoluto de la función de transferencia';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'});xlabel(' Frecuencia normalizada ');ylabel('Amplitud')
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.50
0.5
1
1.5
2
2.5
3
3.5
Valor absoluto de la función de transferencia(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Frecuencia normalizada
Am
plitu
d
Figura 5.15. Valor absoluto de la transformada de Fourier del filtro respuesta impulso.
Ejercicio 5.10
Calcular el DTF2 D (Transformada discreta de Fourier 2D) de la matriz siguiente utilizando dos DTF1D (Transformada discreta de Fourier 1D).
x=[x00 x01x10 x11 ]
El DTF2 D(Transformada discreta de Fourier 2D) definida por:
X k1 , k2=∑
n1=0
1
W 2n1k1 [∑n2=0
1
W 2n2k2xn1 ,n2]
Resultados en:
[ x00 x01x10 x11]
TDF1 D
(linewise )⇒ [W x00
0 +W x01
0 W x00
0 W x01
1
W x10
0 +W x11
0 W x10
0 W x11
1 ]
TDF1D
(distribución por columnas )⇒ [ W
0 (W x00
0 +W x01
0 )+W 0 (W x10
0 +W x11
0 )W 0 (W x00
0 +W x01
1 )
W 0 (W x00
0 +W x01
1 )+W 0 (W x10
0 +W x11
1 )W 0 (W x00
0 +W x01
1 )+W 1 (W x10
0 +W x11
0 ) +W 1 (W x10
0 +W x11
1 ) ]Por ejemplo, en el caso de la matriz x=[1 2
2 3] en los siguientes códigos de MATLAB:
x=[1,2;2,3];for n1=1:2; X1(n1,1:2)=fft(x(n1,1:2)); endfor n2=1:2; X(1:2,n2)=fft(X1(1:2,n2)); end
del producto: X1=[3 −15 −1] y x=[ 8 −2
−2 0 ]El mismo resultado se puede obtener con:
X=fft(fft(x).').' ò X=fft2(x)
Verifica que: X(1,1)=sum(sum(x));
X=fft(fft(x).').'
X =
8 -2 -2 0
X=fft2(x)
X =
8 -2 -2 0X(1,1)=sum(sum(x))
X =
8 -2 -2 0
Ejercicio 5.11
La siguiente matriz:
x= [1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1];
Representa una imagen digital binaria en la forma de un cuadro negro sobre un fondo blanco.
Traza esta imagen. Entonces calcula y grafica la DFT 2D (Transformada Discreta de Fourier en
segunda dimensión) y la DCT 2D (Transformada Discreta del Coseno en segunda dimensión) de
esta imagen.
x=[1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1];
Xf=fft2(x);Xfsh=fftshift(Xf); Xc=dct2(x); subplot(221); imagesc(x); title({'Imagen Original';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}) subplot(222); imagesc(log(abs(Xf))); title({'Magnitud del espectro de la imagen';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}) subplot(223); imagesc(log(abs(Xfsh))); title({'Magnitud del espectro de la imagen simétrica';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}) subplot(224); imagesc(log(abs(Xc))); title({'Magnitud de la transformación de la imagen del coseno';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}) colormap(bone)
Imagen Original(ITA 4.1 Barraza M., Guzmán C., Morales V.)
1 2 3 4 5
1
2
3
4
5
Magnitud del espectro de la imagen(ITA 4.1 Barraza M., Guzmán C., Morales V.)
1 2 3 4 5
1
2
3
4
5
Magnitud del espectro de la imagen simétrica(ITA 4.1 Barraza M., Guzmán C., Morales V.)
1 2 3 4 5
1
2
3
4
5
Magnitud de la transformación de la imagen del coseno(ITA 4.1 Barraza M., Guzmán C., Morales V.)
1 2 3 4 5
1
2
3
4
5
Figura 5.16. Imagen binaria y sus transformadas de Fourier y coseno
Ejercicio 5.12
El cálculo de la DFT (Transformada de Fourier Discreta) con una computadora digital requiere recortar la señal por que el número de muestras tiene que ser finito (generalmente una potencia de 2 en el caso de la transformada rápida de Fourier). La señal es recortada por defecto con una ventana rectangular, pero varios tipos de ventanas pueden ser utilizadas también (Hamming,Hanning, Blackman, etc.). Su elección depende del espectro y la resolución dinámica requerida para una determinada aplicación.
El objetivo de este ejercicio es comparar los diferentes de ventanas en dos casos importantes: dos señales sinusoidales muy cercanas entre sí con la misma amplitud y dos señales sinusoidales distantes y con amplitudes muy diferentes.
1. Generar una señal sinusoidal con N=32 puntos, con amplitud de 1V y frecuencia de 100Hz, muestreada a 256Hz. Calcular su DFT (Transformada de Fourier Discreta) en 1,024 puntos utilizando sucesivamente ventanas rectangular, triangular, Hamming, Hanning y Blackman para cortar la señal. Concluir acerca de la resolución espectral proporcionada por cada tipo de la ventana.
t=(1:32);f1=50;Fe=256;Nfft=1024;
y1=sin(2*pi*f1/Fe*t);sig=y1.*boxcar(32)';y_rect=abs(fftshift((fft(sig,Nfft))));sig=y1.*triang(32)';y_tria=abs(fftshift((fft(sig,Nfft))));sig=y1.*hamming(32)';y_hamm=abs(fftshift((fft(sig,Nfft))));sig=y1.*hanning(32)';y_hann=abs(fftshift((fft(sig,Nfft))));sig=y1.*blackman(32)';y_blac=abs(fftshift((fft(sig,Nfft))));f=[-Fe/2:Fe/Nfft:(Fe/2-Fe/Nfft)];subplot(511)semilogy(f(513:1024),y_rect(513:1024));axis([0 128 1e-3 100]);gridlegend('Ventana Rectangular',-1)title({'Ventana Rectangular';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'});subplot(512);semilogy(f(513:1024),y_tria(513:1024));axis([0 128 1e-3 100]);gridlegend('Ventana Triangular',-1)title({'Ventana Triangular';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'});subplot(513);semilogy(f(513:1024),y_hamm(513:1024));grid;ylabel('Amplitud espectral')axis([0 128 1e-4 100]);legend('Ventana Hamming',-1)title({'Ventana Hamming';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'});subplot(514);semilogy(f(513:1024),y_hann(513:1024));axis([0 128 1e-3 100]);grid ;legend('Ventana Hanning',-1)title({'Ventana Hanning';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'});subplot(515);semilogy(f(513:1024),y_blac(513:1024));axis([0 128 1e-3 100]);grid;legend('Ventana Blackman',-1)xlabel('frequency [Hz]')title({'Ventana Blackman';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'});
0 20 40 60 80 100 120
100
Ventana Rectangular(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Ventana Rectangular
0 20 40 60 80 100 120
100
Ventana Triangular(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Ventana Triangular
0 20 40 60 80 100 120
100
Am
plitu
d es
pect
ral Ventana Hamming
(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Ventana Hamming
0 20 40 60 80 100 120
100
Ventana Hanning(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Ventana Hanning
0 20 40 60 80 100 120
100
frequency [Hz]
Ventana Blackman(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Ventana Blackman
Figura 5.17. Representación espectral de diferentes ventanas.
La forma más sencilla es la ventana rectangular. Esta provee la mejor resolución espectral entre todos los demás tipos de ventanas por que tiene la parte más estrecha del lóbulo principal. Sin embargo el máximo nivel de los lóbulos laterales es también el más alto (alrededor de 13dB) por lo que proporciona la peor resolución dinámica.
Las otras ventanas mejoran la resolución dinámica, pero degradan la resolución espectral. Por lo tanto es necesario lograr un equilibrio entre los siguientes elementos.
- Primero el nivel de los lóbulos laterales (o máximo nivel de lóbulos laterales),- Ancho del lóbulo principal,- Rango de atenuación de lóbulos laterales.
2. Generar una mezcla de dos señales sinusoidales con una amplitud de 1 y frecuencias de 100Hz y 94Hz. Considerar N=32 muestras por señal y calculas sus DFT (Transformada de Fourier Discreta) en 1,024 puntos.
t=(1:32); f1=94; f2=100; Fe=256;Nfft=1024;y1= sin(2*pi*f1/Fe*t)+ sin(2*pi*f2/Fe*t);
sig=y1.*boxcar(32)';y_rect=abs(fftshift((fft(sig,Nfft)))); sig=y1.*triang(32)';y_tria=abs(fftshift((fft(sig,Nfft)))); sig=y1.*hanning(32)';y_hann=abs(fftshift((fft(sig,Nfft)))); sig=y1.*hamming(32)';y_hamm=abs(fftshift((fft(sig,Nfft)))); sig=y1.*blackman(32)';y_blac=abs(fftshift((fft(sig,Nfft))));f=[-Fe/2:Fe/Nfft:(Fe/2-Fe/Nfft)];subplot(511)plot(f(513:1024),y_rect(513:1024)); grid; axis([0 128 0 20])legend('Ventana Rectangular',-1)title({'Ventana Rectangular';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'});subplot(512);plot(f(513:1024),y_tria(513:1024));grid; axis([0 128 0 7])legend('Ventana Triangular',-1)title({'Ventana Triangular';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'});subplot(513);plot(f(513:1024),y_hann(513:1024)); grid; axis([0 128 0 7])legend('Ventana Hanning',-1)title({'Ventana Hanning';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'});ylabel('Amplitud espectral')subplot(514);plot(f(513:1024),y_hamm(513:1024)); grid; axis([0 128 0 7])legend('Ventana Hamming',-1)title({'Ventana Hamming';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'});subplot(515);plot(f(513:1024),y_blac(513:1024)); grid; axis([0 128 0 6])legend('Ventana Blackman',-1); xlabel('frecuencia [Hz]')title({'Ventana Blackman';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'});
0 20 40 60 80 100 1200
10
20
Ventana Rectangular(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Ventana Rectangular
0 20 40 60 80 100 1200
5
Ventana Triangular(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Ventana Triangular
0 20 40 60 80 100 1200
5
Am
plitu
d es
pect
ral Ventana Hanning
(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Ventana Hanning
0 20 40 60 80 100 1200
5
Ventana Hamming(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Ventana Hamming
0 20 40 60 80 100 1200
5
frecuencia [Hz]
Ventana Blackman(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Ventana Blackman
Figura 5.18. Representación espectral de dos sinusoidales poco espaciadas.
La precisión del espectro no se debe tomar para la resolución espectral, que tiene la capacidad de resolver dos componentes espectrales con espaciados muy estrechamente. Esto es definido generalmente como la diferencia de frecuencia entre dos sinusoidales que tienen la misma amplitud que nos permite obtener sumando los espectros una distancia mínima de 3dB entre su máxima.
El tiempo limitado soportado para N puntos lleva a la aparición del lóbulo en el espectro sinusoidal. Para una ventana rectangular el ancho del lóbulo principal es igual a 2/N . Así, si x [n ] contiene dos sinusoidales cuyas frecuencias son separadas por lo menos 1/N , los correspondientes lóbulos principales son considerados separables. Si f s=1 /T s representa a la
frecuencia de muestreo, la resolución espectral en Hz es igual a f s/N , el inverso del tiempo de análisis total.
3. Finalmente generar la siguiente señal en 32 puntos:
x [n ]=sen (2π 100256 n)+0.1 sen(2π 74256 n)
Graficar este espectro obteniendo por diferentes tipos de ventana y hacer comentarios sobre esto.
t=(1:32);f1=74;f2=100;Fe=256;Nfft=1024;y1= 0.1*sin(2*pi*f1/Fe*t)+ sin(2*pi*f2/Fe*t);sig=y1.*boxcar(32)'; y_rect=abs(fftshift(fft(sig,Nfft)));sig=y1.*triang(32)'; y_tria=abs(fftshift(fft(sig,Nfft)));sig=y1.*hanning(32)'; y_hann=abs(fftshift(fft(sig,Nfft)));sig=y1.*hamming(32)'; y_hamm=abs(fftshift(fft(sig,Nfft)));sig=y1.*blackman(32)'; y_blac=abs(fftshift(fft(sig,Nfft)));f=[-Fe/2:Fe/Nfft:(Fe/2-Fe/Nfft)];subplot(511); plot(f(513:1024),y_rect(513:1024));grid;axis([0 128 0 20]); legend('Ventana Rectangular',-1)title({'Ventana Rectangular';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'});subplot(512);plot(f(513:1024),y_tria(513:1024));grid;axis([0 128 0 10]); legend('Ventana Triangular',-1)title({'Ventana Triangular';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'});subplot(513);plot(f(513:1024),y_hann(513:1024));grid;axis([0 128 0 10]);legend('Ventana Hanning',-1)title({'Ventana Hanning';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'});ylabel('Amplitud espectral')subplot(514);plot(f(513:1024),y_hamm(513:1024));grid;axis([0 128 0 10]);legend('Ventana Hamming',-1)title({'Ventana Hamming';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'});subplot(515);plot(f(513:1024),y_blac(513:1024));grid;axis([0 128 0 8])legend('Ventana Blackman',-1);title({'Ventana Blackman';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'});xlabel('frequencia [Hz]')
0 50 1000
1020
Ventana Rectangular(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Ventana Rectangular
0 20 40 60 80 100 12005
10
Ventana Triangular(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Ventana Triangular
0 20 40 60 80 100 12005
10
Am
plitu
d es
pect
ral
Ventana Hanning(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Ventana Hanning
0 20 40 60 80 100 12005
10
Ventana Hamming(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Ventana Hamming
0 20 40 60 80 100 1200
5
frequencia [Hz]
Ventana Blackman(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Ventana Blackman
Figura 5.19. Representación espectral de una mezcla de dos sinusoidales con diferentes amplitudes.
Se puede observar que los dos componentes no son resueltos cuando una ventana rectangular es utilizada. La sinusoidal se oculta por los lóbulos laterales de los espectros de las ventanas, centrados en la alta amplitud de la frecuencia sinusoidal. La ventana Hamming provee una resolución más baja que la ventana rectangular por un rango de amplitud de 0dB, pero se vuelve más interesante para un rango de amplitud de 30dB.
Ejercicio 5.13.
El último paso del cálculo de la DFT (Transformada discreta de Fourier) es la frecuencia de muestreo. De hecho, una frecuencia continua no se puede considerar cuando se utiliza una computadora digital. El eje de la frecuencia de muestreo y por lo tanto, es la transformada de Fourier se calcula para las frecuencias armónicas:
f n=nF s
N
Cuando n=−N /2 ..N /2−1 y F s denota la frecuencia de muestreo.
El número de muestras N es muy importante porque el eje de frecuencia normalizada es la muestra con el incremento de 1 / N. N es, pues, directamente relacionada con la resolución espectral, que también depende de la elección de la ventana. Si la ventana de ponderación tiene un ancho de lóbulo principal de B=b /N , (b = 2 para la ventana rectangular, 4 para la ventana de Hanning, etc) y si la resolución espectral requerida es ∆ f , entonces N debe cumplir con las siguientes limitaciones:
N ≥b∆ f
Tenga en cuenta que la frecuencia de muestreo consiste en la periodización en el dominio del tiempo. En consecuencia, la señal reconstruida por DFT (Transformada discreta de Fourier) inversa es una versión periódica de la señal original. Por tanto, es necesario tener en cuenta una orden de la transformada de Fourier lo suficientemente alta (por lo menos igual a la longitud de la señal) para que el mismo período de la señal como la de un original. De hecho, esta es la condición necesaria para evitar el aliasing tiempo debido a una tasa de frecuencia de muestreo insuficiente (Teorema de Nyquist de doble).
Considere la posibilidad de un punto 128 sinusoidal con la amplitud y la frecuencia de unf=125Hz. Esta señal se muestrea a F s=64Hz o F s=128Hz Su DFT (Transformada discreta de Fourier) se calcula en 128 o 256 puntos.
Escriba un código de MATLAB para ilustrar la representación espectral de las señales correspondientes a los tres casos siguientes:
a. FS=64Hz ,N f f t=128
b. FS=128Hz , N f f t=128
c. FS=128Hz , N f f t=256
t=(1:128); f1=12.5 ;Fs=64;y1= sin(2*pi*f1/Fs*t); sig=y1; Nfft=128;y=abs(((fft(sig,Nfft))));f0=[0:Fs/Nfft:(Fs-Fs/Nfft)];f1=12.5;Fs=128;y1= sin(2*pi*f1/Fs*t); sig=y1; Nfft=128 ;y_rect=abs(fftshift((fft(sig,Nfft))));Nfft1=256;y_rect1=abs(fftshift((fft(sig,Nfft1))));f=[-Fs/2:Fs/Nfft:(Fs/2-Fs/Nfft)];f1=[-Fs/2:Fs/Nfft1:(Fs/2-Fs/Nfft1)];subplot(311); stem(f0,y);grid; axis([0 64 0 80]);
title({'Fs=64 kHz, Nfft=128 pts';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'});ylabel('Amplitud del espectro');subplot(312)stem(f(Nfft/2+1:Nfft),y_rect(Nfft/2+1:Nfft));grid; axis([0 64 0 80]);title({'Fs=128 kHz, Nfft=128 pts';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'});ylabel('Amplitud del espectro');subplot(313);stem(f1(Nfft1/2+1:Nfft1),y_rect1(Nfft1/2+1:Nfft1));grid; axis([0 64 0 80])xlabel('frecuencia [Hz]');title({'Fs=128 kHz, Nfft=256 pts';'(ITA 4.1 Barraza M. Guzmàn C. Morales V.)'});ylabel('Amplitud del espectro');
0 10 20 30 40 50 600
50
Fs=64 kHz, Nfft=128 pts(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Am
plitu
d de
l esp
ectr
o
0 10 20 30 40 50 600
50
Fs=128 kHz, Nfft=128 pts(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Am
plitu
d de
l esp
ectr
o
0 10 20 30 40 50 600
50
frecuencia [Hz]
Fs=128 kHz, Nfft=256 pts(ITA 4.1 Barraza M. Guzmàn C. Morales V.)
Am
plitu
d de
l esp
ectr
o
Figura 5.20. Influencia de los parámetros FFT (Transformada Rápida de Fourier).
En el primer caso, la resolución espectral es igual a 0,5 Hz y la frecuencia de análisis en el armónico. El espectro de lo que tiene el aspecto de un pulso Dirac centrada en 12,5 Hz. Otro de los componentes espectrales se produce en 64 a 12,5 Hz, porque el espectro está representado en un intervalo de ancho F s.
En el segundo caso, la resolución espectral es igual a 1 Hz y la frecuencia sinusoidal no es analizada por la DFT (fuga espectral) (Transformada discreta de Fourier). Para las frecuencias que no son
igual o un múltiplo de F s/N f f t, donde N f f tes el número de puntos utilizados por la FFT
(Transformada Rápida de Fourier), una sinusoide pura aparece en la forma de varios valores
distintos de cero en torno a la verdadera frecuencia. Sin un modelo a priori, no es posible detectar
los componentes espectrales a menos de N f f t en frecuencia normalizada.
En el tercer caso, cuando el cero se usa relleno, la exactitud espectral es igual a 0.5 Hz, mientras que la resolución espectral es 1 Hz. La representación espectral se muestra con un incremento de 0,5 Hz y contiene el lóbulo principal se centró en la frecuencia real y los lóbulos laterales asociadas.
8.1 Antecedentes teóricos.
A diferencia de los filtros IIR, un filtro de respuesta a impulso infinito (FIR) un filtro de respuesta al
impulso finito, los filtros son específicos en el dominio del tiempo discreto y no pueden obtenerse
por transposición directa de filtros analógicos. La fase lineal de la función de transferencia hace
que sean útiles para muchas aplicaciones.
Ejercicio 8.7
Los métodos para el diseño de filtros FIR (respuesta al impulso finito) 2D son similares a los
utilizados para el diseño de filtros de 1D. La meta en este ejercicio es para ilustrar el filtro pasa
bajo de una imagen. Considere para este fin, una máscara de 7 X 7 píxeles, 9 pixeles en la media
con el valor 1 y la otra con valor 0. Calcular los coeficientes de este filtro y la gráfica
correspondientes funciones de transferencia ideal y la actual
Usando el filtro diseñado a continuación, desarrolle el filtro pasa bajos de la imagen el “payaso”
desde la biblioteca de imágenes de MATLAB, corrompido por un ruido blanco de media cero de
Gauss con la varianza de 0.05.
H = zeros(7,7); H(3:5,3:5) = ones(3,3); h = fsamp2(H); figure subplot(2,2,1); freqz2(h,32,32); title({'Función de transferencia actual';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}) [f1,f2]=freqspace([7 7]); [x,y]=meshgrid(f1,f2); subplot(2,2,2)mesh(x,y,H); title({'Función de transferencia ideal';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}) load clown; I=ind2gray(X,map); I=imnoise(I,’gaussian’,0,0.05); subplot(2,2,3) imshow(I); title({'Imagen con ruido';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'}) F=filter2(h,I); subplot(2,2,4) imshow(F); title({'Imagen filtrada';'(ITA 4.1 Barraza M., Guzmán C., Morales V.)'})
-10
1
-1
0
10
0.5
1
1.5
Fx
Función de transferencia actual(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Fy
Mag
nitu
de
-10
1
-1
0
10
0.5
1
Función de transferencia ideal(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Imagen con ruido(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Imagen filtrada(ITA 4.1 Barraza M., Guzmán C., Morales V.)
Figura 8.10 Filtrado pasa bajo de la imagen
Señalar la onda expansiva de la función de transferencia por el mismo fenómeno de Gibbs como para los filtros 1D.