PSD-EngTel (página)

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

MURAL DE AVISOS E OPORTUNIDADES DA ÁREA DE TELECOMUNICAÇÕES


Registro on-line das aulas

Aula 1 (6 fev)
  • Revisão de Sinais e Sistemas no tempo discreto em Matlab:
Variação do Experimento 1.2
%% Experimento 1.2
fs = 10; Ts = 1/fs; fase = 0;
time = 0:Ts:(1-Ts);
f1 = 3; f2 = 7;
s_1 = cos(2*pi*f1*time+fase);
s_2 = cos(2*pi*f2*time+fase);
fsa = 1000; 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')

Varie o valor da frequência de amostragem de 6 até 20 Hz e observe:

  1. Em qual frequência deixa de ocorrer recobrimento do sinal 2.
  2. O que ocorre quando a frequência é 6, 7, 14 Hz? Explique
  3. Qual deveria ser a frequência do sinal f_2 para que as amostras tomadas sejam coincidentes como o sinal f_1 para uma frequência de amostragem f_s? Reescreva a equação e verifique no Matlab.
Aula 2 (10 fev)
  • Revisão de Sinais e Sistemas no tempo discreto em Matlab:
Variação do Experimento 2.2
%% 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')
  1. Verifique a diferença entre os tipos de plots comentados no código.
  2. substitua o denominador de H(z) por dois polos em [-0.8 -0.8].
  3. verifique o que ocorre se forem utilizados polos complexos conjugados [0.3-0.4i 0.3+0.4i 0.1]
  4. verifique o que ocorre se forem utilizados polos complexos não conjugados [0.3-0.4i 0.3+0.8i]
  5. verifique o que ocorre se os polos estiverem fora do circulo unitário [1.2 -0.2]. Interprete este resultado
Aula 3 (13 fev)
  • Revisão de Sinais e Sistemas no tempo discreto em Matlab:
  • Filtros Digitais (Experimento 2.3)
  • Filtragem de Sinais (Experimento 3.1)
  • Análise de Sinais (Experimento 3.2)
  • Uso das funções zp2tf, tf2zp, fft, ifft, fftfilt, fftshift
  • Ver pag. 141 a 145 e 230 a 235 de [1]
Aula 4 (20 fev)
  • Filtros Digitais: Filtros IIR:
  • Aproximação de magnitude de filtros analógicos: do tipo Butterworth.
  • Ver pag. 186 a 193 de [2]
Aula 5 (24 fev)
  • Filtros Digitais: Filtros IIR:
  • Projeto de filtros analógicos passa-baixas: do tipo Butterworth.
  • Ver pag. 194 a 204 de [2]
Aula 6 (27 fev)
  • Filtros Digitais: Filtros IIR:
  • Projeto de filtros analógicos passa-baixas: do tipo Chebyshev I.
  • Ver pag. 204 a 208 de [2]
Aula 7 (3 mar)
  • Filtros Digitais: Filtros IIR:
  • Funçãos para projeto do filtro final (analógico com 's'): besself, butter, cheby1, cheby2, ellip
  • Funções de estimação da ordem do filtro: buttord, cheb1ord, cheb2ord, ellipord
  • Funções para projeto do filtro protótipo analógico passa-baixas: besselap, buttap, cheb1ap, cheb2ap, ellipap
  • Funções de transformação de frequencia: lp2bp, lp2bs, lp2hp, lp2lp
  • Transformação de frequência de filtros analógicos
(passa-baixas -> passa-baixas, passa-baixas -> passa-altas, passa-baixas -> passa-faixa, passa-baixas -> rejeita-faixa)
  • Ver pag. 208 a 218 de [2]
Aula 8 (6 mar)
  • Filtros Digitais: Filtros IIR: transformações do tempo contínuo no tempo discreto
  • Transformação invariante ao impulso (apenas para filtros com forte atenuação em frequência altas, ex: passa-baixas e passa-faixa)
  • Transformação bilinear (para todos tipos de filtro)
  • Ver em IIR Filter Design,
  • Filter discretization functions: bilinear, impinvar
  • Ver pag. 219 a 229 de [2]
  • Ver pag. 403 a 415 e 434 a 435 de [1]

