Académique Documents
Professionnel Documents
Culture Documents
Teora
El filtro mediana, solo extrae el valor de la mediana de un ancho de ventana. Ordena
los valores de ese ancho de ventana y extrae el valor de la mediana. Luego va a ir
movindose de uno en 1 y extrayndose nuevos valores de mediana.
Simulacin en Proteus
Suma de seales
Cdigo de Matlab
Se genera un cdigo en Matlab para poder obtener una grfica de la seal filtrada va
comunicacin serial por un Bluetooth
function ADC_serial(muestras)
Signal=0;
s = Bluetooth('', 2);
fopen(s);
contador=1;
figure('Name','Grafica de la Seal');
title('Grafica Promedio Movil Pic Serial');
xlabel('Numero de Muestras');
ylabel('Voltaje (V)');
grid on
hold on
while contador<=muestras
ylim([0 5]);
xlim([0 contador+50]);
out = fscanf(s,'%d');
Signal(contador)= out(1)*5/1023;
plot(Signal);
drawnow
contador=contador+1;
end
fclose(s);
delete(s);
clear all
end
Cdigo de Proton
Se genera un cdigo en Proton para poder recibir la seal con ruido y procesarla por un
filtro para obtener una seal ms limpia que luego ser enviada por comunicacin
serial por un Bluetooth a Matlab
Device 16F877A
Declare Xtal 20
Declare Adin_Res=10
Declare Adin_Tad=32_FOSC
Declare Adin_Stime=100
Symbol TX=PORTC.6
Symbol RX=PORTC.7
BUCLE:
y=0
For j=1 To M Step 1
A[j-1]=A[j] ; |
Next
A[M]=ADIn 0
DelayMS 4
A[M-1]=A[M]
GoSub Mediana
GoTo BUCLE
Mediana:
For i=0 To (M-1) Step -1
For j =i+1 To (M-1) Step 1
If A[j] > A[j+1] Then
Aux = A[j]
A[j] = A[j+1]
A[j+1] = Aux
EndIf
Next
Next
If M//2==0 Then
Indice=M/2
Value=A[Indice-1]+A[Indice]
Value=Value/2
Else
Indice=M/2
Indice=Indice+1
Value=A[Indice]
EndIf
SerOut TX,84,[Dec4 Value,10,13]
Return
Bibliografa
K Mitra Sanjit, Procesamiento de Seales Digitales, Edicion Sanjit Kumar Mitra, 3era edicin