• No se han encontrado resultados

Universidad Autónoma Metropolitana lztapalapa

N/A
N/A
Protected

Academic year: 2018

Share "Universidad Autónoma Metropolitana lztapalapa"

Copied!
60
0
0

Texto completo

(1)

Universidad Autónoma Metropolitana

lztapalapa

(2)

Si

Y

t

S

S

(3)

Capitulo 1 : Generalidadcs

El algoritmo: E~-ror Cuadritico Medio

Progatna de Adquisición

y

Filtraje

4

6

10

(4)
(5)

Objetivo

(6)

Capitulo

1:

(7)

Generalidades Error Cuadrático Medio

Capitulo

1

:

, . +

Generalidades

Fuera d e la PC

- - * - - - * - - - '

-t

l l T r

I

(8)

Generalidades Error Cuadritico Medio

x(n+

11

+-a,

€CM

(9)

Generalidades Error Cuadrdtico Medio

1

(10)

Generalidades Error Cuadrático Mcdio

El código es el siguiente:

(11)

,Tiempo de Grabaci6n = nillnero de Inucstr:is a procesar / 44100

(segundos)

(12)
(13)

Generaiidades Programa de Adquisición y Filtraje

Grtifico, pone en blanco las pantallas de los grificos ya sea para colocar l a gráfica de l a

prueba m i s reciente o porque se han estado combinando las grificas para hacer

comparaciones entre ellas, haciendo esto con el botón C'ompnror Grhficns; finalmente

S C I I I Y I ~ Guíficm tlcl FC.Lf, guarda cada imagen en un archivo.

(14)

Capitulo 2:

(15)

Pruebas

y

Resultados

Para rcalizar las pruebas objetib.as se implementó un circuito sencillo (un filtro

pasobajo), donde nuestra sefial de entrada, .t-(u), esta dada por un generador cle fincioncs.

(16)

P r u e b a s y R e s u l t a d o s O b j e t i v o s

(17)
(18)

Pruebas y Resultados Objetivos

Es decir cada t'ez que se registra un cambio en la frecuencia la seiial se actualiza para

cumplir con el requisito de ser como d ( / l ) y el tiempo que tarda en hacer esto se nota en el

cambio de l a atnplitud.

La siguiente figura correspondc a l Error Cuadrático Medio de una prueba corno la

anterior, distingi9ndose las \ x i x i o n e s de enor cuando o c ~ ~ r r e un movimiento en la

frecuencia de l a sefial, sicndn estas las Ixiacioncs dej,(t1) por \,ol\.er a ser como tl(tr).

(19)

Pruebas y Resultados Objetivos

(20)

Pruebas y Resultados Objetivos

(21)

Pruebas y Resultados Subjetivos

S e destaca la similitud de las señales JYt1) tanto e11 el FIR como en el Lagguer (ver figura 18) a l a sefial ~ ( I I ) . por tanto se ha identi ficaclo y- simulado. Corroborurldo esto cot1 la

(22)

Pruebas y Resultados Subjet vos

Esta pr-wba es de mal... :' complejidad que las anteriores, debido a la sefial de entrada, l a

(23)

Pruebas y Resultados Subjetivos

I

I

i

I

(24)

Pruebas y Resultados Subjetivos

Los resultados de ~ l n a tercera g r a b a c i h son e.;tos:

f

(25)
(26)

Conclwiones

El progranla h x h o en el proyecto entrn en las aplicaciones n1ultimedia, siendo estas u n

conjunto de medios tecnológicos que nos s i n e n para la comunicación entre l a PC

(hardu.are y s o f t n x e ) y nosotros. El uso de esta herramienta facilita hacer aplicaciones,

como las que manejan sonido, \.ideo, jugar en red, nxanejo d e irnigenes, sonidos en 3D,

pi-ogramas interactivos para aprendi/ajc, etc. y en este caso ayudo a que fuera Factible

adquirir datos con dos tarjetas de soniclo igualcs y al mismo tiempo.

AI comienm del proyecto se programó en ambiente

DOS,

no hubo muchas dificultades,

ya que la forma de progran~ar es al acostumbrada, pero al dar nnis presentación al

progranla se introdujo el sistema de adquisición a ambiente Windon,s, conociendo clue la

forma de progranlar en algunas cosas importan?es es distinta, creando un nuevo estilo de