Unidade 3

Aula 9 (10/mar
  • Filtros Digitais: Filtros FIR
Aula 10 (13/mar)
  • Filtros Digitais: Filtros FIR
Aula 11 (17/mar)
Aula 12 (18/mar)
  • Filtros Digitais: Filtros FIR
  • Equações de alguns tipos de janelas temporais usadas no projeto de filtros digitais.
  • Retangular
  • Bartlett
  • Hanning
  • Hamming
  • Blackman
onde é para par e para impar
  • Estudar no Matlab as janelas fixas

rect, triang, bartlett, hann, hamming, blackman, blackmanharris, nuttall.

L = 64; 
wvtool(rectwin(L), triang(L), bartlett(L), hann(L), hamming(L), blackman(L), blackmanharris(L), nuttallwin(L));
  • Estudar no Matlab as janelas ajustáveis

kaiser, chebyshev, gauss, tukey, taylor.

L = 64; 
r = 60;    % Chebyshev e Tukey
alpha = 3; % Gauss
betha = 8; % Kaiser
nbar = 10; % Taylor
wvtool(kaiser(L,betha), chebwin(L,r), gausswin(L,alpha),tukeywin(L,r), taylorwin(L,nbar,-r));

Atividades extra

Experimento 3.2 (Prazo de entrega 23/02/2015)
  1. Escreva um script com funções do Matlab para gerar as representações no domínio do tempo sinais da Figura 3.26 [1]. Use o subplot para inserir todas os sinais em uma única Figure do Matlab.
  2. Escreva um script com funções do Matlab para gerar as representações no domínio da frequência sinais da Figura 3.27 [1]. Use o subplot para inserir todas os sinais em uma única Figure do Matlab.
  3. Faça uma estimação melhor do espectro do sinal, segmentando o sinal x(n) e calculando a média dos espectros obtidos.
  4. É importante utilizar as escalas e legendas corretamente nos gráficos.
  5. Ver as funções do matlab legend, title, xlabel, ylabel.
  6. Escreva um pequeno relatório técnico mostrando os resultados obtidos e documentando o código escrito. Enviar para o meu email em formato pdf.
ESTUDE - Resposta em frequência a partir da posição dos pólos-zeros
  1. Estudar a Seção 5.6 pag. 485 a 488 do livro do Lathi [3].
  2. Use as funções zplane, pz2tf, freqz para realizar o estudo.
ESTUDE - Resposta em frequência em Sistemas de Tempo Discreto
  1. Estudar a Seção 5.5 pag. 474 a 475 do livro do Lathi [3].
ESTUDE - Desempenho do código de uma FFT
  1. Estudar o Exemplo M9.2 pag. 778 a 779 do livro do Lathi [3].
N = 10000;
%% tamanho do vetor de 1015 -> 5 x 7 x 29
N0 = 1015;
y1 = rand(N0,1);
tic; for k = 1:N; Y1 = fft(y1)/N0; end; toc

%% tamanho do vetor de 1019 -> primo
N_0 = 1019;
y2 = [y1; zeros(N_0-N0,1)];
tic; for k = 1:N; Y2 = fft(y2)/N_0; end; toc

%% tamanho do vetor de 1024 -> 2^10
N_0 = 1024; 
y3 = [y1; zeros(N_0-N0,1)];
tic; for k = 1:N; Y3 = fft(y3)/1024; end; toc
Projeto de Filtro Analógicos (Prazo de entrega 09/03/2015)
  • Projeto os seguintes filtros analógicos passa baixas que atenda as seguintes especificações (as atenuações são relativos ao ganho em f = 0 Hz):
a) Frequência de passband f_p = 16 kHz. Frequência de rejeição (stopband) f_s = 60 kHz. Ganho de 10 dB em f = 0 Hz, atenuação de 3 dB em f_p e atenuação mínima de 35 dB em f_s, do tipo Butterworth.
b) Frequência de passband f_p = 16 kHz. Frequência de rejeição (stopband) f_s = 60 kHz. Ganho de 10 dB em f = 0 Hz, atenuação de 0.25 dB em f_p e atenuação mínima de 35 dB em f_s, do tipo Butterworth
c) Frequência de passband f_p = 16 kHz. Frequência de rejeição (stopband) f_s = 60 kHz. Ganho de 10 dB em f = 0 Hz, atenuação de 0.25 dB em f_p e atenuação mínima de 35 dB em f_s, do tipo Chebyshev I
d) Frequência de passband f_p = 16 kHz. Frequência de rejeição (stopband) f_s = 60 kHz. Ganho de 10 dB em f = 0 Hz, atenuação de 0.25 dB em f_p e atenuação mínima de 35 dB em f_s, do tipo Chebyshev II
  • O projeto de cada filtro deve apresentar o cálculo da ordem do filtro, dos polos do filtro, a equação de H(p), H(s), |H(jw)|^2, o ganho na frequência de rejeição (stopband) f_s.
  • A resposta em frequência normalizada e real devem ser feitas usando o Matlab. Apresentar o gráfico do ganho em dB e da fase em cada caso com escalas corretas.
  • Deve ser apresentado o diagrama dos pólos do filtro H(p) e H(s).
  • Para fins de comparação dos filtros, os filtros de diferentes tipos devem ser sobrepostos nesses gráficos.
  • Escreva um pequeno relatório técnico mostrando os resultados obtidos e documentando o código escrito. Enviar para o meu email em formato pdf com o Assunto: PSD29007 - Projeto de Filtro Butterworth.
