Función Impseq: Function
Función Impseq: Function
Función Impseq: Function
% ----------------------------------------------
% [x,n] = impseq(n0,n1,n2)
end
n = [n1:n2];
%x = [zeros(1,(n0-n1)), 1, zeros(1,(n2-n0))];
x = [(n-n0) == 0];
Función Stepseq
function [x,n] = stepseq(n0,n1,n2)
% Generates x(n) = u(n-n0); n1 <= n,n0 <= n2
% ------------------------------------------
% [x,n] = stepseq(n0,n1,n2)
%
if ((n0 < n1) | (n0 > n2) | (n1 > n2))
error('arguments must satisfy n1 <= n0 <= n2')
end
n = [n1:n2];
%x = [zeros(1,(n0-n1)), ones(1,(n2-n0+1))];
x = [(n-n0) >= 0];
Funcion Sigadd
function [y,n] = sigadd(x1,n1,x2,n2)
% implements y(n) = x1(n)+x2(n)
% -----------------------------
% [y,n] = sigadd(x1,n1,x2,n2)
% y = sum sequence over n, which includes n1 and n2
% x1 = first sequence over n1
% x2 = second sequence over n2 (n2 can be different from n1)
%
n = min(min(n1),min(n2)):max(max(n1),max(n2)); % duration of y(n)
y1 = zeros(1,length(n)); y2 = y1; % initialization
y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; % x1 with duration of
y
y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; % x2 with duration of
y
y = y1+y2; % sequence additio
Funcion Sigmult
function [y,n] = sigmult(x1,n1,x2,n2)
% implements y(n) = x1(n)*x2(n)
% -----------------------------
% [y,n] = sigmult(x1,n1,x2,n2)
% y = product sequence over n, which includes n1 and n2
% x1 = first sequence over n1
% x2 = second sequence over n2 (n2 can be different from n1)
%
n = min(min(n1),min(n2)):max(max(n1),max(n2)); % duration of y(n)
y1 = zeros(1,length(n)); y2 = y1; %
y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; % x1 with duration of
y
y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; % x2 with duration of
y
y = y1 .* y2; % sequence
multiplication
Función Sigshift
function [y,n] = sigshift(x,m,n0)
% implements y(n) = x(n-n0)
% -------------------------
% [y,n] = sigshift(x,m,n0)
%
n = m+n0; y = x;
Función Sigfold
function [y,n] = sigfold(x,n)
% implements y(n) = x(-n)
% -----------------------
% [y,n] = sigfold(x,n)
%
y = fliplr(x); n = -fliplr(n);
Función Convm
function [y,ny] = conv_m(x,nx,h,nh)
% Modified convolution routine for signal processing
% --------------------------------------------------
% [y,ny] = conv_m(x,nx,h,nh)
% [y,ny] = convolution result
% [x,nx] = first signal
% [h,nh] = second signal
%
nyb = nx(1)+nh(1); nye = nx(length(x)) + nh(length(h));
ny = [nyb:nye]; y = conv(x,h);
Example 2.1
n = [-5:5];
x = 2*impseq(-2,-5,5) - impseq(4,-5,5);
subplot(2,2,1);
stem(n,x); title('Secuencia de problema 2.1a')
xlabel('n'); ylabel('x(n)');
%PARTE B
n = [0:20]; x1 = n.*(stepseq(0,0,20)-stepseq(10,0,20));
x2 = 10*exp(-0.3*(n-10)).*(stepseq(10,0,20)-stepseq(20,0,20));
x = x1+x2;
subplot(2,2,3);
stem(n,x); title('Sequence in Problem 2.1b')
xlabel('n'); ylabel('x(n)');
%PARTE C
n = [0:50]; x = cos(0.04*pi*n)+0.2*randn(size(n));
subplot(2,2,2); stem(n,x); title('Sequence in Problem 2.1c')
xlabel('n'); ylabel('x(n)');
%PARTE D
n = [-10:9]; x = [5,4,3,2,1];
xtilde = x' * ones(1,4); xtilde = (xtilde(:))';
subplot(2,2,4); stem(n,xtilde); title('Sequence in Problem 2.1d')
xlabel('n'); ylabel('xtilde(n)');
Example 2.2
n = -2:10; x = [1:7,6:-1:1];
[x11,n11] = sigshift(x,n,5); [x12,n12] = sigshift(x,n,-4);
[x1,n1] = sigadd(2*x11,n11,-3*x12,n12);
subplot(2,1,1); stem(n1,x1); title('Sequence in Example 2.2a')
xlabel('n'); ylabel('x1(n)');
%PARTE B
[x21,n21] = sigfold(x,n); [x21,n21] = sigshift(x21,n21,3);
[x22,n22] = sigshift(x,n,2); [x22,n22] = sigmult(x,n,x22,n22);
[x2,n2] = sigadd(x21,n21,x22,n22);
subplot(2,1,2); stem(n2,x2); title('Sequence in Example 2.2b')
xlabel('n'); ylabel('x2(n)');
Example 2.3
n = [-10:1:10]; alpha = -0.1+0.3j;
x = exp(alpha*n);
subplot(2,2,1); stem(n,real(x));title('real part');xlabel('n')
subplot(2,2,2); stem(n,imag(x));title('imaginary part');xlabel('n')
subplot(2,2,3); stem(n,abs(x));title('magnitude part');xlabel('n')
subplot(2,2,4); stem(n,(180/pi)*angle(x));title('phase
part');xlabel('n')
Example 2.4
n = [0:10]; x = stepseq(0,0,10)-stepseq(10,0,10);
[xe,xo,m] = evenodd(x,n);
subplot(2,2,1); stem(n,x); title('Rectangular pulse')
xlabel('n'); ylabel('x(n)'); axis([-10,10,0,1.2])
subplot(2,2,2); stem(m,xe); title('Even Part')
xlabel('n'); ylabel('xe(n)'); axis([-10,10,0,1.2])
subplot(2,2,4); stem(m,xo); title('Odd Part')
xlabel('n'); ylabel('xe(n)'); axis([-10,10,-0.6,0.6])
Example 2.7
x = [3, 11, 7, 0, -1, 4, 2]; h = [2, 3, 0, -5, 2, 1];
y = conv(x, h)
Example 2.9
x = [3, 11, 7, 0, -1, 4, 2];
nx = [-3:3];
nh = [2, 3, 0, -5, 2, 1];
ny = [-1:4];
[y,ny] = conv_m(x,nx,h,nh);
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: