Manipolaçao de Sinais x(t)
Este trabalho é capaz de provocar um escalonamento no tempo e na amplitude de um sinal e tambem uma rotaçao e translaçao no tempo.
O seguinte código desenvolvido em Matlab apresenta essas potencialidades:
function [d,a]=sinal(x,t,y,k);
%
% Dado um sinal qualquer x(t), este programa altera, se desejavel,
% a sua amplitude, a sua fase e a sua frequencia.
%
% x - Amplitude das amostras
% t - Valor do eixo das Abcissas (eixo dos xx)
% y - Valor do factor de escala da amplitude
% k - Operaçao a desempenhar
% Caso nao deseje fazer qualquer tipo de alteraçao ao sinal original, definir k='x'
% Todos os parametros de entrade devem ser introduzidos no momento de
% executar a funcao, os valores de "x" devem ser inseridos entre
% parentises rectos [] separados por espaços, o parametro "k" e uma
% string, deve ser inserida entre pelicas 'string' e deve conter a
% operaçao a executar ex: k='2*t+1'.
%
f=length(x);
subplot(2,1,1);
plot(t,a); % mostra o sinal original
grid on;
subplot(2,1,2);
plot(d,a); % mostra o sinal alterado atraves do factor k
grid on;
end
Trabalho desenvolvido para a disciplina de Teoria do Sinal por:
Nuno Santos & Davide Pimenta
O seguinte código desenvolvido em Matlab apresenta essas potencialidades:
function [d,a]=sinal(x,t,y,k);
%
% Dado um sinal qualquer x(t), este programa altera, se desejavel,
% a sua amplitude, a sua fase e a sua frequencia.
%
% x - Amplitude das amostras
% t - Valor do eixo das Abcissas (eixo dos xx)
% y - Valor do factor de escala da amplitude
% k - Operaçao a desempenhar
% Caso nao deseje fazer qualquer tipo de alteraçao ao sinal original, definir k='x'
% Todos os parametros de entrade devem ser introduzidos no momento de
% executar a funcao, os valores de "x" devem ser inseridos entre
% parentises rectos [] separados por espaços, o parametro "k" e uma
% string, deve ser inserida entre pelicas 'string' e deve conter a
% operaçao a executar ex: k='2*t+1'.
%
f=length(x);
g=length(t);
a=y*x;
if f==g %testa se os vectores tem o mesmo numero de elementos
if k~='x'
w=find(k=='t');
k(w)=' ';
w=find(k=='*');
k(w)=' ';
w=find(k=='+');
k(w)=' ';
h=str2num(k);
d=(t-h(2))/h(1);
else
plot(t,a); % mostra o sinal original caso seja introduzido k='x'
grid on
end
else
disp('OBS: os vectores devem ter o mesmo numero de elementos');
disp('Introduza novos valores para os vectores');
endsubplot(2,1,1);
plot(t,a); % mostra o sinal original
grid on;
subplot(2,1,2);
plot(d,a); % mostra o sinal alterado atraves do factor k
grid on;
end
Trabalho desenvolvido para a disciplina de Teoria do Sinal por:
Nuno Santos & Davide Pimenta
0 Comments:
Enviar um comentário
<< Home