Projeto de Filtro Digitais IIR (Prazo de entrega 23/03/2015)
%% Variação do Experimento 6.1 - DINIZ
% Parâmetros do filtro digital passa-faixa
Ap = 0.5; % Atenuação máxima na banda de passagem
Ar = 65; % Atenuação mínima na banda de rejeição
Ws = 10000; Fs = Ws/(2*pi); Ts = 1/Fs; % Frequência de amostragem (Ws -> rad/s e Fs -> Hz), e período de amostragem
wr1 = 850; wr2 = 1150; % Frequências de rejeição (rad/s) normalizada em relação a Ws/2
wp1 = 980; wp2 =1020;  % Frequências de passagem (rad/s) normalizada em relação a Ws/2
 
% Cálculo do filtro digital passa-faixa usando transformação bilinear
wnr1 = wr1/(Ws/2); wnr2 = wr2/(Ws/2);  wr =[wnr1 wnr2];   
wnp1 = wp1/(Ws/2); wnp2 =1020/(Ws/2); wp = [wnp1 wnp2];  
[n wn] = ellipord(wp, wr, Ap, Ar);  
[b a] = ellip(n,Ap,Ar,wp);
[H, w] = freqz(b,a,10000);
fi = 0; ff = Ws/2;  % fi = 850*0.95; ff = 1150*1.05; 
subplot(311); plot(w*Fs,abs(H)); grid on; xlim([fi,ff]);
subplot(312); plot(w*Fs,angle(H)); grid on; xlim([fi,ff]);
[gd,w] = grpdelay([b a], 10000);
subplot(313); plot(w*Fs,gd); grid on; xlim([fi,ff]);
figure; zplane([b,a]);
 
%% Análise do filtro usando um cosenso puro
t = 0:Ts:(1-Ts);
ti =0; tf= 1; % ti=0.5; tf=0.6;
w1 = 800; 
x1 = cos(w1*t); 
y1 = filter(b,a,x1);
figure; plot(t,x1,'k',t,y1,'b'); ylim([-1.5 1.5]), xlim([ti tf]);
1. Varie o valor da frequência do sinal x1 no mínimo entre 800 rad/s e 1300 rad/s e observe o ganho, a defasagem e o atraso de grupo. (DICA use o incremento de valores em seções de código do Matlab)
  • O que é possível observar observando a escala de tempo de [0:1]? Explique
  • O que muda se observarmos um segmento menor de tempo [0.5 a 0.6]? Explique
2. Projete um filtro para as mesmas especificações usando uma das seguintes aproximações (Butterworth, Chebyshev I, Chebyshev II).
  • Como ficou a ordem dos filtros?
  • Como ficou a resposta de ganho, fase e o atraso de grupo?
  • Leia sobre o filtro Bessel e depois faça um filtro e analise o resultado. Qual foi a principal diferença? (opcional)
