Mudanças entre as edições de "PSD-EngTel (página)"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
 
(113 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 5: Linha 5:
 
*[[PSD-EngTel (Plano de Ensino) | Plano de Ensino]]
 
*[[PSD-EngTel (Plano de Ensino) | Plano de Ensino]]
  
==Registro on-line das aulas==
+
== Avisos importantes==
 +
Durante o 2º semestre de 2020, devido a Pandemia do Coronavirus Sars-CoV-2, as aulas da disciplina ocorrerão de forma remota. Seguem algumas informações importantes:
  
===Unidade 1===
+
*Todas os nossos encontros síncronos serão feitos usando a plataforma [https://meet.google.com/wkg-cmzv-bgh '''Google Meet'''].  Para ingressar nas aulas utilizem o email institucional (usuario@aluno.ifsc.edu.br).
;Aula 1 (22 Mar):
 
*[[PSD-EngTel (Plano de Ensino) | Apresentação da disciplina]]
 
  
*Revisão de Sinais e Sistemas no tempo discreto em Matlab:
+
*Após cada encontro, vocês terão acesso automático as gravações das aulas na '''Pasta compartilhada no Gdrive'''.
:* 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 [https://pt.wikipedia.org/wiki/Delta_de_Kronecker delta de Kronecker] do sistema LTI discreto
 
:: <math>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]</math>
 
:: onde <math>a_0 = 1</math>, <math>a_1 = 1/\alpha</math> e <math>b_1 = 1 </math> logo <math>y[n] =  1/\alpha . y[n-1] + x[n]</math>
 
<syntaxhighlight lang=matlab>
 
%  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);
 
 
</syntaxhighlight>
 
:* 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 <math>s_1(t) = cos (2\pi \times 3 t)</math> (3 Hz) e um sinal <math>s_2(t) = cos (2\pi \times 7 t)</math> (7 Hz) são idênticas quando amostrado com um sinal de 10 Hz.  
 
  
<syntaxhighlight lang=matlab>
+
*A documentação das aulas será disponibilizada na página da [[PSD29007-Engtelecom(2020-2) - Prof. Marcos Moecke | '''Wiki da disciplina'''.]]
%  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')
 
</syntaxhighlight>
 
  
:* Uso do Matlab:  [http://www.mathworks.com/help/matlab/learn_matlab/help.html Help], F9 executa o código destacado no Help. [http://www.mathworks.com/help/matlab/learn_matlab/scripts.html Programação com scripts .m], [http://www.mathworks.com/help/matlab/matlab_prog/run-sections-of-programs.html?searchHighlight=script%20sections Execução de seções e variação de valores nos scripts],
+
*Para a entrega de atividades e avaliações será utilizada a plataforma Moodle. É necessário que vocês se autoinscrevam no [https://moodle.ifsc.edu.br/course/index.php?categoryid=2009 '''Moodle da disciplina'''] com a chave (engtelecom2020-2).
:* Ver no Matlab: [http://www.mathworks.com/help/matlab/ref/zeros.html zeros], [http://www.mathworks.com/help/matlab/ref/ones.html ones], [http://www.mathworks.com/help/matlab/ref/plot.html plot], [http://www.mathworks.com/help/matlab/ref/stem.html stem], [http://www.mathworks.com/help/matlab/ref/subplot.html subplot], [http://www.mathworks.com/help/matlab/ref/filter.html filter].
 
:*[http://www.mathworks.com/help/matlab/learn_matlab/plots.html Uso de gráficos no Matlab].  
 
  
:* Ver pag. 65 a 71 de <ref name="DINIZ2014"> 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 </ref>
+
*Para a comunicação entre professor-aluno, além dos avisos no SIGAA, utilizaremos a plataforma Slack. Inscrevam-se no [https://psd29007.slack.com/ '''Slack da disciplina''']. O aluno pode usar qualquer email para acessar ao Slack, mas recomenda-se o uso do email institucional.
:*Ver também [http://www.mathworks.com/help/releases/R2014a/pdf_doc/matlab/index.html PDF Documentation for MATLAB]. Principalmente [http://www.mathworks.com/help/releases/R2014a/pdf_doc/matlab/getstart.pdf MATLAB Primer].
 
  
;Aula 2 (24 Mar)
+
*Para participar das aulas é recomendado que o aluno tenha disponível: 1 computador ou dispositivo móvel (smartphone ou tablet) para assistir os encontros presenciais ou gravações. É necessário um computador para utilizar os softwares e realizar atividades práticas de laboratório. O aluno deve ter acesso a '''Nuvem do IFSC''' ou instalar a '''VM''' com softwares '''Matlab/Simulink/HDL Coder'''. Acesso a Internet é fundamental, e recomenda-se que o aluno tenha um lugar silencioso para participar das aulasO acesso ao '''Google Meet''', '''Drive''', '''Slack''', '''Moodle''' e '''Wiki''' podem ser feitos via navegador, mas a instalação das respectivas aplicações é recomendada. Recomenda-se ainda que cada aluno uso um fone de ouvido com microfone, pois isso melhora muito a qualidade do som e a interação nas vídeo conferências. Ao ingressar em um encontro síncrono mantenha sempre que possível a câmera aberta e também o microfone. Se houver algum problema de ruído você será alertado.
*Revisão de Sinais e Sistemas no tempo discreto em Matlab:
 
:* Filtragem de Sinais (Experimentos 1.3, 2.1 e 2.2)
 
:* Uso de [http://www.mathworks.com/help/matlab/ref/residue.html residue], [http://www.mathworks.com/help/signal/ref/residuez.html residuez], [http://www.mathworks.com/help/matlab/ref/roots.html roots], [http://www.mathworks.com/help/matlab/ref/poly.html poly], [http://www.mathworks.com/help/signal/ref/freqs.html freqs] (Experimentos 2.1 e 2.2)
 
:* Ver também o [http://www.mathworks.com/help/matlab/ref/publish.html Publish] para a geração automática de relatórios em html, doc, pdf, latex ou ppt. Ver também [http://www.mathworks.com/help/matlab/matlab_prog/publishing-matlab-code.html Publishing MATLAB Code].
 
:* Ver pag. 138 a 141 de <ref name="DINIZ2014"/>
 
{{collapse top | Variação do Experimento 2.2}}
 
<syntaxhighlight lang=matlab>
 
% 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)
+
* Nesta página wiki, você tem orientações para uso de ferramentas e também links que auxiliam no estudo da disciplinaVisite os links sempre que solicitado e lei essa página para lembrar futuramente onde estão as informações que necessita.
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')
 
</syntaxhighlight>
 
#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 
 
{{collapse bottom}}
 
  
;Aula 3 (29 Mar):
+
==Instalação da VM com Matlab/Simulink/HDL Coder em seu computador==
*Revisão de Sinais e Sistemas no tempo discreto em Matlab:
 
:* Filtros Digitais ([https://owncloud.ifsc.edu.br/index.php/s/WWY2LWexts8PKDs Experimento 2.3])
 
<!--
 
:* Consulte a documentação do Matlab sobre <syntaxhighlight lang=matlab> zp2tf, tf2zp, fft, ifft, fftfilt, fftshift </syntaxhighlight>
 
-->
 
:* Uso das funções [http://www.mathworks.com/help/signal/ref/zp2tf.html zp2tf], [http://www.mathworks.com/help/signal/ref/tf2zp.html tf2zp], [http://www.mathworks.com/help/matlab/ref/fft.html fft], [http://www.mathworks.com/help/matlab/ref/ifft.html ifft], [http://www.mathworks.com/help/signal/ref/fftfilt.html fftfilt], [http://www.mathworks.com/help/matlab/ref/fftshift.html fftshift]
 
:*Ver pag. 141 a 145 e 230 a 235 de <ref name="DINIZ2014"/>
 
  
;Aula 4 (31 Mar):
+
Para importar a VM para o seu computador e configurar ela para acessar a licença do IFSC veja a página [[Teste de VM para uso pelos alunos no ensino remoto#VM Matlab | Instalação da VM Matlab]]
*Revisão de Sinais e Sistemas no tempo discreto em Matlab:
 
:* Filtragem de Sinais ([https://owncloud.ifsc.edu.br/index.php/s/uxzETF2qOzFIW4k 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.
 
{{collapse top | Variação do Experimento 3.2}}
 
<syntaxhighlight lang=matlab>
 
%% 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.
 
%
 
% Análise de sinais no domínio da frequência
 
% File Exp3_2.m
 
  
fs = 200;  % frequência de amostragem
+
==Instalação da VM com Quartus e Modelsim em seu computador==
f_sinal = 10;  A_sinal = 1;  % freqüência e amplitude do sinal
 
T = 1;      % Duração do sinal
 
k_noise = 0;    % Intensidade do ruído
 
 
time = 0 : 1/fs : (T-1/fs);
 
L = length(time);
 
freq = time * fs/T;
 
 
sinal = A_sinal*sin(2*pi*f_sinal.*time);
 
noise = k_noise*randn(1,fs*T);
 
x = sinal + noise;
 
X = abs(fft(x))/L;
 
 
figure(1);
 
subplot(211);plot(time,x);
 
subplot(212);plot(freq,X);
 
</syntaxhighlight>
 
# Acrescente a Figura 1 um plot com a magnitude em dB do sinal no domínio da frequência - 20*log10(X)
 
# Insira nos gráficos títulos para cada subplot, labels para os eixos X e Y, e posicione o texto "F Hz"  para indicar o pico nos gráficos 2 e 3, conforme mostrado na figura abaixo.
 
<center>[[Arquivo:DTxDF_sinal_noise.png]] <br>
 
Figura 1 - Análise no domínio da frequência do sinal <math> x(t) = A  sin (2  \pi  f  t) </math>
 
</center>
 
# 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.
 
# Utilize k = 0.3 e varia a frequência do sinal entre 0 até 200 Hz (com passo de 10 Hz).  Interprete os resultados obtidos.
 
{{collapse bottom}}
 
 
:* Consulte a documentação do Matlab sobre <syntaxhighlight lang=matlab> grid, subplot, xlabel, ylabel, xlim, ylim, title, log10, log </syntaxhighlight>
 
:* Ver pag. 141 a 145 e 230 a 235 de <ref name="DINIZ2014"/>
 
  
===Unidade 2===
+
Na fase do projeto final pode ser necessário importar também essa VM para o seu computador. Veja como  importar e configurar ela para acessar a licença do IFSC veja a página [[Teste de VM para uso pelos alunos no ensino remoto#VM Quartus e Modelsim | Instalação da VM com Quartus e Modelsim]]
;Aula 5 (5 Abr):
 
*Filtros Analógicos:
 
:* Aproximação de magnitude de filtros analógicos: do tipo Butterworth.
 
:*Ver pag. 186 a 204 de <ref name="SHENOI2006"> SHENOI, B. A. '''Introduction to Digital Signal Processing and Filter Design'''. 1.ed. New Jersey: John Wiley-Interscience, 2006. 440 p. ISBN 978-0471464822 </ref>
 
  
;Aula 6 (7 Abr):
+
==Recursos de Laboratório==
*Filtros Analógicos:
+
Nos laboratórios do IFSC, os softwares '''Matlab/Simulink/HDL Coder''' estão disponíveis diretamente na plataforma LINUX. Utilize preferencialmente a versão 2015.
:* Projeto de filtros analógicos passa-baixas: do tipo Butterworth. (continuação)
 
:*Ver pag. 194 a 204 de <ref name="SHENOI2006"/>
 
  
;Aula 7 (12 Abr):
+
==Acesso a Nuvem do IFSC==
*Filtros Analógicos:
+
Para uso fora do IFSC dos recursos computacionais com licença educacional, o IFSC disponibiliza para seus alunos o IFSC-CLOUD (nuvem.sj.ifsc.edu.br).  A forma mais eficiente de acesso a nuvem de fora do IFSC é através do Cliente X2GO, mas dentro da rede do IFSC o acesso pelo ssh também tem boa usabilidade.
:* 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 <ref name="SHENOI2006"/>
 
  
;Aula 8 (14 Abr):
+
Para para utilizar o Quartus/Modelsim/QSIM através da Nuvem do IFSC, siga o procedimento de  '''[[Acesso_ao_IFSC-CLOUD_(NUVEM)#Cliente_X2GO_.28recomendado.29 | instalação do X2Go]]''' e '''[[Acesso_ao_IFSC-CLOUD_(NUVEM)#Procedimento_para_uso_da_nuvem.sj.ifsc.edu.br | configuração do X2Go]]''''''Nota:''' O desempenho do Modelsim é ruim quando acesso da rede externa ao IFSC, e por isso deve ser evitado, dando-se preferencia ao uso da VM.
*Filtros Analógicos:
 
:* Uso das funções [http://www.mathworks.com/help/signal/ref/buttord.html buttord], [http://www.mathworks.com/help/signal/ref/butter.html butter], [http://www.mathworks.com/help/signal/ref/cheb1ord.html cheb1ord], [http://www.mathworks.com/help/signal/ref/cheby1.html cheby1][http://www.mathworks.com/help/signal/ref/cheb2ord.html cheb2ord], [http://www.mathworks.com/help/signal/ref/cheby2.html cheby2], [http://www.mathworks.com/help/signal/ref/ellipord.html ellipord], [http://www.mathworks.com/help/signal/ref/ellip.html 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 [http://www.mathworks.com/help/signal/ref/ellip.html ellip]
 
:* Uso das funções [http://www.mathworks.com/help/signal/ref/freqs.html freqs], "zplane", [http://www.mathworks.com/help/signal/ref/fvtool.html 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.
+
==Modelos para relatório==
<syntaxhighlight lang=matlab>
+
Para a geração de documentação/relatórios técnicos/artigos, use como base o modelo ABNTex2 para o padrão do IFSC para monografia que segue as normas da ABNT e do IFSC.
%% Projeto de filtro passa-baixas usando funções do Matlab 
+
Recomendo que os alunos da Engenharia de Telecomunicações utilizem esse modelo e o [https://www.overleaf.com Overleafv2], pois além de possibilitar o compartilhamento do documento entre os alunos, reduz o tempo perdido na formação do documento, permitindo que o aluno já aprenda alguma formatação de Latex que será útil na elaboração do TCC.  
%% Especificações do filtro
+
*[https://www.overleaf.com/read/dbjkqgsghfbk Modelo para relatório em LaTex]
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');
 
</syntaxhighlight>
 
 
 
;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 [http://www.mathworks.com/help/matlab/ref/semilogx.html semilogx], [http://www.mathworks.com/help/matlab/ref/semilogy.html semilogy],[http://www.mathworks.com/help/matlab/ref/logspace.html logspace], [http://www.mathworks.com/help/matlab/ref/linspace.html linspace].
 
:*Ver em [http://www.mathworks.com/help/signal/ug/iir-filter-design.html 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 <ref name="SHENOI2006"/>
 
 
 
;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)
 
::*Ver as funções de discretização usadas no Matlab: [http://www.mathworks.com/help/signal/ref/bilinear.html bilinear], [http://www.mathworks.com/help/signal/ref/impinvar.html impinvar]
 
:*Ver pag. 219 a 229 de <ref name="SHENOI2006"/>
 
:*Ver pag. 403 a 415 e 434 a 435 de <ref name="DINIZ2014"/>
 
 
 
;Aula 11 (28 Abr):
 
*Filtros Digitais:  Filtros IIR: Uso do Matlab.
 
:* Ver em [http://www.mathworks.com/help/signal/ug/iir-filter-design.html IIR Filter Design]
 
:* Uso das funções [http://www.mathworks.com/help/signal/ref/buttord.html buttord], [http://www.mathworks.com/help/signal/ref/butter.html butter], [http://www.mathworks.com/help/signal/ref/cheb1ord.html cheb1ord], [http://www.mathworks.com/help/signal/ref/cheby1.html cheby1],  [http://www.mathworks.com/help/signal/ref/cheb2ord.html cheb2ord], [http://www.mathworks.com/help/signal/ref/cheby2.html cheby2], [http://www.mathworks.com/help/signal/ref/ellipord.html ellipord], [http://www.mathworks.com/help/signal/ref/ellip.html 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 <math> b(n) </math> e denominador  <math> a(n) </math> de <math> H(z) </math> .
 
 
 
:* Outros tipos de filtros IIR:  [http://www.mathworks.com/help/signal/ref/yulewalk.html yulewalk], [http://www.mathworks.com/help/signal/ref/filtfilt.html filtfilt], [http://www.mathworks.com/help/signal/ref/maxflat.html maxflat], [http://www.mathworks.com/help/signal/ref/lpc.html lpc], [http://www.mathworks.com/help/signal/ref/invfreqz.html invfreqz] e outros filtros de [http://www.mathworks.com/help/signal/ug/parametric-modeling.html modelagem paramétrica].
 
 
 
===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 <ref name="SHENOI2006"/>
 
 
 
;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'')
 
::<math>c_\text{LP}(n) = \left \{ \begin{matrix} \frac{\omega_c}{\pi}; & \qquad n = 0 \\ \frac {\sin (\omega_c n)}{\pi n}; & \qquad \left | n \right | > 0 \end{matrix}\right. </math>
 
::*Passa-altas (''High-pass'')
 
::<math>c_\text{HP}(n) = \left \{ \begin{matrix} 1-\frac{\omega_c}{\pi}; \qquad n = 0 \\ -\frac {\sin (\omega_c n)}{\pi n}; \qquad \left | n \right | > 0 \end{matrix}\right. </math>
 
::*Passa-faixa (''Band-pass'')
 
::<math>c_\text{BP}(n) = \left \{ \begin{matrix} \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. </math>
 
::*Rejeita-banda (''Band-stop'')
 
::<math>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. </math>
 
:*Janela retangular, fenômeno de Gibbs
 
:*Estudar no Matlab as funções [http://www.mathworks.com/help/signal/ref/wintool.html wintool], [http://www.mathworks.com/help/signal/ref/wvtool.html wvtool], [http://www.mathworks.com/help/signal/ref/window.html window]
 
:*Uso de funções de janelamento temporal no projeto de filtros digitais.
 
:*Tipos de janelas temporais usadas no projeto de filtros digitais.
 
::*Retangular
 
::<math>w(n)=1; \qquad -M \le n \le M </math>
 
 
 
::*Bartlett
 
::<math>w(n)= 1 - \frac{\left | n \right |}{M+1}; \qquad -M \le n \le M  </math>
 
 
 
::*Hanning
 
::<math>w(n) = 0.5 + 0.5 \cos \left( \frac{2\pi n}{2M+1} \right),  -M \le n \le M</math>
 
 
 
::*Hamming
 
::<math>w(n) = 0.54 + 0.46 \cos\left(\frac{2\pi n}{2M+1}\right); \qquad -M \le n \le M</math>
 
 
 
::*Blackman
 
::<math>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 \le n \le M</math>
 
* em todas as janelas <math>w\left ( n \right ) = 0 </math> quando <math> \left | n \right | \ge M</math>
 
<!--::onde <math>M </math>  é <math>N/2</math> para <math>N</math> par e <math>(N+1)/2</math> para <math>N</math> impar-->
 
:*Ver pag. 256 a 265 de <ref name="SHENOI2006"/>
 
 
 
;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 : [http://www.mathworks.com/help/signal/ref/rectwin.html rect], [http://www.mathworks.com/help/signal/ref/triang.html triang], [http://www.mathworks.com/help/signal/ref/bartlett.html bartlett], [http://www.mathworks.com/help/signal/ref/hann.html, hann], [http://www.mathworks.com/help/signal/ref/hamming.html, hamming], [http://www.mathworks.com/help/signal/ref/blackman.html blackman], [http://www.mathworks.com/help/signal/ref/blackmanharris.html blackmanharris], [http://www.mathworks.com/help/signal/ref/nuttallwin.html nuttall].
 
<syntaxhighlight lang=matlab>
 
L = 64;
 
wvtool(rectwin(L), triang(L), bartlett(L), hann(L), hamming(L), blackman(L), blackmanharris(L), nuttallwin(L));
 
</syntaxhighlight>
 
{| class="wikitable"  border="1" cellpadding="3" cellspacing="0" style="text-align:center; font-size:100%" bgcolor="#efefef"
 
! scope="col" width=25% align="center"| Janela
 
! scope="col" width=10% align="center"| <math>A_{sl}</math>
 
! scope="col" width=10% align="center"| <math>\Delta \omega</math>
 
{{tabFIRwindow | Retangular | 13.3|}}
 
{{tabFIRwindow | Triangular | 26.6|}}
 
{{tabFIRwindow | Barlett | 26.5|}}
 
{{tabFIRwindow | Hann | 31.5|}}
 
{{tabFIRwindow | Barlett-Hanning | 35.9|}}
 
{{tabFIRwindow | Hamming | 42.5|}}
 
{{tabFIRwindow | Bohman | 46.0|}}
 
{{tabFIRwindow | Parzen | 53.1|}}
 
{{tabFIRwindow | Backman | 58.1|}}
 
{{tabFIRwindow | Flat Top | 88.0|}}
 
{{tabFIRwindow | Backman-Harris | 92.1|}}
 
{{tabFIRwindow | Nutfall | 93.8|}}
 
|}
 
<!--:*Dados acima obtidos para um filtro passa baixas de ordem N = 64 com <math>\omega_{c} = 0.5 \pi</math> -->
 
 
 
*Uso de janelas ajustáveis no Matlab: [http://www.mathworks.com/help/signal/ref/kaiser.html kaiser], [http://www.mathworks.com/help/signal/ref/chebwin.html chebyshev], [http://www.mathworks.com/help/signal/ref/gausswin.html gauss], [http://www.mathworks.com/help/signal/ref/tukeywin.html tukey], [http://www.mathworks.com/help/signal/ref/taylorwin.html taylor].
 
<syntaxhighlight lang=matlab>
 
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));
 
</syntaxhighlight>
 
Para a janela de Kaiser, a estimação do fator <math>\beta </math> e da ordem do filtro <math> N </math> são obtidos por:
 
 
 
<math>\beta = \left \{ \begin{matrix} 0.1102 (\alpha-8.7), & \alpha > 50, \\ 0.5842 (\alpha- 21)^{0.4} + 0.07886 (\alpha- 21) , & 50 \ge \alpha \ge 21, \\ 0, & \alpha < 21. \end{matrix}\right.</math>
 
 
 
<math> N = \frac {\alpha - 8} {2.285 \Delta \omega} + 1. </math>
 
 
 
:: onde <math> \alpha </math> é a atenuação do lóbulo lateral e <math> \Delta \omega </math> é 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 <math> f_{pass} = 1000 Hz </math>, <math> f_{stop} = 1500 Hz </math>, <math> f_{amostragem} = 8000 Hz </math> atenuação de 40 dB na "stopband"
 
 
 
<syntaxhighlight lang=matlab>
 
fsamp = 8000;
 
fcuts = [1000 1500];
 
mags = [1 0];
 
devs = [0.01 0.01];
 
[n,Wn,beta,ftype] = kaiserord(fcuts,mags,devs,fsamp);
 
</syntaxhighlight>
 
 
 
 
 
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.
 
 
 
<syntaxhighlight lang=matlab>
 
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)
 
</syntaxhighlight>
 
:*Ver as funções [http://www.mathworks.com/help/signal/ref/fir1.html fir1], [http://www.mathworks.com/help/signal/ref/kaiserord.html kaiserord] do Matlab.
 
:* Início da AE2.  (Os alunos devem completar a atividade extra-classe)
 
:*Ver pag. 266 a 273 de <ref name="SHENOI2006"/>
 
 
 
;Aula 18 (17 Mai)
 
*Filtros Digitais: Filtros FIR
 
:*Aula Prática: Uso do [http://www.mathworks.com/help/signal/examples/introduction-to-the-filter-design-and-analysis-tool-fdatool.html] [http://www.mathworks.com/help/signal/ref/fdatool.html Fdatool] para projeto de filtro IIR, FIR equiripple e FIR com janela.
 
<syntaxhighlight lang=matlab>
 
%% Exemplo de Filtro
 
fp = 3000 Hz;
 
fr = 4000 Hz;
 
fs = 20000 Hz;
 
Ap = 1 dB;
 
Ar = 40 dB;
 
</syntaxhighlight>
 
 
 
;Aula 19 (19 Mai)
 
*Filtros Digitais: Filtros FIR
 
:*AE2 - Projeto de Filtro Digitais FIR - MATLAB
 
===Unidade 4===
 
;Aula 20 (21 Mai)
 
*Realização de Filtros
 
:* Realização de filtros FIR: Forma Direta.
 
<center>[[Arquivo:FIR_FD_MathWorks.png |800 px]]</center>
 
<center> Figura 1 - Realização de filtros FIR na Forma Direta  </center>
 
 
 
:* Realização de filtros FIR: Forma Transposta.  A transposição consiste na inversão do fluxo de todos os sinais, substituição de nós de soma por derivações e as derivações por soma.  A entrada e saída também devem ser invertidas.  A realização da transposição não altera o sistema implementado.
 
 
 
<center>[[Arquivo:FIR_FDT_MathWorks.png |800 px]]</center>
 
<center> Figura 2 - Realização de filtros FIR na Forma Transposta</center>
 
 
 
<center>[[Arquivo:FIR_FDT2_MathWorks.png |800 px]]</center>
 
<center> Figura 3 - Realização de filtros FIR na Forma Transposta</center>
 
 
 
:* Realização de filtros FIR de fase linear: simétrico tipo I e II e antissimétrico tipo III e IV.
 
 
 
<center>[[Arquivo:FIR_Sym2_MathWorks.png |600 px]]</center>
 
<center> Figura 4 - Realização de filtros FIR de fase linear Simétrico I  </center>
 
 
 
<center>[[Arquivo:FIR_Sym1_MathWorks.png |600 px]]</center>
 
<center> Figura 5 - Realização de filtros FIR de fase linear Simétrico II  </center>
 
 
 
<center>[[Arquivo:FIR_AntiSym3_MathWorks.png |600 px]]</center>
 
<center> Figura 6 - Realização de filtros FIR de fase linear Antisimétrico III</center>
 
 
 
<center>[[Arquivo:FIR_AntiSym4_MathWorks.png |600 px]]</center>
 
<center> Figura 7 - Realização de filtros FIR de fase linear Antisimétrico IV</center>
 
:* Realização de Filtros FIR [http://www.mathworks.com/help/signal/ug/opening-fdatool.html usando o FDATool]
 
 
 
:* Realização de Filtros usando o comando [http://www.mathworks.com/help/dsp/ref/realizemdl.html realizemdl] do MatLab 
 
<syntaxhighlight lang=matlab>
 
 
 
Fs = 40000;              % Sampling Frequency
 
Fpass = 12000;          % Passband Frequency
 
Fstop = 13000;          % Stopband Frequency
 
Dpass = 0.01;            % Passband Ripple
 
Dstop = 0.01;            % Stopband Attenuation
 
flag  = 'scale';        % Sampling Flag
 
 
 
% Calculate the order from the parameters using KAISERORD.
 
[N,Wn,BETA,TYPE] = kaiserord([Fpass Fstop]/(Fs/2), [1 0], [Dstop Dpass]);
 
 
 
% Calculate the coefficients using the FIR1 function.
 
b  = fir1(N, Wn, TYPE, kaiser(N+1, BETA), flag);
 
 
 
hFIR = dsp.FIRFilter;
 
hFIR.Numerator = b;
 
 
 
% Para definir diretamente os coeficientes
 
realizemdl(hFIR)
 
 
 
% Para definir os coeficientes através de uma matriz de entrada
 
realizemdl(Hd,'MapCoeffsToPorts','on'); 
 
</syntaxhighlight>
 
 
 
:* Estudar [http://www.mathworks.com/help/simulink/slref/discretefirfilter.html estrutura de filtros disrcetos FIR no Matlab], [http://www.mathworks.com/help/dsp/ref/filterrealizationwizard.html Filter Realization Wizard - Reference], [http://www.mathworks.com/help/dsp/ug/filter-realization-wizard.html Filter Realization Wizard - User Guide].
 
:*Ver pag. 303 a 312 de <ref name="SHENOI2006"/>.
 
 
 
==ATUAL==
 
;Aula 22 (24 Mai):
 
* Realização de filtros FIR:  Cascata, Polifase
 
:*Vantagens do uso de filtro Polifase: 
 
::1) Quando o sinal será subamostrado (downsampling) de "D" amostras após a filtragem, a complexidade da implementação é reduzida de "D" vezes, pois apenas uma das "fases" precisa ser implementada.
 
::2) Para reduzir o harware a ser implementado, é possível implementar apenas uma das "fases" do filtro e trocar "D" vezes os coeficientes.
 
::* Ver [http://www.mathworks.com/help/dsp/ref/polyphase.html polyphase], [http://www.mathworks.com/help/dsp/ref/mfilt.firdecim.html mfilt.firdecim], [http://www.mathworks.com/help/dsp/ref/dsp.firdecimator-class.html dsp.FIRDecimator]
 
:* Realização de filtros IIR de 2ª ordem: Forma Direta I e II, e Forma Transposta I e II.
 
:<math> H(z) = \frac{Y(z)}{X(z)},    H(z) = \frac{b_0 z^2 + b_1 z^1 + b_2}{z^2 + a_1 z^1 + a_2},    H(z) = \frac{b_0 + b_1 z^{-1} + b_2 z^{-2}}{1 + a_1 z^{-1} + a_2 z^{-2}} </math>
 
::* Separando H(z) em dois blocos  <math>\ H(z) = H_1(z) H_2(z) </math>, e obtendo o sinal intermediário W(z) ou Y(z) dependendo da ordem dos blocos. 
 
<center>[[Arquivo:H1_H2_MathWorks.png ]]</center>
 
<center> Figura 7 - Separação do filtro IIR H(z) em H1(z) e H2(z)</center>
 
 
 
: Com o ordenamento dos blocos <math>\ H_1(z) </math> e <math>\ H_2(z) </math> em ordem direta teremos a Forma Direta I:
 
:<math> H_1(z) = \frac{W(z)}{X(z)} = b_0 + b_1 z^{-1} + b_2 z^{-2} </math>
 
:<math> H_2(z) = \frac{Y(z)}{W(z)} = \frac{1}{1 + a_1 z^{-1} + a_2 z^{-2}} </math>
 
:Podemos obter a realização de <math>\ H_1(z) </math>  na forma direta.
 
:<math>\ W(z) = (b_0 + b_1 z^{-1} + b_2 z^{-2})X(z) </math>
 
:Para obter a realização de <math>\ H_2(z) </math> , é necessário reescrever a saída <math>\ Y(z) </math> em função de <math>\ W(z) </math> e das saídas anteriores <math>\ Y(z) z^{-1} </math> e <math>\ Y(z) z^{-2} </math>:
 
:<math>\ Y(z) = \frac{W(z)}{1 + a_1 z^{-1} + a_2 z^{-2}} </math>
 
:<math>\ Y(z)({1 + a_1 z^{-1} + a_2 z^{-2}}) = W(z) </math>
 
:<math>\ Y(z) = W(z) - a_1 Y(z) z^{-1} - a_2 Y(z) z^{-2} </math>
 
<center>[[Arquivo:IIR_FD1_MathWorks.png ]]</center>
 
<center> Figura 8 - Realização de filtros IIR na Forma Direta I</center>
 
 
 
: Com o ordenamento dos blocos <math>\ H_2(z) </math> e <math>\ H_1(z) </math> em ordem reversa teremos a Forma Direta II:
 
:<math> H_2(z) = \frac{V(z)}{X(z)} = \frac{1}{1 + a_1 z^{-1} + a_2 z^{-2}} </math>
 
:<math>\ V(z) = X(z) - a_1 V(z) z^{-1} - a_2 V(z) z^{-2} </math>
 
 
 
:<math> H_1(z) = \frac{Y(z)}{V(z)} = b_0 + b_1 z^{-1} + b_2 z^{-2} </math>
 
:<math>\ Y(z) = (b_0 + b_1 z^{-1} + b_2 z^{-2})V(z) </math>
 
 
 
<center>[[Arquivo:IIR_FD2a_MathWorks.png ]]</center>
 
<center> Figura 9 - Realização de filtros IIR na Forma Direta II</center>
 
 
 
:Considerando que os sinais no centro são idênticos podemos simplificar e obter a Forma Direta II (Canônica):
 
<center>[[Arquivo:IIR_FD2b_MathWorks.png]]</center>
 
<center> Figura 10 - Realização de filtros IIR na Forma Direta II Canônica</center>
 
 
 
:Considerando as regras de transposição podemos obter a forma transposta I e II. A transposição consiste na inversão do fluxo de todos os sinais, substituição de nós de soma por derivações e as derivações por soma. A entrada e saída também devem ser invertidas. A realização da transposição não altera o sistema implementado.
 
 
 
<center>[[Arquivo:IIR_FT1_MathWorks.png ]]</center>
 
<center> Figura 11 - Realização de filtros IIR na Forma Transposta I</center>
 
 
 
<center>[[Arquivo:IIR_FT2_MathWorks.png ]]</center>
 
<center> Figura 12 - Realização de filtros IIR na Forma Transposta II</center>
 
 
 
:* Realização de filtros IIR de ordem maior que 2: Forma Direta I e II, Transposta I e II, Cascata, Paralela
 
::*Os filtros IIR de ordem superior a 2 podem ser implementados nas FD I ou II e na FT I ou II.  No entanto nessa configuração tendem a ficar instáveis ao terem os coeficientes quantizados, e também terem uma significativa alteração da resposta em frequência.  Para reduzir esses problemas uma possível solução é a decomposição em filtros de 2ª ordem para serem associados na forma em Cascata ou Paralela. 
 
:* Ver [http://www.mathworks.com/help/dsp/ref/biquadfilter.html Biquad Filter]
 
:* Ver funções do Matlab: [http://www.mathworks.com/help/matlab/ref/roots.html roots], [http://www.mathworks.com/help/matlab/ref/poly.html poly], [http://www.mathworks.com/help/signal/ref/residuez.html residuez], [http://www.mathworks.com/help/signal/ref/tf2zp.html tf2zp],  [http://www.mathworks.com/help/signal/ref/zp2tf.html zp2tf], [http://www.mathworks.com/help/signal/ref/zp2sos.html zp2sos], [http://www.mathworks.com/help/signal/ref/tf2sos.html tf2sos], [http://www.mathworks.com/help/signal/ref/tf2latc.html tf2latc].
 
:* Implementar o exercício 6.3: Forma direta I, Forma direta II, Cascata.
 
:* Implementar o exercício 6.13: Forma direta I, Cascata e Paralela.
 
:*Ver pag. 313 a de 353 <ref name="SHENOI2006"/>.
 
:*Ver pag. 469 a 474 do Lathi <ref name="Lathi2007"/>
 
 
 
==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====
 
{{collapse top | AE1 - Projeto de Filtros Digitais IIR (Prazo de entrega 31/05/2016)}}
 
:Uma das metodologias de projeto de filtros digitais IIR, consiste em:  (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 desejado; (c) transformação do filtro analógico em filtro digital H(s) -> H(z) utilizando a transformação Bilinear.  Neste exercício avaliativo é solicitado que cada equipe de alunos (2 a 3) realize o projeto do um conjunto de filtros, seguindo os passos acima descritos.  Os filtros que cada equipe irá projetar estão listados na tabela abaixo:
 
{| class="wikitable"  border="1" cellpadding="3" cellspacing="0" style="text-align:left; font-size:100%" bgcolor="#efefef"
 
! scope="col" width=10% align="left"| Equipe
 
! scope="col" width=30% align="center"| Filtro 1
 
! scope="col" width=30% align="center"| Filtro 2
 
! scope="col" width=30% align="center"| Filtro 3
 
|-
 
| Gustavo, Stephany, Fernando
 
| LP - Butter  (fp = 5 kHz; fr = 20 kHz, fs = 44 KHz)
 
| LP - Cheby I  (fp = 15 kHz; fr = 20 kHz, fs = 50 KHz)
 
| BP - Cheby II (fr1 = 6 kHz; fp1 = 8.2 kHz, fp2 = 14 kHz; fr2 = 20 kHz, fs = 50 KHz))
 
|-
 
| Roicenir, Ernani
 
| LP - Butter  (fp = 8 kHz; fr = 20 kHz, fs = 44 KHz)
 
| LP - Cheby I  (fp = 15 kHz; fr = 20 kHz, fs = 100 KHz)
 
| BP - Butter  (fr1 = 6 kHz; fp1 = 8.2 kHz, fp2 = 8.7 kHz; fr2 = 20 kHz, fs = 100 KHz))
 
|-
 
| Ronaldo, Vinicius
 
| LP - Butter  (fp = 10 kHz; fr = 20 kHz, fs = 44 KHz)
 
| HP - Cheby II (fr = 15 kHz; fp = 20 kHz, Ap = 2 dB, Ar = 40 dB, G_p = 0dB, fs = 80 KHz)
 
| BS - Ellip    (fr1 = 7 kHz; fp1 = 8.2 kHz, fp2 = 8.7 kHz; fr2 = 10 kHz, fs = 80 KHz))
 
|-
 
| Giulio, Walter, Tiago
 
| LP - Butter  (fp = 5 kHz; fr = 20 kHz, fs = 50 KHz)
 
| HP - Ellip    (fr = 15 kHz; fp = 20 kHz, Ap = 0.8 dB, Ar = 40 dB, G_p = 0dB, fs = 50 KHz)
 
| BS - Butter  (fr1 = 7 kHz; fp1 = 8.2 kHz, fp2 = 8.7 kHz; fr2 = 10 kHz, fs = 50 KHz))
 
|-
 
| Matias, Lucas, Markus
 
| LP - Butter  (fp = 8 kHz; fr = 20 kHz, fs = 50 KHz)
 
| LP - Cheby II  (fp = 15 kHz; fr = 20 kHz, fs = 200 KHz)
 
| BS - Cheby I  (fr1 = 7 kHz; fp1 = 8.2 kHz, fp2 = 8.7 kHz; fr2 = 11 kHz, fs = 200 KHz))
 
|}
 
<!--
 
|-
 
| 6
 
| LP - Butter  (fp = 10 kHz; fr = 20 kHz, fs = 50 KHz)
 
| HP - Cheby I  (fr = 15 kHz; fp = 20 kHz, Ap = 1 dB, Ar = 40 dB, G_p = 0dB, fs = 100 KHz)
 
| BP - Butter  (fr1 = 6 kHz; fp1 = 8.2 kHz, fp2 = 8.7 kHz; fr2 = 20 kHz, fs = 100 KHz))
 
|-
 
| 7
 
| LP - Butter  (fp = 5 kHz; fr = 20 kHz, fs = 60 KHz)
 
| LP - Ellip    (fp = 15 kHz; fr = 20 kHz, fs = 150 KHz)
 
| BP - Cheby I  (fr1 = 6 kHz; fp1 = 8.2 kHz, fp2 = 12 kHz; fr2 = 20 kHz, fs = 150 KHz))
 
| -
 
| 8
 
| LP - Butter  (fp = 8 kHz; fr = 20 kHz, fs = 60 KHz)
 
| HP - Cheby II  (fr = 15 kHz; fp = 20 kHz, Ap = 1 dB, Ar = 40 dB, G_p = 0dB, fs = 250 KHz)
 
| BP - Ellip    (fr1 = 6 kHz; fp1 = 8.2 kHz, fp2 = 8.7 kHz; fr2 = 20 kHz, fs = 250 KHz))
 
 
 
-->
 
:onde:
 
:: LP - Passa Baixa, HP - Passa Altas, BP - Passa Faixa, BS - Rejeita Faixa
 
:: <math> f_s </math> - frequencia de amostragem do sinal de entrada; <math> f_p </math> - frequência de passagem; <math> f_r </math> - frequência de rejeição, <math> A_p </math> - Atenuação máxima na banda de passagem (dB), <math> A_r </math> - Atenuação mínima na banda de rejeição (dB), <math> G_p </math> - Ganho médio na banda de passagem (dB).
 
:: ''Butter'' - Aproximação tipo Butterworth, ''Cheby I'' - Aproximação tipo Chebyshev I, ''Cheby II'' - Aproximação tipo Chebyshev Inversa,  ''Ellip'' - Aproximação tipo Cauer ou Eliptica.
 
:: O filtro 1  deve ter  Ap = 1 dB, Ar = 60 dB, G_p = 10 dB
 
:: Os filtros 2 e 3  devem ter  Ap = 0.8 dB, Ar = 40 dB, G_p = 0 dB
 
 
 
:* O projeto do filtro 1 deve apresentar o cálculo da ordem do filtro, dos polos e zeros do filtro, a equação de H(p), H(s), H(z), |H(jw)|^2, a magnitude e fase do filtro nas frequências de passagem e rejeição.
 
:* Para todos os filtros, apresente de modo gráfico o diagrama de zeros do filtro, o atraso de grupo, e a resposta em frequência do filtro (ganho em dB e fase) dos filtros (a) protótipo H(p), (b) Filtro analógico H(s)  e Filtro digital H(z).
 
:* Obtenha o valor numérico em dB da atenuação em fp e fr.  Assegure-se que os filtros obtidos atendem as especificações.
 
:* A resposta em frequência normalizada ou real devem ser feitas usando o Matlab.
 
:* Apresentar o gráfico do ganho em dB e da fase em cada caso com escalas corretas e com legendas
 
:* Deve ser apresentado o diagrama dos pólos e zeros dos filtros H(s) e H(z)
 
:* Escreva um relatório técnico em PDF mostrando os resultados obtidos e comentando os resultados obtidos.
 
::* O "Publish" pode ser utilizado, mas o arquivo entregue deve ser PDF e não HTML.
 
:* Envie o relatório e os arquivos ".m" utilizados para o email "moecke at ifsc.edu.br" com o Assunto: '''PSD29007 - AE1 - Projeto de Filtros Digitais IIR'''.
 
{{collapse bottom}}
 
 
 
{{collapse top |  AE2 - Projeto de Filtro Digitais FIR - MATLAB (Prazo de entrega 07/06/2016)}}
 
:1. Projeto os filtros digitais FIR com fase linear as seguintes características: tipo passa baixas; <math> f_p </math> = 3 kHz; <math> f_r </math> = 4 kHz;  <math> f_s </math>  = 20 kHz; <math> \delta_p </math> = 0.01; <math> \delta_r </math> = 0.01; <math> G_p </math> = 0 dB.
 
:onde:
 
:: <math> f_s </math> - frequencia de amostragem do sinal de entrada; <math> f_p </math> - frequência de passagem; <math> f_r </math> - frequência de rejeição, <math> \delta_p </math> - Atenuação máxima na banda de passagem (linear), <math> \delta_r </math> - Atenuação mínima na banda de rejeição (linear), <math> G_p </math> - Ganho médio na banda de passagem (dB).
 
 
 
:2. Verifique se é possível projetar o filtro usando as janelas do tipo ''Retangular'', ''Hanning'', '''Hamming'', ''Blackmann'', ''[http://www.mathworks.com/help/signal/ref/kaiser.html Kaiser]'', ''[http://www.mathworks.com/help/signal/ref/chebwin.html Chebyshev]''.
 
:* Utilize as funções [http://www.mathworks.com/help/signal/ref/firpmord.html firpmord] e  [http://www.mathworks.com/help/signal/ref/kaiserord.html kaiserord] para estimar a ordem do filtro.
 
:* Utilize as funções adequadas do Matlab para obter os coeficientes das janelas e em seguida utilize a função [http://www.mathworks.com/help/signal/ref/fir1.html fir1] para obter os filtros.
 
:* Ajuste a ordem do filtro e frequência de passagem de modo a conseguir que cada filtro atenda as especificações iniciais. 
 
:3. Para cada tipo de janela, apresente de modo gráfico a resposta em frequência do filtro (ganho) de menor ordem que atende as especificações.  Sobreponha os gráficos inserindo uma legenda adequada (indicando o tipo de janela e ordem).  Utilizando um escala em dB (entre 10 dB e -80 dB) e frequência em kHz. 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:
 
[[Arquivo:KaiserFIR.png| 600 px | Resposta em frequência - Ganho em dB ]] [[Arquivo:KaiserFIRZoom.png |600 px | Detalhe da banda de passagem da resposta em frequência - Ganho em dB]]
 
:6. Gere um arquivo "pdf" utilizando o '''Publish''' com os resultados e texto explicativo e envie o email "moecke at ifsc.edu.br" com o Assunto: '''PSD29007 - AE2 - Projeto de Filtro Digitais FIR - MATLAB'''.
 
{{collapse bottom}}
 
 
 
====JÁ ENCERRADAS====
 
====ESTUDOS SEM ENTREGA DE DOCUMENTAÇÃO====
 
 
 
{{collapse top | 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:
 
# Em qual frequência deixa de ocorrer recobrimento do sinal 2.
 
# O que ocorre quando a frequência é 6, 7, 14 Hz? Explique
 
# 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.
 
{{collapse bottom}}
 
 
 
==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 [[Acesso ao IFSC-CLOUD | IFSC-CLOUD]] para ter acesso a estes softwares.
 
 
 
*Para a geração de documentação/relatórios técnicos/artigos, está disponibilizada a plataforma  [http://200.135.233.26:3000/project Sharelatex do IFSC-CLOUD]. Utilize preferencialmente o [http://200.135.233.26:3000/project/54750cb57ae8187440d60acd  modelo de artigo no padrão ABNT].  Ver também [[Modelo para uso em relatórios]].
 
  
 
==Links auxiliares==
 
==Links auxiliares==
 +
* [http://www.mathworks.com/help/matlab/examples/live-editor-introduction.html Live editor do Matlab] nesta interface é possivel executar comandos do Matlab sem necessitar da licença.  Isso ajuda a testar algumas funções quando o Matlab não está imediatamente disponível.
 +
* [https://www.tutorialspoint.com/execute_matlab_online.php Matlab online] sem interface gráfica.
 +
* [https://octave-online.net/ Octave online] com interface gráfica.
 
* [http://www.mathworks.com/help/matlab/index.html Help on-line do Matlab]
 
* [http://www.mathworks.com/help/matlab/index.html Help on-line do Matlab]
 +
* [[Uso do calculo simbólico na Matlab]]
 +
* [http://www.mathworks.com/help/symbolic/performing-symbolic-computations.html Perform Symbolic Computations] - Matlab
 +
* [https://www.tutorialspoint.com/matlab MATLAB Tutorial], [https://www.tutorialspoint.com/matlab/matlab_quick_guide.htm MATLAB - Quick Guide]
 +
* [http://www.inf.ufsc.br/~bosco.sobral/ensino/ine5201/APOSTILA_MATLAB_DONIZETTI_15NOV2002.pdf ELEMENTOS BÁSICOS DE PROGRAMAÇÃO EM MATLAB] - UFSC, Donizetti.
 
* [http://www.mathworks.com/help/releases/R2015b/pdf_doc/matlab/index.html PDF Documentation for MATLAB]
 
* [http://www.mathworks.com/help/releases/R2015b/pdf_doc/matlab/index.html PDF Documentation for MATLAB]
 
:* [http://www.mathworks.com/help/releases/R2015b/pdf_doc/matlab/getstart.pdf Primer]
 
:* [http://www.mathworks.com/help/releases/R2015b/pdf_doc/matlab/getstart.pdf Primer]
Linha 591: Linha 57:
 
:* [http://www.mathworks.com/help/releases/R2015b/pdf_doc/matlab/math.pdf Mathematics]
 
:* [http://www.mathworks.com/help/releases/R2015b/pdf_doc/matlab/math.pdf Mathematics]
 
:* [http://www.mathworks.com/help/releases/R2015b/pdf_doc/matlab/graphg.pdf Graphics]
 
:* [http://www.mathworks.com/help/releases/R2015b/pdf_doc/matlab/graphg.pdf Graphics]
 +
:*[http://www.macnicadhw.com.br/products/mercurion-4-devkit-board;jsessionid=0093F9C13FBA223AAFE42470153B57C0 Mercurio IV DevKit] Macnica
  
 
* [http://www.mathworks.com/help/releases/R2014a/pdf_doc/dsp/index.html Manuais do Matlab para o Toolbox de DSP].
 
* [http://www.mathworks.com/help/releases/R2014a/pdf_doc/dsp/index.html Manuais do Matlab para o Toolbox de DSP].
Linha 603: Linha 70:
  
 
* [http://www.mathworks.com/help/dsp/ug/fixed-point-filter-design-1.html Fixed-Point Filter Design] - Mathworks
 
* [http://www.mathworks.com/help/dsp/ug/fixed-point-filter-design-1.html Fixed-Point Filter Design] - Mathworks
 +
* Dicas de como utilizar o Matlab - HDL Coder para gerar código HDL.
 +
:* [http://blogs.mathworks.com/loren/2013/04/11/matlab-to-fpga-using-hdl-codertm/ MATLAB to FPGA using HDL Coder]
 +
:* [http://www.mathworks.com/products/hdl-coder/code-examples.html]
 +
:* [http://www.mathworks.com/help/hdlcoder/examples/generate-hdl-code-for-programmable-fir-filter.html?prodcode=HD&language=en]
  
 
* [[Modelo para uso em relatórios]]
 
* [[Modelo para uso em relatórios]]
 
* [https://en.wikipedia.org/wiki/List_of_mathematical_symbols Lista dos Símbolos Matemáticos]
 
* [https://en.wikipedia.org/wiki/List_of_mathematical_symbols Lista dos Símbolos Matemáticos]
* [[PSD29007-Engtelecom(2015-1) - Prof. Marcos Moecke]]
 
* [[PSD29007-Engtelecom(2015-2) - Prof. Marcos Moecke]]
 
  
 
==Alguns artigos para leitura==
 
==Alguns artigos para leitura==
Linha 622: Linha 91:
 
*[http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4610722 High Quality Low Order Nonrecursive Digital Filters Design Using Modified Kaiser Window]
 
*[http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4610722 High Quality Low Order Nonrecursive Digital Filters Design Using Modified Kaiser Window]
  
==Referências Bibliográficas==
+
== Registro Diário e Avaliação Anteriores ==
<references/>
+
* [[PSD29007-Engtelecom(2020-1) - Prof. Marcos Moecke | Semestre 2020-1]]
 +
* [[PSD29007-Engtelecom(2019-2) - Prof. Marcos Moecke | Semestre 2019-2]]
 +
* [[PSD29007-Engtelecom(2019-1) - Prof. Marcos Moecke | Semestre 2019-1]]
 +
* [[PSD29007-Engtelecom(2018-2) - Prof. Marcos Moecke | Semestre 2018-2]]
 +
* [[PSD29007-Engtelecom(2018-1) - Prof. Marcos Moecke | Semestre 2018-1]]
 +
* [[PSD29007-Engtelecom(2017-2) - Prof. Marcos Moecke | Semestre 2017-2]]
 +
* [[PSD29007-Engtelecom(2017-1) - Prof. Marcos Moecke | Semestre 2017-1]]
 +
* [[PSD29007-Engtelecom(2016-2) - Prof. Marcos Moecke | Semestre 2016-2]]
 +
* [[PSD29007-Engtelecom(2016-1) - Prof. Marcos Moecke | Semestre 2016-1]]
 +
* [[PSD29007-Engtelecom(2015-2) - Prof. Marcos Moecke | Semestre 2015-2]]
 +
* [[PSD29007-Engtelecom(2015-1) - Prof. Marcos Moecke | Semestre 2015-1]]
  
 
{{ENGTELECO}}
 
{{ENGTELECO}}

Edição atual tal como às 16h18min de 11 de novembro de 2020

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


Avisos importantes

Durante o 2º semestre de 2020, devido a Pandemia do Coronavirus Sars-CoV-2, as aulas da disciplina ocorrerão de forma remota. Seguem algumas informações importantes:

  • Todas os nossos encontros síncronos serão feitos usando a plataforma Google Meet. Para ingressar nas aulas utilizem o email institucional (usuario@aluno.ifsc.edu.br).
  • Após cada encontro, vocês terão acesso automático as gravações das aulas na Pasta compartilhada no Gdrive.
  • Para a entrega de atividades e avaliações será utilizada a plataforma Moodle. É necessário que vocês se autoinscrevam no Moodle da disciplina com a chave (engtelecom2020-2).
  • Para a comunicação entre professor-aluno, além dos avisos no SIGAA, utilizaremos a plataforma Slack. Inscrevam-se no Slack da disciplina. O aluno pode usar qualquer email para acessar ao Slack, mas recomenda-se o uso do email institucional.
  • Para participar das aulas é recomendado que o aluno tenha disponível: 1 computador ou dispositivo móvel (smartphone ou tablet) para assistir os encontros presenciais ou gravações. É necessário um computador para utilizar os softwares e realizar atividades práticas de laboratório. O aluno deve ter acesso a Nuvem do IFSC ou instalar a VM com softwares Matlab/Simulink/HDL Coder. Acesso a Internet é fundamental, e recomenda-se que o aluno tenha um lugar silencioso para participar das aulas. O acesso ao Google Meet, Drive, Slack, Moodle e Wiki podem ser feitos via navegador, mas a instalação das respectivas aplicações é recomendada. Recomenda-se ainda que cada aluno uso um fone de ouvido com microfone, pois isso melhora muito a qualidade do som e a interação nas vídeo conferências. Ao ingressar em um encontro síncrono mantenha sempre que possível a câmera aberta e também o microfone. Se houver algum problema de ruído você será alertado.
  • Nesta página wiki, você tem orientações para uso de ferramentas e também links que auxiliam no estudo da disciplina. Visite os links sempre que solicitado e lei essa página para lembrar futuramente onde estão as informações que necessita.

Instalação da VM com Matlab/Simulink/HDL Coder em seu computador

Para importar a VM para o seu computador e configurar ela para acessar a licença do IFSC veja a página Instalação da VM Matlab

Instalação da VM com Quartus e Modelsim em seu computador

Na fase do projeto final pode ser necessário importar também essa VM para o seu computador. Veja como importar e configurar ela para acessar a licença do IFSC veja a página Instalação da VM com Quartus e Modelsim

Recursos de Laboratório

Nos laboratórios do IFSC, os softwares Matlab/Simulink/HDL Coder estão disponíveis diretamente na plataforma LINUX. Utilize preferencialmente a versão 2015.

Acesso a Nuvem do IFSC

Para uso fora do IFSC dos recursos computacionais com licença educacional, o IFSC disponibiliza para seus alunos o IFSC-CLOUD (nuvem.sj.ifsc.edu.br). A forma mais eficiente de acesso a nuvem de fora do IFSC é através do Cliente X2GO, mas dentro da rede do IFSC o acesso pelo ssh também tem boa usabilidade.

Para para utilizar o Quartus/Modelsim/QSIM através da Nuvem do IFSC, siga o procedimento de instalação do X2Go e configuração do X2Go. Nota: O desempenho do Modelsim é ruim quando acesso da rede externa ao IFSC, e por isso deve ser evitado, dando-se preferencia ao uso da VM.

Modelos para relatório

Para a geração de documentação/relatórios técnicos/artigos, use como base o modelo ABNTex2 para o padrão do IFSC para monografia que segue as normas da ABNT e do IFSC. Recomendo que os alunos da Engenharia de Telecomunicações utilizem esse modelo e o Overleafv2, pois além de possibilitar o compartilhamento do documento entre os alunos, reduz o tempo perdido na formação do documento, permitindo que o aluno já aprenda alguma formatação de Latex que será útil na elaboração do TCC.

Links auxiliares

Alguns artigos para leitura

Artigos bases de alguns dos filtros digitais:

Relatórios simples:

Registro Diário e Avaliação Anteriores


Curso de Engenharia de Telecomunicações