Rms Matlab
Rms Matlab
Rms Matlab
Problema 2.2.
Se quiere filtrar la seal diseada en el problema anterior de forma que tenga un ancho de
banda de 1.5Hz. Observar la variacin temporal y espectral de la nueva seal.
Solucin
El programa Matlab dispone de una pantalla grfica para disear filtros de distintas caractersticas,
fdatool. En nuestro caso se pretende disear un filtro discreto IIR pasa bajos de orden 2. El mtodo
utilizado ser butterword.
>> fdatool
Nos aparece la pantalla de diseo (figura
P2.2), en la que debemos seleccionar el
mtodo de diseo del filtro, el orden, la
frecuencia de muestreo de la seal (1/0.2)
y la frecuencia de corte. Una vez definidos
los parmetros podemos disear el filtro,
ver figura.
2.0000
1.0000
1.0000
0.3695
0.1958
0.3913
0.7827
0.3913
>> DEN=SOS(4:6)
DEN =
1.0000
0.3695
0.1958
Seal filtrada
>> sys=tf(NUM,DEN,0.2)
Transfer function:
0.3913 z^2 + 0.7827 z + 0.3913
-----------------------------z^2 + 0.3695 z + 0.1958
la
seal
>uf=filter(NUM,DEN,u);
>Pf=spectrum(uf);
>specplot(Pf,1/0.2);
Problema 2.3. Se quiere generar una seal MLBS con las siguientes caractersticas: ancho de
banda 6 Hz, con una frecuencia mnima de 0.1 Hz, 4 muestras por cambio de registro y 2
periodos. Mostrar tanto la variacin temporal como frecuencial.
Solucin
1. Determinar t. Ya que la potencia media del ancho de banda se da aproximadamente en 0.443/t,
para que esta est situada a 6Hz el valor de t debe ser: t=0.443/60.074.
2. Ajuste de M. Al ser fmin0.1, el valor de M debe estar prximo a 135. Segn la tabla 2.1 el M mas
prximo a este valor es cuando en nmero de registros es de 7 y por lo tanto M = 127. El valor de fmin
ser de: fmin = 1/(M*t ) = 0.1064.
3. La frecuencia de muestreo de la seal ser de t=0.074, ya que se toman 4 muestras por cambio
de registro ts = t/4 = 0.0185.
Se ha programado una funcin Matlab de nombre sbina
>> [t,s,f,S]=sbina(n, fmax, sdt,amp,periods,invre)
con entradas
n
nmero de registros
fmax
frecuencia mxima de inters en el diseo de la seal
sdt
numero de muestras a adquirir por registro
amp
amplitud de la seal de entrada (-a,a)
periods
nmero de periodos de la seal de entrada
invre
seal con armnicos impares (odd harmnic)
Como salidas de la funcin tenemos:
t
s
f
S
vector tiempo
seal obtenida
frecuencia de la seal
transformada de Fouries de la seal
8
10
12
Time (s) [ 1016 Samples ]
14
16
18
Spectrum of above
0.2
0.15
0.1
Amplitude
0.05
0
0
5f(-3db)
10
15
Frequency (Hz)
20
25
30
Problema 2.4
Se pretende disear 3 periodos de dos seales multisinusoidal con las siguientes
caractersticas: 0.04 Hz de frecuencia fundamental, de 60 armnicos y una amplitud de 1
parar cada componente, una de ellas se disear utilizando una la frecuencia random y la
segunda utilizando el mtodo de Schroeder. La frecuencia de adquisicin de datos ser de 50
Hz. Se pretende comparar las dos seales obtenidas desde el campo temporal y frecuencial.
Solucin
Definimos las caractersticas de las seales
>>harm=60; fund=0.04; a=1; Fs=50; period=3;
>>Tsamples=round(Fs/fund);
>>samples=Tsamples*period;
>>t=(0:1/Fs:samples/Fs)-1/Fs;
Considerando una fase random
>>FI=2*pi*rand(harm,1);
>>u=zeros(size(t));
>>Fv=fund*(1:harm);
>>for i=1:harm
>>
u=u+cos(2*pi*Fv(i)*t+FI(i)*ones(size(t)));
>>end
>>plot(t,u)
Para hacer el estudio espectral de una seal con mas de un periodo, la frecuencia queda definida
como:
>>n=length(u);
>>f=fund/period*(1:period*harm)';
>>Udat=fft(u,n);
>>Udat=Udat(1:(n/2+1));
>>Udat(2:n/2)=2*Udat(2:n/2)/n;
>>% espectro de la senyal de entrada
>>Guu=conj(Udat).*Udat;
>>plot(f,Guu(2:period*harm+1)), title('Espectro'),xlabel('Frecuencia')
Espectro
Respuesta temporal
1.4
15
1.2
10
5
0.8
0
0.6
-5
0.4
-10
-15
0
0.2
10
20
30
40
tiempo
50
60
70
80
0.5
1.5
Frecuencia
2.5
10
8
1.2
6
1
4
0.8
2
0
0.6
-2
0.4
-4
-6
0.2
-8
0
-10
0
10
20
30
40
50
60
70
0.5
1.5
2.5
80
Problema 2.5.
Se tiene un sistema representado por la funcin de transferencia discreta con un periodo de
muestreo de 1 segundo:
q 1 + 0.5q 2
y (t ) =
u (t ) + v (t )
1 1.5q 1 + 0.7 q 2
a) Comparar la respuesta impulsional del sistema en el caso en que no haya ruido, v(t)=0, y
en el caso en que el ruido sea coloreado con una funcin de transferencia:
v (t ) =
1 q 1 + 0.2q 2
e (t )
1 1.5q 1 + 0.7 q 2
10
15
20
25
30
35
40
tiempo
b) Los valores de la respuesta impulso (yimp) en el caso en que no hay ruido son una secuencia de
valores infinita:
g(t)= [ 0 1.0000 2.0000 2.3000 2.0500 1.4650 0.7625 0.1182 -0.3564 -0.6173 ...]
esta secuencia de valores se obtiene dividiendo el numerador por el denominador de la funcin
de transferencia.
En el caso en que si hay ruido (yv), la secuencia que se obtiene es:
g(t)= [0.3955 1.5360 1.7876 2.3558 1.0422 0.3852 -0.2976 -0.2088 -1.6083 -1.9502 ...]
con un error cuadrado acumulado de: > sum((yimp-yv).^2)/40 = 0.6006
Problema 2.6
Se desea estimar la respuesta impulsional del sistema que tienen por funcin de transferencia:
G( s ) =
1
e 2 s
4s + 4s + 1
4
a partir de la respuesta escaln del mismo. Comparar la respuesta impulsonal real con la
respuesta estimada.
Solucin
Para poder estimar la respuesta impulsional del sistema a partir del sistema real se debe disponer de
datos muestreados. Aplicando la funcin step es posible simular la respuesta de un sistema continuo
a un escaln.
10
12
14
tiempo
Respuesta impulsional
16
18
20
0.2
0.15
0.1
0.05
0
0
10
15
20
25
tiempo
Problema 2.7
Se desea utilizar el anlisis de correlacin para estimar la respuesta impulso del sistema
descrito en el problema 2.5. Con el fin de realizar un estudio comparativo de lo explicado en
el tema se propone comparar la respuesta impulso real del sistema con la estimada en los
siguientes casos:
a) Cuando v(t)=0 y la seal de excitacin es un ruido blanco de amplitud 1.
b) Cuando v(t) es un ruido blanco, no correlacionado con la entrada, de variancia 0.3. La
seal excitacin es la misma que en el caso anterior.
Solucin
a) y b) En primer lugar se van a generar las seales de excitacin y perturbacin con las que se va a
simular el sistema. Generaremos 500 datos con un muestreo de 1 seg.
>> t=(0:500);
>> randn(seed,5);
>>
>>
>>
>>
u=randn(size(t));
randn(seed,0);
e=sqrt(0.3)*randn(size(t));
subplot(2,2,1), plot(t,u,t,e,), title(Evolucin temporal de u(t) y e(t))
Para evaluar las seales diseadas se har un estudio de correlacin y correlacin cruzada. La
funcin de MATLAB covf permite realizar este estudio.
R=covf(Z,M);
donde: Z es una matriz de N*nz, generalmente Z=[y u] o el conjunto de seales a evaluar;
M es el valor mximo de retardo para el cual se quiere evaluar la funcin de covariancia.
R es la funcin de covariancia E zi(t)*z j(t+k), k tiene los valores de 1 a M.
>> R=covf([e u],20);
>> subplot(2,2,3),plot(R(1,:)), title(Autocorrelacin de la seal e(t))
>> subplot(2,2,4),plot(R(4,:)), title(Autocorrelacin de la seal u(t))
>> subplot(2,2,2),plot(R(2,:)), title(Correlacin cruzada E e(t)*u(t+k))
Evolucin temporal de u(t) y e(t)
Correlacin cruzada
0.15
0.1
0.05
-2
-4
-0.05
0
200
400
600
10
15
20
0.4
0.3
0.5
0.2
0.1
0
-0.1
10
15
-0.5
20
10
15
20
Covf for y
Covf for u
20
15
0.5
10
5
0
-5
-50
-0.5
-50
50
Correlation from u to y
3
0.4
0.2
50
0.6
-0.2
-50
-1
-50
50
50
Para comparar la respuesta impulsional estimada con la real, podemos aplicar el siguiente comando:
>> plot(ti,IR,ti,yimp,),title(Respuesta impulso comparacin, real (--) y estimada (-))
En la grfica obtenida se observa que la respuesta impulsional estimada se aproxima a la real en los
primeros datos M<7, para valores mayores la diferencia es considerable. Otro aspecto a destacar es
que con la respuesta impulsional se observa una respuesta tpica de un sistema de 2 orden.
10
1.5
0.5
-0.5
-1
10
15
20
25
30
35
40
45
50
En el caso b) tendremos:
>> [IRn,Rn,cln]=cra([y2 u], 50,0,2);
Covf for y
Covf for u
20
15
0.5
10
5
0
-5
-50
-0.5
-50
50
Correlation from u to y
3
0.4
0.2
50
0.6
-0.2
-50
-1
-50
50
50
11
1.5
0.5
-0.5
-1
10
15
20
25
30
35
40
45
50
Problema 2.8
Utilizando las tcnicas frecuenciales del anlisis de Fourier y el anlisis espectral determinar
la respuesta frecuencial del sistema descrito en el problema 2.5. Como seal de excitacin
utilizar una seal multisinusoidal de caractersticas: 100 armnicos, 0.002 de frecuencia
fundamental y 3 periodos. Como seal perturbacin utilizar un ruido blanco de variancia 5.
Solucin
Archivo solP2_8. Obsrvese que la respuesta frecuencial se estima correctamente, como resultado
de aplicar la funcin emprica ETFE (figura 5) como el anlisis espectral (figura 6). La figura 7
muestra la respuesta frecuencial terica, resultado de utilizar el comando dbode.
12
entrada
2
240
250
260
250
260
270
tiempo
280
290
300
280
290
300
salida
0.5
0.4
0.3
0.2
0.1
0
240
270
tiempo
Se pide que a la vista de los resultados se comenten los tratamientos previos que deberan
realizarse antes de proceder a la identificacin del modelo.
E2.2. Se desea identificar el modelo discreto de un proceso. Partiendo de un ensayo
preliminar se ha determinado que el intervalo de frecuencias que describen el proceso es:
[fmin , fmax ] = [0.5, 4 ] Hz. Comentar:
- A partir de que ensayos preliminares es posible determinar este intervalo?
- Cul es el periodo de adquisicin de datos que utilizaras para identificar este proceso?
- Si es menester filtrar los datos con un filtro antialias, que frecuencia de corte escogeras
para el diseo de este filtro?
E2.3- Ajustar por el mtodo de Kpfmller y Strejc un modelo que se ajuste a la respuesta
escaln del problema 2.6. Comparar los resultados del modelo determinado con el modelo
real.
E2.4.- Estimar la respuesta impulso del problema 2.7 pero en el caso en que se disponga de
una entrada coloreada. Utilizar para ello el comando cra seleccionando el orden adecuado del
filtro, na, para blanquear la seal de entrada..
13
0.8
0.6
0.4
0.2
-0.2
0
10
retards
15
20
1 01
10
10
-1
1 0- 2
-2
10
-1
1 0 frequency (rad/sec) 1 0
10
PHASE PLOT
-200
phase
-400
10 -2
1 0- 1
1 00
frequency (rad/sec)
14
1 01
Que frecuencia de muestreo escogerais para dicho sistema? Justificar la respuesta. Indicar
tambin de forma aproximada el tipo de sistema de que se trata.
0.2
0.8
0.15
0.6
0.1
0.4
0.05
0.2
-0.05
-0.2
0
10
lags
15
20
-0.1
0
15
10
lags
15
20