3. Escolha o tipo de aproximação que preferir e projete um filtro passa-baixas nas frequências wp2 =1020 rad/s e wr2 = 1150 rad/s. Analise o filtro obtido.
4. Escolha o tipo de aproximação que preferir e projete um filtro passa-altas nas frequências wp1 = 980 rad/s e wr1 = 850 rad/s. Analise o filtro obtido.
5. Escolha o tipo de aproximação que preferir e projete um filtro rejeita-faixa wp1 = 850 rad/s; wr1 = 980 rad/s; wr2 = 1020 rad/s ; wp2 = 1150 rad/s. Analise o filtro obtido.
6. Escreva um relatório técnico mostrando os resultados obtidos e documentando o código escrito. Enviar para o meu email em formato pdf com o Assunto: PSD29007 - Projeto de Filtro Digital IIR. Não é necessário fazer a revisão teórico do assunto (visto em aula). Foquem apenas na descrição dos filtros projetados, nos resultados e sua análise. Cada figura/gráfico deve ter uma legenda e ser mencionado no texto.
Projeto de Filtro Digitais FIR - parte 1 (Prazo de entrega 30/03/2015)
1. Projeto um filtro FIR com fase linear com ordem de 7 com as características abaixo:
  • Danilo: Passa-altas, wp = 0,8
  • Jean: Passa-altas, wp = 0,4
  • Tiago Werner: Rejeita-faixa, wp1 = 0,2; wp2 = 0,3
  • Tiago Bonotto: Passa-baixas, wp = 0,4
  • Ernani: Passa-faixa, wp1 = 0,1; wp2 = 0,2
  • Elton: Passa-faixa, wp1 = 0,3; wp2 = 0,5
  • Leonan: Passa-baixas, wp = 0,2
2. Projete o filtro usando as janelas do tipo Retangular, Hanning, Hamming e Blackmann.
  • O cálculo dos coeficientes da série de Fourier e amostras da janela e os coeficientes do filtro devem ser feitas de modo explicito, indicando as equações utilizadas.
3. Projete o filtro usando outras 2 janelas a sua livre escolha entre as implementadas por funções do Matlab.
  • Neste caso utilize a função adequada do Matlab para o cálculo das amostras da janela.
4. Apresente de modo gráfico o diagrama de zeros do filtro, a resposta em frequência do filtro (ganho), atraso de grupo e a resposta ao impulso do filtro.
  • Os ganhos devem ser apresentados em um gráfico único para permitir a comparação.
5. Realize a medida em dB da atenuação na frequências de passagem, no primeiro lóbulo lateral e o valor do ripple (ondulação) máximo na banda de passagem.
6. Escreva um relatório técnico mostrando os resultados obtidos e documentando o código escrito. Enviar para o meu email em formato pdf com o Assunto: PSD29007 - Projeto de Filtro Digital FIR - parte 1. Não é necessário fazer a revisão teórico do assunto (visto em aula). Foquem apenas na descrição dos filtros projetados, nos resultados e sua análise. Cada figura/gráfico deve ter uma legenda e ser mencionado no texto.

Recursos necessários

  • O Software Matlab está disponível na maioria dos laboratórios do IFSC-campus São José em instalação local tanto em Windows como Linux. Adicionalmente de qualquer maquina do IFSC, pode-se fazer Acesso ao IFSC-CLOUD.
  • Adicionalmente de qualquer maquina do IFSC, pode-se fazer usar o IFSC-CLOUD para ter acesso a estes softwares.

Links auxiliares

Referências Bibliográficas

  1. 1,0 1,1 1,2 1,3 1,4 1,5 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. 2,0 2,1 2,2 2,3 2,4 SHENOI, B. A. Introduction to Digital Signal Processing and Filter Design. 1.ed. New Jersey: John Wiley-Interscience, 2006. 440 p. ISBN 978-0471464822
  3. 3,0 3,1 3,2 LATHI, Bhagwandas P. Sinais e Sistemas Lineares. 2. ed. Porto Alegre: Artmed-Bookman, 2007. 856 p. ISBN 978-8560031139


Curso de Engenharia de Telecomunicações