You are on page 1of 5

SECUENCIAS COMBINACION

%DATOS DE LA SECUENCIA x(n)


a=-6; %Lmite inferior de la secuencia
b=3; %Lmite superior de la secuencia
n0=2; %Valor del desplazamiento de la secuencia
es=2; %Valor del escalamiento de la secuencia
x=[4 -3 1 0 5 -1 (-3) 6 -2 7]; %Valores de la secuenc

%GRFICA DE LA SEAL DE ENTRADA


nx=[a:b]; %Lmites de la secuencia
axes(handles.axes1);
stem(nx,x,'blue','LineWidth', 2.5);

%GRFICA DE LA FUNCIN DESPLAZAMIENTO


a=a+n0; %Inclusin del desplazamiento a la secuencia
b=b+n0; %Inclusin del desplazamiento a la secuencia
nd=[a:b]; %Lmites de la secuencia desplazada
%Grafica datos secuencia discreta
axes(handles.axes2);
stem(nd,x,'blue','LineWidth', 2.5);

%GRFICA DE LA FUNCIN ESPEJO


xe=fliplr(x); %Inversin de los valores de la secuencia
ne=[-b:-a]; %Inversin de los ndices de la secuencia
%Grafica datos secuencia discreta
axes(handles.axes3);
stem(ne,xe,'blue','LineWidth', 2.5);

%%GRFICA DE LA FUNCIN ESCALAMIENTO


ves=[]; %Vector escalado de los ndices de la secuencia
yves=[]; %Vector escalado de los valores de la secuencia
j=1; %variable auxiliar
%Creacin de la nueva secuencia discreta escalada
for i=1:length(ne)
if mod(ne(i), es) == 0
ves(j)=xe(i);
yves(j)=ne(i)/es;
j=j+1;
end
end
%Grafica datos secuencia discreta
axes(handles.axes4);
stem(yves,ves,'blue','LineWidth', 2.5);

SECUENCIAS DISCRETAS EJEMPLOS

n=-5:5 % eje x valores de intevalo n1


x=[1 -5 3 -4 1 3 2 0 -3 3 1]; %secuencia 1
axes(handles.axes7)
stem(n,x,'k') %grafica discreta (x,y,'color')

OPERACIONES CON SECUENCIAS DISCRETAS


1:_

n=-10:10; % eje x valores de intevalo n


x=[zeros(1,10),ones(1,11)]; %secuencia 1
axes(handles.axes1)
stem(n,x,'r') %grafica discreta (x,y,'color')

2.-

n=-10:10 % eje x valores de intevalo n1


x1=[0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0]; %sec 2
axes(handles.axes2)
stem (n,x1,'g') %grafica discreta (x,y,'color')

RESTA :

resta=x-x1
axes(handles.axes3)
stem (n,resta) %grafica discreta (x,y,'color')

PRODUCT:

producto=-2*x
axes(handles.axes3)
stem (n,producto)

SUMA:

suma=x+x1
axes(handles.axes3)
stem (n,suma) %grafica discreta (x,y,'color')

ECUACIONES DE DIFERENCIA

% Ecuacion de Diferencia Ejemplo 1


% y(n) + 1/2*y(n-1) = x(n) + 2*x(n-2)
% x(n) = {1, 2, 3, 4, 2, 1}

a = [2 1/3 0];
b = [0 1 3];
x = [1 5 3 4 2 1] % Observar que no se necesita simetria en este ejemplo
y = filter(b,a,x) % comando que realiza la ecuacion de diferencia
n = 0:length(y)-1; % rango de valores de valores de la seal resultante
para el grafico
axes(handles.axes1); % accede para graficar
set(handles.axes1); % accede para graficar
stem(n, y,'r');
grid;
xlabel('n');
ylabel('x[n]');

TransformadaZ
syms n z %Establesco las valiables de trabajo
SD=(1/3)^n; %Toma los datos ingresados en el edit text
f=SD;
axes(handles.axes1); %Ubico el axes1 de la interfas grafica
set(handles.axes1); %Orden que indica a matlab que grafique lo
que programe a continuacion
ezplot (f); %Orden que me permite el grafico de una
funcion
title('Seal') %ttulo de Cuadrula
grid on
ylabel('x(n)') %Nombre eje Y
xlabel('n') %Nombre eje X
Zeq = ztrans(f,n,z) %Orden que realiza la transformada z
f=seal, n=variable que ingreso, z=variable de salida
Zeqp =char(Zeq); %Transformo el resultado para poder
mostrarlo
ecuacion=findobj(gcbf,'Tag','text5'); %Ubico el static text en la interfas
grafica
set(ecuacion,'String',Zeqp); %Ubico el resultado en el static
text
axes(handles.axes2); %Ubico el axes2 de la interfas grafica
set(handles.axes2); %Orden que indica a matlab que grafique lo
que programe a continuacion
ezplot (Zeq); %Orden que grafique la transformada z
title('Transformada Z') %ttulo de Cuadrula
grid on
ylabel('X(Z)') %Nombre eje Y
xlabel('Z') %Nombre eje X

TransformadaZINVERSA
syms z n %Establesco las valiables de trabajo
SI=z/(z-(1/3)); %Toma los datos ingresados en el edit text
f=SI;
axes(handles.axes1); %Ubico el axes1 de la interfas grafica
set(handles.axes1); %Orden que indica a matlab que grafique
lo que programe a continuacion
ezplot (SI); %Grafico de la transformada z
title('Transformada Z') %ttulo de Cuadrula
grid on
ylabel('X(Z)') %Nombre eje Y
xlabel('Z') %Nombre eje X
Zeq=iztrans(f,n); %Orden que realiza la Transformada Z
inversa
Zeqp =char(Zeq); %Transformo el resultado para poder
mostrarlo
ecuacion=findobj(gcbf,'Tag','text6'); %Ubico el static text en la
interfas grafica
set(ecuacion,'String',Zeqp); %Ubico el resultado en el static
text
axes(handles.axes2); %Ubico el axes2 de la interfas
grafica
set(handles.axes2);
ezplot (Zeq); %Grafico la secuencia de entrada
title('Seal') %ttulo de Cuadrula
grid on
ylabel('x(n)') %Nombre eje Y
xlabel('n') %Nombre eje X
DTFT
syms n w positive
syms n;%syms permite definir las variables n y w
x= (1/4)*(0.3^(n-2))+0.8^(n-1)-(1/5)*(0.3^n) %Seal original asignada a x
axes(handles.axes1);
cla
P=strcat('$$','x(n)=',char(latex(x)),'$$');
text('Interpreter','latex',...
'String',P,...
'Position',[0.01 0.5],...
'FontSize',16);

x=x*exp(-j*w*n);
X=symsum(x,n,0,inf)%funcin para DTFT con los limites superior e inferior
de la sumatoria
axes(handles.axes5);
cla
P=strcat('$$','X(e^{wi})=',char(latex(X)),'$$');
text('Interpreter','latex',...
'String',P,...
'Position',[0.01 0.5],...
'FontSize',16);

wl=linspace(2*pi, -2*pi, 45);%variable wl que almacena el vector que


devuelve linealmente espaciado
x_=subs(X,w,wl); %Evala numricamente la funcin X, para el valor de wl de
la variable w
axes(handles.axes2)
cla
stem(wl,abs(x_),'m');% Trazar la secuencia de datos discreto
hold on
grid on

axes(handles.axes6)
cla
plot(wl, abs(x_),'c');% Trazar la secuencia de datos discreto de color
ROJO
hold on
grid on
CONVOLUCION
n = 0:5;
x = [5 1 -2 4 0 0]; % valores discretos x(n)
h = [1 2 3 0 0 0]; % valores discretos x(n)
y = conv(x, h); % comando que realiza la convolucion
axes(handles.axes3); % accede para graficar
set(handles.axes3); % accede para graficar
stem(n, x);
grid;
xlabel('n');
ylabel('x[n]');
axes(handles.axes4);
set(handles.axes4);
stem(n, h);
grid;
xlabel('n');
ylabel('h[n]');
% Note: we cut trailing zeros off end of y before plotting
axes(handles.axes5);
set(handles.axes5);
stem(n, y(1:length(n)));
grid;
xlabel('n');
ylabel('y[n] = x[n] * h[n]');

set(handles.edit1,'String','[5, 11, 15, 3, 2, 12]');

DFT
set(handles.text4,'visible','on');
set(handles.salida,'visible','on');
set(handles.text5,'visible','off');
set(handles.text6,'visible','off');
N = [4 10 14 16]; % number of data points in truncated DT
% signal
plot((1:10).^2)
title('DFT')
for m = 1:2, % compute DFT of four truncated signals
n = 0:N(m)-1; % DT values for truncated signal
x = cos(pi*n/2);% truncated DT signal
Xk = fft(x); % compute DFT of truncated DT signal
subplot(1,3,m); % plot magnitude spectrum
stem(n*2*pi/N(m),abs(Xk),'filled');
ttl = ['Cos(\pin/2) for n=0,..,',num2str(N(m)-1)];
title(ttl);
end;
inversa=Xk;
set(handles.salida,'String',num2str(inversa));
suptitle('EJERCICIO DFT 1 ');

You might also like