Laboratório 09:
Amostragem, Transformada Z e de Laplace.
Neste laboratório serão descritos, explicados e realizados os procedimentos juntamente com o estudante.
1. Prática de Laboratório 1.1. Amostragem:
Considere: sendo, .
Rode o código para obter a figura:
clear; %limpa todas as variáveis close all; %fecha todas as figuras abertas
t=0:.005:1; f=10; x=sin(2*pi*f*t); %vector de tempo (incrementos de 0.005 seg) e frequência em Hz. figure(1); %plotting
Acrescente o código para obter o sinal amostrado a 50Hz comparado ao sinal original: %plotting x(t) amostrado a 50Hz
fs1=50; %Hz
t1=0:1/fs1:1; %vector de tempo (incrementos de 0.02 seg) x1=sin(2*pi*f*t1);
figure(2);
stem(t1,x1); %representa os valores da função x1 nos instantes t1
axis([0 1 -1.5 1.5]); title('Sinal Amostrado a 50Hz'); xlabel('t'); ylabel('amplitude'); hold on; %adicionar gráficos sem alteração automática dos eixos
plot(t,x,'r:'); %sinal original, vermelho (r), tracejado (:)
O mesmo pode ser feito para diferentes frequências de amostragem, sendo assim foram feitos também com 25Hz e 11Hz. O código e os gráficos são mostrados abaixo:
%plotting x(t) amostrado a 25Hz fs2=25; %Hz
t2=0:1/fs2:1; %vector de tempo x2=sin(2*pi*f*t2);
figure(3);
%stem(t2,x2); %representa os valores da função x2 nos instantes t2 axis([0 1 -1.5 1.5]);
title('Sinal Amostrado a 25Hz'); xlabel('t');
ylabel('amplitude');
%plotting x(t) amostrado a 11Hz fs3=11; %Hz
t3=0:1/fs3:1; %vector de tempo x3=sin(2*pi*f*t3);
figure(4);
%stem(t3,x3); %representa os valores da função x3 nos instantes t3 axis([0 1 -1.5 1.5]);
title('Sinal Amostrado a 11Hz'); xlabel('t');
ylabel('amplitude');
1.2. Função de transferência discreta:
Parte 1:
Considere:
Iremos inicialmente inserir a função no tempo continuo, para isso serão inseridos o numerador e o denominador separadamente. Serão considerados um tempo de amostragem de 0,01 segundos. Segue o código para execução e a resposta do MatLab.
clc; close all; clear all; numC = [1];
denC = [10 3 5]; Ts = 0.01;
Parte 2:
Agora será utilizado outro exemplo para ser estudado resposta transitória:
>>numD=[1]; >>denD=[1 -0.3 0.5];
>>xstep = dstep (numD,denD,51); >>t = 0:0.05:2.5;
>>stairs(t,xstep)
1.3. Transformada Z e Inversa:
Dos métodos abordados para a obtenção da transformada inversa de Z o mais usual é o método da expansão em frações parciais. A resultante soma de fatores simples pode ser convertida para o domínio dos tempos através das transformadas apresentadas na Tabela de Transformadas Z.
No MatLab usa-se a função “ztrans” e “iztrans”. Tendo isso em vista isso faremos um exemplo utilizando a função: 𝑓(𝑛) = 2𝑛+ 2𝑛
O código e o resultado seguem abaixo: syms n k w z f(n)
TransformadaZ = ztrans((2^n)+(2*n)) InversaZ = iztrans(TransformadaZ)
A função do MATLAB “residue” permite determinar os resíduos e os termos diretos de X(z)/z, aceitando para tal como parâmetros os vetores com os coeficientes do numerador e denominador ordenados de forma decrescente de potências de z.
Calculo da transformada inversa da função:
Primeiro defina a função, depois use a função “residue” para obter os resíduos (r), polos (p) e termo diretos (k) da expansão em frações simples de X(Z)/Z.
B=[1]; A=[1 -3 2];
Sendo assim, usando os dados da tabela de transformadas é possível obter o resultado de x(k).
1.4 Transformada de Laplace:
Como foi visto anteriormente a transformada Z é utilizada para sinais no tempo discreto. Já a Transformada de Laplace, igualmente como a Transformada de Fourier, é utilizada para funções no tempo continuo. Ela transforma um sinal no domínio-t para o domínio-s, chamado também de plano-s.
A transformada de Laplace é definida como:
No MatLab usa-se a função “laplace” e “ilaplace”. Tendo isso em vista isso faremos um exemplo utilizando a função: 𝑓(𝑡) = 𝑒𝑎𝑡. 𝑏𝑡
O código e o resultado seguem abaixo: syms t s;
f='exp(a*t)*(b*t)'; % define a funcao f(t) TransformadaLaplace = laplace(f, t, s)