programación. Despuis de todo, resultó m11c11o más f k i l programar en anlbiente Windows

que en

DOS.

debido a l a variedad de herramientas que se pueden utilizar además de

cumplir con el propósito de dar m i s presentación al sistema de adquisición y filtrado, es

decir, el Ilaccr los programas miis amigables para ek usuario final.

En un principio se comenró realizando la tarjeta de adquisición para la PC, haciendo

retrnin~cniería sobre una tarjeta ya existent<, debido a complicaciones posteriores y

o b s e n m d o las prestaciones y faci1idadi.s de tarjetas de sonido conlercial se optó por hacer

uso de ellas.

(27)

Conclusiones

E! renclimicnto de la PC fue importante, se comenzó trabajando en un Pentium I a

166hIhz, pero sucedía que se perdían muestras en las grabaciones, por lo tanto, l a

infonnación adquirida no era buena para realizar el proceso. Esto se notó con el sólo hecho

de comenzar a adquirir datos de dos tarjetas de sonido al mismo tiempo, implemcntando

ahora el sistema completo, no iba a funcionar adecuadanlente pues se iban a pedir aun m i s

requerimientos del sistema. Usando otra máquina que se encontraba en el mismo

laboratorio, Pentiurn I11 a SOOhlh;l, se logró llegar al cumplimiento de los objetivos, sin

(28)
(29)

Bibliografía

Filtro Lagguer:

Ornar Amin, Fausto Casco, Mauricio I h p e z . N C N Cnscctcitt Acltrpteci F'init Impulse

Respome (FIR). Filter. Internacional Conference, on signal proces ing application and

(30)
(31)

Anexos

Para usar cl Programa de A d q ~ ~ i s i c i ó n y Filtraje los requisitos son:

Dos tarjetas de sonido, si son iguales se recomienda usar ampliamente el sistema

operatiL.o U'indons Milcnium. En otro caso primero instale una y renombrcla,

posteriomlente instale la segunda tarjeta. Para renombrar la tarjeta valla a las propiedades

de sonido y multimedia en l a p e s t a h de dispositkos, conlo se nluestra en la siguiente

figura:

Dichas tarjetas de sonido deben de soportar grabaciones a 34100khr a 16bits, si no el

(32)

Anexos Notas al Progrrtrtla de Adquisición y Filtraje

Las tarjetas de sonido instaladas deben ser las tarjetas principales de l a

PC,

es decir, se

tienen que ver como en l a figura siguiente:

(33)
(34)

Anexos Progr tmas

.. ...I.".""-~..'."-.I . ... . l _ " _ . ...

Los programas fueron elaborados sobre el compilador Borland Ct-k Builder 4.0. Los

códigos del programa de adquisición son los siguientes, dividikndose en tres partes

principales, código del Error Cuadrático Medio, en el que los nombres están dispuestos en

ingles, Least Mean Square

(LMS)

para diferenciarlos del código que realiza las grificas,

utilizando la Ibrekiatura ECM. Y en la tercera parte, el código de adquisición de datos dc la

tarjeta de sonido.

Código del Error Cuadritico

Medio

En el comienzo del proyecto se manejaron dos tarjetas de sonido diferentes

(SoundBlaster y EssAudio), pero.se dejaron los nombres para seguir identificando a las

tarjetas siendo l a principal, .-c(n), la SoundRlaster y d(t1), l a EssAudio.

...

=Inciudc' ,<\cl h>

-p:"1y13 i?iir.top

...

(35)
(36)

Anexos

numPolnts= O;

I I

7 -

(37)
(38)

Anexos Programas

(39)

Anexos Programas

I * * * * * * * * * * * * * * * * * * * * * " * * * * * * * * * * * * * * * * * * * * * ~ * * * * ~ * * * * * * * * * ~ * * * * * ~ ~ * * * ~ ~ ~ : * ~ ~ * * ~ ~ ,

!*Guarda los coeficientes dcl filtro en u n archlbo de teyto */

i * * * * * * * * * * C * * * r * * * * * * * * * * ~ * * * * * * * * ~ * * * * * * * * * ~ ~ * * * * * * * * ~ * * * * * * * ~ * ~ * * * * * ~ ~ ~ ~ ~ ~ ;

