0% encontró este documento útil (0 votos)
62 vistas20 páginas

Informe 6

El documento describe diferentes tipos de codificación digital, incluyendo: codificación por nivel, AMI, HDB-n, Manchester, diferencial, CMI y Miller. La codificación convierte señales analógicas en señales digitales binarias mediante la asignación de códigos a los valores cuantificados. Los diferentes esquemas de codificación varían en cómo representan los unos y ceros lógicos para lograr propiedades como anular la corriente continua, mantener la sincronización y permitir la detección de errores.

Cargado por

Rodrigo Nolasco
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
62 vistas20 páginas

Informe 6

El documento describe diferentes tipos de codificación digital, incluyendo: codificación por nivel, AMI, HDB-n, Manchester, diferencial, CMI y Miller. La codificación convierte señales analógicas en señales digitales binarias mediante la asignación de códigos a los valores cuantificados. Los diferentes esquemas de codificación varían en cómo representan los unos y ceros lógicos para lograr propiedades como anular la corriente continua, mantener la sincronización y permitir la detección de errores.

Cargado por

Rodrigo Nolasco
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 20

Laboratorio Nº6

Codificación
I. Objetivos
 Aprender sobre los diferentes tipos de codificación
II. Fundamentación Teórica
2.1. Codificación
La codificación digital consiste en la traducción de los valores de tensión
eléctrica analógicos que ya han sido cuantificados (ponderados) al sistema binario,
mediante códigos preestablecidos. La señal analógica va a quedar transformada en
un tren de impulsos de señal digital (sucesión de ceros y unos).

2.2. Codificación por nivel

Este tipo de codificación compara la señal PAM con una forma de onda de rampa,
mientras un contador binario avanza a una velocidad uniforme. Cuando la onda en
rampa es igual o mayor que la muestra PAM, el contador contiene el código PCM

2.3. Codificación AMI

Corresponden a un tipo de codificación que representa a los "unos" con impulsos de


polaridad alternativa, y a los "ceros" mediante ausencia de pulsos.
El código AMI genera señales ternarias (+V -V 0), bipolares ( + - ), y del tipo RZ o NRZ
( con o sin vuelta a cero ). La señal AMI carece de componente continua y permite la
detección de errores con base en la ley de formación de los "unos" alternados. En
efecto, la recepción de los "unos" consecutivos con igual polaridad se deberá a un
error de transmisión.
Tal y como muestra la figura, la señal eléctrica resultante no tiene componente
continua porque las marcas correspondientes al "1" lógico se representan
alternativamente con amplitud positiva y negativa. Cada impulso es neutralizado por el
del impulso siguiente al ser de polaridad opuesta.
Codificando los "unos" con impulsos de polaridad alternativa y los "ceros" mediante
ausencia de impulsos, el código resultante se denomina pseudoternario.
Los códigos AMI (inversión de marcas alternadas) se han desarrollado para paliar los
inconvenientes que presentan los códigos binarios NRZ y RZ ( el sincronismo y la
corriente continua).
El código AMI consigue anular la componente continua de la señal eléctrica. Sin
embargo no resuelve la cuestión de cómo evitar la pérdida de la señasl de reloj
cuando se envían largas secuencias de ceros. Este problema lo solucionan los
códigos bipolares de alta densidad de orden N, HDBN ( High Density Bipolar ) que
pertenecen a la familia de los códigos AMI, y que evitan la transmisión de secuencias
con más de N "ceros" consecutivos. El HDB3 es un código bipolar de orden 3.

2.4. Codificación HDB-n

El código HDB3 es un buen ejemplo de las propiedades que debe reunir un código de
línea para codificar en banda base:
-El espectro de frecuencias carece de componente de corriente continua y su ancho
de banda está optimizado.
-El sincronismo de bit se garantiza con la alternancia de polaridad de los "unos", e
insertando impulsos de sincronización en las secuencias de "ceros".
Los códigos HDBN (High Density Bipolar) limitan el número de ceros consecutivos que
se pueden transmitir: -HDB3 no admite más de 3 ceros consecutivos. Colocan un
impulso (positivo o negativo) en el lugar del 4º cero.
-El receptor tiene que interpretar este impulso como un cero. Para ello es preciso
diferenciarlo de los impulsos normales que representan a los "unos".
-El impulso del 4º cero se genera y transmite con la misma polaridad que la del
impulso precedente. Se denomina por ello V "impulso de violación de polaridad" ( el
receptor reconoce esta violación porque detecta 2 impulsos seguidos con la misma
polaridad).
-Para mantener la componente de corriente continua con valor nulo, se han de
transmitir alternativamente tantas violaciones positivas como negativas ( V+ V- V+ V-...
).
-Para mantener siempre alternada la polaridad de las violaciones V, es necesario en
algunos casos insertar un impulso B "de relleno" (cuando la polaridad del impulso que
precede a la violación V, no permite conseguir dicha alternancia). Si no se insertaran
los impulsos B, las violaciones de polaridad V del 4º cero serían obligatoriamente del
mismo signo.
En HDB3 se denomina impulso a los estados eléctricos positivos o negativos, distintos
de "cero". (0 voltios).
Cuando aparecen más de tres ceros consecutivos, estos se agrupan de 4 en 4, y se
sustituye cada grupo 0000 por una de las secuencias siguientes de
impulsos: B00V ó 000V.
-B indica un impulso con distinto signo que el impulso anterior. Por tanto, B mantiene
laley de alternancia de impulsos, o ley de bipolaridad, con el resto de impulsos
transmitidos.
-V indica un impulso del mismo signo que el impulso que le precede, violando por tanto
la ley de bipolaridad.
El grupo 0000 se sustituye por B00V cuando es par el número de impulsos entre la
violación V anterior y la que se va a introducir.
El grupo 0000 se sustituye por 000V cuando es impar el número de impulsos entre la
violación V anterior y la que se va a introducir.
Así se logra mantener la ley de bipolaridad de los impulsos correspondientes a los
"unos", y también la bipolaridad de las "violaciones" mediante los impulsos B y los
impulsos V.

2.5. Codificación Manchester

La codificación Manchester es un método de codificación eléctrica de una señal binaria


en el que en cada tiempo de bit hay una transición entre dos niveles de señal. Es una
codificación autosincronizada, ya que en cada bit se puede obtener la señal de reloj, lo
que hace posible una sincronización precisa del flujo de datos. Una desventaja es que
consume el doble de ancho de banda que una transmisión asíncrona. Hoy en día hay
numerosas codificaciones (8b/10b) que logran el mismo resultado pero consumiendo
menor ancho de banda que la codificación Manchester.
2.6. Codificación Diferencial

La Codificación Manchester diferencial, es un método de codificación de datos en los


que los datos y la señal reloj están combinados para formar un único flujo de
datos auto-sincronizable. Es una codificación diferencial que usa la presencia o
ausencia de transiciones para indicar un valor lógico. Esto aporta algunas ventajas
sobre la Codificación Manchester:

 Detectar transiciones es a menudo menos propenso a errores que comparar


con tierra en un entorno ruidoso.
 La presencia de la transición es importante pero no la polaridad. La
codificaciones diferenciales funcionarán exactamente igual si la señal es invertida
(cables intercambiados).
Un bit '1' se indica haciendo en la primera mitad de la señal igual a la última mitad del
bit anterior, es decir, sin transición al principio del bit. Un bit '0' se indica haciendo la
primera mitad de la señal contraria a la última mitad del último bit, es decir, con una
transición al principio del bit. En la mitad del bit hay siempre una transición, ya sea de
high hacia low o viceversa. Una configuración inversa es posible, y no habría ninguna
desventaja en su uso.

2.7. Codificación CMI

El código CMI (Codec Mark Inversion) es un código en línea en banda base, cuyo
objetivo al igual que otros códigos de línea es:

 Mínima componente continua.


 Máximo número de cambios de nivel
 Mínima frecuencia o ancho de banda para una velocidad de bits.
 Detección y corrección de errores.
