PSD-EngTel (página)

De MediaWiki do Campus São José
Revisão de 13h35min de 13 de outubro de 2016 por Moecke (discussão | contribs) (→‎Unidade 3)
Ir para navegação Ir para pesquisar

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


Registro on-line das aulas

Unidade 1

Aula 1 (11 Ago)
  • Revisão de Sinais e Sistemas no tempo discreto em Matlab:
  • 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 delta de Kronecker do sistema LTI discreto
onde , e logo
%  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);
  • 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 (3 Hz) e um sinal (7 Hz) são idênticas quando amostrado com um sinal de 10 Hz.
%  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')
Aula 2 (15 Ago)
  • Revisão de Sinais e Sistemas no tempo discreto em Matlab:
Variação do Experimento 2.2
%  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)
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')
  1. Verifique a diferença entre os tipos de plots comentados no código.
  2. substitua o denominador de H(z) por dois polos em [-0.8 -0.8].
  3. verifique o que ocorre se forem utilizados polos complexos conjugados [0.3-0.4i 0.3+0.4i 0.1]
  4. verifique o que ocorre se forem utilizados polos complexos não conjugados [0.3-0.4i 0.3+0.8i]
  5. verifique o que ocorre se os polos estiverem fora do circulo unitário [1.2 -0.2]. Interprete este resultado
Aula 3 (18 Ago)
  • Revisão de Sinais e Sistemas no tempo discreto em Matlab:
  • 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.
Variação do Experimento 3.2
  %% 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
  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);
  1. Acrescente a Figura 1 um plot com a magnitude em dB do sinal no domínio da frequência - 20*log10(X)
  2. 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.
DTxDF sinal noise.png

Figura 1 - Análise no domínio da frequência do sinal

  1. 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.
  2. 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.
Aula 4 (22 Ago)
  • Revisão de Sinais e Sistemas no tempo discreto em Matlab:
  • Exercício - Sinal DTMF com ruído
  • Usando o Matlab, gerar o sinal DTMF correspondente ao número N e adicionar um ruido ao sinal.
  • Filtrar o sinal resultante mantendo apenas a frequência da linha (ou coluna)
  • Mostrar os sinais no domínio do tempo e da frequência.
x1,X1 - soma das duas senoides.
x2,X1 - soma de x1 com o ruído branco (gaussiano)
y,Y - sinal filtrado.
  • Utilizar uma frequência de amostragem de 8000Hz de fazer a duração do sinal igual a 200 ms.
  • Para adicionar o ruído utilize a função y = awgn(x,snr), ou y = x + nivel*randn(n).
  • Para a filtragem utilize?
  • faça a filtragem no domínio do tempo, usando a função filter posicionando o polo sobre a frequência que deseja passar, e coloque um zero sobre a frequência que deseja rejeitar.
  • faça a filtragem no domínio da frequência, convertendo o sinal x1 para DF usando X1 = fft(x1), Y = X1.*H, y = ifft(Y), onde H é um vetor de zeros e uns que indica as frequências que devem passar e quais devem ser rejeitadas.
VER (Experimento 3.1, Experimento 3.2, Experimento 2.3)

Unidade 2

Aula 5 (25 Ago)
  • Filtros Analógicos:
  • Função de transferência
  • Resposta em frequência: para obter a resposta em frequência é necessário avaliar
  • O projeto de filtros analógicos é realizado em 2 etapas:
  1. projeto de um filtro passa baixas (LP) protótipo normalizado com frequência de passagem
  2. transformação em frequência para o tipo de filtro (LP, HP, BP ou BS)
  • A aproximação de magnitude de filtros analógicos pode ser realizado usando as aproximações de Butterworth, Chebyshev (tipo 1 ou 2) e Cauer.
  • Projeto de filtros analógicos do tipo Butterworth, considerando: é a frequência de passagem do filtro LP, é a atenuação em dB na frequência de passagem, é a frequência de stopband do filtro, é a atenuação em dB na frequência de stopband, , , são as frequências de passagem e stopband do filtro protótipo.
  • É necessário determinar a ordem do filtro:
  • Em seguida obter os polos do filtro:
  • Em seguida é necessário obter a função de transferência:
