ESCUEL MILITAR DE INGENIERIA
CODIFICADOR WAV A MP3 EN MATLAB Nombre: Ariel Ortiz Cer! "3##"#$LP 6to Semestre Ingeniería Electronica
CODIFICACIÓN MP3 1. OB OBE! E!I" I"OS OS a. OBE!I"O OBE!I"O #ENE$A% #ENE$A% Pro%r!m!r &' (oi)(!or e' M!tL!b *&e tr!'+,orme
!r(-i.o+ e !&io /0!. ! MP3/ &. OBE!I"O OBE!I"OS S ESPECIFICOS ESPECIFICOS E+t!ble(er 1!r2metro+ e l! (oi)(!(i' MP3/ Ie'ti)(!r lo+ 1ro(e+o+ *&e 'o+ lle.e ! re!liz!r l! (oi)(!(i' MP3/ E+t!ble(er ,&'(io'e+ i'termei!+ el 1ro(e+o/ '. MA$CO MA$CO !EO$I !EO$ICO CO E% ENCABE(ADO DE %AS !$AMAS
No e4i+te e'(!bez!o 1ri'(i1!l e !r(-i.o e' el ,orm!to e !&io MPEG/ E' 5+te el e'(!bez!o e+ i'i.i&!l 1!r! (!! tr!m! 6,r!%me'to e !r(-i.o7/ C&!'o 'o +e *&iere ere leer eer i',orm!(i' e &' !r( !r(-i.o MP38 &+&!lme'te e+ +&)(ie'te e'(o'tr!r l! 1rimer! tr!m!8 leer +& e'(!bez!o 9 !+&mir *&e l!+ otr!+ tr!m!+ +o' i%&!le+/ Pero 5+te 'o e+ +iem1re el (!+o 1or e;em1lo8 e4i+te' !l%&'o+ !r(-i.o+ (o' t!+!+ e bit+ .!ri!ble+8 o'e (!! tr!m! 1o+ee +& 1ro1i! t!+! e bit+/ E+to +e -!(e (o' el )' e m!'te'er (o'+t!'te l! (!li! el +o'io &r!'te too el !r(-i.o/ Otro m5too &+!o 1!r! m!'te'er (o'+t!'te l! (!li! e +o'io e+ em1le!r m2+ bit+ 6(o' 6(o' !9& !9&! ! el el b<,e b<,err bit bit re+er e+er.o .oir ir77 e' l!+ l!+ 1!rt 1!rte+ e+ o' o'e e +e 'e(e+ite/
El e'(!bez!o e l! tr!m! tie'e l! +i%&ie'te 1re+e't!(i'8 (o' l!+ 1o+i(io'e+ 1!r! (!! &'o e lo+ 3$ bit+:
A) syncword . Co' #$ bit+ e lo'%it&8 too+ e' =#= 1!r!
ie'ti)(!r el (omie'zo e l! tr!m!/ B) ID/ U' 6#7 bit &+!o 1!r! ie'ti)(!(i' el !&io/ Siem1re e'
=#=8 1!r! i'i(!r *&e +e tr!t! e !&io MPEG>#/ C) Layer / Do+ 6$7 bit+ &+!o+ 1!r! e+(ri1(i' e l! (!1!/ P!r!
ie' ie'ti ti)( )(!r !r (&2l (&2l e+*& e+*&em em! ! 6l5! 6l5!+e +e (!1! (!1!77 ,&e ,&e &+! &+!o o &r! &r!'te 'te l! (oi)(!(i' el !&io/
D) protection_bit protection_bit / U' 6#7 bit e 1rote((i'/ Si e+t2 e' =?= i'i(!
*&e l! tr!m! e+t2 1rote%i! 1or &' (i%o e re&'!'(i! (@(li(! 1!r! ete((i' e errore+/ errore+/ E) bitrate_index / C&!tro 67 bit+ 1!r! 1ro1or(io'!r el @'i(e e
l! t!+! e bit+8 e !(&ero (o' l! +i%&ie'te t!bl!/
F) sampling_frequency / Do+ 6$7 bit+ *&e i'i(!' l! t!+! e
m&e+treo/
#) padding_bit padding_bit . U' 6#7 bit &+!o 1!r! relle'o/ Si e+t2 e' =#= l!
tr!m! +e relle'! (o' &'! r!'&r! e4tr!/ 'i(!me'te +e &+! 1!r! ,re(&e'(i!+ e /# z/ Por e;em1lo8 &' +o'io #$" b1+ /# z C!1! II &+! m&(-!+ tr!m!+ e #" b9te+ e l!r%o 9 &'!+ 1o(! 1o(!++ e # # b9te b9te++ 1!r! 1!r! (&m1l &m1lir ir e4!(t 4!(t! !me't me'te e l! t!+! t!+! e tr!'+,ere'(i! e #$" b1+/ L! r!'&r! (o'+&me " bit+ 6# b9te7 1!r! l!+ C!1!+ II 9 III/
*) private_bit / U' 6#7 bit 1!r! &+o 1ri.!o/ No +e &+!
%e'er!lme'te/ I) mode/ Do+ 6$7 bit+ *&e i'i(!' el moo e (!'!l8 t!l 9 (omo
+e m&e+tr! ! (o'ti'&!(i'/
E' el moo Stereo i'i(! *&e el (!'!l (om1!rte bit+8 1ero 'o &+! (oi)(!(i' Joint Stereo/ E' el moo Joint Stereo +@ +e +!(! 1ro.e(-o e l! (orrel!(i' e4i+te'te e'tre lo+ o+ (!'!le+ 1!r! re1re+e't!r m2+ e)(ie'teme'te l! +e!l/ El moo Dual Channel e+t2 (o',orm!o 1or o+ (!'!le+ mo'o tot!lme'te
i'e1e'ie'te+ 6(!! &'o e+ &' !r(-i.o e !&io i,ere'te7 (!! (!'!l &+! e4!(t!me'te mei! t!+! e bit+ el !r(-i.o/ L! m!9or@! e lo+ e(oi)(!ore+ lo+ 1ro(e+!' (omo e+t5reo8 1ero 'o e+ +iem1re el (!+o/ Single Channel (o'+i+te e' &' <'i(o (!'!l e !&io/ ) mode_extension/ Do+ 6$7 bit+ i'i(!'o e4te'+i' !l moo
+lo +e &+! e' moo Joint Stereo/ L! e4te'+i' !l moo +e &+! 1!r! i',orm!(i' *&e 'o e+ e 'i'%&'! &tili! e' el e,e(to e+t5reo/ E+to+ bit+ +e etermi'!' i'2mi(!me'te 1or &' (oi)(!or e' el moo Joint Stereo8 9 e+te moo 1&ee (!mbi!r e'tre tr!m!+8 o i'(l&+o +e 1&ee e;!r e &+!r e' !l%&'!+ tr!m!+/ E' l! C!1! III8 e+to+ o+ bit+ i'i(!' *&5 ti1o e (oi)(!(i' Joint Stereo +e e+t2 &+!'o8 I'te'+i! e+t5reo o
E+t5reo MS/ E+t5reo MS +e re)ere ! tr!'+mitir lo+ (!'!le+ 'orm!liz!o+ MiddleSide 6S&m!Di,ere'(i!7
e
lo+
(!'!le+
iz*&iero 9 ere(-o e' l&%!r e lo+ -!bit&!le+ Iz*&ieroDere(-o/ E' el l!o el (oi)(!or lo+ (!'!le+ -!bit&!le+ +e reem1l!z!' &+!'o l! ,rm&l!:
Mi H Mile+ Si H Sie+ Li H Iz*&iero+ Ri H Dere(-o Lo+ .!lore+ M i +e tr!'+mite' 1or el (!'!l iz*&iero 9 lo+ .!lore+ Si +e tr!'+mite' 1or el (!'!l ere(-o/ E' el l!o el e(oi)(!or lo+ (!'!le+ iz*&iero 9 ere(-o +e re(o'+tr&9e' !+@ )
I'te'+i! e+t5reo +e re)ere ! rete'er e' l!+ ,re(&e'(i!+ +&1eriore+ ! $ z +lo l! e'.ol.e'te e lo+ (!'!le+ iz*&iero 9 ere(-o/ El (i%o i'i(! *&e ti1o e e4te'+i' !l moo +e e+t2 &+!'o e l! +i%&ie'te m!'er! )
,) copyrigth/ U' 6#7 bit &+!o 1!r! copyright / Tie'e el mi+mo
+i%'i)(!o *&e el bit e copyright e' CD 9 (i't!+ DAT8 i'i(!r *&e e+ ile%!l (o1i!r el (o'te'io el !r(-i.o +i el bit e+t2 e' =#=/ %) original/copy / U' 6#7 bit &+!o 1!r! i'i(!r +i +e tr!t! e &'
meio ori%i'!l8 +i el bit e+t2 1&e+to e' =#=/ E' =?= i'i(! *&e e+ &'! (o1i! el meio ori%i'!l/ M) emphasis/ Do+ 6$7 bit+ &+!o+ 1!r! i',orm!(i' el 5',!+i+/
Le i'i(! !l e(oi)(!or *&e el +o'io ebe +er re>e(&!liz!o e+1&5+ e &'! +&1re+i' e r&io ti1o Dolby / Se &+! r!r!me'te/
C*E-EO DE E$$O$ES
Si el bit e 1rote((i' e' el e'(!bez!o e+ i%&!l ! =?=8 +e i'(l&9e &' CRC e #J bit+ e+1&5+ el e'(!bez!o/ Si el bit e 1rote((i' e+t2 e' =#=8 'o -!9 (-e*&eo e errore+ 9 e+to+ bit+ 1&ee' +er &+!o+ 1!r! lo+ !to+ e !&io/ El m5too 1!r! ete((i' e errore+ *&e +e &tiliz! e+ CRC>#J8 (&9o 1oli'omio %e'er!or e+)
CRC>#J H 4 K 4 K 4 K # #J
#
$
#$PO MPE# ADIO MPE#
To!+ l!+ 1!rte+ e MPEG># 9 MPEG>$ *&e +e -!' re+e!o (orre+1o'e' ! e+t2'!re+ i'ter'!(io'!le+/ Pero !l !&io +lo (orre+1o'e' l!+ +i%&ie'te+ 1!rte+: l! 1!rte tre+ e !mbo+ e+t2'!re+ 9 l! 1!rte +iete el MPEG>$8 Coi)(!(i' A.!'z!! e A&io 6AAC8 Advanced Audio Coding78 ! l! *&e t!mbi5' +e re)ere' (omo MPEG>$ C!1! o MPEG>$ NBC 6 Non-Backwards Compatible 7 9! *&e e+ i'(om1!tible (o' el MPEG># 9 (o' lo+ otro+ ,orm!to+ el MPEG>$/ L! 1!rte>3 e+t2 or%!'iz!! (omo +e m&e+tr! e' l! +i%&ie'te )%&r!/
E' l! t!bl! *&e +e m&e+tr! ! (o'ti'&!(i'8 +e re+&me' l!+ (!r!(ter@+ti(!+ e (!! 'i.el 1!r! el !&io MPEG>#/
El !&io e lo+ CD=+ 6,re(&e'(i! e /# z8 (oi)(!(i' ! #J bit+8 moo e+t5reo7 re*&iere &'! t!+! e tr!'+,ere'(i! 6!'(-o e b!'!7 m&9 (er(!'o ! #/ Mb1+ )
Slo o(-o +e%&'o+ e !&io (o'+&me' !1ro4im!!me'te #/ MB e e+1!(io e !lm!(e'!mie'to/ Em1le!'o el 1rimer e+*&em! e (oi)(!(i'8 C!1! I8 l! (!li! CD +e !l(!'z! (o' &'! t!+! e !1e'!+ 3" b1+ 5+te ,&e el e+*&em! &+!o e' el DCC 6Digital Compact Cassette8 C!+ete Com1!(to Di%it!l7 e l! )rm! P-ili1+/ El +i%&ie'te e+*&em!8 C!1! II8 lo%r!b! l! (!li! CD (o' !1e'!+ #$ b1+ +& &+o m2+ (om<' ,&e e' e+t!(io'e+ e r!io i%it!l e' Norte!m5ri(!8 o'e +e (o'o(i (omo MUSICAM/ Pero l! 1o1&l!ri! el !&io (om1rimio e41lot (o' l! !1!ri(i' e l! C!1! III el ,!mo+o MP38 *&e +lo 'e(e+it! #$" b1+ 1!r! lo%r!r l! (!li! e !&io e CD/ A+@ *&e &' mi'&to e !&io e !lt! (!li! re*&iere !1e'!+ # MB e e+1!(io e !lm!(e'!mie'to e' J? MB 6l! (!1!(i! e &' CD7 +e 1&ee' !lm!(e'!r -!+t! # -or!+ e m<+i(!/
L!+ 1ri'(i1!le+ i,ere'(i!+ e'tre l!+ tre+ (!1!+ +o': •
El i'(reme'to e' l! (om1le;i! el (oi)(!or 9 el e(oi)(!or 6C!1! I m2+ +im1le8 C!1! III m2+ (om1le;!78 e+1e(i!lme'te .er!ero 1!r! el (oi)(!or e l! C!1! III/
•
El m!9or tiem1o e re+1&e+t! !l -!(er l! e.!l&!(i' el (oi)(!or>e(oi)(!or 6(oe(7/ L! C!1! III (o'+&me m2+ tiem1o 1!r! re!liz!r el 1ro(e+o e %e'er!r 9o leer lo+ &;o+ e bit+ (oi)(!o+/
•
el i'(reme'to e' el e+em1eo 6C!1! I m2+ b!;o8 C!1! III m2+ !lto e+em1eo te'ie'o e' (&e't! *&e l! t!+! e bit+ 1erm!'e(e (o'+t!'te7/ E+ e(ir8 el !&io (oi)(!o ! J b1+ &+!'o el e+*&em! e l! C!1! III tie'e m2+ (!li! *&e +i +e (oi)(! ! J b1+ (o' el e+*&em! e l! C!1! II8 o (o' el e l! C!1! I/
P!r! l! +e%&'! %e'er!(i' e lo+ e+t2'!re+8 MPEG>$8 +e i'tro&;o l! e4te'+i' 1!r! l!+ b!;!+ t!+!+ e m&e+treo8 *&e !1&'t!' ! l!+ !1li(!(io'e+ (o' m&9 b!;! t!+! e bit+ 9 (o' re*&erimie'to+ limit!o+ e !'(-o e b!'! 6l!+ '&e.!+ ,re(&e'(i!+ e m&e+treo +o' #J8 $$/? 9 $ z mie'tr!+ *&e l!+ t!+!+ e bit+ i+mi'&9e' -!+t! " b1+7/ Aem2+ e lo !'terior8 t!mbi5' +e !!i &'! e4te'+i' m<i(!'!l ! l!+ ,re(&e'(i!+ e m&e+treo tr!i(io'!le+ 63$8 /# 9 " z7 (o' (!1!(i! 1!r! (i'(o (!'!le+ 1ri'(i1!le+ e !&io
6iz*&iero8
(e'tro8
ere(-o8 surround iz*&iero
9 surround ere(-o7 o1(io'!lme'te +e 1&ee !!ir &' (!'!l !i(io'!l *&e me;or! l! (!li! e' l!+ b!;!+ ,re(&e'(i!+ *&e m!'e;!' l!+ +e!le+ subwooer / !i(io'!lme'te8 +e i'(l&9 &'! e4te'+i' 1e'+!! 1!r! m# (re!o 1!r! l! C!1! III ebe +er (!1!z e m!'e;!r &;o+ e bit+ (oi)(!o+ (o' lo+ e+*&em!+ e l!+ C!1!+ I 9 II/ ebio ! *&e MPEG>$8 e' +& 1rimer! ,!+e8 &+! l! mi+m! ,!mili! e (oi)(!ore+ 9 e(oi)(!ore+ e !&io8 e'to'(e+ 1&ee e(oi)(!r &;o+ e bit+ MPEG>#8 +i' im1ort!r el e+*&em! 6(!1!7 e (oi)(!(i'/
CODIFICADO$
PSICOAC/S!ICO
U' (oi)(!or 1+i(o!(<+ti(o 1or +&bb!'!+8 el mi+mo ti1o *&e +e &+! e' el !&io MPEG>#8 +e m&e+tr! e' el +i%&ie'te i!%r!m! e blo*&e+/
MPE#01 Caa I. P!r! l! C!1! I8 el blo*&e MAPEO DEL TIEMPO
A LA FRECUENCIA e+ &' b!'(o e )ltro+ 1oli,2+i(o b!+!o e' l! DCT8 el (&!l i.ie el !&io e' 3$ +&bb!'!+ i%&!lme'te e+1!(i!!+ e' ,re(&e'(i! 6e+ e*&i.!le'te ! im1leme't!r )ltro+ 1!+!b!'!78 (!! &'! !1ort!'o #$ m&e+tr!+ 1!r! &' tot!l e 3" m&e+tr!+8 l!+ (&!le+ +e i'(l&9e' e' lo *&e -! re(ibio el 'ombre e TRAMA/ El MODELO PSICOACSTICO +lo &+! e'm!+(!r!mie'to e' ,re(&e'(i!8 1or meio e &'! FFT e #$ 1&'to+/ L! +!li! e l! FFT +e &+! 1!r! e'(o'tr!r t!'to el e'm!+(!r!mie'to to'!l 6+i'&+oi!l7 (omo el 'o>to'!l 6r&io7 e l! +e!l/ C!! (om1o'e'te e e'm!+(!r!mie'to 1ro&(e &' &mbr!l e e'm!+(!r!mie'to e1e'ie'te e +& ,re(&e'(i!8 i'te'+i! 9 to'!li!/ P!r! (!! +&bb!'!8 lo+ &mbr!le+ e e'm!+(!r!mie'to i'i.i&!le+ +e (ombi'!' 1!r! ,orm!r el &mbr!l
e
e'm!+(!r!mie'to
%lob!l/
El
&mbr!l
e
e'm!+(!r!mie'to +e (om1!r! (o' el m24imo 'i.el e +e!l 1!r! l! +&bb!'!8 1ro&(ie'o &'! rel!(i' +e!l ! m2+(!r! 6SMR8 Si%'!l>to>M!+ R!tio78 *&e e+ l! e'tr!! !l +i%&ie'te
blo*&e
6(&!'tiz!or7/
El CUANTIQADORCODIFICADOR 1rimero e4!mi'! l!+ m&e+tr!+ e (!! +&bb!'!8 e'(o'tr!'o el .!lor m24imo !b+ol&to e e+!+ m&e+tr!+8 9 re!liz!'o l! (&!'tiz!(i' (o' +ei+ bit+/ E+to+ +ei+ bit+ +e ll!m!' FACTOR DE ESCALA PARA LA SUBBANDA/ L&e%o +e etermi'! l! re1!rti(i' e bit+ 1!r! (!! +&bb!'! mi'imiz!'o l! SMR tot!l (o' re+1e(to ! lo+ bit+ re1!rtio+ 1!r! (!! +&bb!'!/ Por
1!r!
e+!
+&bb!'!/
El EMPAUETAMIENTO DE TRAMA +e e'(!r%! e ,orm!r &' &;o MPEG .2lio/ C!! tr!m! (omie'z! (o' i',orm!(i' el e'(!bez!o 1!r! +i'(ro'iz!(i' 9 (o'trol8 !em2+ e &' CRC 6Ci%o e Re&'!'(i! C@(li(!7 1!r! ete((i' 9 (orre((i' e errore+/ C!! &'! e l!+ 3$ +&bb!'!+ &+! (&!tro bit+ 1!r! e+(ribir l! re1!rti(i' e bit+ 6'i.el e (&!'tiz!(i'7 9 +ei+ bit+ 1!r! el ,!(tor e e+(!l!/ Lo+ bit+ re+t!'te+ e' l! tr!m! +e &+!' 1!r! l!+ m&e+tr!+ +&bb!'!8 (o' &' e+1!(io o1(io'!l 1!r! i',orm!(i'
e4tr!/
A " z8 (!! tr!m! e' l! C!1! I lle.! i',orm!(i' e " m+ e !&io/ L! (!li! m2+ !lt! +e lo%r! ! 3" b1+/ A1li(!(io'e+ t@1i(!+ e l! C!1! I i'(l&9e' %r!b!(i' i%it!l e' (i't!+8 i+(o+ &ro+ o i+(o+ m!%'eto>1ti(o+8 lo+ (&!le+ +o1ort!' l! !lt! t!+! e bit+/
MPE#01 Caa II. El MAPEO DEL TIEMPO A LA FRECUENCIA e+
el mi+mo e l! C!1! I8 &' b!'(o e )ltro+ 1oli,2+i(o ti1o DCT (o' 3$ +&bb!'!+ 1ero &+! tre+ (o';&'to+ e m&e+tr!+ e' el )ltro 6!'terior8 !(t&!l8 1r4imo7 lo%r!'o 3J m&e+tr!+ 1or +&bb!'! 1!r! &' tot!l e ##$ m&e+tr!+ +&bb!'!/ El MODELO PSICOACSTICO e+ +imil!r !l e l! C!1! I8 1ero &+! &'! FFT e #?$ 1&'to+ 1!r! &'! me;or re+ol&(i' e' ,re(&e'(i!8 9 !!e &' 1o(o e e'm!+(!r!mie'to tem1or!l/ El 1ro(eimie'to e+ i%&!l !l e l! (!1! !'terior 1!r! 1ro&(ir l!+ SMR
1!r!
(!!
&'!
e
l!+
3$
+&bb!'!+/
El CUANTIQADORCODIFICADOR %e'er! ,!(tore+ e e+(!l! e +ei+ bit+ 1!r! (!! +&bb!'!8 i%&!l *&e e' l! C!1! I/ Si' emb!r%o8 l!+ tr!m!+ e l! C!1! II +o' tre+ .e(e+ m2+ l!r%!+ *&e !*&ell!+ e l! C!1! I8 !+@ *&e l! C!1! II 1ermite tre+ ,!(tore+ e e+(!l! +&(e+i.o+ 1!r! (!! +&bb!'!8 9 el (oi)(!or &+! #8 $ o lo+ 3 ,!(tore+8 e1e'ie'o e (&2'to i)er!' e'tre +@/ De e+t! m!'er! +e lo%r!8 e' 1romeio8 re&(ir ! l! mit! l! (!'ti! e bit+ *&e +e &+!' 1!r! lo+ ,!(tore+ e e+(!l!8 e' (om1!r!(i' (o' el (o'+&mo e bit+ 1!r! lo+ ,!(tore+ e e+(!l! &+!o (o' el e+*&em! e l! C!1! I/ L! re1!rti(i' e bit+ +e (om1&t! e m!'er! +imil!r ! l! re1!rti(i' *&e +e re!liz! e' l! C!1! I/ El EMPAUETAMIENTO DE TRAMA &+! l! mi+m! e+tr&(t&r! e e'(!bez!o 9 CRC e l! C!1! I/ Si' emb!r%o8 el '
&+!o+ 1!r! e+(ribir l! re1!rti(i' e bit+ .!r@! (o' l! +&bb!'!: (&!tro 67 bit+ 1!r! l!+ +&bb!'!+ b!;!+8 tre+ 637 bit+ 1!r! l!+ +&bb!'!+ mei!+ 9 o+ 6$7 bit+ 1!r! l!+ +&bb!'!+ !lt!+ 6ebio ! *&e +e tie'e e' (&e't! el !'(-o e l!+ b!'!+ (r@ti(!+7/ Lo+ ,!(tore+ e e+(!l! 6#8 $ 3 e1e'ie'o e lo+ !to+7 +e (oi)(!' ;&'to (o' &' (i%o e $>bit+ *&e e+(ribe (&2l (ombi'!(i' e ,!(tore+ e e+(!l! +e e+t2 &+!'o/ L!+ m&e+tr!+ +&bb!'! +o' (&!'tiz!!+ e !(&ero ! l! re1!rti(i' e bit+8 9 l&e%o (ombi'!!+ e' %r&1o+ e tre+ 6ll!m!o+ %r2'&lo+7/ C!! %r2'&lo +e (oi)(! (o' &' (i%o e+1e(i!l/ E+to 1ermite ! l! C!1! II (!1t&r!r m&(-! m2+ i',orm!(i' irrele.!'te e'
l!
+e!l8
e'
(om1!r!(i'
(o'
l!
C!1!
I/
A " z8 (!! tr!m! e' l! C!1! II lle.! $ m+ e !&io/ L! (!li! m2+ !lt! +e !l(!'z! ! t!+!+ e $J b1+8 !&'*&e ! J b1+ tie'e &' 'i.el !(e1t!ble/ L!+ !1li(!(io'e+ e e+t! (!1! i'(l&9e' r!ioi,&+i' e !&io8 %r!b!(i' 1ro,e+io'!l 9 m<imei!/
MPE#01 Caa III. L! C!1! III e+ m&(-o m2+ (om1le;! *&e l!
C!1! II/ U+! &' b!'(o e )ltro+ -@brio (o'm&t!o 6(o',orm!o 1or &' )ltro 1oli,2+i(o DCT +imil!r !l e l! (!1! II 9 1or &'! tr!'+,orm!(i' MDCT7 *&e !9&! ! i'(reme't!r l! re+ol&(i' e' ,re(&e'(i!8 1ermitie'o i.iir el !&io e' b!'!+ *&e +e !;&+t!' ! l!+ b!'!+ (r@ti(!+ el o@o 6'o -!9 i%&!l e+1!(i!mie'to e'tre +&bb!'!+7/ 1+i(o!(<+ti(o *&e i'(l&9e lo+
Em1le! e,e(to+
&' moelo tot!le+ el
e'm!+(!r!mie'to t!'to e' l! ,re(&e'(i! (omo e' el tiem1o/ Utiliz! &' +o)+ti(!o e+*&em! e (oi)(!(i' 1or e'tro1@! 9 (&!'tiz!(i' 'o &'i,orme o'e +e i'.ol&(r!' l! re&'!'(i! e+t5reo 9 lo+ (i%o+ e &m!'8 1ermitie'o (re!r tr!m!+ e lo'%it& .!ri!ble/ El em1!*&et!mie'to e tr!m! i'(l&9e el bit re+er.oir8 *&e 1ermite &+!r m2+ bit+ e' 1!rte+ e l! +e!l *&e lo 'e(e+ite'/ Aem2+8 1ermite !lt! (!li! e' el !&io ! t!+!+ t!' b!;!+ (omo J b1+/ #$PO MPE# ES!2NDA$ES MPE#01 MPE#0' Est4n5ar MPE#01. El e+t2'!r i'ter'!(io'!l ISOIEC ###$8
m2+ (o'o(io (omo MPEG># 6Coi)(!(i' e im2%e'e+ e' mo.imie'to
9
el
!&io
!+o(i!o
1!r!
meio+
e
!lm!(e'!mie'to i%it!l ! &'! t!+! (er(!'! ! #/ Mb1+7 e+t2 i.iio e' l!+ +i%&ie'te+ 1!rte+ )
Parte 1 Sistema) +e re)ere !l 1roblem! e (ombi'!r &'o o
m2+ &;o+ e !to+ 1ro.e'ie'te+ e l! 1!rte e !&io o .ieo8 i'(l&9e'o i',orm!(i' e tem1oriz!(i' 9 +i'(ro'iz!(i' 1!r!
lo%r!r &' &;o <'i(o e !to+8 !1ro1i!o 1!r! +er !lm!(e'!o o tr!'+mitio/ Parte ' "i5eo) e+1e(i)(! &'! re1re+e't!(i' (oi)(!! *&e
1&ee +er &+!! 1!r! (om1rimir +e(&e'(i!+ e .ieo 6t!'to e J$ (omo e $ l@'e!+ e ,re(&e'(i!7/ Parte 3 A75io) e+(ribe l! re1re+e't!(i' (oi)(!! *&e
1&ee &+!r+e 1!r! (om1rimir +e(&e'(i!+ e !&io 6e' mo'o8 o e' e+t5reo7/ Parte 8 Pr7e&as) tr!t! el i+eo e l!+ 1r&eb!+ *&e .eri)(!'
+i el &;o e bit+ 9 lo+ e(oi)(!ore+ (&m1le' (o' lo+ re*&erimie'to+ 9 e+1e(i)(!(io'e+ !!+ e' l!+ 1!rte+ #8 $ 9 3/ Parte 9 Sim7laci:n) 'o +e tr!t! e &' e+t2'!r8 +i'o e &'
re1orte t5('i(o 1ro1or(io'! im1leme't!(i' (om1let! 1or +o,t0!re e l!+ tre+ 1rimer!+ 1!rte+ el e+t2'!r MPEG>#/
Est4n5ar MPE#0'. N&mer!o e m!'er! ,orm!l (omo ISOIEC
MPEG #3"#" 6Coi)(!(i' %e'5ri(! 1!r! i',orm!(i' e im2%e'e+ e' mo.imie'to 9 el !&io !+o(i!o78 ,&e !o ! (o'o(er e' #8 t!' +lo &' !o e+1&5+ el 1rimer e+t2'!r8 9 +e e'(&e'tr! (o'+tit&io 1or m2+ 1!rte+ *&e el e+t2'!r !'terior/
El e+t2'!r e' +& 1rimer! ,!+e ,&e &'! +im1le e4te'+i' e' l!+ (!1!(i!e+ e (om1re+i' 9 (oi)(!(i' el 1rimer e+t2'!r8 mie'tr!+ *&e e' l! +e%&'! +e e+!rroll!ro' '&e.o+ !l%oritmo+ *&e im1li(!b!' i,ere'te+ m5too+ 1!r! re!liz!r l! (om1re+i' t!'to e .ieo (omo e !&io8 1ero e' e+te 1&'to +e +!(ri)( l! (om1!tibili! (o' el e+t2'!r !'terior e' !l%&'!+ 2re!+/ L! +i%&ie'te t!bl! ! &'! .i+i' %e'er!l e l!+ i,ere'te+ 1!rte+/
Parte 1 Sistema) e+ +imil!r !l 1rimer e+t2'!r8 re!liz! l!
mi+m! ,&'(i'8 1ero !*&@ l! re!liz! e o+ m!'er!+ i,ere'te+8 el &;o e 1ro%r!m! 9 el &;o e tr!'+1orte8 (!! &'o o1timiz!o 1!r! i,ere'te+ (o';&'to+ e !1li(!(io'e+/ El &;o e 1ro%r!m! +e 1e'+ 1!r! !mbie'te+ libre+ e errore+ 9 e+ !1ro1i!o 1!r! !1li(!(io'e+ *&e i'.ol&(re' 1ro(e+!mie'to 1or +o,t0!re8 mie'tr!+ *&e el &;o e tr!'+1orte +e &+! 1!r! !lm!(e'!mie'to o tr!'+mi+i' e' meio+ *&e 1re+e'te' r&io 9 15ri!+/
Parte ' "i5eo) me;or! l!+ (!1!(i!e+ 1!r! (om1re+i' e
.ieo
el
e+t2'!r
!'terior/
Parte 3 A75io) !em2+ e !%re%!r (!1!(i! m<i(!'!l8
t!mbi5' 1ro1or(io'! (!1!(i! 1!r! m
!
l!
1!rte
3
el
MPEG>#/
Parte 8 Pr7e&as) (orre+1o'e (o' l! 1!rte el MPEG>#/ Parte 9 $eorte) (orre+1o'e (o' l! 1!rte el MPEG>#/ Parte 6 Me5ios 5e Almacenamiento Digital Coman5o ; Control) e+1e(i)(! &' (o';&'to e 1roto(olo+ *&e 1ro1or(io'!'
l!+ ,&'(io'e+ 9 o1er!(io'e+ e (o'trol 1!r! m!'e;!r lo+ &;o+ e bit+ MPEG># 9 MPEG>$/ P!rte 8 AAC) +e tr!t! e &' !l%oritmo e (oi)(!(i' e !&io m<i(!'!l8 i'(om1!tible (o' l! 1!rte 3 e MPEG># 9 MPEG>$/ Parte < $!I) ! e+1e(i)(!(io'e+ !(er(! e l! i'ter,!(e e'
tiem1o re!l 1!r! lo+ e(oi)(!ore+ el &;o e tr!'+1orte 6(orre+1o'ie'te ! l! 1!rte #7 9 +e 1&ee !!1t!r 1!r! +& &+o e' to!+ l!+ ree+ *&e tr!'+1orte' &;o+ e e+te ti1o/ Parte 1= Pr7e&as 5el DSM0CC) (o'+ier! l!+ 1r&eb!+ *&e
ebe' +er re!liz!!+ 1!r! .eri)(!r el (orre(to ,&'(io'!mie'to
e l! 1!rte J 6DSM>CC8 Meio+ e Alm!(e'!mie'to Di%it!l> Com!'o 9 Co'trol7/
CODIFICACIÓN MP3 %A CAPA III
El i'+tit&to Fr!&'-o,er IIS 6 !nstitut "r !ntegrierte Schaltungen8 I'+tit&to 1!r! el Cir(&ito I'te%r!o78 e Alem!'i!8 e' &'o e +&+ %r&1o+ e tr!b!;o +e (o'(e'tr! e' l! tr!'+mi+i' i'!l2mbri(! e !to+ 9 e' l! (oi)(!(i' e l!+ +e!le+ e !&io 9 .ieo/ E' #"8 e+te i'+tit&to ,orm! 1!rte el 1ro9e(to EUREA EU#8 RADIODIFUSIN DE AUDIO DIGITAL8 9 em1iez! ! e+!rroll!r i'.e+ti%!(io'e+ +obre (oi)(!(i' e !&io 1er(e1t&!l/ E' (oo1er!(i' (o';&'t! (o' l! U'i.er+i! e Erl!'%e' 6el 1ro,e+or Dieter Seitzer78 el i'+tit&to Fr!&'-o,er )'!lme'te ie &' !l%oritmo m&9 1oero+o *&e +e (o'.irti e' e+t2'!r i'ter'!(io'!l (omo ISOIEC MPEG A&io8 C!1! III 6ISOIEC ###$> 38 C!1! III7/ E' l! +i%&ie'te t!bl! +e m&e+tr!' !l%&'o+ !to+ el e+em1eo e e+te !l%oritmo )
! *&e 5+t! e+ l! (!1! *&e (orre+1o'e !l ,orm!to MP38 +e i'te't!r2 !r &'! me;or e+(ri1(i' e l! m!'er! e' *&e +e re!liz! el 1ro(e+o 1!r! %e'er!r &;o+ e !&io MP3 .2lio+/ E' l! +i%&ie'te )%&r! +e m&e+tr! &' i!%r!m! e' blo*&e+ m2+ et!ll!o el (oi)(!or 1+i(o!(<+ti(o *&e +e &+! e' l! C!1! III/
E' re+&me'8 el 1ro(e+o e+ el +i%&ie'te ) el &;o e !&io ! l! e'tr!! 1!+! ! tr!.5+ e &' b!'(o e )ltro+ *&e i.ie l! +e!l e' m
!'2li+i+ 1+i(o!(<+ti(o *&e etermi'! el r&io 6l5!+e i+tor+i' 1ermiti!7 e' (!! +&bb!'!/ L! et!1! REPARTICIN DE RUIDO &+! l!+ i+tor+io'e+ 1ermiti!+ 1!r! e(iir (mo i.iir el '
El
%as tramas 5e a75io. El !&io e' &' &;o MPEG># e+t2
or%!'iz!o e t!l m!'er! *&e (!! ,r!%me'to el !&io (oi)(!o 6ll!m!o tr!m!7 +e! e(oi)(!ble 1or +@ mi+mo8 (o' &'! 1o+ible e4(e1(i' 1!r! l! C!1! III/ L! tr!m! e+t2 (o'+tit&i! 1or l!+ m&e+tr!+ e !&io 9 1or l! i',orm!(i' +e(&'!ri!/ E+t!
A l! +!li! el b!'(o e )ltro+ 1oli,2+i(o8 l!+ m&e+tr!+ e !&io +e i.ie' 1or +&bb!'!+ e l! m!'er! mo+tr!! e' l! +i%&ie'te )%&r!/ Como +e .e8 (!! +&bb!'! !1ort! #$ m&e+tr!+ 1!r! &' tot!l e 3" m&e+tr!+ e !&io8 e' l! C!1! I mie'tr!+ *&e 1!r! l! C!1! III8 (!! +&bb!'! !1ort! 3J m&e+tr!+ e !&io 1!r! &' tot!l e ##$ m&e+tr!+ +&bb!'! 1or tr!m!/
U'! tr!m! e+ &' blo*&e e !to+ (o' +& 1ro1io e'(!bez!o e i',orm!(i' e !&io/ E' el (!+o e l!+ C!1!+ I II8 l!+ tr!m!+ +o' eleme'to+ tot!lme'te i'e1e'ie'te+8 !+@ *&e +e 1&ee e4tr!er (&!l*&ier ,r!%me'to e !to+ el !r(-i.o MPEG 9
e(oi)(!rlo (orre(t!me'te/ Si' emb!r%o8 e' el (!+o e l! C!1! III8
l!+ tr!m!+ 'o +o' tot!lme'te i'e1e'ie'te+ +iem1re) ebio !l 1o+ible &+o el bit reservoir 8 *&e e+ &'! e+1e(ie e b<,er8 l!+ tr!m!+ +o' ! me'&o e1e'ie'te+ &'!+ e otr!+/ E' el 1eor (!+o8 +e 1&ee' 'e(e+it!r -!+t! '&e.e tr!m!+ !'te+ e 1oer re!liz!r l! e(oi)(!(i' e &'! +ol!/ L! +i%&ie'te )%&r! 1&ee +er.ir (omo ie! %e'er!l/
m!i'!t!be%i' e+ &' 1&'tero e !;&+te 'e%!ti.o8 i'(l&io e'tro e l! i',orm!(i' +e(&'!ri!8 *&e i'i(! el i'i(io e l! i',orm!(i' e !&io e'tro e (!! tr!m!/ Por e;em1lo8 m!i'!t!be%i' e+ i%&!l ! (ero8 i'i(!'o *&e lo+ !to+ e !&io em1iez!' i'mei!t!me'te e+1&5+ e l! i',orm!(i' +e(&'!ri!/ P!r! i'i(!r *&e el !&io e l! tr!m! +e i'i(i! e' l! tr!m! 8 +e e+1e(i)(! m!i'!t!be%i' (omo &' !;&+te 'e%!ti.o *&e i'i(! el e+1l!z!mie'to e' b9te+ -!(i! l! iz*&ier! 1!r! e'(o'tr!r el 1rimer !to e !&io e l! tr!m! /
E' el e;em1lo +e .e (omo (!! tr!m! 1ermite el &+o el bit reservoir / E' el (!+o e l! tr!m! 8 el 1ro(e+o em1iez! (oi)(!'o l! i',orm!(i' e !&io e +& 1ro1i! tr!m! (omo lo+ !to+ re*&iere' m&9 1o(o+ bit+8 9 l! tr!m! J te'@! e+1!(io i+1o'ible8 e'to'(e+ too+ lo+ !to+ e !&io e l! tr!m! +e i'(l&9e' e' l! tr!m! J8 1ero l! tr!m! J +i%&e (o' e+1!(io 1!r! bit re+er.oir8 *&e +e &+! 1!r! !to+ e l! tr!m! " 1or lo *&e %r!(i!+ !l bit re+er.oir8 l! tr!m! J i'(l&9e lo+ !to+ e !&io e tre+ 637 tr!m!+: l!+ tr!m!+ J8 9 "/ El !&io e l! tr!m! " +e re1!rte e'tre l!+ tr!m!+ J 9 +i' emb!r%o8 5+te 'o !l(!'z! ! o(&1!r too el e+1!(io i+1o'ible e' l! tr!m! 8 !+@ *&e el bit re+er.oir e l! tr!m! +e &+! 1!r! l! tr!m! 8 9 !+@ +&(e+i.!me'te8 te'ie'o e' (&e't! *&e lo+ !to+ e !&io e &'! etermi'!! tr!m! 'o 1&ee' e+t!r e+1l!z!o+ m2+ e '&e.e 67 tr!m!+/ E+te (!+o 1&ee o(&rrir e' &'! +e!l e !&io MPEG># e+t5reo8 +i l! ,re(&e'(i! e m&e+treo e+ " z 9 l! t!+! e tr!'+,ere'(i! e+e!! e+ 3$ b1+/ E' e+te (!+o8 (!! tr!m! (o'+&me J" bit+8 o'e 3? bit+ 63$ bit+ 1!r! el e'(!bez!o8 #J bit+ 1!r! el (-e*&eo e errore+8 $J bit+ 1!r! l! i',orm!(i' +e(&'!ri!7 +o' );o+/ Por lo t!'to8 *&e!' J bit+ i+1o'ible+ 1!r! lo+ !to+ (oi)(!o+ (o' &m!'8 9 ebio ! *&e el .!lor e m!i'!t!be%i' 1&ee !1&'t!r m24imo ## b9te+ 6?"" bit+7 -!(i! !tr2+8 e'to'(e+ e+ 1o+ible *&e m!i'!t!be%i' !1&'te +obre m2+ e o(-o 6"7 tr!m!+ 6'o +e (&e't! 'i'%&'o e lo+ bit+ &+!o+ 1!r! el e'(!bez!o 9 l! i',orm!(i' +e(&'!ri! e 'i'%&'! tr!m!7/
T!mbi5' e+ im1ort!'te me'(io'!r *&e el bit re+er.er +lo 1&ee ori%i'!r+e e tr!m!+ *&e 9! -!' +io (oi)(!!+ 1!r! e+te b<,er 'o e+ 1o+ible &+!r tr!m!+ 1!r! l!+ *&e to!.@! 'o +e -!9! -e(-o l! re1!rti(i' e lo+ bit+ i+1o'ible+ 6re1!rti(i' e r&io7/ El ,orm!to *&e tie'e (!! tr!m! +e m&e+tr! e' l! +i%&ie'te )%&r!8 e' l! (&!l +e 1&ee .er el e'(!bez!o e tr!m! *&e 1o+ee 3$ bit+ 6(&!tro b9te+7 e lo'%it& lo+ 1rimero+ #$ bit+ +iem1re +e 1o'e' e' =#=8 +e ll!m!' )*AM+ S,NC8 9 +e &+!' 1!r! +i'(ro'iz!(i' e l! tr!m!/
L!+ tr!m!+ 1&ee' te'er o1(io'!lme'te &' CRC 1!r! (-e*&eo e errore+/ S& lo'%it& e+ e #J bit+8 9 +i e4i+te8 +e 1o'e e+1&5+ el e'(!bez!o/ Vol.ie'o ! (!l(&l!r el CRC +e 1&ee (om1rob!r +i l! tr!m! -! +io !lter!! &r!'te l! tr!'+mi+i' el &;o e bit+ e !&io MP3/ A (o'ti'&!(i' +i%&e l! i',orm!(i' +e(&'!ri! 6 Side !normation7 *&e i'i(! (mo +e re!liz l! (oi)(!(i'8 9 1or lo t!'to8 (mo ebe re!liz!r+e l! e(oi)(!(i'/ E' el
data78
re1!rtio+
e'tre
o+
6$7
%r2'&lo+/
De'tro e l! i',orm!(i' +e(&'!ri!8 *&e &+! #3J bit+ e' moo mo'o,'i(o 9 $J bit+ e' lo+ otro+ moo+8 +e i'(l&9e el m!i'!t!be%i'8 *&e e+ el 1&'tero 9! .i+to/ Lo+ bit+ 1ri.!o+ e+t2' ! i+1o+i(i' el &+&!rio/ De+1&5+ .ie'e l! i',orm!(i' *&e i'i(! (&2l (ombi'!(i' e ,!(tore+ e e+(!l! +e e+t2 &+!'o 6+(,+i8 scaleactor selection inormation7/ Lo+
Convierte un archivo de sonido WAV de Microsoft, en un archivo de
%
sonido MP3, de acuerdo a las especificaciones dadas en el estándar
%
IS!I"C ###$23.
% %
"l archivo WAV de&e ser 'onof(nico, con frecuencia de 'uestreo i)ual
%
a **#++ - en for'ato PCM.
% %
"l archivo resultante es creado con el 'is'o no'&re del archivo WAV
%
ori)inal, está codificado en for'ato MP"/# Capa III, con las
%
si)uientes caracter0sticas1
% %
asas de transferencia 45...32+ 6&ps.
%
7recuencia de 'uestreo **#++ -.
%
Modo Monof(nico.
% %
8oticia 9e)al1
%
"l estándar IS!I"C ###$23 es propiedad de la r)ani-aci(n
Internacional %
para la "standari-aci(n IS. odos los derechos reservados.
clear all clc disp:; ;< disp:;
C=I7ICA=> MP3 "8 MA9A?;<
disp:; ;< disp:;
"ste pro)ra'a convierte un archivo de sonido WAV de Microsoft,
en un;< disp:;
archivo de sonido MP3, de acuerdo a las especificaciones dadas
en el;< disp:;
estándar internacional IS!I"C ###$23.;<
disp:; ;< disp:;
"l archivo WAV de&e ser 'onof(nico, con frecuencia de 'uestreo
i)ual;< disp:;
a **#++ - en for'ato PCM.;<
disp:; ;< disp:;
"l archivo resultante es creado con el 'is'o no'&re del archivo
WAV;< disp:;
ori)inal, está codificado en for'ato MP"/# Capa III, con
las;< disp:;
si)uientes caracter0sticas1;<
disp:; ;< disp:;
asas de transferencia 45...32+ 6&ps.;<
disp:;
7recuencia de 'uestreo **#++ -.;<
disp:;
Modo Monof(nico.;<
disp:; ;< disp:; ;<
% =eclaraci(n de varia&les )lo&ales, las cuales son1 % @1 ?fer 7I7 del filtro su&&anda. % @>1 Vector de 'uestras su&&anda. % )r1 /ránulo :escalar<. % B'in1 Vector de distorsiones per'itidas. % scalefacl1 Vector Due contiene los factores de escala para &loDues lar)os. % &instr1 Cadena de caracteres, en la cual se al'acenan todos los datos del %
archivo MP3 :en for'ato &inario< Due de&en ser escritos en el
disco %
duro.
)lo&al @ @> )r B'in scalefacl &instr % Iniciali-a el &fer 7I7 :vector @< del filtro su&&anda para el análisis. % Iniciali-a la 'atri- S Due al'acena los valores del filtro su&&anda. @ -eros:#,E#2
error:fserror<
end % Si el archivo no es 'onof(nico, se procesa el canal i-Duierdo. if SIK:2< 2
Jarnin):;"l archivo WAV es estereof(nico, se procesará el canal
i-Duierdo.;< end % Asi)na la tasa de transferencia. disp:; ;< disp:;9as si)uientes tasas de &its están disponi&les :en 6&ps<1;< disp:;45, ##2, #2N, #5+, #42, 22*, 2E5, ( 32+;< tasa input:;In)rese la tasa de &its deseadaGn;
&itrateindeB #3F auste 3F a)) $F case 32+ &itrateindeB #*F auste 3F a)) $F otherJise
error:H;9a tasa de &its esco)ida :;, nu'2str:tasa<,; 6&ps< no es
soportada.;< end % Asi)na el tie'po de codificaci(n. 'aBrsi-e fiB:SIK:#
nu'2str:se)<,; se).<Gn:"8"> para codificar todo el
archivo<.Gn;
error:;9a cantidad de tie'po es insuficiente;<
elseif rsi-e U 'aBrsi-e
Jarnin):H;"l archivo WAV s(lo dura ;, nu'2str:se)<,... ; se)undos, procesando todo el archivo.;<
rsi-e 'aBrsi-eF end disp:;a, espere unos 'inutos...;< % Car)a las ta&las necesarias para el análisis psicoacstico. HA,MAP,"S '&rala&solutoF 9?C 9i'ites&andacriticaF % Car)a las ta&las necesarias para los c(di)os de uff'an. % a&las A ? para los cuádruplos count#, proporcionadas % por el estándar IS ###$23. ta&la+ H# * * E * 5 E 5 * E E 5 E 5 5 5F % hlen. # E * E 5 E * * $ 3 5 + $ 2 3 #F % hcod en for'ato deci'al. ta&la# Hones:#,#5
#E1#1+F % hcod en for'ato deci'al.
% Car)a los coeficientes de la ventana del análisis :vector C<. load:;Ci.'at;< % a&la de las &andas del factor de escala :Para &loDues lar)os **.# -<. S7? H# 2 3 * E 5 $ N 4 #+ ## #2 #3 #* #E #5 #$ #N #4 2+ 2#F * * * * * * 5 5 N N #+ #2 #5 2+ 2* 2N 3* *2 E+ E* $5F # E 4 #3 #$ 2# 2E 3# 3$ *E E3 53 $E 4# ### #3E #53 #4$ 234 2N4 3*3F * N #2 #5 2+ 2* 3+ 35 ** E2 52 $* 4+ ##+ #3* #52 #45 23N 2NN 3*2 *#NF % a&la para scalefacco'press. S7C H+ + + + # # # # 2 2 2 2 3 3 3 3 * * * *F % slen#. + # 2 3 + # 2 3 + # 2 3 + # 2 3 + # 2 3F % slen2. + # 2 3 E E 5 $ N N 4 #+ * ## #2 #3 #* #* #* #EF % scalefacco'press. % Calcula el n'ero pro'edio de &its disponi&les para 'aindata, por )ránulo % :sin incluir el &itreservoir<. % Iniciali-a las varia&les usadas para el control del for'ato. init'ean&its fiB:tasaQ#+++Q:##E2!**#++
&itreservoir +F paddin)&it +F rest +F % Iniciali-aci(n de varia&les para el for'ato del fluo de &its, de acuerdo con % la tasa de &its esco)ida. Se iniciali-an1 % 'aindata&e)in1 Indica d(nde e'pie-an los datos principales de la pri'era tra'a. % '&r1 MáBi'o per'itido para &itreservoir. % ''d&1 MáBi'o per'itido para 'aindata&e)in. % 'dt1 Cantidad 'áBi'a de &its para 'aindata, por tra'a. 'aindata&e)in +F if tasa 45 Y ##2 Y #2N Y #5+ '&r init'ean&itsQ2F else '&r *+NNF end ''d& '&r!NF 'dt init'ean&itsQ2F % Ciclo Principal. Anali-a )rupos de ##E2 'uestras PCM. % Cada )rupo se convierte en una tra'a MP3. for a #1##E21rsi-e, % Al'acena los lti'os E$5 valores de la tra'a anterior :'atri- S<. E$5 S:#4135,1einicia la 'atri- del filtro su&&anda para cada )ránulo. M=C HF % >einicia la 'atri- M=C. sste'const NF % >einicia el valor de la constante del siste'a. % 9ee el valor de ##E2 'uestras PCM desde el archivo de audio WAV. "8 Javread:archivo,Ha aX##E#
% >eali-a un análisis 77 para calcular la densidad espectral de potencia. 7 Analisisfft:"8educe las co'ponentes en'ascarantes1 eli'ina todas las co'ponentes % en'ascarantes irrelevantes. H?S>,9>,98> >educcion:9,98,?S,A,MAP,98>,A,MAPA= S??A8=A, Parte #. % 7iltrado su&&anda para el análisis. "n la capa III se o&tienen 35 % 'uestras su&&anda consecutivas en el tie'po para cada una de las % 32 su&&andas :'atri- S de ##E2 valores<. for & #1321##E2, S HSF 7iltrosu&&anda:"8:&1&X3#<,C<F end %%% A8Z9ISIS PSICAC[SIC :Modelo I<, Parte 2. % 9os si)uientes pasos no se reali-an para la Capa III, por lo tanto, han sido
% desactivados. Pueden ser usados por cualDuier persona interesada en el proecto, % para a'pliar el codificador a las Capas I !o II. % Calcula los factores de escala. %7=" 7actoresescala:S 8PS"MF for )r #12, %%% 7I9>A= S??A8=A, Parte 2. % Calcula la M=C con E+% de solapa'iento. for s& #132, M=C HM=CF ransfdiscretacoseno:S,E$5,s&,)r<F end % >educe el aliasin) introducido por el E+% de solapa'iento de la M=C. @> Aliasin):M=C:#XE$5Q:)r#<1E$5Q)r<
% defecto. Si se trata del pri'er )ránulo, entonces se procesa el % se)undo )ránulo. Si está procesando el se)undo )ránulo, entonces % la eecuci(n contina en la etapa de for'ato. if @> +, scalefacscale:)r< +F scalefacl:1,)r< -eros:2#,#
% &its de los per'itidos para ser codificado, repite el ciclo internoF % hasta Due la cantidad disponi&le de &its sea suficiente para codificar % el espectro cuanti-ado :vector I@<. HI@:1,)r<,IS:1,)r<,S:1,1,)r<,overall&itsu',count#ta&leselect:)r<,... &i)values:)r<,re)ion+count:)r<,re)ion#count:)r<,ta&leselect:)r,1<,... DDuant,Duantanf,rl&:)r,1<,count#:)r<,fe:)r,1<,ff:)r,1< ...
Ciclointerno:@>,sste'const,S7?
HI@:1,)r<,IS:1,)r<,S:1,1,)r<,overall&itsu',count#ta&leselect:)r<,... &i)values:)r<,re)ion+count:)r<,re)ion#count:)r<,ta&leselect:)r,1<,...
DDuant,Duantanf,rl&:)r,1<,count#:)r<,fe:)r,1<,ff:)r,1<
...
Ciclointerno:@>,sste'const,S7?
ciclosF % si al)una de ellas se cu'ple, la eecuci(n de los ciclos se detiene % los datos o&tenidos hasta ese 'o'ento son usados para la etapa de % for'ato. H@7S7,prefla) CicloeBterno:S7?,I@:1,)r<,DDuant,Duantanf,...
scalefacscale:)r<
cheDuean
% las condiciones para ter'inar los ciclos. "n el caso de Due las % condiciones para ter'inaci(n de los ciclos no se cu'plan, entonces se % repite el ciclo interno. Jhile len)th:find:B'in T @7S7<< U +, % CheDuea si todas las &andas del factor de escala a han sido a'plificadas, % en cuo caso se ter'inan los ciclos. if len)th:find:scalefacl:1,)r< +<< 2# &rea end % CheDuea el 'áBi'o de los factores de escala, teniendo en cuenta % el ca'po scalefacscale. if :'aB:scalefacl:#1##,)r<<#E Y 'aB:scalefacl:#212#,)r<<$<... ^ scalefacscale:)r< + % scalefacscale se pone en ;#; scalefacl se pone en ;+;. scalefacl:1,)r< -eros:2#,#
DDuant,Duantanf,rl&:)r,1<,count#:)r<,fe:)r,1<,ff:)r,1<
Ciclointerno:@>,sste'const,S7?
HI@:1,)r<,IS:1,)r<,S:1,1,)r<,overall&itsu',count#ta&leselect:)r<,... &i)values:)r<,re)ion+count:)r<,re)ion#count:)r<,... ta&leselect:)r,1<,DDuant,Duantanf,rl&:)r,1<,count#:)r<,... fe:)r,1<,ff:)r,1< Ciclointerno:@>,sste'const,S7?
scalefacscale:)r<
:especial'ente % usado s(lo para este cálculo<. % I@//1 I@ para )lo&al)ain. I@// :a&s:@>:D<
:*!3<<
iic:*#41E$5<*.Qlo)2:a&s:@>:*#41E$5<<.QifDstep.!a&s:I@//:*#41E$5<<._:*!3<
% Por lti'o, calcula )lo&al)ain. )lo&al)ain:)r< round:'ean:iic<
slen#:)r< 2F slen2:)r< #F end if scalefacco'press:)r< #* slen#:)r< *F slen2:)r< 2F end % Calcula la cantidad total de &its Due usa el espectro cuanti-ado % :vector I@ 'ás los factores de escala<, se deter'ina cuántos &its % Duedan disponi&les para el pr(Bi'o )ránulo. part23len)th:)r< overall&itsu' X slen#:)rMA ="9 79 =" ?IS. % Para cada tra'a, deter'ina si es necesario activar paddin)&it con el fin de % austar la tasa de &its pro'edio. Antes, se calcula la cantidad de tra'as. fra'es :aX##E#
% "scri&e el enca&e-ado co'o una cadena &inaria de teBto :ASCII<.
"nca&e-ado:paddin)&it,&itrateindeB
:ASCII<.
Infosecundaria:'aindata&e)in,part23len)th,&i)values,...
)lo&al)ain,scalefacco'press,ta&leselect,re)ion+count,re)ion#count,.. .
prefla),scalefacscale,count#ta&leselect
cadena % &inaria de teBto :ASCII<. =atosprincipales:I@,IS,S,slen#,slen2,&i)values,ta&leselect,rl&,... fe,ff,ta&la+,ta&la#,count#,count#ta&leselect,'aindata&e)in,paddin)& it,'dt
&itreservoir 'aindata&e)inQNF end end end % ransfor'a la cadena &inaria de teBto ASCII :&instr< en un vector de valores % &inarios :unos ceros< en for'ato deci'al, escri&e este vector co'o un archivo % &inario, de acuerdo con los reDueri'ientos del estándar IS!I"C ###$23 :usando % el for'ato de 'áDuina &i)endian<. fid fopen:Harchivo ;.'p3;,;J&;,;&;
8. FNCIONAMIEN!O
Primero tr!+ (o1i!r l! (!r1et! MP3 Co ! l! PC8 !!imo+ el
ire(torio e l! (!r1et!/ E' el 1rom1t !brimo+ el 1ro9e(to8 e' e+te (!+o 0!.$m138 9 +e 'o+ e+1le%!r! l! +i%&ie'te 1!'t!ll!/
NOTA/> el !r(-i.o e !&io /0!. ebe e+t!r 1re+e'te e' l! (!r1et! o'e e+t2 el 1ro9e(to8 !em2+ e +er mo'o,'i(o 9
e+t!r ! ,re(&e'(i! e m&e+treo e #??z/ E+(ribimo+ el 'ombre el !r(-i.o ! +er (o'.ertio/
De(iimo+ l! t!+! e bit+ e tr!'+,ere'(i! 6J8 ##?8 #$"8
#J?8 #$8 $$8 $J8 3$?7/ Tr!+ e+t! o1er!(i' 1oemo+ e(iir el tiem1o tr!'+(&rrio el !r(-i.o *&e +er2 (oi)(!o ! MP3/ E' otro (!+o +i 'o +e e+1e(i)(! tiem1o +er2 l! 1i+t! (om1let!/
NOTA/> El !r(-i.o (o'.ertio +er2 %&!r!o e' el ire(torio e+1e(i)(!o e' l! 1!rte +&1erior e l! .e't!'! e M!tL!b/