El nombre CMI, proviene de la nomenclatura marca=1 y espacio=0

 El bit 0:se codifica con un cambio de polaridad negativa a positiva (V- a V+), en
la mitad del intervalo del bit.
 El bit 1:se codifica con polaridad positiva y negativa alternativamente y sin
transición en la mitad del intervalo.
El código CMI, anula la componente continua. La inserción del reloj de sincronismo en
los ceros, mediante la transición de la señal entre dos niveles o estados opuestos,
hace que su velocidad de línea sea el doble del régimen binario(R). Este código
CMI(Code Mark Inversion), se utiliza en el múltiplex de 140 Mbps de la interfaz G.703
de la JDP (Jerarquía Digital Plesíncrona).

2.8. Codificación Miller

La codificación retrasada, también conocida como Codificación Miller, es similar a la


codificación Manchester, excepto que ocurre una transición en el medio de un intervalo
sólo cuando el bit es 1, lo que permite mayores índices de datos...

Este código emplea para la transición de un uno, una transición en la mitad del
intervalo significativo. Para el caso de un cero, existe una transición al final del
intervalo si el bit siguiente es cero, en caso contrario no habrá transición alguna.

El código Miller permite reducir considerablemente la contribución de las bajas


frecuencias (y por lo tanto el problema que ello significa), y garantiza un número
mínimo de transiciones de la señal en banda base como para recuperar la señal de
reloj. Por lo menos habrá una transición cada dos intervalos significativos.

2.9. Detección de errores

Un código se dice que es un código de detección de errores si tiene la propiedad de


que ciertos tipos de errores pueden transformar palabras del código en palabras que
no son del código.
III. Cuestionario

3.1. En primer lugar se debe generar una secuencia de datos digitales de manera
aleatoria para lo cual las instrucciones rand y round son útiles:

data = round(rand(1,50));

A partir de estos datos se va a generar el código de línea, la secuencia debe ser


relativamente larga (50 datos aproximadamente) para asegurar que los datos
sean aleatorios.

A partir de los datos digitales generados, codificar en varios esquemas de


códigos de línea como:

- Codificación por nivel - Codificación HBD-n


- Codificación AMI - Codificación Diferencial
- Codificación Manchester - Codificación CMI
- Código Miller

a) Codificación por nivel

UNRZ