, onde
  • No caso de um filtro LP é necessário ainda obter a função de transferência do filtro especificado
  • Ver pag. 186 a 204 de [2]
Aula 6 ()
  • Projeto de filtros analógicos do tipo Chebyshev I.
  • Determine a ordem mínima necessária:
  • Em seguida obter os polos do filtro:
, onde
  • Ver pag. 204 a 208 de [2]
Aula 7 ()
  • 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.
%% 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

Aula 12 ()
  • Filtros Digitais: Filtros FIR
  • Filtros de fase linear: simétricos e antisimétricos
  • Ver pag. 249 a 256 de [2]
Aula 13 ()
  • 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)
  • Passa-altas (High-pass)
  • Passa-faixa (Band-pass)
  • Rejeita-banda (Band-stop)
  • Uso de funções de janelamento temporal no projeto de filtros digitais.
  • Tipos de janelas temporais usadas no projeto de filtros digitais.
  • Retangular
  • Bartlett
  • Hanning
  • Hamming
  • Blackman
  • em todas as janelas quando
  • Ver pag. 256 a 265 de [2]
Aula 16 e 17 ()
L = 64; 
wvtool(rectwin(L), triang(L), bartlett(L), hann(L), hamming(L), blackman(L), blackmanharris(L), nuttallwin(L));
Janela
Retangular 13.3 {{{4}}}
Triangular 26.6 {{{4}}}
Barlett 26.5 {{{4}}}
Hann 31.5 {{{4}}}
Barlett-Hanning 35.9 {{{4}}}
Hamming 42.5 {{{4}}}
Bohman 46.0 {{{4}}}
Parzen 53.1 {{{4}}}
Backman 58.1 {{{4}}}
Flat Top 88.0 {{{4}}}
Backman-Harris 92.1 {{{4}}}
Nutfall 93.8 {{{4}}}
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.

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)
Aula 18 e 19 ()
  • Filtros Digitais: Filtros FIR
  • Uso das funções window e fir1 do Matlab para projeto de filtro FIR

%% Exemplo de Filtro wp1 = 0.1 \pi; ws1 = 0.2 \pi; ws2 = 0.6 \pi; wp2 = 0.8 \pi; Ap = 1 dB; Ar = 40 dB; </syntaxhighlight>

Aula 19 ()
  • Filtros Digitais: Filtros FIR
Aula 20 ()
  • Uso do [1] Fdatool para projeto de filtro IIR, FIR equiripple e FIR com janela.
%% Exemplo de Filtro 
fp = 3000 Hz;
fr = 4000 Hz;
fs = 20000 Hz;
Ap = 1 dB;
Ar = 40 dB;

Unidade 4

Aula 20 ()
  • Realização de Filtros
  • Realização de filtros FIR: Forma Direta.
FIR FD MathWorks.png
Figura 1 - Realização de filtros FIR na Forma Direta
  • 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.
FIR FDT MathWorks.png
Figura 2 - Realização de filtros FIR na Forma Transposta
FIR FDT2 MathWorks.png
Figura 3 - Realização de filtros FIR na Forma Transposta
  • Realização de filtros FIR de fase linear: simétrico tipo I e II e antissimétrico tipo III e IV.
FIR Sym2 MathWorks.png
Figura 4 - Realização de filtros FIR de fase linear Simétrico I
FIR Sym1 MathWorks.png
Figura 5 - Realização de filtros FIR de fase linear Simétrico II
FIR AntiSym3 MathWorks.png
Figura 6 - Realização de filtros FIR de fase linear Antisimétrico III
FIR AntiSym4 MathWorks.png
Figura 7 - Realização de filtros FIR de fase linear Antisimétrico IV
  • Realização de Filtros usando o comando realizemdl do 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');

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.

