Función Impseq: Function

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

Función Impseq

function [x,n] = impseq(n0,n1,n2)

% Generates x(n) = delta(n-n0); n1 <= n,n0 <= n2

% ----------------------------------------------

% [x,n] = impseq(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)), 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);

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

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:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy