Mudanças entre as edições de "PSD29007-Engtelecom(2020-1) - Prof. Marcos Moecke"
Ir para navegação
Ir para pesquisar
Linha 327: | Linha 327: | ||
* Notar a diferença de tempo de processamento entre os processos de filtragem. | * Notar a diferença de tempo de processamento entre os processos de filtragem. | ||
* A situação pode ser muito diferente conforme muda o tamanho do sinal e ordem do filtro (h(n)). Modifique a resposta ao impulso e o sinal de entrada modificando os valores das variáveis de tamanho: Nh = 10, 100, 1000; Nx = 20, 1000, 10000; | * A situação pode ser muito diferente conforme muda o tamanho do sinal e ordem do filtro (h(n)). Modifique a resposta ao impulso e o sinal de entrada modificando os valores das variáveis de tamanho: Nh = 10, 100, 1000; Nx = 20, 1000, 10000; | ||
− | * Em função do sistema operacional e reserva de memória para as variáveis é importante desprezar a primeira medida de tempo. Realize 3 medidas de tempo para cada uma das 5 opções de filtragem, com pelo menos duas combinações de comprimento Nh e Nx. | + | * Em função do sistema operacional e reserva de memória para as variáveis é importante desprezar a primeira medida de tempo. Realize 3 medidas de tempo para cada uma das 5 opções de filtragem, com pelo menos duas combinações de comprimento Nh e Nx. |
+ | * Verifique o tempo de processamento usando | ||
+ | profile on | ||
+ | --execute o programa | ||
+ | profile viewer -- para ver os resultados | ||
+ | * Mas detalhes ver | ||
+ | profile doc | ||
+ | |||
+ | Execute no Matlab o código abaixo, e analise os 3 filtros implementados através dos seus zeros e polos. Busque tirar conclusões sobre a influência da posição dos polos e zeros (ver o gráfico do plano z) e correlacione com a resposta de frequência em magnitude (gráfico do freqz). | ||
+ | |||
+ | <syntaxhighlight lang=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); | ||
+ | </syntaxhighlight> | ||
<!-- | <!-- |
Edição das 08h53min de 9 de março de 2020
Registro on-line das aulas
Unidade 1
profile on --execute o programa profile viewer -- para ver os resultados
profile doc Execute no Matlab o código abaixo, e analise os 3 filtros implementados através dos seus zeros e polos. Busque tirar conclusões sobre a influência da posição dos polos e zeros (ver o gráfico do plano z) e correlacione com a resposta de frequência em magnitude (gráfico do freqz). %% 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);
|
Avaliações
- Atividades extraclasse
- AE1 - Cálculo de uma DFT de comprimento 8.
- Determine a transformada discreta de Fourier X(w) a partir da sequencia discreta x(n) indicada na tabela abaixo.
- Utilize a equação da DFT
- O algoritmo FFT indicado na tabela, onde dt é decimação no tempo (Fig 3.9) e df é decimação na frequência (Fig 3.13)
- Use uma folha de papel para anotar os valores dos produtos intermediários tanto da DFT como da FFT.
- Compare os resultados obtidos para de X(k) obtido com os dois cálculos.
- Poste no Moodle a folha de cálculos (digitalize usando scanner ou smartphone).
- Prova escrita A1
- Entrega do Projeto Final. O projeto é avaliado nos quesitos:
- PFe - Documento de Especificação (apresentado no relatório);
- PFp - Implementação do Projeto;
- PFr - Relatório do Projeto (excluído a especificação);
- PFi - Avaliação individual do aluno no projeto (conceito subjetivo atribuído pelo professor a partir da observação e da apresentação do projeto).
Referências Bibliográficas