Mudanças entre as edições de "PSD29007-Engtelecom(2018-1) - Prof. Marcos Moecke"
Linha 1 073: | Linha 1 073: | ||
--> | --> | ||
− | {{collapse top | | + | {{collapse top | AE1 - 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 4 filtros, e trabalhos individuais serão 3 filtros. Para todos os filtros considere como valores default fa = 8 kHz, Gp = 0 dB, Ap = 0.5 dB e As = 30 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. | 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 4 filtros, e trabalhos individuais serão 3 filtros. Para todos os filtros considere como valores default fa = 8 kHz, Gp = 0 dB, Ap = 0.5 dB e As = 30 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. | ||
Linha 1 130: | Linha 1 130: | ||
:* Envie o relatório em pdf e os arquivos ".m" utilizados na plataforma Moodle. | :* Envie o relatório em pdf e os arquivos ".m" utilizados na plataforma Moodle. | ||
{{collapse bottom}} | {{collapse bottom}} | ||
− | + | ||
− | {{collapse top | | + | {{collapse top | expand=true | AE2 - Projeto de Filtros Digitais FIR (Entrega e prazos ver Moodle)}} |
− | Esta avaliação visa verificar se você conhece a metodologia de projeto de filtros digitais FIR: (a) Projeto de filtros com Janela | + | Esta avaliação visa verificar se você conhece a metodologia de projeto de filtros digitais FIR: (a) Projeto de filtros com Janela fixas e ajustáveis; (b) Projeto de filtros com o algoritmo de Parks-McCleallan; Nesta avaliação é solicitado que cada equipe realize os mesmos filtros projeto de filtros da atividade AE1. |
:*O filtro LP deve ser realizado utilizando uma janela fixa calculando os valores dos coeficientes da série de Fourier, os valores do vetor da janela podem ser obtidos usando as funções do Matlab. . | :*O filtro LP deve ser realizado utilizando uma janela fixa calculando os valores dos coeficientes da série de Fourier, os valores do vetor da janela podem ser obtidos usando as funções do Matlab. . | ||
:*O segundo filtro deve ser realizado utilizando uma janela ajustável, podendo ser utilizado diretamente funções do Matlab que projetem o filtro. | :*O segundo filtro deve ser realizado utilizando uma janela ajustável, podendo ser utilizado diretamente funções do Matlab que projetem o filtro. | ||
Linha 1 142: | Linha 1 142: | ||
:* Utilize a mesma escala em dB para os filtros. 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 da atividade AE2. | :* Utilize a mesma escala em dB para os filtros. 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 da atividade AE2. | ||
:* 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. Note este relatório é simplificado, mas é necessário uma análise textual dos resultados. | :* 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. Note este relatório é simplificado, mas é necessário uma análise textual dos resultados. | ||
− | :* Envie o relatório em pdf e os arquivos ".m" utilizados na plataforma | + | :* Envie o relatório em pdf e os arquivos ".m" utilizados na plataforma Moodle. |
{{collapse bottom}} | {{collapse bottom}} | ||
+ | <!-- | ||
{{collapse top | AE4 - Realização de Filtro Digitais FIR e IIR (Entrega e prazos ver Moodle (4 Dez as 13h00)}} | {{collapse top | AE4 - Realização de Filtro Digitais FIR e IIR (Entrega e prazos ver Moodle (4 Dez as 13h00)}} | ||
:1. Objetivo projetar filtros que tem a a mesma especificação de magnitude usando diferentes tipos de filtro digital, sendo um do tipo IIR e outro do tipo FIR. Estabelecer uma comparação entre esses filtros e escrever um breve relatório mostrando as vantagens do filtro escolhido sobre o outro. | :1. Objetivo projetar filtros que tem a a mesma especificação de magnitude usando diferentes tipos de filtro digital, sendo um do tipo IIR e outro do tipo FIR. Estabelecer uma comparação entre esses filtros e escrever um breve relatório mostrando as vantagens do filtro escolhido sobre o outro. | ||
Linha 1 222: | Linha 1 223: | ||
::* Após realizada a simulação do sistema detector DTMF, o sistema deverá ser convertido para VHDL utilizando o '''HDL coder'''. | ::* Após realizada a simulação do sistema detector DTMF, o sistema deverá ser convertido para VHDL utilizando o '''HDL coder'''. | ||
::* Para comprovar o funcionamento do sistema realize a simulação final do sistema no ModelSim. | ::* Para comprovar o funcionamento do sistema realize a simulação final do sistema no ModelSim. | ||
− | :* 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 a metodologia utilizada devem estar documentados. Envie o relatório em pdf e os arquivos | + | :* 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 a metodologia utilizada devem estar documentados. |
+ | :* Envie o relatório em pdf e os arquivos ".m" utilizados na plataforma Moodle. | ||
''::* (Opcional) As equipes que desejarem poderão programar o hardware de um kit FPGA para conferir o funcionamento do sistema. Sugere-se que a geração dos sinais DTMF seja feita utilizando um app gerador para Smartphone e usada a interface conversora A/D para capturar os sinais de entrada. '' | ''::* (Opcional) As equipes que desejarem poderão programar o hardware de um kit FPGA para conferir o funcionamento do sistema. Sugere-se que a geração dos sinais DTMF seja feita utilizando um app gerador para Smartphone e usada a interface conversora A/D para capturar os sinais de entrada. '' | ||
Edição das 14h18min de 30 de maio de 2018
Registro on-line das aulas
Unidade 1 | ||||||
---|---|---|---|---|---|---|
Unidade 1
% 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')
%% 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);
%% 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);
%% 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 |
---|
Unidade 2
b = [1 1];
a = [1 1 5];
[z1,p1,k]=tf2zp(b,a)
z2 = roots(b);
p2 = roots(a);
zplane(b,a);
%%
freqs(b,a);
%%
syms s w
H(s) = (s+1)/(s^2 + s + 5);
pretty(H(1j*w))
latex(H(1j*w))
%%
ws = logspace(-2, 1, 1000);
h = H(1j*ws);
subplot(211)
semilogx(ws,abs(h)); grid on;
subplot(212)
semilogx(ws,angle(h)/pi*180); grid on;
%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
%% 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');
|
Unidade 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Unidade 3
L = 64;
wvtool(rectwin(L), triang(L), bartlett(L), hann(L), hamming(L), blackman(L), blackmanharris(L), nuttallwin(L));
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:
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)
|
Unidade 4 |
---|
Unidade 4
Fs = 30000; % 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(hFIR,'MapCoeffsToPorts','on');
|
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
Atividades Relâmpago (prazo e forma de entrega ver na plataforma AVA) |
---|
AE1 - 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 4 filtros, e trabalhos individuais serão 3 filtros. Para todos os filtros considere como valores default fa = 8 kHz, Gp = 0 dB, Ap = 0.5 dB e As = 30 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.
|
AE2 - Projeto de Filtros Digitais FIR (Entrega e prazos ver Moodle) |
---|
Esta avaliação visa verificar se você conhece a metodologia de projeto de filtros digitais FIR: (a) Projeto de filtros com Janela fixas e ajustáveis; (b) Projeto de filtros com o algoritmo de Parks-McCleallan; Nesta avaliação é solicitado que cada equipe realize os mesmos filtros projeto de filtros da atividade AE1.
|
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 2,6 2,7 2,8 SHENOI, B. A. Introduction to Digital Signal Processing and Filter Design. 1.ed. New Jersey: John Wiley-Interscience, 2006. 440 p. ISBN 978-0471464822
- ↑ LATHI, Bhagwandas P. Sinais e Sistemas Lineares. 2. ed. Porto Alegre: Artmed-Bookman, 2007. 856 p. ISBN 978-8560031139