h=round(rand(1,50));
n=2;
l=length(h);
h(l+1)=1;
while n<=length(h)-1;
t=n-1:0.001:n;
if h(n) == 0
if h(n+1)==0
y=(t>n);
else
y=(t==n);
end
d=plot(t,y);grid on;
title('Codificación UNIPOLAR NRZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('zero');
else
if h(n+1)==0
y=(t<n)-0*(t==n);
else
y=(t<n)+1*(t==n);
end
d=plot(t,y);grid on;
title('Codificación UNIPOLAR NRZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('one');
end
n=n+1;
%pause;
end
URZ

h=round(rand(1,30));

n=1;
l=length(h);
h(l+1)=1;
while n<=length(h)-1;
t=n-1:0.001:n;
%Graficación de los CEROS (0)
if h(n) == 0
if h(n+1)==0
y=(t>n);
else
y=(t==n);
end
d=plot(t,y);grid on
title('Codificación UNIPOLAR RZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('zero');
%Graficación de los UNOS (1)
else
if h(n+1)==0
y=(t<n-0.5);
else
y=(t<n-0.5)+1*(t==n);
end
d=plot(t,y);grid on;
title('Codificación UNIPOLAR RZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('one');
end
n=n+1;
%pause;
end
BNRZ

h=round(rand(1,50));

n=1;
l=length(h);
h(l+1)=1;
while n<=length(h)-1;
t=n-1:0.001:n;
if h(n) == 0
if h(n+1)==0
y=-(t<n)-(t==n);
else
y=-(t<n)+(t==n);
end
d=plot(t,y);grid on;
title('Codificación POLAR NRZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('zero');
else
if h(n+1)==0
y=(t<n)-1*(t==n);
else
y=(t<n)+1*(t==n);
end
d=plot(t,y);grid on;
title('Codificación POLAR NRZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('one');
end
n=n+1;
%pause;
end
BRZ

h=round(rand(1,50));
n=2;
l=length(h);
h(l+1)=1;
while n<=length(h)-1;
t=n-1:0.001:n;
if h(n) == 0
if h(n+1)==0
y=-(t<n-0.5)-(t==n);
else
y=-(t<n-0.5)+(t==n);
end
d=plot(t,y);grid on;
title('Codificaión BIPOLAR RZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('zero');
else
if h(n+1)==0
y=(t<n-0.5)-1*(t==n);
else
y=(t<n-0.5)+1*(t==n);
end
d=plot(t,y);grid on;
title('Codificación BIPOLAR RZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('one');
end
n=n+1;
%pause;
end
b) Codificación AMI

h=round(rand(1,50));

n=1;
l=length(h);
h(l+1)=1;
ami=-1;
while n<=length(h)-1;
t=n-1:0.001:n;
if h(n) == 0
if h(n+1)==0
y=(t>n);
else
if ami==1
y=-(t==n);
else
y=(t==n);
end
end
d=plot(t,y);grid on;
title('Codificación AMI NRZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('zero');
else
ami=ami*-1;
if h(n+1)==0
if ami==1
y=(t<n);
else
y=-(t<n);
end
else
if ami==1
y=(t<n)-(t==n);
else
y=-(t<n)+(t==n);
end

end
d=plot(t,y);grid on;
title('Codificaión AMI NRZ');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('one');
end
n=n+1;
%pause;
end

c) Codificación HBD-n

xn=round(rand(1,50));

yn=xn; %Codigo a Modificar


num=0; %variable para contar los 1s y determinar
si son pares o impares
%Generacion de Codigo AMI
for k=1:length(xn)
if xn(k)==1
num=num+1;
if num/2== fix(num/2) %Condicion para numeros de 1s pares
yn(k)=-1;
else
yn(k)=1; %Condicion para numeros de 1s impares
end
end
end

%conteo de 0s continuos para cambiar el codigo por 000v o B00V


num=0; %Reinicio de la variable de conteo de 1s
yh=yn; %Variable nueva del codigo almacenado en yn
sign=0; %Variable de signo
V=zeros(1,length(yn)); %Variable para guardar las violaciones (V)
B=zeros(1,length(yn)); %Varible para guardar las B
for k=1:length(yn)
if yn(k)==0
num=num+1;%Incremento del contador de 0s
if num== 4 %Comprueba si hay 4 ceros continuos para realizar
el cambio
num=0; %Reestablece el contador de 0s
yh(k)=1*yh(k-4);
V(k)=yh(k); %Guarda los bits de violacion (V)
if yh(k)==sign %Comprueba si el bit yh(k) es igual al signo
yh(k)=-1*yh(k); %Invierte el signo para evitar signos
iguales
%en los bits de violacion
yh(k-3)=yh(k); %Cambia el primer 0 para generar el
codigo B00V
B(k-3)=yh(k); %Guarda las B producidas en hdb3
V(k)=yh(k); %Guarda el bit de violacion con el signo ya
invertido
yh(k+1:length(yn))=-1*yh(k+1:length(yn));%Alterna los
signos
%de los 1s
despues
%de detectar un
cambio de signo.
end
sign=yh(k); %Guarda el signo de la violacion
end
else
num=0; %Reestablece el contador de 0s
end
end
re=[xn',yn',yh',V',B']; %Variable que guarda en forma de columna el
%codigo de entrada,
%codigo AMI,codigo
%hdb3,variable con el bit de
%violacion, variable con el bit
%de relleno.

%Parte para decodificar la señal. Primero se consigue que quede de


nuevo la
%señal AMI
input=yh;%Codigo en Hdb3
decode=input;%Variable con el codigo Hdb3 a reconstruir
sign=0%Variable para guardar el signo de los 1s
for k=1:length(yh)
if input(k)~=0
if sign==yh(k) %si existen dos 1s con el mismo signo, estos son
decode(k-3:k)=[0 0 0 0];%cambiados por 0000
end
sign=input(k); %Va guardando el signo de los 1s
end
end
decode=abs(decode);%Valor Absoluto para volver los 1 negativos a
positivos
%Parte para graficar
figure(1)
subplot(2,1,1);
stairs([0:length(xn)-1],xn);
axis([0 length(xn) -2 2]);title('Codigo Binario Transmitido');grid on;
subplot(2,1,2);
stairs([0:length(xn)-1],yh);
axis([0 length(xn) -2 2]);title('Codigo HDB3');grid on;
figure(2)
subplot(2,1,1);
stairs([0:length(xn)-1],xn);
axis([0 length(xn) -2 2]);title('Codigo Binario Transmitido');grid on;
subplot(2,1,2);
stairs([0:length(xn)-1],yn);
axis([0 length(xn) -2 2]);title('Codigo AMI');grid on;

d) Codificación Manchester

h=round(rand(1,50));
n=1;
h=~h;
l=length(h);
h(l+1)=1;
while n<=length(h)-1;
t=n-1:0.001:n;
if h(n) == 0
if h(n+1)==0
y=-(t<n)+2*(t<n-0.5)+1*(t==n);
else
y=-(t<n)+2*(t<n-0.5)-1*(t==n);
end
d=plot(t,y);grid on;
title('Codificación MANCHESTER');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('one');
else
if h(n+1)==0
y=(t<n)-2*(t<n-0.5)+1*(t==n);
else
y=(t<n)-2*(t<n-0.5)-1*(t==n);
end
d=plot(t,y);grid on;
title('Codificación MANCHESTER');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('zero');
end
n=n+1;
%pause;
end

e) Codificación Diferencial

h=round(rand(1,50));
n=1;
h=~h;
l=length(h);
h(l+1)=1;
while n<=length(h)-1;
t=n-1:0.001:n;
if h(n) == 1
if h(n+1)==1
y=-(t<n)+2*(t<n-0.5)+1*(t==n);
else
y=-(t<n)+2*(t<n-0.5)-1*(t==n);
end
d=plot(t,y);grid on;
title('Codificación MANCHESTER DIFERENCIAL');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('one');
else
if h(n+1)==1
y=(t<n)-2*(t<n-0.5)+1*(t==n);
else
y=(t<n)-2*(t<n-0.5)-1*(t==n);
end
d=plot(t,y);grid on;
title('Codificación MANCHESTER DIFERENCIAL');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('zero');
end
n=n+1;
%pause;
end

f) Codificación CMI

h=round(rand(1,20));
n=1;
l=length(h); %se obtiene el tamaño de h
h(l+1)=1; %se agrega un elemnto extra a h
m=-1; %para el punto final de cada trama que a continuación le sigue
un 1
r=-1; %para las tramas correspondientes a 1

while n<=length(h)-1;
t=n-1:0.001:n; %se define un intervalo de valores t de longitud l
%con punto inicial y final segun el elemnto
analizado
if h(n) == 0
if h(n+1)==0
y=(t<n)-2*(t<n-0.5)-1*(t==n);
else
y=(t<n)-2*(t<n-0.5)+m*(t==n);
m=-m;
end
d=plot(t,y); %se grafica h de forma repetida
grid on;
title('Codificación CMI')
set(d,'LineWidth',2.5); % establece un acncho de linea
hold on; %mantiene el dibujo actual y propiedades de los ejes
axis([0 length(h)-1 -1.5 1.5]); %escala los ejes x e y
disp('one'); %muestra el texto one
else
if h(n+1)==0
y=r*(t<n)-1*(t==n);
else
y=r*(t<n)-r*(t==n);
m=-m;
end
r=-r;
if n==1
m=-m;
end
d=plot(t,y);grid on;
title('Codificación CMI');
set(d,'LineWidth',2.5);
hold on;
axis([0 length(h)-1 -1.5 1.5]);
disp('zero'); %muestra el tecto zero
end
n=n+1; %se procede a analizar el siguiente elemento
%pause;
end

g) Código Miller

h=round(rand(1,50));%Señal
est_inicial=-1;%Estado inicial

clc;%Limpia el command window


close all;%Cierra todas las figuras.
con=est_inicial;%Puede ser 1 ó -1
long=length(h);%Número de bits de la señal
n=1;%Estado inicial para el ciclo "while"
ac=[];%Matriz vacía que contendrá la señal codificada.
bits=[];%Matriz vacía que contendrá la señal original.
h(long+1)=0;%Valor de extensión de la señal
while n<=long%Codifica hasta terminar los bits de la señal.
if h(n)==1 %Si el bit es 1
bit=[ones(1,100)];
s=[con*ones(1,50) -con*ones(1,50)];
con=con*-1;%Conmuta el estado de la señal.
else %Si el bit es 0
bit=[zeros(1,100)];
s=[con*ones(1,100)];
if h(n+1)==0%Si el siguiente bit es 0
con=con*-1;%Conmuta el estado de la señal
end
end
ac=[ac s];%Acumulador de la señal miller.
bits=[bits bit];%Acumulador de la señal original.
n=n+1;%Incremento del contador del loop
s=[];%Reset de la matriz temporal s.
end
subplot(2,1,1);plot(bits,'LineWidth',2);
title('Señal de entrada');

axis([0 100*(length(h)-1) -2 2])%Seteo de los ejes


grid on %Activa el grid
subplot(2,1,2);plot(ac,'LineWidth',2)%Grafica la señal.
title('Señal Codificada MILLER')

axis([0 100*(length(h)-1) -2 2])%Seteo de los ejes


grid on %Activa el grid

3.2. Copiar el siguiente código en Matlab y explicar las características de cada


línea
function UNRZ(h)
clf;
n=1;
l=length(h); %se obtiene el tamaño de h[]
h(l+1)=1; %se agerga un elemnto extra a h[]
while n<=length(h)-1;
    t=n-1:0.001:n; %se define un intervalo de valores t de longitud l
%con punto inicial y final segun el elemento
if h(n) == 0 %si el valor de la posición h[n]es cero
    if h(n+1)==0 %si el siguiente valor es cero 
        y=(t>n); %si cumple la condicion t>n la salida será 1, sino 0
   
else %si el siguiente valor no es cero
        y=(t==n); %si cumple la condición será 1 sino 0  
end
    d=plot(t,y);grid on;
    title('Line code UNIPOLAR NRZ');
    set(d,'LineWidth',2.5);
    hold on;
    axis([0 length(h)-1 -1.5 1.5]);
    disp('zero');
else %si el valor de la posición h[n]es uno
    if h(n+1)==0
        y=(t<n)-0*(t==n);
    else
        y=(t<n)+1*(t==n);
    end
    d=plot(t,y); %se grafica h de forma repetida
grid on;
    title('Line code UNIPOLAR NRZ');
    set(d,'LineWidth',2.5); % establece un ancho de linea
    hold on; %mantiene el dibujo actual y propiedades de los ejes
    axis([0 length(h)-1 -1.5 1.5]); %escala los ejes x e y
    disp('one'); %muestra el texto one
end
n=n+1; %se procede a analizar el siguiente elemento
%pause;
end

Una vez generado el código, obtener su espectro a través de la transformada


rápida de Fourier, la función fft de MatLab. Es importante que los resultados se
analicen tanto con escalas lineales como logarítmicas, pues en cada una se
pueden apreciar características distintas. Para esto se pueden utilizar las
funciones plot, semilogx y semilogy.

d2=fft(y);
figure(2)
semilogx(10.^d2,d2)

figure(3)
semilogy(10.^d2,d2)

figure(4)
plot(t,d2)
Los resultados obtenidos:
IV. Conclusiones

Con la práctica fue posible aprender todos los tipos de codificación que existen,
además de simularlos en MATLAB.

También podría gustarte