Mudanças entre as edições de "PSD-EngTel (página)"
Ir para navegação
Ir para pesquisar
Linha 217: | Linha 217: | ||
plot(t,x1,'k',t,y1,'b'); ylim([-1.5 1.5]), xlim([ti tf]); | plot(t,x1,'k',t,y1,'b'); ylim([-1.5 1.5]), xlim([ti tf]); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | :1. Varie o valor da frequência do sinal x1 | + | :1. Varie o valor da frequência do sinal '''x1''' no mínimo entre 800 rad/s e 1300 rad/s e observe o ganho, a defasagem e o atraso de grupo. (DICA use o [http://www.mathworks.com/help/matlab/matlab_prog/run-sections-of-programs.html?searchHighlight=%22Increment%20Values%20in%20Code%20Sections%22 incremento de valores em seções de código] do Matlab) |
::* O que é possível observar observando a escala de tempo de [0:1]? Explique | ::* O que é possível observar observando a escala de tempo de [0:1]? Explique | ||
::* O que muda se observarmos um segmento menor de tempo [0.5 a 0.6]? Explique | ::* O que muda se observarmos um segmento menor de tempo [0.5 a 0.6]? Explique | ||
Linha 224: | Linha 224: | ||
::* Como ficou a resposta de ganho, fase e o atraso de grupo? | ::* Como ficou a resposta de ganho, fase e o atraso de grupo? | ||
::* Leia sobre o filtro Bessel e depois faça um filtro e analise o resultado. | ::* Leia sobre o filtro Bessel e depois faça um filtro e analise o resultado. | ||
− | :3. Escolha o tipo de aproximação que preferir e projete um filtro passa-baixas nas frequências wp2 e wr2 | + | :3. Escolha o tipo de aproximação que preferir e projete um filtro passa-baixas nas frequências wp2 =1020 rad/s e wr2 = 1150 rad/s. Analise o filtro obtido. |
− | :4. Escolha o tipo de aproximação que preferir e projete um filtro passa-altas nas frequências wp1 e wr1 | + | :4. Escolha o tipo de aproximação que preferir e projete um filtro passa-altas nas frequências wp1 = 980 rad/s e wr1 = 850 rad/s. Analise o filtro obtido. |
− | :5. Escolha o tipo de aproximação que preferir e projete um filtro rejeita-faixa wp1 = ; wr1 = ; wr2 = ; wp2 = | + | :5. Escolha o tipo de aproximação que preferir e projete um filtro rejeita-faixa wp1 = 850 rad/s; wr1 = 980 rad/s; wr2 = 1020 rad/s ; wp2 = 1150 rad/s. Analise o filtro obtido. |
− | + | wr1 = 850; wr2 = 1150; % Frequências de rejeição (rad/s) normalizada em relação a Ws/2 | |
+ | wp1 = 980; wp2 =1020; % Frequências de passagem (rad/s) normalizada em relação a Ws/2 | ||
+ | :*Escreva um relatório técnico mostrando os resultados obtidos e documentando o código escrito. Enviar para o meu email em formato pdf com o Assunto: '''PSD29007 - Projeto de Filtro Digital IIR'''. Não é necessário fazer a revisão teórico do assunto (visto em aula). Foquem apenas na descrição dos filtros projetados, nos resultados e sua análise. Cada figura/gráfico deve ter uma legenda e ser mencionado no texto. | ||
{{collapse bottom}} | {{collapse bottom}} | ||
Edição das 15h18min de 6 de março de 2015
MURAL DE AVISOS E OPORTUNIDADES DA ÁREA DE TELECOMUNICAÇÕES
- Carga horária, Ementas, Bibliografia, Professores
- Cronograma de atividades (PSD-EngTel)
- Plano de Ensino
Registro on-line das aulas
- Aula 1 (6 fev)
- Revisão de Sinais e Sistemas no tempo discreto em Matlab:
- Resposta de sistemas LTI (Experimento 1.1)
- Amostragem de Sinais (Experimento 1.2)
- Uso do Matlab: Help, F9 executa o código destacado no Help. Programação com scripts .m, Execução de seções e variação de valores nos scripts.
- Ver pag. 65 a 71 de [1]
- Ver PDF Documentation for MATLAB. Principalmente MATLAB Primer.
Variação do Experimento 1.2 |
---|
%% Experimento 1.2
fs = 10; Ts = 1/fs; fase = 0;
time = 0:Ts:(1-Ts);
f1 = 3; f2 = 7;
s_1 = cos(2*pi*f1*time+fase);
s_2 = cos(2*pi*f2*time+fase);
fsa = 1000; 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')
Varie o valor da frequência de amostragem de 6 até 20 Hz e observe:
|
- Aula 2 (10 fev)
- Revisão de Sinais e Sistemas no tempo discreto em Matlab:
Variação do Experimento 2.2 |
---|
%% Experimento 2.2
% Resposta em frequencia usando a função freqz
N = 1;
num = [1 0 0 0];
den = poly([0.8 0.2])
%den = [1 0.6 -0.16];
% modo 1
%[H,w]=freqz(num,den,[0:pi/100:N*pi-pi/100]);
%plot(w/pi, abs(H));
% modo 2
%[H,w]=freqz(num,den);
%plot(w/pi, abs(H));
% modo 3
%[H,w]=freqz(num, den, 'whole');
%plot(w/pi, abs(H));
% modo 4
freqz(num, den, 'whole');
figure(2);
zplane(num,den);
%% Resposta em frequencia substituindo z -> e^(jw)
syms z
Hf(z) = symfun(z^2/(z-0.2)/(z+0.8),z);
pretty(Hf)
latex(Hf)
N = 1;
w = [0:pi/100:N*pi-pi/100];
plot(w/pi,abs(Hf(exp(1i*w))))
%title(['$' latex(Hf) '$'],'interpreter','latex')
text(0.2,2,['H(z) = ' '$$' latex(Hf) '$$'],'interpreter','latex')
xlabel(['w/' '$$' '\pi' '$$'],'interpreter','latex')
|
- Aula 3 (13 fev)
- Revisão de Sinais e Sistemas no tempo discreto em Matlab:
- Aula 4 (20 fev)
- Filtros Digitais: Filtros IIR:
- Aproximação de magnitude de filtros analógicos: do tipo Butterworth.
- Ver pag. 186 a 193 de [2]
- Aula 5 (24 fev)
- Filtros Digitais: Filtros IIR:
- Projeto de filtros analógicos passa-baixas: do tipo Butterworth.
- Ver pag. 194 a 204 de [2]
- Aula 6 (27 fev)
- Filtros Digitais: Filtros IIR:
- Projeto de filtros analógicos passa-baixas: do tipo Chebyshev I.
- Ver pag. 204 a 208 de [2]
- Aula 7 (3 mar)
- Filtros Digitais: Filtros IIR:
- Projeto de filtros analógicos passa-baixas: do tipo Chebyshev II.
- Uso das funções semilogx, semilogy,logspace, linspace.
- Ver IIR Filter Design,
- Funçãos para projeto do filtro final (analógico com 's'): besself, butter, cheby1, cheby2, ellip
- Funções de estimação da ordem do filtro: buttord, cheb1ord, cheb2ord, ellipord
- 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
- 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)
- Ver pag. 208 a 218 de [2]
- Aula 8 (6 mar)
- Filtros Digitais: Filtros IIR: transformações do tempo contínuo no tempo discreto
- Transformação invariante ao impulso (apenas para filtros com forte atenuação em frequência altas, ex: passa-baixas e passa-faixa)
- Transformação bilinear (para todos tipos de filtro)
- Ver IIR Filter Design,
- Filter discretization functions: bilinear, impinvar
Atividades extra
Experimento 3.2 (Prazo de entrega 23/02/2015) |
---|
|
ESTUDE - Resposta em frequência a partir da posição dos pólos-zeros |
---|
|
ESTUDE - Resposta em frequência em Sistemas de Tempo Discreto |
---|
|
ESTUDE - Desempenho do código de uma FFT |
---|
N = 10000;
%% tamanho do vetor de 1015 -> 5 x 7 x 29
N0 = 1015;
y1 = rand(N0,1);
tic; for k = 1:N; Y1 = fft(y1)/N0; end; toc
%% tamanho do vetor de 1019 -> primo
N_0 = 1019;
y2 = [y1; zeros(N_0-N0,1)];
tic; for k = 1:N; Y2 = fft(y2)/N_0; end; toc
%% tamanho do vetor de 1024 -> 2^10
N_0 = 1024;
y3 = [y1; zeros(N_0-N0,1)];
tic; for k = 1:N; Y3 = fft(y3)/1024; end; toc
|
Projeto de Filtro Analógicos (Prazo de entrega 09/03/2015) |
---|
|
Projeto de Filtro Digitais IIR (Prazo de entrega 16/03/2015) |
---|
%% Variação do Experimento 6.1 - DINIZ
% Parâmetros do filtro digital passa-faixa
Ap = 0.5; % Atenuação máxima na banda de passagem
Ar = 65; % Atenuação mínima na banda de rejeição
Ws = 10000; Fs = Ws/(2*pi); Ts = 1/Fs; % Frequência de amostragem (Ws -> rad/s e Fs -> Hz), e período de amostragem
wr1 = 850; wr2 = 1150; % Frequências de rejeição (rad/s) normalizada em relação a Ws/2
wp1 = 980; wp2 =1020; % Frequências de passagem (rad/s) normalizada em relação a Ws/2
% Cálculo do filtro digital passa-faixa usando transformação bilinear
wnr1 = wr1/(Ws/2); wnr2 = wr2/(Ws/2); wr =[wnr1 wnr2];
wnp1 = wp1/(Ws/2); wnp2 =1020/(Ws/2); wp = [wnp1 wnp2];
[n wn] = ellipord(wp, wr, Ap, Ar);
[b a] = ellip(n,Ap,Ar,wp);
[H, w] = freqz(b,a,10000);
fi = 0; ff = Ws/2; % fi = 850*0.95; ff = 1150*1.05;
subplot(311); plot(w*Fs,abs(H)); grid on; xlim([fi,ff]);
subplot(312); plot(w*Fs,angle(H)); grid on; xlim([fi,ff]);
[gd,w] = grpdelay([b a], 10000);
subplot(313); plot(w*Fs,gd); grid on; xlim([fi,ff]);
%% Análise do filtro usando um cosenso puro
t = 0:Ts:(1-Ts);
ti =0; tf= 1; % ti=0.5; tf=0.6;
w1 = 800;
x1 = cos(w1*t);
y1 = filter(b,a,x1);
plot(t,x1,'k',t,y1,'b'); ylim([-1.5 1.5]), xlim([ti tf]);
wr1 = 850; wr2 = 1150; % Frequências de rejeição (rad/s) normalizada em relação a Ws/2 wp1 = 980; wp2 =1020; % Frequências de passagem (rad/s) normalizada em relação a Ws/2
|
Recursos necessários
- O Software Matlab está disponível na maioria dos laboratórios do IFSC-campus São José em instalação local tanto em Windows como Linux. Adicionalmente de qualquer maquina do IFSC, pode-se fazer Acesso ao IFSC-CLOUD.
- Para a programação em FPGAs, os softwares da ALTERA (Quartus II, QSIM e Modelsim-Altera), estão instalados no Laboratório de Programação (ver outros disponíveis). Para acessar veja a página Software e equipamentos recomendados para programação de FPGAs.
- Adicionalmente de qualquer maquina do IFSC, pode-se fazer usar o IFSC-CLOUD para ter acesso a estes softwares.
Links auxiliares
Referências Bibliográficas
- ↑ 1,0 1,1 1,2 1,3 1,4 1,5 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 SHENOI, B. A. Introduction to Digital Signal Processing and Filter Design. 1.ed. New Jersey: John Wiley-Interscience, 2006. 440 p. ISBN 978-0471464822
- ↑ 3,0 3,1 3,2 LATHI, Bhagwandas P. Sinais e Sistemas Lineares. 2. ed. Porto Alegre: Artmed-Bookman, 2007. 856 p. ISBN 978-8560031139