Saludos a todos:
Se que muchos aunque no lograron el primer lugar, hicieron un gran trabajo. Me gusto mucho sentir que han trabajado y que estan en capacidad de disenar filtros digitales. El reto es mudar los filtros a otros ambientes computacionales como los FPGA, los DSP, y en general a sistemas de computacion embebidos o empotrados. Si ustedes estan interesados sigamos en contacto para seguir creciendo.
En el fin de semana hare un post con la forma de hacer la metrica y la implementacion que yo use con los resultados que obtuve. Esten pendientes.
Ahora si van los resultados:
ID Valor de metrica
176878 6.78060E+00
177979 6.78060E+00
117797 1.42680E+03
95429 1.42680E+03
175896 2.69400E+03
126146 2.69400E+03
167933 6.29240E+03
190832 6.29240E+03
129656 7.18200E+03
116597 7.18200E+03
175774 1.38230E+04
117922 1.38230E+04
176567 3.09240E+04
175565 5.06700E+04
179280 5.06700E+04
167085 7.70010E+04
169414 7.70010E+04
178937 8.08680E+04
176363 8.08680E+04
178227 8.44830E+04
176690 8.44830E+04
178419 INF
179093 INF
Los dos ganadores los espero en el laboratorio D304 a las 4:30 PM para la sustentacion de su trabajo.
SISTEMAS Y SENALES I-2012
Blog del curso de senales de la UPB - I-2012
miércoles, 23 de mayo de 2012
miércoles, 16 de mayo de 2012
Como bajar un archivo de una pagina web....
Saludos:
He visto que han tenido problemas bajando el archivo de audio de la pagina del curso. Bueno por eso mismo he creado un tutorial para bajar el archivo de audio.
Paso 1: Accede a la pagina: caceros.docentes.upbbga.edu.co
Paso 2: Busca el area donde dice Aerosmith.wav. Y se da click derecho, debera ver algo como esto:
Seleccionar "Guardar destino como..." o "Save link as...". Con esto arranca una ventana para descargar que terminara con lo siguiente:
Espero les sirva este post.
He visto que han tenido problemas bajando el archivo de audio de la pagina del curso. Bueno por eso mismo he creado un tutorial para bajar el archivo de audio.
Paso 1: Accede a la pagina: caceros.docentes.upbbga.edu.co
Paso 2: Busca el area donde dice Aerosmith.wav. Y se da click derecho, debera ver algo como esto:
Espero les sirva este post.
Diseno de un filtro pasabanda....
Saludos en esta oportunidad voy a mostrar como disenar un filtro pasabanda.
Asumimos que tenemos una senal de entrada que tiene 3 componentes senosoidales puras de 2KHz, 3KHz y 4KHz.
PROBLEMA
Deseamos eliminar las componentes senosoidales de 2KHz y 4KHz con una atenuacion de al menos 40 dB y dejar pasar la senal de 3KHz con una atenuacion de 0 dB y rizado de 3 dB en la banda de paso.
El problema nos obliga a pensar que requerimos de un filtro que deje pasar solamente la senal de 3KHz y bloquee las demas. Este filtro existe y se llama pasabanda porque deja pasar frecuencias entre un rango especificado como banda de paso. y lo que este por encima y por debajo de este rango es rechazado (banda de rachazo). Mirar la figura para entender como funciona:
El resultado de correr este programa: demofiltro.m. Una forma grafica de ver como actua el programa sobre las senales.
Las salidas del programa demofiltro.m estan a continuacion:
Espectro de la senal de entrada x:
El filtro que se diseno tiene las siguientes especificaciones:
La salida del filtro es:
Espero que les sirva este post.
Asumimos que tenemos una senal de entrada que tiene 3 componentes senosoidales puras de 2KHz, 3KHz y 4KHz.
PROBLEMA
Deseamos eliminar las componentes senosoidales de 2KHz y 4KHz con una atenuacion de al menos 40 dB y dejar pasar la senal de 3KHz con una atenuacion de 0 dB y rizado de 3 dB en la banda de paso.
El problema nos obliga a pensar que requerimos de un filtro que deje pasar solamente la senal de 3KHz y bloquee las demas. Este filtro existe y se llama pasabanda porque deja pasar frecuencias entre un rango especificado como banda de paso. y lo que este por encima y por debajo de este rango es rechazado (banda de rachazo). Mirar la figura para entender como funciona:
El resultado de correr este programa: demofiltro.m. Una forma grafica de ver como actua el programa sobre las senales.
Las salidas del programa demofiltro.m estan a continuacion:
Espectro de la senal de entrada x:
Los picos son de izq a derecha: 2KHz, 3KHz y 4 KHz. Los picos que aparecen en 6KHz, 7KHz y 8KHz el resultado de la reflexion de la DFT en la frequencia de muestreo que es 10KHz. |
El filtro que se diseno tiene las siguientes especificaciones:
Comprabacion de banda de paso. Las frecuencias de paso son 2750Hz y 3250Hz |
Comprobacion de banda de rechazo. |
Aparece la componente de 3KHz y las componentes de 2KHz y 4KHz estan tan atenuadas que es como si hubieran desaparecido. |
jueves, 5 de abril de 2012
Reconstruccion de un senal pulso periodica
De acuerdo al numero de coeficientes de la serie de Fourier que uno adicione se obtendra una aproximacion mayor a la senal original. En este caso estamos hablando de la siguiente senal x(t):
Los coeficientes de la serie de Fourier para esta senal es:
La senal se reconstruye usando la siguiente formula:
Y estos son las senales para diferentes valores de N:
El programa esta aca.
N=2:
N=30
Los coeficientes de la serie de Fourier para esta senal es:
La senal se reconstruye usando la siguiente formula:
Y estos son las senales para diferentes valores de N:
El programa esta aca.
N=2:
N=5
N=10
Coeficientes de Fourier de una senal senosoidal.
Los coeficientes de una senal periodica senosoidal de una frecuencia fija, puede ser computados usando la toolbox simbolica de Matlab. Lo interesante de esta senal es que los coeficientes tiene un solo componente en la frequencia de la senal que es distinto de cero, los demas componentes son cero.
A continuacion se muestran varios resultados para la ejecucion del programa fourierseries.m tomado del libro del curso. El codigo del programa puede conseguirse aca. No olviden que hay que tener paciencia al ejecutar el codigo...a veces se demora muchisimo.
[X w]=fourierseries('cos(2*pi*500*t)',1/100,25);
Ahora si agregamos una fase:
[X w]=fourierseries('cos(2*pi*500*t+pi/2)',1/100,25);
se obtiene:
Y ahora vamos a duplicar la frecuencia:
[X w]=fourierseries('cos(2*pi*1000*t)',1/100,25);
se obtiene:
A continuacion se muestran varios resultados para la ejecucion del programa fourierseries.m tomado del libro del curso. El codigo del programa puede conseguirse aca. No olviden que hay que tener paciencia al ejecutar el codigo...a veces se demora muchisimo.
[X w]=fourierseries('cos(2*pi*500*t)',1/100,25);
Ahora si agregamos una fase:
[X w]=fourierseries('cos(2*pi*500*t+pi/2)',1/100,25);
se obtiene:
Y ahora vamos a duplicar la frecuencia:
[X w]=fourierseries('cos(2*pi*1000*t)',1/100,25);
se obtiene:
viernes, 17 de febrero de 2012
cos(2*pi*t+ pi/4) es par o impar?
Alguien me hacia la pregunta que titula este post....la verdad es que si usamos Matlab para graficas la funcion con el siguiente codigo tendremos:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% PROGRAMA QUE GRAFICA LA FUNCION
% cos(2*pi*t + pi/4)
% Programado por: Cesar A Aceros
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
t=sym('t');
y=cos(2*pi*t + pi/4);
ezplot(y,[-1,1]);
grid on
Se obtiene la siguiente grafica:
Si la funcion es par cos(x)=cos(-x). Si hacemos t=0.6 y t=-0.6. Se obtienen los puntos que estan en la grafica. Y los valores de la funcion dan distintos por lo cual podemos demostrar que la funcion no es par, ni impar.
>> cos(2*pi*.6+pi/4)
ans =
-0.1564
>> cos(2*pi*-.6+pi/4)
ans =
-0.9877
El caso que habiamos considerado de t=-1 y t=1 para tiempo es un caso especial que aunque dan el mismo valor, son solo un punto y no se genera una simetria que indique que es impar o par. Esto se puede ver en la evaluacion para t=-1 y t=1 en el command line de Matlab.
>> cos(2*pi*-1+pi/4)
ans =
0.7071
>> cos(2*pi*1+pi/4)
ans =
0.7071
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% PROGRAMA QUE GRAFICA LA FUNCION
% cos(2*pi*t + pi/4)
% Programado por: Cesar A Aceros
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
t=sym('t');
y=cos(2*pi*t + pi/4);
ezplot(y,[-1,1]);
grid on
Se obtiene la siguiente grafica:
Si la funcion es par cos(x)=cos(-x). Si hacemos t=0.6 y t=-0.6. Se obtienen los puntos que estan en la grafica. Y los valores de la funcion dan distintos por lo cual podemos demostrar que la funcion no es par, ni impar.
>> cos(2*pi*.6+pi/4)
ans =
-0.1564
>> cos(2*pi*-.6+pi/4)
ans =
-0.9877
El caso que habiamos considerado de t=-1 y t=1 para tiempo es un caso especial que aunque dan el mismo valor, son solo un punto y no se genera una simetria que indique que es impar o par. Esto se puede ver en la evaluacion para t=-1 y t=1 en el command line de Matlab.
>> cos(2*pi*-1+pi/4)
ans =
0.7071
>> cos(2*pi*1+pi/4)
ans =
0.7071
miércoles, 15 de febrero de 2012
Comprobacion de 3 tipos de senales periodicas/no periodicas.
El proposito de este post es demostrar 3 tipos de senales y su comportamiento periodico/ no periodico.
Primeramente vamos a considerar la suma de una senal con una constante y veremos su salida.
En el codigo presentado a continuacion se suma una senal senosoidal de w=2*pi con una constante 5.
Primeramente vamos a considerar la suma de una senal con una constante y veremos su salida.
En el codigo presentado a continuacion se suma una senal senosoidal de w=2*pi con una constante 5.
%%%%%%%%%%%%%%%%%%%
% Autor: Cesar Aceros
% Fecha: Feb 15, 2012
% Suma de una senosoidal con una constante
%%%%%%%%%%%%%%%%%%%
t = sym('t');
x = cos(2 * pi * t);
y = 5;
z = y + x;
h = ezplot(z,[0,4])
grid
% Autor: Cesar Aceros
% Fecha: Feb 15, 2012
% Suma de una senosoidal con una constante
%%%%%%%%%%%%%%%%%%%
t = sym('t');
x = cos(2 * pi * t);
y = 5;
z = y + x;
h = ezplot(z,[0,4])
grid
La salida a este codigo es:
Suscribirse a:
Entradas (Atom)