Está en la página 1de 11

Universidad Tecnolgica Nacional

Facultad Regional Paran


Tcnicas Digitales III
Trabajo prctico N: 1
Mtodos de Codificacin, Control de errores, Introduccin
a Matlab, Codificacin CM
!lu"no:
M#N!$!, Sergio
rofesor:
Ing. %!$C#, Gustavo
&ec'a de resentacin: 15 de Abril de !11
FA"U#TA$
R%GI&NA# TP1''()todos de "odi*icacin+ "ontrol de errores+ "odi*icacin P"(
PARAN, Tcnicas Digitales III
1. (-T&$&S $% "&$IFI"A"I.N
1.1 Codificacin:
#a codi*icacin re/resenta la conversin de datos de la se0al original a otro siste1a
e2uivalente+ donde cada bits de la 1is1a se corres/onde a la se0al resultante. #a
ra3n de la codi*icacin de/ende de lo 2ue se necesite reali3ar con /osterioridad.
Por lo 2ue resulta conveniente codi*icar datos /ara reducir la tasa de error /or bit
/ara tener 1a4or o 1enor in1unidad al ruido+ tener la /osibilidad de detectar
errores+ no /erder el sincronis1o de la se0al cuando se trans1ite 4 eli1inar el nivel
de continua no deseado /or las inter*erencias 2ue se /roducen en una l5nea directa.
#os 1)todos de codi*icacin 1s conocidos son6
NR7'# 8No retorno a 3ero9
NR7'I 8No retorno a 3ero Invertido9
:i/olar'A(I
Pseudoternario
(anc;ester
(anc;ester $i*erencial
:<7S
=$:>
A continuacin se ;ar una breve descri/cin de los 1)todos utili3ados en el
/rctico.
(NRZ-L
No Retorno a "ero 8?Nonreturn to 7ero?9+ es el ti/o de codi*icacin 1as si1/le el
cual re/resenta un cero lgico co1o una tensin /ositiva 4 un uno lgico co1o una
tensin negativa. %l inconveniente de este 1)todo de codi*icacin es 2ue tiene
/roble1as de sincroni3acin+ asi1is1o co1o la /resencia de una co1/onente
continua 2ue desvirtuar el resultado real.
@NRZ-I
No retorno a cero invertido 8?Nonreturn to 7ero Invert on ones?9 estas se0ales de
dos niveles tienen una transicin si el bit 2ue se est trans*iriendo es un uno lgico
4 no lo tienen si lo 2ue se trans1ite es un cero. #os datos se codi*ican 1ediante la
/resencia o ausencia de una transicin de la se0al al /rinci/io del intervalo de
duracin del bit 8;a4 2ue decidir un valor de arran2ue9.
*Bipolar-AMI
%l cdigo A(I 8Alternate (arA Inversion ' Inversin de 1arcas alternadas9 se /uede
de*inir co1o un cdigo bi/olar con retorno a cero. %n este cdigo+ cuando se asigna
un i1/ulso /ositivo al /ri1er B1C+ al siguiente ?1? se le asigna un i1/ulso negativo+
4 as5 sucesiva1ente. Un ! binario se re/resenta /or ausencia de se0al. %n
consecuencia+ este es un cdigo de tres niveles.
MENARA Sergio Daniel 1
FA"U#TA$
R%GI&NA# TP1''()todos de "odi*icacin+ "ontrol de errores+ "odi*icacin P"(
PARAN, Tcnicas Digitales III
@Manchester
Ta1bi)n se suele lla1ar codi*icacin bi*ase'#+ es un 1)todo de codi*icacin en el
2ue en cada tie1/o de bit ;a4 una transicin entre dos niveles de se0al. %s una
codi*icacin auto sincroni3ada+ 4a 2ue en cada bit se /uede obtener la se0al de
reloD+ lo 2ue ;ace /osible una sincroni3acin /recisa del *luDo de datos.
Provee una *or1a si1/le de codi*icar secuencias de bits+ incluso cuando ;a4 largas
secuencias de /eriodos sin transiciones de nivel 2ue /uedan signi*icar la /)rdida de
sincroni3acin+ o incluso errores en las secuencias de bits. %sta codi*icacin ta1bi)n
nos asegura 2ue la co1/onente continua de las se0ales es cero si se e1/lean
valores /ositivos 4 negativos /ara re/resentar los niveles de la se0al+ ;aciendo 1s
*cil la regeneracin de la se0al+ 4 evitando las /)rdidas de energ5a de las se0ales.
Una transicin en la 1itad del intervalo de duracin del bit de baDo a alto
re/resenta un 1+ 4 una transicin de alto a baDo re/resenta un !.
*Manchester diferencial
Ta1bi)n conocida co1o "$P8"onditional $eP;ase encoding9 es un 1)todo de
codi*icacin de datos en los 2ue los datos 4 la se0al reloD estn co1binados /ara
*or1ar un Enico *luDo de datos auto'sincroni3able. %s una codi*icacin di*erencial
2ue usa la /resencia o ausencia de transiciones /ara indicar un valor lgico.