V O I ~ ~ fastcall TcLLlS :SaI~aCoeficlentesClicl\iTObjccr 'Sender)

I

for(int ~-O:~<Ordcn_F~ltro:i+t)

L ~ s t C o e t i c ~ e n t e - > l t e m ~ - ~ A d d ( C o e f i c ~ e n t e [ ~ ] ) :

(40)
(41)
(42)
(43)

Anexos

"Lrrnpla los coeficientes y dc!i!;is bartables para reallrar P I ECM normal d e

; * * * * * * * r * r * * * * * * * * * + * * * * * * * * * * * * * * * * * ~ * * * * * * * * * * * * * * * * r * * * * * r * * * ~ * * * * * * * * * * * * * /

cold p-fastcall TcLMS::FlltroNorrnal()

los datos grabados */

El~-rorECLl[~l= EnorLhIS;

.,;en este momento ya tengo l a salida del L.MS y todos !)los errores producidos para hacer el ECM

1

(44)

Anexos Programas

f * * * * * * * C * * * * * * * * C * * * * * * * * * * * * * * ~ * * * * * * ~ ~ * ~ * * * * * * * * * * ~ ~ * * * * * * * * ~ * * * * * * ~ * * ~ * * * i

;*Nos da 12 ventana de los grcificos *I

. . .

vold -fastcall TcLMS::ShonECMCltck(TObJect *Sender) EC'RlCr3ph->Sho\\.();

I

Arcl1iL.o de cabecera:

En-or

Cuadrático Medio

(EC3fproceso.h)

"

(45)
(46)

Anexos

extern PACKAGE 'TcLbIS *cl.CfS;

// """" """" """"_"_____________________________"""""""""~

#endif

Código

para presentar

las

gráficas

del ECM en

pantalla

Error Cuadr-itico Medio

-

Gráficas

(EChlgraficos.cpp)

' * * * * * * * * * * * * * * * * f + C * * * * * * * * * * * * * * * * * $ * * * * + * * * * ~ * * ~ * ~ * ~ * ~ ~ * ~ * * * ~ * ~ * * * * ~ * * ~ * * * * ~ '

;ipragma packag~(snlart_lnIt)

*pragma resource "*.dfm" TEC'MGraph *ECXIGraph; extern TcLMS *cLXlS;

-~ fastcall T E C I \ / I G r a p h : . T E C ~ l ~ r a ~ h ( T C o m p o n r n t * 0a.ner)

: TForm(O\r.ner)

I

(47)
(48)

Anexos Programas

(49)

Anexos Programas

(50)

Anexos Programas

