Mudanças entre as edições de "PSD29007-Engtelecom(2018-2) - Prof. Marcos Moecke"
(→ATUAL) |
|||
Linha 1 094: | Linha 1 094: | ||
*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 | *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 | ||
− | |||
− | |||
− | |||
− | |||
− | {{collapse top | expand = true | | + | {{collapse top | expand=true| AP1 - Projeto de Filtros Digitais IIR e FIR (Entrega e prazos ver Moodle)}} |
− | * | + | Esta avaliação visa verificar se você conhece a metodologia de projeto de filtros digitais IIR e FIR: |
+ | * No caso dos filtros IIR, a metodologia envolve a realização de: (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". | ||
+ | * No caso dos filtros FIR, são solicitadas três técnicas diferentes de projeto de filtro: (a) com janelas fixas, (b) com janela ajustáveis; (b) com o algoritmo de Parks-McCleallan (PM); | ||
+ | * Nesta avaliação é solicitado que cada equipe projeto os mesmos filtros IIR e FIR. Os detalhes de cada filtro são indicados na tabela abaixo. Para todos os filtros considere como valores ''default'' fa = 8 kHz, Gp = 0 dB, Ap = 2 dB e As = 40 dB (exceto caso indicado outro valor na tabela abaixo). | ||
− | + | O 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. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{| class="wikitable" border="1" cellpadding="3" cellspacing="0" style="text-align:left; font-size:100%" bgcolor="#efefef" | {| class="wikitable" border="1" cellpadding="3" cellspacing="0" style="text-align:left; font-size:100%" bgcolor="#efefef" | ||
− | ! scope="col" width= | + | ! scope="col" width=10% align="left"| Equipe |
− | ! scope="col" width= | + | ! scope="col" width=15% align="center"| Filtro 1 |
+ | ! scope="col" width=15% align="center"| Filtro 2 | ||
+ | ! scope="col" width=20% align="center"| Filtro 3 | ||
|- | |- | ||
− | | | + | | Equipe 1 (Maria e Paulo) |
+ | | LP - (f1 = 950 Hz; f2 = 1300 Hz, As = 30 dB) | ||
+ | | HP - (f1 = 950 Hz; f2 = 1300 Hz, As = 30 dB, G0 = 10 dB) | ||
+ | | BP - (f1 = 627 Hz; f2 = 683 Hz, f3 = 711 Hz; f4 = 767 Hz) | ||
|- | |- | ||
− | | | + | | Equipe 2 (Gustavo e Kleiton) |
+ | | LP - (f1 = 950 Hz; f2 = 1300 Hz, As = 25 dB, G0 = 5dB) | ||
+ | | HP - (f1 = 950 Hz; f2 = 1300 Hz, As = 25 dB) | ||
+ | | BP - (f1 = 847 Hz; f2 = 922 Hz, f3 = 960 Hz; f4 = 1035 Hz) | ||
|- | |- | ||
− | | | + | | Equipe 3 (Renan e Marina) |
− | + | | LP - (f1 = 1050 Hz; f2 = 1400 Hz, As = 30 dB) | |
− | + | | HP - (f1 = 1050 Hz; f2 = 1400 Hz, As = 20 dB) | |
− | |- | + | | BP - (f1 = 767 Hz; f2 = 835 Hz, f3 = 869 Hz; f4 = 937 Hz, G0 = -10dB) |
− | | | ||
− | |||
− | | | ||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | :onde: | ||
+ | :: LP (''Low Pass'')- Passa Baixa, HP (''High Pass'')- Passa Altas, BP (''Band Pass'')- Passa Faixa, BS (''Band Stop'')- Rejeita Faixa | ||
+ | :: <math> f_N </math> - são as "N" frequência de especificação do filtro dadas em Hertz (kHz ou MHz); f_a é a frequência de amostragem dos sinais e do sistema. | ||
+ | :: <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). | ||
+ | Alguns detalhes sobre o projeto dos filtros para cada equipe. | ||
{| class="wikitable" border="1" cellpadding="3" cellspacing="0" style="text-align:left; font-size:100%" bgcolor="#efefef" | {| 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=10% align="left"| Equipe | ||
Linha 1 183: | Linha 1 135: | ||
! scope="col" width=15% align="center"| Filtro 2 | ! scope="col" width=15% align="center"| Filtro 2 | ||
! scope="col" width=20% align="center"| Filtro 3 | ! scope="col" width=20% align="center"| Filtro 3 | ||
− | |||
|- | |- | ||
| Equipe 1 | | Equipe 1 | ||
− | | | + | | IIR - Chebyshev I, FIR - Janela Fixa (Escolha a mais adequada) |
− | | | + | | IIR - Butterworth, FIR - Janela Ajustável (Kaiser) |
− | + | | BP - Eliptico, FIR - PM | |
− | | | ||
|- | |- | ||
| Equipe 2 | | Equipe 2 | ||
− | | | + | | IIR - Butterworth, FIR - Janela Ajustável (Kaiser) |
− | | | + | | IIR - Chebyshev II, FIR - Janela Fixa (Escolha a mais adequada) |
− | + | | BP - Eliptico, FIR - PM | |
− | | | ||
|- | |- | ||
| Equipe 3 | | Equipe 3 | ||
− | | | + | | IIR - Eliptico, FIR - Janela Fixa (Escolha a mais adequada) |
− | + | | IIR - Butterworth, FIR - Janela Ajustável (Kaiser) | |
− | | | + | | BP - Chebyshev II, FIR - PM |
− | |||
− | |||
− | |||
− | |||
− | |||
− | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
− | + | :* Os filtros IIR do tipo Butterworth devem ser todos os calculados efetuados a partir das equações, enquanto os demais filtros IIR podem ser projetados obtendo a função H(p) diretamente com funções do Matlab. | |
− | + | :* O filtro FIR de janela fixa ou ajustável podem ter a janela calculada diretamente usando funções do Matlab. Nos dois casos é necessário calcular os valores dos coeficientes da série de Fourier | |
− | + | :* O filtro FIR BP deve ser projetado usando o algoritmo de Parks-McCleallan. | |
− | + | :* Em todos os filtros busque obter a menor ordem que possibilite ter uma resposta de frequência que atende a sua especificação. | |
− | :*Os filtros | + | :* Se achar necessário utilize o FVTOOL e o FDAtool para a análise dos filtros. |
− | :* | + | |
− | :* | + | ;ENTREGAS: |
− | :* | + | :* Deverá ser feita um quadro comparativo dos filtros FIR x IIR indicando no mínimo a ordem dos filtros. |
− | :* | + | :* A resposta em frequência dos filtros IIR e FIR do mesmo tipo (ganho em dB e fase) deverá ser mostrada em um mesmo gráfico. |
− | :* | + | :* 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]] | [[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]] | ||
− | + | :* Também deverá ser mostrado o atraso de grupo dos filtros (ver função [https://www.mathworks.com/help/signal/ref/grpdelay.html grpdelay] do Matlab) | |
+ | :* O diagrama dos pólos e zeros dos filtros | ||
+ | :* Utilize escala em dB para as respostas em frequência. | ||
+ | :* Tanto no resposta em frequência como no atraso de grupo use nas abcissas utilize uma escala em Hz (kHz ou MHz) adequada ao seu caso. | ||
:* 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. | :* 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. | ||
+ | :* Compare os vários aspectos diferentes dos filtros e faça uma análise sobre as diferenças entre os IIR e FIR. | ||
:* 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 | 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 344: | Linha 1 270: | ||
{{collapse bottom}} | {{collapse bottom}} | ||
--> | --> | ||
+ | |||
==Referências Bibliográficas== | ==Referências Bibliográficas== | ||
<references/> | <references/> | ||
{{ENGTELECO}} | {{ENGTELECO}} |
Edição das 12h21min de 6 de novembro de 2018
Registro on-line das aulas
Unidade 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Unidade 1
%% 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
Os polinômios de Chebyshev de primeira ordem são definidos pela relação recursiva: Os primeiros cinco polinômios de Chebyshev de primeira ordem são:
%% 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));
Aula suspenda - participação no SEPEI 2018
Projetar um filtro passa baixas usando uma janela temporal fixa (verificar a janela que atende a especificação) wp = 0.2*pi; Ap = 0.2 dB; Gp = 0 dB ws = 0.3*pi; As = 60 dB;
Projetar um filtro LP usando uma janela temporal fixa (hamming, bartlett-hanning, hanning). wp = 0.4*pi; Ap = 1 dB; Gp = 0 dB ws = 0.6*pi; As = 40 dB;
N = <ordem>
h_fir = fir1(N,Wn,hamming(N+1));
[Hw,w] =freqz(h_fir);
plot(w/pi,20*log10(abs(Hw)))
title(['hamming N = ' num2str(N)])
%fvtool(h_fir,1)
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. A janela de Kaiser é definida por:
onde : é a função de Bessel de ordem zero [1] 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 4ATUAL
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');
|
Unidade 5 - PROJETO FINAL |
---|
Unidade 5 - PROJETO FINAL |
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
AP1 - Projeto de Filtros Digitais IIR e FIR (Entrega e prazos ver Moodle) | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Esta avaliação visa verificar se você conhece a metodologia de projeto de filtros digitais IIR e FIR:
O 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.
Alguns detalhes sobre o projeto dos filtros para cada equipe.
|
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 SHENOI, B. A. Introduction to Digital Signal Processing and Filter Design. 1.ed. New Jersey: John Wiley-Interscience, 2006. 440 p. ISBN 978-0471464822