Registro on-line das aulas
Unidade 1
- Aula 1 (27 Jul)
- Resposta de sistemas LTI (Experimento 1.1)
- Relembrar o conceito de equação de diferenças de um sistema LTI discreto e resposta ao impulso.
- Resposta ao delta de Kronecker do sistema LTI discreto
![{\displaystyle a_{0}y[n]+a_{1}y[n-1]+a_{2}y[n-2]+...+a_{N}y[n-N]=b_{0}x[n]+b_{1}x[n-1]+b_{2}x[n-2]+...+b_{M}x[n-M]}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/2fdad1289d7711229e709a9c36c8f385ed537a35)
- onde
,
e
logo ![{\displaystyle y[n]=1/\alpha .y[n-1]+x[n]}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/10da5ab4bf7cd4e118f984c8142364ce6a4143ac)
% Exemplos e Experimentos baseados no livro:
% DINIZ, P. S. R., DA SILVA, E. A. B., e LIMA NETTO, S. Processamento Digital de Sinais: Projeto e Análise de Sistemas. 2. ed. Porto Alegre: Bookman, 2014. 976 p. ISBN 978-8582601235.
%% Experimento 1.1
alpha = 1.15; N = 256;
x = [1 zeros(1,N)];
y = filter(1,[1 -1/alpha],x);
stem(y);
- Aula 2 (31 Jul)
- Revisão de Sinais e Sistemas no tempo discreto em Matlab:
- Amostragem de Sinais (Experimento 1.2)
- Relembrar teorema da amostragem. Efeito da amostragem abaixo da frequência de Nyquist. Aliasing.
- Notar que as amostras de um sinal
(3 Hz) e um sinal
(7 Hz) são idênticas quando amostrado com um sinal de 10 Hz.
% Exemplos e Experimentos baseados no livro:
% DINIZ, P. S. R., DA SILVA, E. A. B., e LIMA NETTO, S. Processamento Digital de Sinais: Projeto e Análise de Sistemas. 2. ed. Porto Alegre: Bookman, 2014. 976 p. ISBN 978-8582601235.
%% Experimento 1.2
fs = 10; % frequencia (Hz) de amostragem dos sinais
Ts = 1/fs; fase = 0;
time = 0:Ts:(1-Ts);
f1 = 3; % frequencia (Hz) do sinal s_1
f2 = 7; % frequencia (Hz) do sinal s_2
s_1 = cos(2*pi*f1*time+fase);
s_2 = cos(2*pi*f2*time+fase);
fsa = 1000; % frequência auxiliar de amostragem usada apenas para representação dos sinais originais
Tsa = 1/fsa;
time_aux = 0:Tsa:(1-Tsa);
figure(1);
stem(time,s_1,'ob');
hold on;
plot(time_aux, cos(2*pi*f1*time_aux+fase),'--k');
stem(time,s_2,'+r');
plot(time_aux, cos(2*pi*f2*time_aux+fase),'--m');
hold off;
legend('s_1 discreto','s_1 contínuo','s_2 discreto','s_2 contínuo')
- Revisão de Sinais e Sistemas no tempo discreto em Matlab:
- Filtragem de Sinais (Experimentos 1.3, 2.1 e 2.2)
- Consulte a documentação do Matlab sobre roots, poly, linspace, logspace, residue, residuez, pretty, latex, freqs, freqz, syms, symfun, zplane.
- Ver também o Publish para a geração automática de relatórios em html, doc, pdf, latex ou ppt. Ver também Publishing MATLAB Code.
- Ver pag. 138 a 141 de [1]
Variação do Experimento 2.2
|
% Exemplos e Experimentos baseados no livro:
% DINIZ, P. S. R., DA SILVA, E. A. B., e LIMA NETTO, S. Processamento Digital de Sinais: Projeto e Análise de Sistemas. 2. ed. Porto Alegre: Bookman, 2014. 976 p. ISBN 978-8582601235.
%% Experimento 2.2
% Resposta em frequencia usando a função freqz
N = 1;
num = [1 0 0 0];
den = poly([0.8 0.2])
%den = [1 0.6 -0.16];
% modo 1
%[H,w]=freqz(num,den,[0:pi/100:N*pi-pi/100]);
%plot(w/pi, abs(H));
% modo 2
%[H,w]=freqz(num,den);
%plot(w/pi, abs(H));
% modo 3
%[H,w]=freqz(num, den, 'whole');
%plot(w/pi, abs(H));
% modo 4
freqz(num, den, 'whole');
figure(2);
zplane(num,den);
%% Resposta em frequencia substituindo z -> e^(jw)
syms z
Hf(z) = symfun(z^2/(z-0.2)/(z+0.8),z);
pretty(Hf)
latex(Hf)
N = 1;
w = [0:pi/100:N*pi-pi/100];
plot(w/pi,abs(Hf(exp(1i*w))))
%title(['$' latex(Hf) '$'],'interpreter','latex')
text(0.2,2,['H(z) = ' '$$' latex(Hf) '$$'],'interpreter','latex')
xlabel(['w/' '$$' '\pi' '$$'],'interpreter','latex')
- Verifique a diferença entre os tipos de plots comentados no código.
- substitua o denominador de H(z) por dois polos em [-0.8 -0.8].
- verifique o que ocorre se forem utilizados polos complexos conjugados [0.3-0.4i 0.3+0.4i 0.1]
- verifique o que ocorre se forem utilizados polos complexos não conjugados [0.3-0.4i 0.3+0.8i]
- verifique o que ocorre se os polos estiverem fora do circulo unitário [1.2 -0.2]. Interprete este resultado
|
- Aula 3 (3 Ago)
- Revisão de Sinais e Sistemas no tempo discreto em Matlab:
Variação do Experimento 3.1
|
%% Variação do Experimento 3.1 do livro:
% DINIZ, P. S. R., DA SILVA, E. A. B., e LIMA NETTO, S. Processamento Digital de Sinais: Projeto e Análise de Sistemas. 2. ed. Porto Alegre: Bookman, 2014. 976 p. ISBN 978-8582601235.
% FILE: Ex3_1.m
% Exemplificando as possiveis formas de realizar a filtragem de um sinal x(n)
clc; clear all; close all;
%% Definindo valores iniciais
Nh = 10; Nx = 20;
%Nh = 400; Nx = 10000;
x = ones(1,Nx);
% A resposta ao inpulso de um sistema h(n)
% no filtro FIR aos coeficientes b(n) = h(n)
h = [1:Nh]; b = h;
%% Filtrando o sinal e medindo tempos
% Filtragem utilizando a convolução
% NOTE: length(y) = length(x) + length(h) -1
tic; % iniciar a contagem do tempo
y1 = conv(x,h);
t(1) = toc; % terminar acontagem e mostrar tempo no console
% filtragem utilizando a equação recursiva
% NOTE: length(y) = length(x)
tic;
y2 = filter(b,1,x);
t(2) = toc;
% filtragem utilizando a equação recursiva
% aumentando o tamanho de x para que length(y3) = length(y1)
x3 = [x zeros(1,length(h)-1)];
tic;
y3 = filter(h,1,x3);
t(3) = toc;
length_y = length(x) + length(h) - 1;
% filtragem utilizando a FFT
% a y = IFFT(FFT(x)*FFT(h))
tic;
X = fft(x,length_y);
H = fft(h,length_y);
Y4 = X.*H;
y4 = ifft(Y4);
t(4) = toc;
% filtragem utilizando a função fftfilt
% a y = IFFT(FFT(x)*FFT(h))
tic
y5 = fftfilt(h,x3);
t(5) = toc;
disp('Comprimento do vetor de saída length(y)')
disp([' ' num2str([length(y1) length(y2) length(y3) length(y4) length(y5)])])
disp('Tempo usado na filtragem em micro segundos')
disp([' ' num2str(t*1e6) ' us'])
%% Plotando o gráfico
subplot(411);stem(y1);
hold on;
stem(y2,'xr');
stem(y3,'+m');
legend('y1', 'y2', 'y3')
hold off
subplot(412);stem(y1, 'ob');legend('y1')
subplot(413);stem(y2, 'xr'); hold on; stem(zeros(size(y1)),'.w');hold off; legend('y2')
subplot(414);stem(y3, '+m');legend('y3')
|
- Análise de Sinais (Experimento 3.2) - Análise de um sistema h[n] correspondente a um filtro passa-faixa, utilizando um sinal de entrada x[n] senoidal (ou um sinal r[n] de ruído branco). Análise da entrada x[n] e saída y[n] usando a fft.
Variação do Experimento 3.2
|
%% Variação do Experimento 3.2 do livro:
% DINIZ, P. S. R., DA SILVA, E. A. B., e LIMA NETTO, S. Processamento Digital de Sinais: Projeto e Análise de Sistemas. 2. ed. Porto Alegre: Bookman, 2014. 976 p. ISBN 978-8582601235.
% FILE: Ex3_2.m
% Análise de sinais no domínio da frequência
fs = 200; % frequência de amostragem
f_sinal = 10; A_sinal = 1; % freqüência e amplitude do sinal
T = 1; % Duração do sinal
k_noise = 0.2; % Intensidade do ruído
snr = 0;
time = 0 : 1/fs : (T-1/fs);
L = length(time);
freq = time * fs/T;
% Sinal x(n) com amplitude A_sinal e frequencia de f_sinal (Hz)
x = A_sinal*sin(2*pi*f_sinal.*time);
% Adicionando um ruido com a função randn
noise = k_noise*randn(1,fs*T);
x1 = x + noise;
% Adicionando um ruido com a função awgn
x2 = awgn(x,snr);
% Obtendo o sinal no domínio da frequencia
X = abs(fft(x))/L;
X1 = abs(fft(x1))/L;
X2 = abs(fft(x2))/L;
% Obtendo os plots dos sinais no dominio do tempo e domínio da frequencia
figure(1);
subplot(211);plot(time,x, 'b', time,x1, 'g', time, x2, 'r');
legend('x(n)', 'x(n)+rand', 'x(n)awgn', 'Location','south')
xlabel('Tempo (seg)'); ylabel('Magnitude (linear)');
subplot(212);plot(freq, (abs(X)), 'b'); hold on ;plot(freq, (abs(X1)),'g');plot(freq,(abs(X2)),'r');
legend('X(f)', 'X(f)+rand', 'X(f)+awgn', 'Location','south'); hold off;
xlabel('Frequencia (Hz)'); ylabel('Magnitude (linear)');
|
- Consulte a documentação do Matlab sobre
fft, ifft, fftshift, randn
- Consulte a documentação do Matlab sobre
plot, grid, subplot, hold, xlabel, ylabel, title, legend, xlim, ylim, log10, log
- Consulte a documentação do Matlab sobre text, zp2tf, tf2zp, fftfilt, awgn
- Ver pag. 141 a 145 e 230 a 235 de [1]
- Aula 4 (7 Ago)
- Revisão de Sinais e Sistemas no tempo discreto em Matlab:
%% Experimento 2.3 - Filtros Digitais
% Exemplos e Experimentos baseados no livro:
% DINIZ, P. S. R., DA SILVA, E. A. B., e LIMA NETTO, S. Processamento Digital de Sinais: Projeto e Análise de Sistemas. 2. ed. Porto Alegre: Bookman, 2014. 976 p. ISBN 978-8582601235.
% FILE: Exp2_3.m
%% 1º filtro
p1 = 0.9*exp(1j*pi/4);
Z = [1 -1 ]'; P = [p1 p1']';
[num,den] = zp2tf(Z,P,1);
[h,w] = freqz(num,den);
figure(1); plot(w,abs(h)/max(abs(h)));
figure(2); zplane(num,den);
%% 2º filtro
z1 = exp(1j*pi/8);
z2 = exp(1j*3*pi/8);
p1 = 0.9*exp(1j*pi/4);
Z = [1 -1 z1 z1' z2 z2']';
P = [p1 p1' p1 p1' p1 p1']';
[num,den] = zp2tf(Z,P,1);
[h,w] = freqz(num,den);
figure(1); plot(w,abs(h)/max(abs(h)));
figure(2); zplane(num,den);
%% 3º filtro
z1 = exp(1j*pi/8);
z2 = exp(1j*3*pi/8);
p1 = 0.99*exp(1j*pi/4);
p2 = 0.9*exp(1j*pi/4 - 1j*pi/30);
p3 = 0.9*exp(1j*pi/4 + 1j*pi/30);
Z = [1 -1 z1 z1' z2 z2']';
P = [p1 p1' p2 p2' p3 p3']';
[num,den] = zp2tf(Z,P,1);
[h,w] = freqz(num,den);
figure(1); plot(w,abs(h)/max(abs(h)));
figure(2); zplane(num,den);
- Exercício - Sinal DTMF com ruído
- Verifique se o Matlab está reproduzindo corretamente o som.
%% Carregando o som
clear, close, clc
load handel;
%% Reproduzindo o som
sound(y,Fs)
% Reproduzindo o som
%soundsc(y,Fs)
% Reproduzindo o som
%player = audioplayer(y, Fs);
%play(player);
- Usando o Matlab (ou Audacity) para gerar um sinal DTMF correspondente a um número N e adicionar um ruido ao sinal. Opcionalmente utilize um sinal DTMF gravado
- Utilizar uma frequência de amostragem de 8000Hz de fazer a duração do sinal igual a 2 segundos.
- Para adicionar o ruído utilize a função y = awgn(x,snr), ou y = x + nivel*randn(n).
- Observe este sinal no domínio do tempo (DT) e domínio da frequência (DF).
%% Carregando o som
clear, close, clc
[y,Fs] = audioread('DTMF_8kHz.ogg');
%% Reproduzindo o som
sound(y,Fs)
%% Visualizando o som no DT
time = [0:length(y)-1]'/Fs;
plot(time',y'); xlabel('segundos');
xlim([0 time(end)]), ylim([-1 1]);
%% Visualizando o som no DF
Nfreq = length(y);
freq = linspace(0,2*pi,Nfreq)'*Fs/pi/2;
Y = fft(y,Nfreq)/Nfreq;
plot(freq,abs(Y)); xlabel('Hertz');
xlim([0 Fs/2]);
Unidade 2
- Aula 5 (10 Ago)
-
![{\displaystyle H(s)={\frac {c_{0}+c_{1}s+c_{2}s^{2}+...+c_{m}s^{m}}{d_{0}+d_{1}s+d_{2}s^{2}+...+d_{n}s^{n}}},m\leq n}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/88c50164f031db80ea3bed01e855b8d4144399c2)
- Resposta em frequência: para obter a resposta em frequência é necessário avaliar
![{\displaystyle H(j\omega )=H(s)\left|{\begin{matrix}\\s=j\omega \end{matrix}}\right.}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/6c33ec5e4fc8d5ec3f6ac02f7de1306738fc9d96)
![{\displaystyle H(j\omega )=\left|H(j\omega )\right|e^{j\phi (\omega )}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/d732cdf46882cdfd9263bf36ee3df6bc3a09d3ff)
![{\displaystyle \left|H(j\omega )\right|^{2}=H(j\omega )H(-j\omega )}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/904da0197cd0e2e74aea378bf3dbbf9572b68ff7)
![{\displaystyle e^{j2\phi (\omega )}={\frac {H(j\omega )}{H(-j\omega )}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/1ed95e15fec0e1df90daf1cf09e81f7b0591f034)
- O projeto de filtros analógicos é realizado em 2 etapas:
- projeto de um filtro passa baixas (LP) protótipo normalizado
com frequência de passagem ![{\displaystyle \Omega _{s}=1}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/81458dfd80f1cf12371297025c012da2309c1c20)
- transformação em frequência para o tipo de filtro (LP, HP, BP ou BS)
![{\displaystyle H(s)=H(p)\left|{\begin{matrix}\\p=g(s)\end{matrix}}\right.}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/374d921e57d88b0318de22a20fef2c03b49e4142)
- Aula 6 (14 Ago)
- Análise básica de filtros analógicos com Matlab.
- Dado um sistema linear invariante no tempo, representado pela função de transferência
, obter a resposta de frequência do sistema (Magnitude e Fase).
![{\displaystyle H(s)={\frac {s+1}{s^{2}+2s+2}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/02fc88d5e878b92a72893334cdda175a49a0b013)
- Aula 7 e 8 (17 e 21 Ago)
- Projeto de filtros analógicos do tipo Butterworth
- A aproximação de magnitude de filtros analógicos pode ser realizado usando as aproximações de Butterworth, Chebyshev (tipo 1 ou 2) e Cauer.
- Projeto de filtros analógicos do tipo Butterworth, considerando:
é a frequência de passagem do filtro LP,
é a atenuação em dB na frequência de passagem,
é a frequência de stopband do filtro,
é a atenuação em dB na frequência de stopband,
,
,
são as frequências de passagem e stopband do filtro protótipo.
ATENÇÃO!!!! Tinha um erro no valor de
antes estava
.
Jessica obrigado por avisar.
- É necessário determinar a ordem
do filtro:
![{\displaystyle n\geq {\frac {\log[(10^{0.1A_{s}}-1)/(10^{0.1A_{p}}-1)]}{2\log \Omega _{s}}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/e5f994571dbe67328273fcb9db86b5480e325a9a)
- Em seguida obter os polos do filtro:
![{\displaystyle p_{k}=\epsilon ^{(-1/n)}e^{\left[j{\frac {(2k+n-1)}{2n}}\pi \right]},k=1,2,3,...n}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/0d089a7333523020d18a5fc153299ffe65966e6d)
- Em seguida é necessário obter a função de transferência:
, onde ![{\displaystyle D(p)=\prod _{k-1}^{n}\left(p-p_{k}\right)}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/3e38480e75a0e94142f5bd355dbe1e7c29b13e44)
- No caso de um filtro LP é necessário ainda obter a função de transferência do filtro especificado
![{\displaystyle H(s)=H(p)\left|{\begin{matrix}\\p={\frac {s}{\omega _{p}}}\end{matrix}}\right.}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/303aa141221be7fb76f44e91f36e20bc33a51fc3)
- Ver pag. 186 a 204 de [2]
%Butterworth lowpass Responses (db)
w = 0.1:0.01:10;
H=inline('10*log10(1./(1+w.^(2*n)))','w','n');
for k = 1:1:10
semilogx(w,H(w,k)); hold on;
end
grid on
%Butterworth lowpass Responses (linear)
w = 0.1:0.01:2;
H=inline('1./(1+w.^(2*n))','w','n');
for k = 1:1:10
plot(w,H(w,k)); hold on;
end
grid on
- Aula 10 (24 Ago)
- Projeto de filtros analógicos do tipo Chebyshev I.
- Determine a ordem mínima necessária:
![{\displaystyle n\geq {\frac {\cosh ^{-1}{\sqrt {(10^{0.1A_{s}}-1)/(10^{0.1A_{p}}-1)}}}{\cosh ^{-1}\Omega _{s}}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/79382aa5062311436d5d24ca61d8d7397634bb3d)
- Em seguida obter os polos do filtro:
, onde
![{\displaystyle \theta _{k}=\left({\frac {(2k-1)\pi }{2n}}\right)}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/0bddf4afa1c94dd082e44ea5dcc7d4523a77f536)
![{\displaystyle \varphi _{2}={\frac {1}{n}}\sinh ^{-1}\left({\frac {1}{\epsilon }}\right)}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/39d40622b160bb5f3aa26fe32d539476dd0a234b)
- Exemplos de projeto de filtro passa-baixas com frequência de passagem de 16000 rad/s com atenuação máxima de 0.3 dB, frequência de rejeição de 20000 rad/s com atenuação mínima de 20 dB; e ganho em DC de 3 dB.
%% Projeto de filtro passa-baixas usando funções do Matlab
%% Especificações do filtro
Wp =16000; Ws = 20000; Ap = 0.3; As = 20; G0= 3;
% Para analisar o filtro projetado, use fvtool(b,a) para observar plano s, resposta em magnitude, fase e atraso de grupo
%% Butterworth
[n,Wn] = buttord(Wp, Ws, Ap, As,'s')
[b,a] = butter(n,Wn, 's');
%% Chebyshev I
n = cheb1ord(Wp, Ws, Ap, As,'s')
[b,a] = cheby1(n,Ap, Wp, 's');
%% Chebyshev II
n = cheb2ord(Wp, Ws, Ap, As,'s')
[b,a] = cheby2(n,As, Ws, 's');
%% Elliptic - Cauer
[n, Wn] = ellipord(Wp, Ws, Ap, As,'s')
[b,a] = ellip(n,Ap,As, Wn, 's');
- Ver pag. 204 a 208 de [2]
- Aula 11 (28 Ago)
- Transformações de frequência de filtros analógicos
- passa-baixas (
) -> passa-baixas (
)
- Substituição de variáveis
![{\displaystyle p={\frac {s}{\omega _{p}}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/e78a23f3d84564e812cc0a5937f220f259acb2d9)
- Cálculo do protótipo com
![{\displaystyle \Omega _{s}={\frac {\omega _{s}}{\omega _{p}}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/6c6d1146714ea265408ba7ed1227937bc26da56e)
- passa-baixas (
) -> passa-altas (
)
- Substituição de variáveis
![{\displaystyle p={\frac {\omega _{p}}{s}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/1d821082c58836b6a4b15564b568b89f1e2258ac)
- Cálculo do protótipo com
![{\displaystyle \Omega _{s}={\frac {\omega _{p}}{\omega _{s}}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/d86ed2f4e3e04b2ecfbe622593f9e1ab6d34c4a4)
- passa-baixas (
) -> passa-faixa (
e
)
- Substituição de variáveis
![{\displaystyle p={\frac {s^{2}+\omega _{0}^{2}}{Bs}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/5d012475350ee5b88b927d4721af1b7b1313c788)
- Cálculo do protótipo com
![{\displaystyle \Omega _{s}={\Bigg |}{\frac {-\omega _{s}^{2}+\omega _{0}^{2}}{B\omega _{s}}}{\Bigg |}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/e2da914449ae73a04711a9599bb60bea93a34560)
- onde
e ![{\displaystyle \omega _{0}={\sqrt {\omega _{p2}\omega _{p1}}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/8da00858a94ebf5199697ff06ed9810f6de79fe5)
- passa-baixas (
) -> rejeita-faixa (
e
)
- Substituição de variáveis
![{\displaystyle p={\frac {Bs}{s^{2}+\omega _{0}^{2}}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/7480e1dad50dea991a2fcbe1923d0fd2e35fd38d)
- Cálculo do protótipo com
![{\displaystyle \Omega _{s}={\Bigg |}{\frac {B\omega _{s}}{-\omega _{s}^{2}+\omega _{0}^{2}}}{\Bigg |}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/1c8c3fa1d1b162a5511ad824b2eea236d3e4f906)
- onde
e ![{\displaystyle \omega _{0}={\sqrt {\omega _{p2}\omega _{p1}}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/8da00858a94ebf5199697ff06ed9810f6de79fe5)
-
- Ver pag. 208 a 218 de [2]
- Aula 12 (31 Ago)
- Exemplos de Filtros Analógicos:
- Exemplo 1: Filtro passa-baixas (
= 952Hz,
= 1236 Hz,
= 1 dB,
= 20 dB)
- Exemplo 2: Filtro passa-baixas (
= 1236 Hz,
= 952Hz,
= 1 dB,
= 20 dB)
- Exemplo 3: Filtro passa-baixas (
= 852Hz,
= 80 Hz,
= 770 Hz,
= 941 Hz,
= 1 dB,
= 20 dB)
- NOTA:
- No calculo do filtro lembre-se de usar as frequências angulares para
,
,
,
.
- onde
(
) é a frequência de passagem em Hz (rad/s),
(
) é a frequência de rejeição em Hz (rad/s),
(
) é a frequência central em Hz (rad/s),
(
) é a largura de banda em Hz (rad/s).
- Confira os projetos dos filtros plotando as respostas em frequência dos filtros protótipo H(p) e filtro final H(s) de cada um dos exemplos.
- Aula 13 (04 Set)
- Filtros Digitais: Filtros IIR: transformações do tempo contínuo no tempo discreto
- Transformação invariante ao impulso (pode ser usada apenas para filtros com forte atenuação em frequência altas, ex: passa-baixas e passa-faixa)
- Transformação bilinear (pode ser usada para todos tipos de filtro)
- Ver pag. 219 a 229 de [2]
- Ver pag. 403 a 415 e 434 a 435 de [1]
- Aula 14 (11 Set)
- Filtros Digitais: Filtros IIR:
- Aula 15 (14 Set)
- Filtros Digitais: Filtros IIR: Uso do Matlab.
-
- O projeto dos filtros digitais IIR baseados na transformada bilinear no Matlab é realizada em dois passos: (1) Determinação da ordem do filtro; (2) Determinação dos coeficientes do numerador
e denominador
de
.
Unidade 3
- Aula 16 (21 Set)
- Filtros Digitais: Filtros FIR
- Filtros de fase linear: simétricos e antisimétricos (Tipo 1, 2, 3 e 4)
- Filtros de fase linear: propriedades (respostas em frequência possíveis, distribuição dos zeros em simetria quadrantal)
- Aula 17 (25 Set)
-
- Coeficientes da série de Fourier de filtros ideias: LP, HP, BP, BS
- Rejeita-banda (Band-stop)
![{\displaystyle c_{\text{BS}}(n)=\left\{{\begin{matrix}1-{\frac {\omega _{c2}-\omega _{c1}}{\pi }};\qquad n=0\\-{\frac {\sin(\omega _{c2}n)-\sin(\omega _{c1}n)}{\pi n}};\qquad \left|n\right|>0\end{matrix}}\right.}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/d53e4b10e28625604fd79f2a1bbc4a5477c1d821)
- Janela retangular, fenômeno de Gibbs
- Aula (28 Set, 02 e 05 Out)
-
- Atividade a distância, com laboratório liberado para uso dos alunos para a realização da AE2.
- Aula 18 (09 Out)
-
- Uso de funções de janelamento temporal no projeto de filtros digitais.
- Tipos de janelas temporais usadas no projeto de filtros digitais.
![{\displaystyle w(n)=1;\qquad -M\leq n\leq M}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/471f836d6af9e4dd5e58cd8d76e4d5278d008c4c)
![{\displaystyle w(n)=1-{\frac {\left|n\right|}{M+1}};\qquad -M\leq n\leq M}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/e21bf07fcd502c48fdb09c1449ed329ffc5492e3)
![{\displaystyle w(n)=0.5+0.5\cos \left({\frac {2\pi n}{2M+1}}\right),-M\leq n\leq M}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/cf4f9d1a54fac6b27e58d3f85aca5e3aecbd3b05)
![{\displaystyle w(n)=0.54+0.46\cos \left({\frac {2\pi n}{2M+1}}\right);\qquad -M\leq n\leq M}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/a4349e9f803885d853d55b6e63062e9634cc5597)
![{\displaystyle w(n)=0.42+0.5\cos \left({\frac {2\pi n}{2M+1}}\right)+0.08\cos \left({\frac {4\pi n}{2M+1}}\right);\qquad -M\leq n\leq M}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/83c754cfdd687933e531c601a5e504cfcae6c4d0)
- em todas as janelas
quando ![{\displaystyle \left|n\right|\geq M}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/c49719b82169420c801acc6087015a641c376ba8)
- onde
é
para
par e
para
impar
L = 64;
wvtool(rectwin(L), triang(L), bartlett(L), hann(L), hamming(L), blackman(L), blackmanharris(L), nuttallwin(L));
- Tabela 5.1
Janela
|
|
|
|
Retangular
|
13.3
|
20.33
|
0.92 /M
|
Triangular
|
26.6
|
27.41
|
|
Bartlett
|
26.5
|
27.48
|
|
Hann
|
31.5
|
44.03
|
3.11 /M
|
Bartlett-Hanning
|
35.9
|
40.77
|
|
Hamming
|
42.5
|
54.08
|
3.32 /M
|
Bohman
|
46.0
|
51.84
|
7.01 /M
|
Parzen
|
53.1
|
56.89
|
|
Backman
|
58.1
|
75.25
|
5.56 /M
|
Flat Top
|
88.0
|
106.3
|
|
Backman-Harris
|
92.1
|
108.8
|
|
Nutfall
|
93.8
|
109.7
|
|
- Dados acima obtidos para um filtro passa baixas de ordem N = 64 com
![{\displaystyle \omega _{c}=0.5\pi }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/7598eff396dd325470ed61fc22417e0827642dbb)
- Ver pag. 256 a 265 de [2]
- Ver artigos:
- A new window and comparison to standard windows Yeong Ho Ha ; Pearce, J.A. IEEE Transactions on Acoustics, Speech, and Signal Processing, Feb. 1989, Vol.37(2), pp.298-301.
- Some windows with very good sidelobe behavior Nuttall, A. IEEE Transactions on Acoustics, Speech, and Signal Processing, February 1981, Vol.29(1), pp.84-91
ATUAL
- Aula 19 e 20 (16 e 19 Out)
- Filtros Digitais: Filtros FIR:
- Projeto de filtro FIR utilizando janelas temporais fixas.
Projetar um filtro passa baixas usando uma janela temporal fixa (verificar a janela que atende a especificação)
wp = 0.2*pi; Ap = 0.2 dB; Gp = 0 dB
ws = 0.3*pi; As = 60 dB;
- Informar qual o tipo de janela, a ordem obtida, e o valor de wc do projeto final
Projetar um filtro LP usando uma janela temporal fixa (hamming, bartlett-hanning, hanning).
wp = 0.4*pi; Ap = 1 dB; Gp = 0 dB
ws = 0.6*pi; As = 40 dB;
- Comparar os 3 tipos de janela, a ordem obtida, e o valor de wc em cada projeto.
- Use como uma estimativa inicial os valores da Tabela 5.1 pag. 268.
- PASSO 1 - Escolher o tipo de janela de acordo com a atenuação do lóbulo lateral Asl e As.
- PASSO 2 - Estimar a ordem N1 do filtro considerando os parâmetros Dw
- PASSO 3 - Calcule os coeficientes clp do filtro LP , calcule os valores da janela w e obtenha a resposta ao impulso do filtro h = clp * w.
- PASSO 4 - Verifique o valor real de Dwr = wAs-wAp, e faça a correção da ordem do filtro em função do desvio constatado. N2 = N*Dwr/Dw.
- PASSO 5 - Corrija o valor de projeto dos coeficientes Clp do filtro ideal, a janela e a resposta ao impulso.
- Repita o PASSO 3 até 5, até obter um filtro que atenda as especificações de Dw.
- PASSO 6 - Desloque a frequência de corte wc de modo a obter o valor correto de wp. wc2 = wp + (wp-wAp).
- Projete os dois filtros projetados anteriormente como IIR, utilizando 3 janelas diferentes. Compare os filtros obtidos com os filtros IIR.
Avaliações
- Entrega dos diversas Atividades Extraclasse ao longo do semestre.
- Entrega do Projeto Final. O projeto é avaliado nos quesitos:
- 1) Implementação do Sistema,
- 2) Documentação,
- 3) Avaliação Global do aluno no projeto.
- Entrega dos Atividades Extraclasse ao longo do semestre AE1 a AE(N). A entrega, detalhes e prazos de cada AE serão indicados na plataforma Moodle
AE1 - Revisão de Sinais e Sistemas (prazo e forma de entrega ver na plataforma Moodle)
|
- ATIVIDADE 1 - Experimento 3.1
- Utilizando Nh = 10 e Nx = 20, execute a filtragem pelo menos 3 vezes em seguida e anote os tempos.
- Anote o tamanho dos sinais de saída y, e analise os plots.
- Aumente o tamanho do filtro (Nh) e o tamanho do sinal de entrada (Nx) e execute a filtragem pelo menos 3 vezes em seguida e anote os tempos.
- Anote o tamanho dos sinais de saída y.
- Explique os resultados obtidos.
- ATIVIDADE 2 - Experimento 3.2
- Acrescente um subplot para mostrar o sinal no domínio da frequência com a magnitude em dB 20*log10(abs(X)).
- Limite a escala da magnitude entre -100 e 1 dB usando ylim.
- Insira em todos os plots e subplot, títulos, legendas e labels para os eixos X e Y,
- Posicione o texto "F Hz" para indicar o pico nos gráficos 2 e 3, conforme mostrado na figura abaixo.
Figura 1 - Análise no domínio da frequência do sinal
- Varie o valor de k entre 0 e 2 (com passo de 0.1) e analise o sinal no domínio do tempo e no domínio da frequência.
- Varie o valor de snr entre 100 e 1 e analise o sinal no domínio do tempo e no domínio da frequência.
- Utilize k = 0.3 e snr = 40 e varia a frequência do sinal entre 0 até 200 Hz (com passo de 10 Hz). Interprete os resultados obtidos.
- ATIVIDADE 3 - Experimento 1.2 + 3.2
- Utilizando o espectro de frequência (Exp3.2) repita as medições feitas com o processo de amostragem (Experimento 1.2)
- Varie o valor da frequência de amostragem de 6 até 20 Hz e observe
- Para analisar o espectro talvez seja conveniente mudar a amplitude dos sinais de entrada (sugestão A1 = 0.3 e A2 = 0.8).
- Em qual frequência deixa de ocorrer recobrimento do sinal 2.
- Qual conclusão que você chega em relação a amostragem de sinais utilizando para a frequência de amostragem valores acima e abaixo do dobro da frequencia de Nyquist.
- ATIVIDADE 4 - Filtragem de sinal DTMF
- Usando o Matlab (ou Audacity) gere um sinal DTMF correspondente a um número N (ver tabela abaixo), com duração de 2 segundos, com frequência de amostragem de 4kHz.
- Use o Matlab para ouvir o sinal x[n], mostrar o sinal no domínio do tempo e frequência.
- Use um filtro passa-faixa que permita a passagem apenas da frequência da linha (ou coluna) y[n]. Faça a filtragem no domínio do tempo, usando a função filter. Para projetar o filtro, posicionando no mínimo um polo sobre a frequência que deseja passar, e um zero sobre a frequência que deseja rejeitar.
- Use o Matlab para ouvir o sinal x[n], mostrar o sinal no domínio do tempo e frequência.
- VER os experimentos 3.1, 3.2 e 2.3 para códigos de auxilio.
Aluno
|
Tecla
|
Fernando |
1
|
Gabriel |
6
|
Jessica |
0
|
João |
3
|
Leticia |
9
|
Marcos |
5
|
Pedro |
8
|
Vitor |
2
|
- Enviar o relatório (em pdf) incluindo as principais figuras obtidas e as respostas e conclusões na plataforma Moodle.
- Para a geração de documentação/relatórios técnicos/artigos, está disponibilizada a Plataforma Sharelatex. Utilize preferencialmente o modelo de artigo no padrão ABNT em 1 coluna. Se quiser pode utilizar o publish do matlab mas entregue o documento em pdf, com as respostas solicitadas e as conclusões de cada Atividade.
|
ATUAL
AE2 - Projeto de Filtros Digitais IIR (Entrega e prazos ver Moodle)
|
Esta avaliação visa verificar se você conhece a metodologia de projeto de filtros digitais IIR: (a) projeto de um filtro protótipo analógico passa-baixas H(p); (b) transformação em frequência do filtro H(p) -> H(s), obtendo o filtro LP, HP, BP, BS, conforme o tipo de filtro desejado; (c) transformação do filtro analógico em filtro digital H(s) -> H(z) utilizando a transformação "Bilinear" ou pela transformação "Invariante ao Impulso". Nesta avaliação é solicitado que cada equipe realize o projeto de 5 filtros, e trabalhos individuais serão 4 filtros. Para todos os filtros considere como valores default fa = 4 kHz, Gp = 0 dB, Ap = 1 dB e As = 40 dB (exceto se indica outro valor na tabela abaixo. Os filtro BP deverão ter apenas o BP1 projetado conforme o procedimento completo, sendo que nos demais deverá ser aproveitado o filtro H(p) para obtê-los.
Equipe
|
Filtro 1
|
Filtro 2
|
Filtro 3
|
Filtro 4
|
Filtro 5
|
Equipe 1
|
LP - (f1 = 941 Hz; f2 = 1209 Hz, As = 20 dB, Butterworth)
|
HP - (f1 = 941 Hz; f2 = 1209 Hz, As = 30 dB, Chebychev 1)
|
BP1 - (f1 = 627 Hz; f2 = 683 Hz, f3 = 711 Hz; f4 = 767 Hz, Elíptico )
|
BP2 - (f1 = 693 Hz; f2 = 755 Hz, f3 = 785 Hz; f4 = 847 Hz, Elíptico )
|
BP3 - (f1 = 1202 Hz; f2 = 1309 Hz, f3 = 1363 Hz; f4 = 1470 Hz, Elíptico )
|
Equipe 2
|
LP - (f1 = 941 Hz; f2 = 1209 Hz, As = 25 dB, Chebychev 1)
|
HP - (f1 = 941 Hz; f2 = 1209 Hz, As = 25 dB, Butterworth)
|
BP1 - (f1 = 847 Hz; f2 = 922 Hz, f3 = 960 Hz; f4 = 1035 Hz, Chebychev 2 )
|
BP2 - (f1 = 1329 Hz; f2 = 1447Hz, f3 = 1507 Hz; f4 = 1625 Hz, Chebychev 2 )
|
BP3 - (f1 = 1470 Hz; f2 = 1600 Hz, f3 = 1666 Hz; f4 = 1796 Hz, Chebychev 2 )
|
Equipe 3
|
LP - (f1 = 941 Hz; f2 = 1209 Hz, As = 30 dB, Chebychev 1)
|
HP - (f1 = 941 Hz; f2 = 1209 Hz, As = 20 dB, Butterworth)
|
BP1 - (f1 = 767 Hz; f2 = 835 Hz, f3 = 869 Hz; f4 = 937 Hz, Elíptico )
|
BP2 - (f1 = 693 Hz; f2 = 755 Hz, f3 = 785 Hz; f4 = 847 Hz, Elíptico )
|
BP3 - (f1 = 1329 Hz; f2 = 1447Hz, f3 = 1507 Hz; f4 = 1625 Hz, Elíptico )
|
Equipe 4
|
LP - (f1 = 941 Hz; f2 = 1209 Hz, As = 25 dB, Butterworth)
|
HP - (f1 = 941 Hz; f2 = 1209 Hz, As = 35 dB, Chebychev 1)
|
BP1 - (f1 = 1088 Hz; f2 = 1185 Hz, f3 = 1233 Hz; f4 = 1330 Hz, Chebychev 2 )
|
BP2 - (f1 = 1329 Hz; f2 = 1447Hz, f3 = 1507 Hz; f4 = 1625 Hz, Chebychev 2 )
|
BP3 - (f1 = 627 Hz; f2 = 683 Hz, f3 = 711 Hz; f4 = 767 Hz, Chebychev 2 )
|
Equipe 5
|
LP - (f1 = 941 Hz; f2 = 1209 Hz, As = 35 dB, Chebychev 1)
|
HP - (f1 = 941 Hz; f2 = 1209 Hz, As = 25 dB, Butterworth)
|
BP1 - (f1 = 693 Hz; f2 = 755 Hz, f3 = 785 Hz; f4 = 847 Hz, Elíptico )
|
BP2 - (f1 = 1202 Hz; f2 = 1309 Hz, f3 = 1363 Hz; f4 = 1470 Hz, Elíptico )
|
- onde:
- LP (Low Pass)- Passa Baixa, HP (High Pass)- Passa Altas, BP (Band Pass)- Passa Faixa, BS (Band Stop)- Rejeita Faixa
- são as "N" frequência de especificação do filtro dadas em Hertz (kHz ou MHz); f_a é a frequência de amostragem dos sinais e do sistema.
- frequência de passagem; - frequência de rejeição, - Atenuação máxima na banda de passagem (dB), - Atenuação mínima na banda de rejeição (dB), - Ganho médio na banda de passagem (dB).
- Os filtros LP e HP devem ser realizados utilizando a aproximação de Butterworth ou Chebyshev tipo 1 (devendo ser todos os calculados efetuados a partir das equações), enquanto os filtros BP devem ser realizados utilizando a aproximação de Chebyshev tipo 2 ou Euler (podendo ser calculada a função H(p) a partir das funções do Matlab.
- A tabela acima indica o tipo de filtro que cada equipe deve utilizar
- Para ambos filtros deve indicada a ordem do filtro, o valor de polos e zeros, e as equações de H(p), H(s), H(z).
- Deve ser apresentado de forma gráfica a resposta em frequência dos filtros (ganho em dB e fase) dos filtros (a) protótipo H(p), (b) Filtro analógico H(s) e Filtro digital H(z). Para mostrar que os filtros atendem a especificação utilize uma mascara com as especificações.
- No caso do filtro H(z) também deve ser mostrado o atraso de grupo (ver função grpdelay do Matlab)
- Apresente o diagrama dos pólos e zeros dos filtros H(p), H(s) e H(z)
- Utilize a mesma escala em dB para os 3 gráficos de cada filtro. Nas abcissas utilize uma escala em Hz (kHz ou MHz). Utilize uma mascara com cor diferenciada para indicar claramente a especificação do filtro, e crie um segundo gráfico mostrando claramente a banda de passagem conforme ilustrado nas figuras abaixo:
- Escreva um relatório técnico em PDF mostrando os resultados obtidos e comentando os resultados obtidos. Não é necessário apresentar a teoria utilizado para o projeto, mas todos os cálculos e metodologia utilizada devem estar documentados.
- Envie o relatório em pdf e os arquivos ".m" utilizados na plataforma Moodle.
|
Referências Bibliográficas
- ↑ 1,0 1,1 1,2 1,3 DINIZ, P. S. R., DA SILVA, E. A. B., e LIMA NETTO, S. Processamento Digital de Sinais: Projeto e Análise de Sistemas. 2. ed. Porto Alegre: Bookman, 2014. 976 p. ISBN 978-8582601235
- ↑ 2,0 2,1 2,2 2,3 2,4 2,5 SHENOI, B. A. Introduction to Digital Signal Processing and Filter Design. 1.ed. New Jersey: John Wiley-Interscience, 2006. 440 p. ISBN 978-0471464822
Curso de Engenharia de Telecomunicações