PSD-EngTel (página)
MURAL DE AVISOS E OPORTUNIDADES DA ÁREA DE TELECOMUNICAÇÕES
- Link curto http://bit.ly/IFSC-PSD29007
- Carga horária, Ementas, Bibliografia, Professores
- Cronograma de atividades (PSD-EngTel)
- Plano de Ensino
Registro on-line das aulas
Unidade 1
- Aula 1 (22 Mar)
- Revisão de Sinais e Sistemas no tempo discreto em Matlab:
- 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
- onde , e logo
% 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);
- 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')
- Uso do Matlab: Help, F9 executa o código destacado no Help. Programação com scripts .m, Execução de seções e variação de valores nos scripts,
- Ver no Matlab: zeros, ones, plot, stem, subplot, filter.
- Uso de gráficos no Matlab.
- Ver pag. 65 a 71 de [1]
- Ver também PDF Documentation for MATLAB. Principalmente MATLAB Primer.
- Aula 2 (24 Mar)
- Revisão de Sinais e Sistemas no tempo discreto em Matlab:
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')
|
- Aula 3 (29 Mar)
- Revisão de Sinais e Sistemas no tempo discreto em Matlab:
- Aula 4 (31 Mar)
- Revisão de Sinais e Sistemas no tempo discreto em Matlab:
- Filtragem de Sinais (Experimento 3.1)
- 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.
- Consulte a documentação do Matlab sobre
grid, subplot, xlabel, ylabel, xlim, ylim, title, log10, log
- Ver pag. 141 a 145 e 230 a 235 de [1]
- Consulte a documentação do Matlab sobre
Unidade 2
- Aula 5 (5 Abr)
- Filtros Analógicos:
- Aproximação de magnitude de filtros analógicos: do tipo Butterworth.
- Ver pag. 186 a 204 de [2]
- Aula 6 (7 Abr)
- Filtros Analógicos:
- Projeto de filtros analógicos passa-baixas: do tipo Butterworth. (continuação)
- Ver pag. 194 a 204 de [2]
- Aula 7 (12 Abr)
- Filtros Analógicos:
- Projeto de filtros analógicos passa-baixas: do tipo Butterworth. (continuação)
- Projeto de filtros analógicos passa-baixas: do tipo Chebyshev I.
- Ver pag. 204 a 208 de [2]
- Aula 8 (14 Abr)
- Filtros Analógicos:
- Uso das funções buttord, butter, cheb1ord, cheby1, cheb2ord, cheby2, ellipord, ellip para o projeto de filtros analógicos com Matlab (é necessário usar o parâmetro 's').
- Ler Comparison of Analog IIR Lowpass Filters em ellip
- Uso das funções freqs, "zplane", fvtool na análise da resposta em frequência de filtros analógicos.
- Exemplos de projeto de filtro passa-baixas com frequência de passagem de 16 krad/s com atenuação máxima de 0.3 dB, frequência de rejeição de 20 krad/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');
- Aula 9 (19 Abr)
- Filtros Digitais: Filtros IIR:
- 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)
- Uso das funções semilogx, semilogy,logspace, linspace.
- Ver em IIR Filter Design,
- 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
- Ver pag. 208 a 218 de [2]
- Aula 10 (26 Abr)
- 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)
- Aula 11 (28 Abr)
- Filtros Digitais: Filtros IIR: Uso do Matlab.
- Ver em IIR Filter Design
- Uso das funções buttord, butter, cheb1ord, cheby1, cheb2ord, cheby2, ellipord, ellip para o projeto de filtros IIR digitais (sem o parâmetro 's').
- 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 12 (3 Mai)
- Filtros Digitais: Filtros FIR
- Filtros de fase linear: simétricos e antisimétricos
- Ver pag. 249 a 256 de [2]
- Aula 13 (5 Mai)
- Filtros Digitais: Filtros FIR
- Filtros de fase linear: propriedades
- Coeficientes da série de Fourier de filtros ideias: LP, HP, BP, BS
- Passa-baixas (Low-pass)
-
- Passa-altas (High-pass)
-
- Passa-faixa (Band-pass)
-
- Rejeita-banda (Band-stop)
- Janela retangular, fenômeno de Gibbs
- Estudar no Matlab as funções wintool, wvtool, window
- Uso de funções de janelamento temporal no projeto de filtros digitais.
- Tipos de janelas temporais usadas no projeto de filtros digitais.
- Retangular
- Bartlett
- Hanning
- Hamming
- Blackman
- em todas as janelas quando
- Ver pag. 256 a 265 de [2]
- Aula 16 e 17 (10 e 12 Mai)
- Filtros Digitais: Filtros FIR
- Projeto de filtro FIR utilizando janelas temporais
- Uso de janelas fixas no Matlab : 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));
Janela | |||
---|---|---|---|
Retangular | 13.3 | {{{4}}} | |
Triangular | 26.6 | {{{4}}} | |
Barlett | 26.5 | {{{4}}} | |
Hann | 31.5 | {{{4}}} | |
Barlett-Hanning | 35.9 | {{{4}}} | |
Hamming | 42.5 | {{{4}}} | |
Bohman | 46.0 | {{{4}}} | |
Parzen | 53.1 | {{{4}}} | |
Backman | 58.1 | {{{4}}} | |
Flat Top | 88.0 | {{{4}}} | |
Backman-Harris | 92.1 | {{{4}}} | |
Nutfall | 93.8 | {{{4}}} |
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));
Para a janela de Kaiser, a estimação do fator e da ordem do filtro são obtidos por:
- onde é a atenuação do lóbulo lateral e é a largura da banda de transição em rad/amostra.
Utilizando o Matlab é possível estimar esses valores utilizando a função kaiserord. Exemplo da obtenção de um filtro passa baixa com , , atenuação de 40 dB na "stopband"
fsamp = 8000;
fcuts = [1000 1500];
mags = [1 0];
devs = [0.01 0.01];
[n,Wn,beta,ftype] = kaiserord(fcuts,mags,devs,fsamp);
Com os parâmetros é possível projetar o filtro usando a função fir1, que utiliza o método da janela para o projeto do filtro.
h_fir = fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');
[Hw,w] =freqz(h_fir);
plot(w*fsamp/2/pi,20*log10(abs(Hw)))
title(['Kaiser filter N = ' num2str(n)])
%fvtool(h_fir,1)
ATUAL
- Aula 18 (17 Mai)
- Filtros Digitais: Filtros FIR
Avaliações
- Entrega dos diversos trabalhos ao longo do semestre.
- Projeto Final. O projeto é avaliado nos quesitos: 1) Implementação do Sistema, 2) Documentação, 3) Avaliação Global do aluno no projeto.
Atividades extra
Neste tópico serão listadas as atividades extras que os alunos da disciplina deverão realizar ao longo do curso. É importante observar o prazo de entrega, pois os conceitos serão reduzidos conforme o atraso na entrega. Para a entrega no prazo os conceitos possíveis são (A, B, C, D). Entrega com até uma semana de atraso (B, C, D). Entrega com até duas semanas de atraso (C ou D). Entrega com mais de duas semanas de atraso (D).
PARA ENTREGAR
AE1 - Projeto de Filtros Digitais IIR (Prazo de entrega 31/05/2016) | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
AE2 - Projeto de Filtro Digitais FIR - MATLAB (Prazo de entrega 07/06/2016) |
---|
|
JÁ ENCERRADAS
ESTUDOS SEM ENTREGA DE DOCUMENTAÇÃO
AL1 - Variação do Experimento 1.2 |
---|
No Experimento 1.2 varie o valor da frequência de amostragem de 6 até 20 Hz e observe:
|
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.
- Para a programação em FPGAs, os softwares da ALTERA (Quartus II, QSIM e Modelsim-Altera), estão instalados no Laboratório de Programação (ver outros disponíveis). Para acessar veja a página Software e equipamentos recomendados para programação de FPGAs.
- Adicionalmente de qualquer maquina do IFSC, pode-se fazer usar o IFSC-CLOUD para ter acesso a estes softwares.
- Para a geração de documentação/relatórios técnicos/artigos, está disponibilizada a plataforma Sharelatex do IFSC-CLOUD. Utilize preferencialmente o modelo de artigo no padrão ABNT. Ver também Modelo para uso em relatórios.
Links auxiliares
- Fixed-Point Filter Design - Mathworks
- Modelo para uso em relatórios
- Lista dos Símbolos Matemáticos
- PSD29007-Engtelecom(2015-1) - Prof. Marcos Moecke
- PSD29007-Engtelecom(2015-2) - Prof. Marcos Moecke
Alguns artigos para leitura
Artigos bases de alguns dos filtros digitais:
- On the Use of Windows for Harmonic Analysis with the Discrete Fourier Transform - FREDRIC J. HARRIS
- Some Windows with Very Good Sidelobe Behavior - ALBERT H. NUTTALL
Relatórios simples:
- High Pass Filter Design and Analysis Using Hamming, Hanning and Nuttall Windows
- Advantages of Blackman Window over Hamming Window Method for designing FIR Filter
- High Pass Filter Design and Analysis Using Nuttall and Parzen Windows
- Performance Analysis of Low Pass FIR Filters Design Using Kaiser, Gaussian and Tukey Window Function Methods
- High Quality Low Order Nonrecursive Digital Filters Design Using Modified Kaiser Window
Referências Bibliográficas
- ↑ 1,0 1,1 1,2 1,3 1,4 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 2,6 2,7 SHENOI, B. A. Introduction to Digital Signal Processing and Filter Design. 1.ed. New Jersey: John Wiley-Interscience, 2006. 440 p. ISBN 978-0471464822