PARA ENTREGAR

AE1 - Variação do Experimento 1.2 (prazo XX/Ago/2016)

No Experimento 1.2 varie o valor da frequência de amostragem de 6 até 20 Hz e observe:

  1. Em qual frequência deixa de ocorrer recobrimento do sinal 2.
  2. O que ocorre quando a frequência é 6, 7, 14 Hz? Explique
  3. 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.
AE1 - Projeto de Filtros Digitais IIR (Prazo de entrega 10/10/2016 as 02:10:10 (madrugada))
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 aluno realize o projeto do um conjunto de filtros, seguindo os passos acima descritos.
Aluno Tipo w1 w2 Tipo Gp w1 w2 w3 w4
Katharine HP 0.3 0.7 BP 10 0.1 0.3 0.4 0.5
Fernando LP 0.3 0.7 BS -10 0.1 0.3 0.4 0.5
Tamara HP 0.4 0.8 BS 3 0.2 0.3 0.4 0.6
André LP 0.4 0.8 BP -3 0.2 0.3 0.4 0.6
Maria HP 0.4 0.5 BP 6 0.2 0.3 0.4 0.5
Marcos LP 0.4 0.5 BS -6 0.2 0.3 0.4 0.5
Iago HP 0.4 0.6 BS 1 0.5 0.6 0.7 0.8
Gabriel LP 0.4 0.6 BP -1 0.5 0.6 0.7 0.8
Khristine HP 0.3 0.4 BP 20 0.4 0.6 0.7 0.9


onde:
LP - Passa Baixa, HP - Passa Altas, BP - Passa Faixa, BS - Rejeita Faixa
- são as "N" frequência de especificação do filtro dadas em frequência digital normalizada (entre 0 a 1) onde 1 corresponde a metade da frequência de amostragem do sistema, ou ao valor de frequencia angular de ;
- frequência de passagem; - frequência de rejeição, - Atenuação máxima na banda de passagem (dB), - Atenuação mínima na banda de rejeição (dB), - Ganho médio na banda de passagem (dB).
No filtro 1 deve ser do tipo Chebyshev I, com Ap = 1 dB, As = 35 dB, G_p = 0 dB, para LP , , para HP , .
No filtro 2 deve ser do tipo Butterworth, com Ap = 0.1 dB, As = 20 dB, para BP e são e , e são e , para BS e são e , e são e .
  • Os projetos dos filtro 1 e 2 deve apresentar o cálculo da ordem do filtro, dos polos, 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 especificadas.
  • Para todos os filtros, apresente de modo gráfico 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).
  • 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. Cada figura deverá ter "label" adequado nos eixos das abscissas e ordenadas além de um "caption" com numeração descrevendo o que trata a figura.
  • O "Publish" pode ser utilizado, mas o arquivo entregue deve ser PDF.
  • Envie o relatório em pdf e os arquivos ".m" utilizados para o email "moecke at ifsc.edu.br" com o Assunto: PSD29007 - AE2 - Projeto de Filtros Digitais IIR.


JÁ ENCERRADAS

ESTUDOS SEM ENTREGA DE DOCUMENTAÇÃO

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.
  • Adicionalmente de qualquer maquina do IFSC, pode-se fazer usar o IFSC-CLOUD para ter acesso a estes softwares.

Links auxiliares

Alguns artigos para leitura

Artigos bases de alguns dos filtros digitais:

Relatórios simples:

Referências Bibliográficas

  1. 1,0 1,1 1,2 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. 2,0 2,1 2,2 2,3 2,4 2,5 SHENOI, B. A. Introduction to Digital Signal Processing and Filter Design. 1.ed. New Jersey: John Wiley-Interscience, 2006. 440 p. ISBN 978-0471464822


Curso de Engenharia de Telecomunicações