TPropertyAttributes -fastcall TWavcInDe\iceIDProperty::Get.Attrlbutes() { TPropcrty.4ttnbutes pa;

pa << paMultlSelect << paValueLlst << paRevertable << p a R e d O n l y ; return pa;

v o ~ d -fastc;\Il TL~'a\.elnDevIceIDPropcrtL. GetValues(C1asses::TGetStrProc Proc)

I GenerateDeLIcel.ist();

for ( l n t I : O ; I.rndc\s ~ I , I- - ) Proc(de1 ~cel_~st->Str~ngs[i]);

I

(51)

Ant:xos Programas

(52)

Anexos Programas

TAudioLlneParameters *asp-(TAudioLineParameters*)(GetOrdValue()); If (asp"NU1,L) throw new asp->Frequency-iFreq; asp->Channels=iChannels; asp->BltsPerSample-iBlts;

Modified();

(53)

Anexos Programas

. . .

I* Realila l a detcrnmlnaclón de l a función que va a a estar en l a interrupclón *I

. . .

__ fastcall 7'Recorder.--TRecorder()

{ Stop(): Destroqtlandle();

If (hControlLl'nd- NULL) D e a l l o c . ~ t e l ~ ~ V n d ( h C o n t r o l ~ ~ ' n d ) ; h C o i l t r o l ~ ~ n d - ~ S U L I ~ ; If (FWaLelnT)e\~ce!-NUl~L) delete FlVavelnDe\lce; FlVavelnDe\lce-NIJLL.;

If(FQuallt>' \ L l , I , ) delete FQuality; FQuallty-NULL.;

I

void "fastcall TRecorder::Xddlnterest(TRecorderNotification ¡e)

{ Int ~pos--l;

for ( i n t ¡=O; i<hlAY-IKTEREST~S, i i - t ) I f (~nterest[~]-=NCLL) ipos-i;

if (~pos---l) return; ~nterest[~pos]z le;

FreeNotificationiEvtraet~otifyStlbJect(1e));

vold - fastcall TRecorder-::Renmo~elnterest(TRecorderNotification ie)

I for ( m t 1-0; I<bfAX-INTEKESTS; I + - & ) If (interest[~]z-=z~e) ~nterest[i]~--NLLL.;

1

I

void -Fdstc:tll 1Recorder Notlficatlon(TC'omponent *XComponent,TOperatlon op)

{ I f ( o p - - 0 p R e r r m e )

I for (Int IFO; I<>l\.1.4XY_INTERESTS; I + ) if ( E u t r a c t N o t ~ f ~ S u b ~ e c t ( ~ n t e r e s t [ i ] ) " X C o m p o n e n t ) ~ n t e r e s t [ i ] - N U l ~ L ~ ;

I

TCornponcnt -Notificatlon(AConmponent,op),

(54)

Anexos Programas

(55)

Anexos Programas

-'e

vold -fastcall TRecorder::Stop()

1 If (FHandle!-NULL) wavelnStop(Hand1e); FlsStarted--faise;

FClveUpTrylng-false;

\.old - fastcall TRecorder -Reset()

{ If (Ftlandle'z-NULL) uaveInReset(Hand1e); FlsStxted-fdse;

FGlvel:pTrylng;false,

I

' * i * * * * t * * * * * * * t * * * * t * * * * * * * * * * * * * t * * * * * * t * * * * * t ~ * * * * * * * * * ~ ~ t ~ * ~ ~ ~ * * * * * * * J

i*Checa SI ya se esta Ilsto para leer el siguiente buffer despues de que la intcrrupclon se

. . .

votd -fastcall TRecorder:ReadyForNextBuffer()

ha actlkado, si no esta llsto regresa una notlficaclón con un fallo *I

If (!lsNe\tBufferReady) return;

mt justDoneBuf-(ne\tBuf-linumnufs)%nilmBufs; Int nowWorklngOnBuf=.nextBuf;

neutBiuf. (nextBuf~tl)%ntlmBufs;

~ a v e l n U n p r e p a r e ~ I e a d e r ( H a r ~ , d l e , 5 t h e a d e r [ n o ~ ~ ~ o r k i n g O n B u ~ , s ~ ~ e o f ( ~ ~ ~ ~ ~ ~ t ~ D R ~ ) ; headerijustDoneRufj.lpData~ &pDu~ustDoneBtlfCsij.eBuF];

h e a d e r ~ u s t n o n s B u f j . d \ ~ B u f f e r L e n g t h ~ s i 7 e headerijustDoneBuq d\\Flags-O;

header~ustDonel3ufl.duLoops~ O;

w a v e l n P r e p ~ ~ r c H e a d t r ( ~ ~ a n d l e , & h e a d e r ~ t ~ s t D o n e B u ~ , s i ~ e o f ( \ ~ A V E ~ l D R ) ) ; w a v e l n . ~ \ d d R u f f e r ( ~ l a ~ l d l e , & h e a d e r ~ u s t D o n e B l t ~ , s ~ ~ e o f ( ~ ' ~ ~ ~ E H D ~ ) ) ;

So. that has dlspatched the one that the mer w a s preL1ously \\orking on

ii nextBuf 1s the one that the computer 1s cur-rently fillmg

li and \ve can now manipulate the data In nevtBt1f.

bData-(LPBYTE)header[no\v\\'orkingOnBufl,lpData;

wData=(LPWORD)header[no~vLf'orkingOnBufl IpData;

BufNumRytes- header[nouL\'orkingOnBufj.dwBytesRecorded;

(56)

Anexos

(57)

Anexos Programas

. ..

vold --fastcall TWa\eVicw:.InterestProc(TObject 'Sender, TRecorderReason rr)

(58)
(59)

Anexos Programas

- property TNotifyEvent Onchange= fread=FOnChange,write:FOnChange/;

public:

- fastcall TAudioI~inePa?~nleters(); - fastcall virtual -TAudioLinePararneters();

ridefine UCLI_BUFS S

=define h l X - I N T E R E S T S 6 class TKecorder,

enum TKecorder Reason Irrnata,rrClose,rrOpen/;

typedcf \.old - - fastcall (---closure *TRecorderUot~ficat~on)(TOb~ect* Scndcr.TRecurderRea~on rr). class TRecorder. public TComponent

(60)

Anexos Programas

void "fastcall virtual Stop(); vold -_.fastcall vlrtual Reset();

If

-property boo1 isStarted- (read--FlsStartcd};

"property H A h D L E h E b e n t - ( r e a d - - F H E v e n t , \ r r I t e ~ S e t ~ ~ ~ ~ e n t ) ;

- property H W A V E I N Handle= iread-GctHandle) ;

I ,

- property boo1 IsNestRufferReady= jread-GetlsNestRufferRea~y~;

vold __ fastcall vlrtual ReadqForScutRuffer(); il to say that you're done wlth the prevlous buffer and are non ready

-p property lnt lData[lnt 11:- (read-GetlDataJ;

B Y T E *bData:

WOKD *\\Data;

rnt ButSumBqtes;

rnt B u ~ u n l S m p l e s ;

I /

\old pfastcall \ ~ r t t ~ a I AddIntercst(TRecordeI-Notificatior1 le);

\,old - -fastcall virtual R c r ~ l o \ e i n t c r e s t ( T R e c ~ ~ d e r ~ o t l ~ c ~ ~ t ~ ~ n ¡ e ) ,

'I

lni -fastcall wrttlal G e t N u m D e \ ~ c e s ( ) ;

boo1 - fastcall virtual lsTh~sQualityPoss~Dle();

boo1 -_fastcall clrtual IsQtralrt~Poss~ble(rnt freq,rnt channels,~nt bits); io use this one Only for threaded model.

- published.

-property TWa\elnDevlcelD * D e c . i c e = - ~ r e a d - F ~ ~ a v e l n ~ c c ~ c e . ~ c r ~ t e - S e t U ' a \ e l n ~ e v ~ c e . n o d e f a u l t j ;

- proper-ty TAudiol.~neParclnleters *QualIty'iread. f.'Quslrty.~~r~te=SetQual~ty,nodefault),

" property Int BtrfSl/e- (read: FSamplesPerntIffer,\\rrte- SctSarnplesPerBuffer,defatrlt=~56~; " property TNotIfyELent OnSampie- ~ r e a d = F O n S a m p l e , ~ c r ~ t e = F O n S ~ m p l e ~ ;

" property unsigned i n t SamplcPos= [readz GetSamplePosl :

- property boo1 4utoS~ar-t-~read--FXt1toStart,\vrite-F.4t~t~St~1~,defat1lt-true~;

1 .

I .

class TWaLeVlew : public TGraphicControl

Figure

figura  18)  a l a   sefial  ~ ( I I ) .   por  tanto  se  ha  identi  ficaclo y- simulado

Referencias

Documento similar

Si el mito en sus orígenes tenía una dimensión anti-castellana/anti-española que servía para legitimar la dinas- tía nacional, portuguesa, de Avis, en esta lectura se busca que el

El arte de versificar en al-An- dalus, antes, durante y después de la época en la que nuestro autor deambulaba por las callejuelas y adarves de la medina cordobesa, nunca vio

Fundación Ramón Menéndez Pidal / Universidad Autónoma de Madrid... Fundación Ramón Menéndez Pidal / Universidad Autónoma

Botton y Cornejo tienen el compromiso de ofrecernos en un próximo libro una visión más profunda y contemporánea de los límites y alcances que para la familia china ha tenido

Este artículo se deriva de la evaluación del Modelo Educativo de la Universidad Autónoma Metropolitana Unidad Cuajimalpa (UAMC), proceso que se llevó a cabo

Bidart Campos cita el siguiente caso de la jurisprudencia argentina: «En 1960, al fallar el caso Mario Martínez Casas, la propia Corte reiteró y es- pecificó su doctrina, que

&#34;Cierto, está escrito en el Código de la Ley Judía que una persona que teme al Cielo debe sentir pena por la destrucción, pero Los Deberes del Corazón ya dijo: 'Hay alegría en

UVEG: 94%) respecto a los varones (Varones: UAEM: 55%; UVEG: 73%) al considerar que es responsabilidad, competencia y función de las universidades formar y educar en el valor de