Un bit F1F se indica ;aciendo en la /ri1era 1itad de la se0al igual a la Elti1a 1itad
del bit anterior+ es decir+ sin transicin al /rinci/io del bit. Un bit F!F se indica
;aciendo la /ri1era 1itad de la se0al contraria a la Elti1a 1itad del Elti1o bit+ es
decir+ con una transicin al /rinci/io del bit. %n la 1itad del bit ;a4 sie1/re una
transicin+ 4a sea de alto a baDo o viceversa. %s /osible ta1bi)n reali3ar una
con*iguracin inversa sin inconvenientes.
1. #jercicio 1:
Secuencia de bits6 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1
MENARA Sergio Daniel
2
FA"U#TA$
R%GI&NA# TP1''()todos de "odi*icacin+ "ontrol de errores+ "odi*icacin P"(
PARAN, Tcnicas Digitales III
1.> #jercicio ):
La siguiente secuencia est codifcada en cdigo Manchester:
#5neas de re*erencia
La secuencia de datos original es: 11110010100
. "&NTR&# $% %RR&R%S
.1 ' C$C
"4clic Redundanc4 "ode 8"R"9 o cdigos de redundancia c5clica tiene una
re/resentacin /olin1ica 4 /or ello ta1bi)n es lla1ado cdigo /olino1ial.
Se tiene entonces un 1ensaDe de in*or1acin de A bits con un grado de A'1 a
trans1itir 2ue se le su1ar deter1inado nE1ero de bits de redundancia. Para
generar el "R" se e1/lea un /olino1io generador P8G9 o G8G9 de grado r con los
bits de 1a4or 4 1enor /eso a 1. G8G9 tiene rH1 bits+ siendo r el nE1ero de bits de
"R" a generar+ es decir+ el /olino1io generador tiene un bit de 1s 2ue el nE1ero
de bits del ca1/o de "R" 2ue 2uere1os obtener.
#os datos a tener en cuenta /ara la co1unicacin con "R" son6
I"antidad de bits de redundancia6 r
I"antidad de bits de in*or1acin6 A
IP8G9 o G8G96 Polino1io generador. Grado r+ longitud 8r H 19 bits
II 8G96 Polino1io in*or1acin. Grado 8A'19+ longitud A bits
I(8G96 Polino1io 1ensaDe+ in*or1acin 4 redundancia
I%8G96 Polino1io error 8introducido /or el canal9
I(J8G96 Polino1io 1ensaDe+ recibido /or el rece/tor
%l algorit1o /ara calcular la redundancia es el siguiente6
' En el Emisor6 (8G9 K I8G9 @ G
r
' Resto LI8G9 @ G
r
M G8G9N
' En la lnea6 (J8G9 K (8G9 H %8G9
' Receptor6 R8G9 K Resto L(J8G9 M G8G9N
%n el rece/tor+ si el resto es igual a cero+ se su/one sin error.
. #jercicio *:
Usando un /olino1io "R"'""ITT+ obtener el cdigo "R" de 1O bits /ara un 1ensaDe
*or1ado /or un 1 seguido de 15 ceros.
Polino1io in*or1acin6 I8G9KG
1O
K1!!!!!!!!!!!!!!!
Polino1io generador6 G8G9KG
1O
HG
1
HG
5
H1K1!!!1!!!!!!1!!!!1 donde rK1O+
/or lo 2ue el clculo del "R" ser6
G
r
K!!!!!!!!!!!!!!!! cantidad de ceros a agregar al 1ensaDe
R8G9K Resto LI8G9 @ G
r
M G8G9N+ "R" 2ue se agrega en los r bits de 1enor /eso al
1ensaDe a trans1itir.
MENARA Sergio Daniel
3
FA"U#TA$
R%GI&NA# TP1''()todos de "odi*icacin+ "ontrol de errores+ "odi*icacin P"(
PARAN, Tcnicas Digitales III
1!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! P1!!!1!!!!!!1!!!!1
1!!!1!!!!!!1!!!!1 1!!!1!!!1!!11!!!
!!!!1!!!!!!1!!!!1!!!!
1!!!1!!!!!!1!!!!1
!!!!1!!1!!!11!!!1!!!!
1!!!1!!!!!!1!!!!1
!!!11!!11!!11!!!1!!!
1!!!1!!!!!!1!!!!1
!1!!!1!!11!1!1!!1!
1!!!1!!!!!!1!!!!1
F"SM"R" !!!!!!!11!111!!11!!!
.> #jercicio +:
Un "R" se constru4e /ara generar F"S 8Fra1e ";ecA Su19 de Q bits /ara
1ensaDes de 11 bits. %l /olino1io generador es G8G9 K GQ H G> H 1.
"odi*icar la secuencia de bits 1!!11!111!!. Siendo el #S: el situado a la i32uierda.
$atos6
Polino1io in*or1acin6 I8G9K!!111!11!!1
Polino1io generador6 G8G9K11!!1 con rKQ
I8G9@G
r
K G
1
HG
11
HG
1!
HG
<
HG
R
H G
Q
K 111!11!!1!!!!
!!111!11!!1!!!!P11!!1
!!!!! !!1!111!1
!!111!
!!!!!
!111!1
11!!1
!!1!!1
!!!!!
!1!!1!
11!!1
!1!11!
11!!1
!11111
11!!1
!!11!!
!!!!!
!11!!!
11!!1
!!!!1!
!!!!!
!!!1!!

(8G9 K I8G9 @ G
r
' Resto LI8G9 @ G
r
M G8G9N
(8G9 K !!111!11!!1!!!!H!1!!
M,-. K !!111!11!!1!1!! K -
1)
/-
11
/-
10
/-
1
/-
2
/-
+
/-
)
MENARA Sergio Daniel
4
FA"U#TA$
R%GI&NA# TP1''()todos de "odi*icacin+ "ontrol de errores+ "odi*icacin P"(
PARAN, Tcnicas Digitales III
.Q #jercicio 3:
Se desea enviar un 1ensaDe utili3ando el /olino1io generador es G8G9 K G5 H GQ H
1. &btener el 1ensaDe co1/leto /ara el siguiente cdigo6 11!!!!!111
$atos6
Polino1io in*or1acin6 I8G9K 11!!!!!111
Polino1io generador6 G8G9K11!!!1 con rK5
I8G9@G
r
K G
1Q
HG
1>
HG
R
HG
O
HG
5
K 11!!!!!111!!!!!
11!!!!!111!!!!! P11!!!1
11!!!1 1!!!!11!1!
!!!!!1!
!!!!!!
!!!!1!1
!!!!!!
!!!1!11
!!!!!!
!!1!111
!!!!!!
!1!111!
11!!!1
!11111!
11!!!1
!!1111!
!!!!!!
!1111!!
11!!!1
!!11!1!
!!!!!!
!11!1!
(8G9 K 11!!!!!111!!!!! H 11!1!
(8G9 K 11!!!!!11111!1!
M,-. 4 -
1+
/-
1*
/-
2
/-
5
/-
3
/-
+
/-
*
/-
1
MENARA Sergio Daniel
5
FA"U#TA$
R%GI&NA# TP1''()todos de "odi*icacin+ "ontrol de errores+ "odi*icacin P"(
PARAN, Tcnicas Digitales III
>. INTR&$U""I.N A (AT#A:
>.1 #jercicio 5:
Realice un /rogra1a en (atlab 2ue /er1ita su1ar dos se0ales senoidales+ donde
se /odr ingresar las *recuencias de cada se0al+ a1/litud 4 tie1/o de duracin.
(ostrar las se0ales originales 4 la su1a en una sola *igura en tres i1genes
se/aradas.
Progra1a6
clcS
clearS
closeS
aKin/ut8FIngrese la a1/litud de la se0al A6F9S
*aKin/ut8FIngrese la *recuencia de la se0al A6F9S
bKin/ut8FTnIngrese la a1/litud de la se0al :6F9S
*bKin/ut8FIngrese la *recuencia de la se0al :6F9S
/Kin/ut8FTnIngrese el tie1/o de duracin de las se0ales8/aso96F9S
tK!61M/61S U:ase de tie1/o de 1s con intervalos de 1M/
SaKa@sin8@/i@*a@t9S U"argo los /ar1etros de cada se0al
SbKb@sin8@/i@*b@t9S
SKSaHSbS USu1o a1bas se0ales
sub/lot8>+1+19 U#as visuali3o en una sola /antalla
/lot8t+Sa+FrF9+grid on+title8FFuncin AF9
sub/lot8>+1+9
/lot8t+Sb+FgF9+grid on+title8FFuncin :F9
sub/lot8>+1+>9
/lot8t+S9+grid+title8FFuncin su1a AH:F9
>. #jercicio 2:
Realice en (atlab una *uncin /ara reali3ar el /roducto de dos se0ales senoidales+
donde las *recuencias de estas se0ales se ingresarn /or el usuario.
(ostrar todas las se0ales en una *igura 4 en una sola i1agen+ con colores distintos.
#a se0al resultante ser guardada en un arc;ivo de teGto.
Progra1a6
clcS
clearS
closeS
*aKin/ut8FIngrese la *recuencia de la se0al A6F9S
*bKin/ut8FTnIngrese la *recuencia de la se0al :6F9S
/Kin/ut8FTnIngrese el /aso6F9S
tK!61M/61S
SaKsin8@/i@*a@t9S U"argo los /ar1etros de cada se0al
SbKsin8@/i@*b@t9S
PKFProducto8Sa+Sb9S U(ulti/lico a1bas se0ales
/lot8t+Sa+FrF9 USe0al A en roDo
;old on
/lot8t+Sb+F''gF9 USe0al : en verde con l5nea a tra3os
;old on
/lot8t+P+F6bF9+title8FFuncin /roducto A G :F9 USe0al /roducto en a3ul con l5nea de /untos
*idK*o/en8FeDercicioR.tGtF+FVF9S U"reo el arc;ivo /ara guardar los datos
MENARA Sergio Daniel
6
FA"U#TA$
R%GI&NA# TP1''()todos de "odi*icacin+ "ontrol de errores+ "odi*icacin P"(
PARAN, Tcnicas Digitales III
*/rint*8*id+FUdTrF+P9S UAsigno el *or1ato con el 2ue se guardarn
*close8*id9 U#o cierro
Funcin /roducto6
*unction /roducto K FProducto8G+49UIngreso co1o argu1ento los valores de A 4 :
/roducto K G.@4S U#a variable /roducto retorna el /roducto de se0al A 4 :
>.> #jercicio 1:
:asado en el /roble1a anterior leer el arc;ivo de teGto generado. Se /ide reali3ar
una *uncin /ara calcular6
%l valor 1Gi1o
%l valor 15ni1o
%l valor 1edio
(ostrar la gr*ica de esta se0al.
$e acuerdo a los siguientes valores de *recuencia 4 /aso utili3ados en el eDercicio R
co1o eDe1/lo se obtuvo lo siguiente6
Frecuencia de A6>
Frecuencia de :6O
Paso61!!
Por lo 2ue la se0al obtenida co1o /roducto de a1bas se0ales A 4 : se 1uestra a
continuacin.
*igura 1
(Gi1o6 !.ROWQ+ (5ni1o6 '!.ROWQ+ (edio6 !
Progra1a6
clcS
MENARA Sergio Daniel
7
FA"U#TA$
R%GI&NA# TP1''()todos de "odi*icacin+ "ontrol de errores+ "odi*icacin P"(
PARAN, Tcnicas Digitales III
clearS
closeS
VKload8FeDercicioR.tGtF9 U"argo el arc;ivo creado en el eDercicio anterior
save V UGuardo su valor /or cual2uier ca1bio 2ue ocurra en el /roceso
(aGK(aGi1o8V9 U:usco el 1Gi1o valor de la *uncin guardada
(inK(ini1o8V9 U:usco el 15ni1o
(edK(edio8V9 U"alculo su valor 1edio
/lot8V+FgF9+ grid UGra*ico la se0al obtenida en el eDeIR
Funcin (Gi1o6
*unction 1aGIv K (aGi1o8A9
1aGIvK1aG8A9S URetorno el valor 1Gi1o de la se0al obtenida
Funcin (5ni1o6
*unction 1inIv K (ini1o819
1inIvK1in819S URetorno el valor 15ni1o de la se0al guardada
Funcin Xalor (edio6
*unction 1edIv K (edio8;9
1edIvK81in8;9H1aG8;99M.!S U"alculo el valor 1edio de la se0al
Q. "&$IFI"A"I.N P"(
Q.1 CM:
#a 1odulacin /or i1/ulsos codi*icados o P"(8Pulse "ode (odulation9 es un
/rocedi1iento de 1odulacin utili3ado /ara trans*or1ar una se0al analgica en una
secuencia de bits 8se0al digital9. Una tra1a P"( es una re/resentacin digital de
una se0al analgica en donde la 1agnitud de la onda analgica es to1ada en
intervalos uni*or1es 81uestras9+ cada 1uestra /uede to1ar un conDunto *inito de
valores+ los cuales se encuentra codi*icados.
"o1o se /uede a/reciar la 1odulacin /or i1/ulsos /osee tres eta/as i1/ortantes6
(uestreo6
"onsiste en to1ar 1uestras 81edidas9 del valor de la se0al n veces /or segundo+
con lo 2ue tendrn n niveles de tensin en un segundo.
"uanti*icacin6
#a cuanti*icacin lo 2ue ;ace es convertir una sucesin de 1uestras de a1/litud
continua en una sucesin de valores discretos /reestablecidos segEn el cdigo
utili3ado.
$urante el /roceso de cuanti*icacin se 1ide el nivel de tensin de cada una de las
1uestras+ obtenidas en el /roceso de 1uestreo+ 4 se les atribu4e un valor *inito
8discreto9 de a1/litud+ seleccionado /or a/roGi1acin dentro de un 1argen de
niveles /revia1ente *iDado.
"odi*icacin6
MENARA Sergio Daniel
8
FA"U#TA$
R%GI&NA# TP1''()todos de "odi*icacin+ "ontrol de errores+ "odi*icacin P"(
PARAN, Tcnicas Digitales III
%n la codi*icacin+ a cada nivel de cuanti*icacin se le asigna un cdigo binario
distinto+ con lo cual 4a tene1os la se0al codi*icada 4 lista /ara ser trans1itida.
"onversin digital analgica6
%n la recu/eracin se reali3a un /roceso inverso+ con lo 2ue la se0al 2ue se
reco1/one se /arecer 1uc;o a la original+ si bien durante el /roceso de
cuanti*icacin+ debido al redondeo de las 1uestras a los valores cunticos+ se
/roduce una distorsin conocida co1o ruido de cuanti*icacin. %sto se soluciona
eligiendo intervalos de cuanti*icacin /ti1os /ara 1ini1i3ar al 1Gi1o los errores.
Q. #jercicio 6:
Se /ide generar el cdigo P"( corres/ondiente a una se0al 1uestreada+ utili3ando
el /rogra1a (AT#A:.
"aracter5sticas6
Se0alK se /ide 2ue la se0al de entrada sea la /roveniente de un 1icr*ono
conectado a la P".
Frecuencia de 1uestreoK a deter1inar
$uracin de la se0alK a deter1inar
Niveles de cuanti*icacinK a deter1inar
Se re2uiere6
Generar la se0al
&btener el cdigo P"(
Guardar el cdigo P"( en un arc;ivo de teGto.
Funciones de (atlab reco1endadas /ara el trabaDo6
Vavrecord
sound
2uanti3
decbin
strnu1.
Progra1a6
clcS
clearS
closeS
U@@@@@@@@@@@@@@Grabacin 4 1uestreo de la se0al desde el 1icr*ono@@@@@
TI K in/ut 8FIngrese el tie1/o en LsegN 2ue desea grabar6F9S
*s K in/ut8FTnIngrese la *recuencia de 1uestreo en L=3N6F9S
4IVav K Vavrecord8TI@*s+ *s+19S
U (uestrea la se0al del 1icr*ono a *s L;3N durante TI LsegN.
UnK nY de bits /or 1uestras a deter1inada *s
U*sK *recuencia de 1uestreo.
U"=K nE1ero de canal de donde se obtiene la se0al
tK!61M*s6TI'1M*sS UXector t con la 1is1a cantidad de valores 2ue 4IVav
VavVrite84IVav+*s+F1icro*ono.VavF9 U"reo un .Vav a /artir de la 1uestra reali3ada
o/cionKin/ut8FTn$esea re/roducir la se0al guardadaZ6Tn 1'Si Tn 'NoTnF9S
i* o/cionKK1
sound84IVav+*s9S URe/rodu3co la se0al obtenida
end
MENARA Sergio Daniel
9
FA"U#TA$
R%GI&NA# TP1''()todos de "odi*icacin+ "ontrol de errores+ "odi*icacin P"(
PARAN, Tcnicas Digitales III
U@@@@@@@@@@@@@@"uanti*icacin de la se0al obtenida@@@@@@@@@@@@@@@
N"Kin/ut8FTnIngrese los niveles de cuanti*icacin6F9S
(ini1o K 1in 84IVav9S U&btengo el 15ni1o valor de la se0al
(aGi1o K 1aG 84IVav9S U#o 1is1o /ara su 1Gi1o
(inIabs K abs8(ini1o9S U&btengo el 15ni1o valor absoluto de la se0al
(aGIabs K abs8(aGi1o9S U#o 1is1o /ara su 1Gi1o
i* (aGIabs[(inIabs U"o1/aro encontrando el 1a4or de los 1dulos
1aG1odK(aGIabsS
else
1aG1odK(inIabsS
end
Paso K @ 1aG1od M \N"S U"alculo el /aso necesario /ara su cuanti*icacin
Particion K (ini1o 6 Paso 6 (aGi1oS
V2K 2uanti3 8 4IVav + Particion 9S U"uanti*icacin de la se0al
U@@@@@@@@@@@@@@@@@@@"odi*icacin de la se0al obtenida@@@@@@@@@@@@
codec]^ K decbin8V29S U"onvierto valores deci1ales a string binarios
string]^ K strnu18codec]^9S U"onvierto a nE1ero ese string
*id K *o/en 8FP"(I1icro.tGtF+FVF9S UGuardo en un arc;ivo la codi*icacin reali3ada
*/rint*8*id+FU!<dTnF +string]^9S
*close 8*id9
U@@@@@@@@@@@@@@@Gr*icas de la codi*icacin P"(@@@@@@@@@@@@@@@@@
sub/lot8+1+19
/lot8t+4IVav9+title8FSe0al originalF9+Glabel8FTie1/oF9+4label8FA1/litudF9S
sub/lot8+1+9
/lot8t+V2+FAF9+title8FSe0al cuanti*icadaF9+Glabel8FTie1/oF9+4label8FNivelesF9S
MENARA Sergio Daniel
10

También podría gustarte