Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Di Fil
Di Fil
frecuencia de muestreo
Fp= 3000
Fs= 6000
Dp = 1 db
Ws = 6000/12000 = 0.5
Wn = 0.2958
Con este resultado previo, se procede al diseo del filtro de Butterworth que cumpla con
las caractersticas especificadas:
[B,A] = BUTTER(N,Wn)
[B,A] = BUTTER(5,0.2958)
Resultando:
B = [0.0065
0.0327
A = [1.0000
-2.0177 2.0732
0.0655
0.0655
0.0327
-1.1455 0.3423
0.0065 ]
-0.0428 ]
H ( z)
0.0065 z
z
0.0327 z
4
2.0177 z
0.0655 z
3
2.0732 z
0.0655 z
2
1.1455 z
0.0327 z
0.3423 z
0.0065
0.0428
Con la diferencia que aqu, en la respuesta en amplitud, las magnitudes del eje vertical
estn dadas en decibeles (db).
Tambin se pueden hacer separadamente con:
m = abs(H); p = unwrap(angle(H));
semilogy(w/length(w),m); title('Magnitud');
figure; plot(w/length(w),p*180/pi); title('Fase');
Resultando:
Antitransformando
Despejando ahora yn
Mediante Matlab, se puede usar la funcin filter para realizar esta tarea.
i=1:512;x(i)=0; x(255)=1; % genera el impulso en la mitad
% de la secuencia
Y=filter(B,A,x); % Encuentra la salida del filtro
% calculado para la secuencia x
plot(Y)
% Grafica la salida
Con la funcin zplane(Z,P) se pueden graficar los polos y ceros en el plano complejo de
una funcin de transferencia.
Para ello es necesario calcular previamente los polos (ceros del denominador) y ceros
(ceros del numerador) con la funcin roots.
P=roots(A) % calcula ceros del denominador (polos)
Z=roots(B) % calcula ceros del numerador (ceros)
zplane(Z,P)
0.9988
2.0020
1.9992
0 1.0000 -0.3322
1.0020 1.0000 -0.7262
0.9992 1.0000 -0.9593
0
0.2135
0.6031
G=
0.0065
Se rehace la Funcin de Transferencia.
plot(W/pi,20*log10(abs(H)),W/pi,-6,'-')
freqz(B,1,1000);
[SOS,G] = tf2sos(B,1)
SOS =
1.0000
1.0000
1.0000
1.0000
1.0000
G =
-0.0052
-3.5866
1.5435
1.9001
1.0335
0.5402
1.0000
2.8573
1.0000
1.0000
0.3500
1.0000
1.0000
1.0000
1.0000
1.0000
0
0
0
0
0
0
0
0
0
0
Uso de fdatool
Uso de sptool
Cuando se exporta el archivo se guarda como estructura con dos variables (Fs y data).
Para recuperarlas, se debe utilizar el nombre de la estructura con un punto seguida por la
variable. Ejemplo:
d=sig3.data
FS=sig3.Fs
function y=aj_adapt(W1,W2,n,mu)
% Calcula y grafica el ajuste de pesos mediante
% MSE minimo para una entrada (y) y una funcin deseada (d)
N=1024;M=5;
% Funcion de entrada x(i), deseada d(i)
i=1:N;x(i)=sin(2*pi*(i-1)/M);d(i)=2*cos(2*pi*(i-1)/M);
% Si se quiere agregar ruido a la entrada
% sigma=0.;x=x+sigma*randn(1,N);
% Calculo de la matriz de autocorrelacion R
% Diagonal principal
for k=1:n,
V=x(k:length(x));R(k,k)=V*V'/length(V);
end
for k=1:n,
c=1;
for j=k+1:n,
V1=x(k:length(x)-c);
V2=x(j:length(x));
R(k,j)=V2*V1'/length(V1);R(j,k)=R(k,j);c=c+1;
end
end
% Calculo del vector de correlacion cruzada P
c=0;
for j=1:n,
V1=x(1:length(x)-c);
V2=d(j:length(x));
P(j)=V2*V1'/length(V1);c=c+1;
end
w_opt=R^-1*P'; B=w_opt;
% potencia promedio de la seal deseada
Ed2=d*d'/N;
% verificacin del ajuste
y=filter(B,1,x);
%plot(y(500:510))
MSE=Ed2+B'*R*B-2*P*B;
xi_min=Ed2-P*B;
En el diseo mnimos cuadrados, los coeficientes, o pesos, del sistema lineal causal,
H(z), son ajustados para minimizar el error cuadrado medio, E[ek2], haciendo as la
salida del sistema gk la aproximacin mnimos cuadrados a una seal deseada, dk,. En
este caso dk es la misma que la entrada, sk y debe ser predicha usando la historia
pasada de sk. Esto es, dk debe ser predicha en trminos de s k retardada por m muestras y
procesada a travs de H(z). De nuevo, el proceso de diseo de mnimos cuadrados
consiste en ajustar los pesos de H(z) para hacer de esta versin procesada de la historia
de la entrada la mejor prediccin del valor presente de la muestra sk.
El diagrama superior con una unidad de retardo, esto es con m=1, es la forma ms
comn de predictor lineal, aunque no predice actualmente un valor futuro de la entrada.
En muchas aplicaciones DSP, el error ek ms de que un valor futuro de sk es necesitado.
Si se necesita una prediccin actual de una seal, la forma aumentada en el diagrama
inferior puede ser implementada.
i=4:1000; s(i)=sin(2*pi*5*i/1000); % seal de entrada (esperada)
i=4:1000; f(i-3)=sin(2*pi*5*i/1000); % seal retrasada en 3
y=alg_lms_general(s,f,5); % algoritmo LMS, salida g(k) [y(k)]
i=1:996;plot(i,y(i),i,s(i)) % comparacin
Aqu un sistema lineal H(z) modela o identifica una planta desconocida consistente de
un sistema desconocido con ruido interno. El diseo de mnimos cuadrados fuerza a la
salida del sistema lineal gk a ser una aproximacin de mnimos cuadrados a la salida de
planta deseada dk para una entrada particular fk.
X=randn(1,1000); % seal aleatoria de entrada
Y=filter([0.5 1.3 2.1],1,X); % Seal deseada
1.3000
0.5000
Cuando fk tiene contenido espectral en todas las frecuencias y cuando el ruido de planta
contribuye en mucho una pequea parte de la potencia en dk, esperamos que H(z) sea
similar a la funcin de transferencia de sistema desconocido de la planta. Note, sin
embargo, que H(z) no es necesariamente una aproximacin de mnimos cuadrados. As,
el concepto de modelamiento es aplicable donde el objetivo es la mejor aproximacin a
una seal, en vez que a una funcin de transferencia. El tipo de modelamiento ilustrado
en la Fig. 8.2 tiene un amplio rango de aplicaciones incluyendo modelamiento en
ciencias biolgicas, sociales y econmicas, en sistemas de control adaptativo, en diseo
de filtros digitales y en geofsica.
________
One of the main problems when picking signals so weak as the electrocardiogram is
noise. There are several kinds of noise that can affect the ECG but one of the strongest
is the 50 Hz interference from the main power distribution. An ECG with lots of ECG
interference is shown in the next picture. Both its temporal and spectral representations
are shown. The 50 Hz interference clearly shows up in the spectrum.
The electrocardiograph must have a way of eliminating this interference. This can be
achieved incorporating a notch filter into the electrocardiograph that stops the 50 Hz.
But for the filter to be very selective (very thin bandwidth) it must be high order and
that means many components. Adaptive filtering offers another possibility. A simple
second order (two weights) FIR adaptive filter can achieve very good results.
Feeding the adaptive system with a reference of the main power 50 Hz signal, the
interference can be highly reduced if not eliminated. The following figure shows the set
up.
Now, the ECG above was adaptively filtered with a second order FIR filter. This was
the output obtained:
The spectrum shows still some 50 Hz interference remaining but its level has been
considerably reduced. The performance of the adaptive system is better observed when
we comprare the signals (ecg and output) in one cycle, in between peaks.
The discrepancy of the spectrum depending on wether the overall signal (15000
samples) or only a small part in between peaks (400 samples) is considered, comes from
the fact that when the output signal is not zero the weights vary randomly around their
optimum value. the bigger the output the more the variation. Therefore, after each peak,
the weights take a little while to readjust themselves, allowing the interference to pass,
and that occurs at each heart beat (every 1000 samples or so, being the sampling rate of
1 Khz).
The ECG shown above was provided by Dr. Antonio Albiol, from the Polithecnic
University of Valencia, Spain. The signal comes from a man's chest, taken at a sample
rate of 1 Khz. The output of the adaptive system was obtained using the following
parameters:
Algorithm:
Order of the FIR filter:
Stability factor (mu):
Initial weights vector:
Noise reference input:
LMS
2
1e-6
w1 = 0.052
w2 =-0.020
50 Hz cosinewave
Cancelacin de interferencia
Figura 8.16 Cancelacin de interferencia por mnimos cuadrados. Ruido fuerte es agregado a la voz del
locutor. Usando una versin correlacionada del ruido sin la palabra, el filtro de cancelacin de
interferencia, B(z), produce una salida que cancela mucho del ruido. Los pesos del filtro son elegidos para
minimizar el valor al cuadrado total de la salida ek.
Figura 8.17 Seal de palabra, s(t), y ruido, n(t), con espectro densidad de potencia, para el ejemplo de
cancelacin de interferencia. La seal en este caso es de alrededor de 20 dB por debajo del nivel de ruido.
Una muestra de 1 segundo de la seal de palabra, s(t) se muestra a la izquierda junto con
la densidad espectral de potencia de la seal entera. El ruido de construccin, n(t), y su
espectro se ven al derecha. La tasa de muestreo en ambos casos es de 40 KHz. Podemos
ver que filtrando la seal combinada, s(t)+n(t), para mejorar la relacin seal-a-ruido
(SNR) puede ser posible para algn grado pero resultara tambin en prdida de algo de
la seal. Si s(t) y n(t) son independientes, la configuracin en la Fig. 8.16 sera la mejor
eleccin para mejorar la SNR.
Figura 8.20 Mnimo TSE vs. Nmero de pesos (N) en el ejemplo de cancelacin de interferencia,
indicando que la SNR crece slo ligeramente a medida que N crece ms all de 4 5.
2z
yn =
n 1 1024
xn 0
n1 2 1024
y1 0
yn1
x1 1
impulso
x(t)2, pero la definicin general se mantiene an para seales complejas. Se sigue con
que la potencia promedio o esperada de una funcin estacionaria x(t) es
xi sin 2
i 1 1024
f ( t) sin ( 2 2 t)
( i 1) 2
1024
N 1024
t 0 0.01 2
1
0.998
0.5
f ( t)
0.5
0.998
1
0
1
Pm
N
T
0.5
N
0.5
xk 2 0.5
k1
N T
N T 0
tiempo de muestreo
f ( t) dt 0.5