Escolar Documentos
Profissional Documentos
Cultura Documentos
Centro Tecnolgico
Escola de Engenharia
Curso de Engenharia de Telecomunicaes
Grupo PET-Tele
(Verso: 2k80801)
Niteri - RJ
Julho / 2008
Prefcio
Tendo em vista as diretrizes do MEC em Pesquisa, Ensino e Extenso, o Programa de
Educao Tutorial (PET) do curso de Engenharia de Telecomunicaes da Universidade
Federal Fluminense (UFF) desenvolveu um projeto de elaborao de apostilas e cursos
voltados para a graduao. O intuito desse trabalho auxiliar alunos no aprendizado de
temas importantes para sua formao, que esto ausentes em quaisquer ementas de dis-
ciplinas; e, alm disso, servir de material didtico para cursos de capacitao ministrados
pelos bolsistas do Programa aos corpos discente e docente da graduao.
Abaixo segue a lista de apostilas preparadas nesse projeto.
Prefcio i
1 Introduo 1
1.1 Informaes iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Janelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Ajuda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Bibliotecas do Matlabr . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Variveis 5
2.1 Declarao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Manipulao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 Variveis pr-denidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Nmeros e matrizes 7
3.1 Representao numrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Formatos de visualizao de nmeros . . . . . . . . . . . . . . . . . . . . . 7
3.3 Denio de matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.4 Indexao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5 Funes matriciais 17
5.1 Matrizes elementares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.2 lgebra linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.3 Informaes matriciais bsicas . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.4 Manipulao de matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.5 Anlise de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
7 Funes polinomiais 27
iii
iv Sumrio
8 Grcos 29
8.1 Grcos de duas dimenses . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8.2 Grcos de trs dimenses . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
8.3 Funes auxiliares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.2 Janelas
Atravs de objetos grcos denominados janelas, o usurio opera as funcionalidades do
programa de forma interativa.
A janela principal do Matlabr chama-se Command Window (Janela de Comando),
onde os dados e instrues so digitados no prompt `>>' pelo usurio e, aps a tecla Enter
ser pressionada, o programa os processa imediatamente e expe na tela o resultado. Os
comandos digitados so armazenados em um buer de comandos, no qual pode-se navegar
usando as teclas seta-para-cima `' e seta-para-baixo `'. Alm disso, teclando-se o texto
`str', por exemplo, e usando-se as setas `' e `', navega-se por todos os comandos iniciados
com o texto `str'. A tecla Esc limpa o que estiver escrito na linha do comando.
Comandos terminados com ponto-e-vrgula no exibem as variveis de resposta na tela.
O uso do ponto-e-vrgula til quando a impresso do resultado na tela no interessa, ou
quando a impresso muito extensa como, por exemplo, para uma matriz 1000 1000.
Deve-se ressaltar que, apesar da impresso ser suspensa, o comando executado pelo
programa.
Vrios comandos podem ser digitados na mesma linha, desde que estejam separados
1
2 Captulo 1. Introduo
por vrgula ou ponto-e-vrgula . Comandos muito longos para uma linha podem ser
interrompidos por trs pontos `...' e continuados na linha seguinte. O exemplo a seguir
ilustrativo quanto a esses detalhes.
a =
1
c =
3
1.3 Ajuda
Atravs do comando help, o usurio pode consultar a ajuda do Matlabr . Escrevendo-
se help e o nome da funo, mostrado um pequeno resumo da funo (normalmente de
uma linha) seguido de uma descrio mais detalhada da mesma.
possvel ainda procurar por funes cujos resumos contenham determinada palavra-
chave. Para isto, basta digitar o comando lookfor seguido da palavra desejada. Caso se
queira interromper a busca, deve-se teclar CTRL+C.
2.1 Declarao
Dado que o programa oferece um ambiente de execuo de uma linguagem interpretada,
uma caracterstica conveniente do Matlabr que as variveis no precisam ser dimen-
sionadas antes do uso, pois so geradas automaticamente ao serem utilizadas. Para criar
e/ou armazenar informaes em variveis denidas pelo usurio, basta digitar o nome da
varivel seguido do sinal de igual `=' e da expresso desejada. Na escolha dos nomes das
variveis, devem ser obedecidos os seguintes critrios:
os caracteres podem ser alfanumricos (letras e nmeros), desde que iniciados por
letras;
Caso seja executada uma expresso que gere um valor como resultado, e, nessa ex-
presso, no haja uma atribuio do resultado para alguma varivel denida pelo usurio,
o resultado ser armazenado na varivel ans, pr-denida pelo ambiente.
2.2 Manipulao
Existem comandos prprios para manipulao de variveis. Abaixo esto listados os mais
utilizados.
clear: Elimina todas as variveis da rea de trabalho. Para se apagar uma ou mais
variveis utiliza-se o comando clear seguido dos nomes das variveis separadas por
espao.
5
6 Captulo 2. Variveis
Varivel Representao
ans Varivel padro para armazenar resultados.
pi Razo entre o permetro da circunferncia e o seu dimetro.
eps Preciso de ponto utuante, ou distncia entre 1 e prximo nmero real.
inf Innito (por exemplo, resultado da diviso 1/0).
NaN ou nan Not-a-Number ou valor no-numrico (exemplo:
resultado de 0/0).
i ou j Unidade numrica imaginria, igual a 1.
nargin Nmero de argumentos de entrada de uma funo.
nargout Nmero de argumentos de sada de uma funo.
realmin Menor nmero real positivo utilizvel.
realmax Maior nmero real positivo utilizvel.
bitmax Maior nmero inteiro positivo utilizvel.
Caso o usurio dena e utilize uma varivel com o mesmo nome de alguma das variveis
ou das funes pr-denidas, ela funcionar como uma varivel comum, perdendo seu
signicado original. Quando apagada, ela retornar ao seu comportamento pr-denido.
>> i=999
i =
999
>> clear i
>> i
ans =
0 + 1.0000i
nmeros complexos: `i' ou `j ' (como suxos, direita da parte imaginria, ou como
funes, equivalentes raiz quadrada de -1);
Ex.: 3 + 5i, 3 + 5j , 3 + 5 i, 3 + 5 j , 3 + i 5, 3 + j 5, 3 + 5 sqrt(1) e
3 + sqrt(1) 5.
7
8 Captulo 3. Nmeros e matrizes
Comando 2 Comentrio
format short 1.4142 5 dgitos (ponto xo).
format long 1.41421356237310 15 dgitos (ponto xo).
format short e 1.4142e+000 5 dgitos e expoente (ponto utuante).
format long e 1.414213562373095e+000 15 dgitos e expoente (ponto utuante).
format short g 1.4142 O melhor entre short e short e.
format long g 1.4142135623731 O melhor entre long e long e.
format hex 36a09e667f3bcd Hexadecimal em ponto utuante.
format + + Positivo `+', negativo `' ou zero ` '.
format bank 1.41 2 casas decimais representando moeda.
format rat 1393/985 Aproximao racional.
format debug Structure address = 12ac208 short g e informaes sobre
m=1 armazenagem interna.
n=1
pr = 12600c0
pi = 0
1.4142
>> a=`Duas';
>> b=` ';
>> c=`palavras.';
>> [a b c]
ans =
Duas palavras.
Entendido o conceito de aglutinao, que ser muito utilizado daqui em diante, torna-
se fcil a tarefa de denir uma matriz. Uma matriz montada linha aps linha, onde
espao ou vrgula indicam transio de coluna e ponto-e-vrgula indica transio de linha.
>> [1,2;3,4]
ans =
1 2
3 4
>> 1:5:20
ans =
1 6 11 16
>> linspace(0,10,5)
ans =
0 2.5000 5.0000 7.5000 10.0000
A funo logspace similar, porm espaa os elementos logaritmicamente na base
10. Uma diferena muito importante em sua sintaxe que os valores iniciais e nais so
potncias de 10, devendo ser escritos apenas seus expoentes.
>> logspace(0,1,5)
ans =
1.0000 1.7783 3.1623 5.6234 10.0000
Existem muitas outras formas de se criar uma matriz. Apenas a ttulo de curiosidade,
a funo xlsread l uma matriz a partir de um arquivo XLS gerado pelo programa
Microsoft Excelr .
3.4 Indexao
O padro de indexao matricial no Matlabr a forma tradicional intuitiva (r, c), onde
r representa o nmero da linha e c representa o nmero da coluna.
>> m=[.1 .2 .3 .4 .5 ; .6 .7 .8 .9 1 ; 1.1 1.2 1.3 1.4 1.5]
m =
0.1000 0.2000 0.3000 0.4000 0.5000
0.6000 0.7000 0.8000 0.9000 1.0000
1.1000 1.2000 1.3000 1.4000 1.5000
>> m(2,5)
ans =
1
Os elementos da matriz tambm podem ser indexados seqencialmente, conforme
ilustrado na Tabela 3.2.
1 2 3 4 5
1 (1)
0.1 (4)
0.2 (7)
0.3 (10)
0.4 (13)
0.5
2 (2)
0.6 (5)
0.7 (8)
0.8 (11)
0.9 (14)
1.0
3 (3)
1.1 (6)
1.2 (9)
1.3 (12)
1.4 (15)
1.5
>> m(5)
ans =
0.7000
possvel selecionar mais de uma linha ou coluna, usando-se dois-pontos `:' entre
os ndices inicial e nal para indicar o intervalo. Quando os ndices inicial e nal so
omitidos, indica-se o intervalo inteiro. A palavra reservada `end' indica o m da linha ou
da coluna.
>> m(3,1:4)
ans =
1.1000 1.2000 1.3000 1.4000
>> m(:,5)
ans =
0.5000
1.0000
1.5000
>> m(1,3:end)
ans =
0.3000 0.4000 0.5000
O conceito de indexao pode ser ampliado quando no lugar dos ndices colocam-se
vetores ou matrizes de ndices.
>>m(4,6)=2.1
ans =
0.1000 0.2000 0.3000 0.4000 0.5000 0
0.6000 0.7000 0.8000 0.9000 1.0000 0
1.1000 1.2000 1.3000 1.4000 1.5000 0
0 0 0 0 0 2.1000
13
14 Captulo 4. Operaes com matrizes
Observaes:
1. Para operaes entre matriz e nmero escalar, o programa faz uma expanso escalar
do nmero, executando a operao entre o nmero e cada elemento da matriz.
Ex.: x + 3 = x + [3 3; 3 3] = [5 6; 8 10]
Operador Descrio
< Menor que
<= Menor ou igual a
> Maior que
>= Maior ou igual a
== Igual a (no confundir com = )
~= Diferente de
& E
| OU
~ NO
>> x=1:10
x =
1 2 3 4 5 6 7 8 9 10
>> y=x>=5
y =
0 0 0 0 1 1 1 1 1 1
>> ones(2,3)
ans =
1 1 1
1 1 1
Para se criar uma matriz com todos os elementos iguais a um nmero qualquer N,
basta multiplicar a matriz gerada por N ou multiplicar diretamente o comando por
N (N*ones).
17
18 Captulo 5. Funes matriciais
zeros: cria uma matriz cujos elementos so todos iguais a 0, dados os nmeros de
linhas e colunas.
>> zeros(3,2)
ans =
0 0
0 0
0 0
eye: cria uma matriz identidade, dada sua ordem.
>> eye(3)
ans =
1 0 0
0 1 0
0 0 1
rand: cria uma matriz de elementos pseudo-aleatrios com distribuio uniforme
entre 0 e 1, dados os nmeros de linhas e colunas. O comando rand(`state',n)
reinicia o gerador de nmeros pseudo-aleatrios para o n-simo estado.
Para reiniciar em um diferente estado a cada horrio, pode-se usar o comando
rand(`state',sum(100*clock)). Um comando similar, o randn, funciona de forma
similar, mas com distribuio normal.
>> rand(2,7)
ans =
0.9501 0.6068 0.8913 0.4565 0.8214 0.6154 0.9218
0.2311 0.4860 0.7621 0.0185 0.4447 0.7919 0.7382
Esta funo muito til para, por exemplo, se fazer testes em programas que vo
trabalhar com dados imprevisveis.
>> det(a)
ans =
1
inv: retorna a inversa da matriz de entrada.
>> inv(a)
ans =
3 -2
-1 1
>> v=eig(a)
v =
0.2679
3.7321
>> [V D]=eig(a)
V =
-0.9391 -0.5907
0.3437 -0.8069
D =
0.2679 0
0 3.7321
>> reshape(1:10,2,5)
ans =
1 3 5 7 9
2 4 6 8 10
>> b=[1 2 3 ; 4 5 6 ; 7 8 9]
b =
1 2 3
4 5 6
7 8 9
>> rot90(b)
ans =
3 6 9
2 5 8
1 4 7
iplr:
troca simetricamente de posio as colunas da esquerda com as da direita de
uma matriz de entrada.
>> fliplr(b)
ans =
3 2 1
6 5 4
9 8 7
>> flipud(b)
ans =
7 8 9
4 5 6
1 2 3
>> diag(b)
ans =
1
5
9
>> diag(ans)
ans =
1 0 0
0 5 0
0 0 9
>> triu(b)
ans =
1 2 3
0 5 6
0 0 9
>> tril(b)
ans =
1 0 0
4 5 0
7 8 9
>> sum(b)
ans =
12 15 18
>> sum(ans)
ans =
45
prod: retorna o produto dos elementos de cada coluna de uma matriz de entrada
ou o produto dos elementos de um vetor de entrada.
>> prod(ans)
ans =
240
mean: retorna a mdia aritmtica dos elementos de cada coluna de uma matriz de
entrada ou a mdia aritmtica dos elementos de um vetor de entrada.
>> min(ans)
ans =
-4
sort: retorna a matriz de entrada com cada coluna ordenada em ordem crescente,
ou o vetor de entrada com seus elementos ordenados em ordem crescente.
>> fliplr(x)
ans =
7 5 3 1 -2 -4 -6 -8
>> cos(pi)
ans =
-1
>> acos(ans)
ans =
3.1416
23
24 Captulo 6. Funes matemticas elementares
>> log(exp(10))
ans =
10
>> sqrt(log10(ans))
ans =
1
>> z=4-3*i
z =
4.0000 - 3.0000i
>> abs(z)
ans =
5
>> real(z)+imag(z)*i
ans =
4.0000 - 3.0000i
>> conj(z)
ans =
4.0000 + 3.0000i
>> x=[-4:4]
x =
-4 -3 -2 -1 0 1 2 3 4
>> rem(x,3)
ans =
-1 0 -2 -1 0 1 2 0 1
>> mod(x,3)
ans =
2 0 1 2 0 1 2 0 1
>> sign(x)
ans =
-1 -1 -1 -1 0 1 1 1 1
Observaes:
>> a=[1,5,6]
a =
1 5 6
>> roots(a)
ans =
-3
-2
>> polyval(a,2)
ans =
20
>> poly([-3,-2])
ans =
1 5 6
27
28 Captulo 7. Funes polinomiais
Neste exemplo, mostra-se que (x2 + 5x + 6)(2x + 4) = 2x3 + 14x2 + 32x + 24.
2. Escreve-se a funo desejada, a partir do vetor X, a qual criar um novo vetor Y das
ordenadas;
Os pares ordenados (x,y) assim criados so marcados no grco e ligados por segmen-
tos retas (interpolao linear). Observa-se, portanto, que, quanto menor for o incremento
do vetor X, mais pares ordenados sero criados e, conseqentemente, melhor ser a preciso
do grco. Em compensao, uma maior quantidade de memria utilizada.
Entre as inmeras funes existentes, esto listadas abaixo apenas as mais usadas.
>> X=[0:0.2:10];
>> Y=X.^2;
>> plot(X,Y)
A funo plot pode ser tambm usada no desenho de mais de um grco em uma
mesma gura. Para isso, usa-se a seguinte notao:
29
30 Captulo 8. Grcos
A formatao de cor, marcador e tipo de linha dos grcos tambm pode ser con-
gurada pelo usurio. Para isso usa-se a seguinte notao:
plot(X1, Y1, `Conf1', X2, Y2, `Conf2', ... , Xn, Yn, `Confn') ,
>> plot(X,Y,`ko--',X,10*X,`*')
Para criar grcos em janelas diferentes usa-se o comando gure(n) antes do co-
mando plot, onde n o nmero da janela de guras. Caso contrrio, cada novo
grco criado ser plotado na ltima janela aberta (grco corrente). Para apagar
o grco da janela corrente sem fech-la, escreve-se o comando clf .
>> subplot(2,2,1)
>> plot(X,X.^2)
>> subplot(2,2,2)
>> plot(X,10*X)
>> subplot(2,2,3)
>> plot(X,log10(X+1))
loglog: Plota grcos com ambos os eixos em escala logartmica na base 10.
>> clf
>> semilogx(X,10*X)
plotyy: Plota duas curvas no mesmo grco com diferentes escalas para o eixo y.
A primeira delas tem escala esquerda, e a segunda tem escala direita.
>> plotyy(X,Y,X,cos(X))
>> t = 0:0.1:10*pi;
>> plot3(t.*sin(t),t.*cos(t),t);
>> x=[0 1]
x =
0 1
>> y=[2 3 4]
y =
2 3 4
>> [X,Y]=meshgrid(x,y)
X =
0 1
0 1
0 1
Y =
2 2
3 3
4 4
>> surf(X,Y,Z);
title: Adiciona um ttulo ao grco corrente. Esse ttulo um texto que deve ser
escrito entre aspas simples, conforme a sintaxe:
title(`Ttulo do Grco')
text(X, Y, `Texto')
Essa funo ajusta o grco para os intervalos delimitados pelo usurio. Outras
aplicaes podem ser vistas em help axis.
hold on: Permite que novos grcos sejam criados na janela corrente sem que os
grcos anteriores sejam apagados.
A cor do plano de fundo volta a ser branca quando a gura exportada do Matlabr .
Nos textos inseridos nela, possvel mudar o tipo e o tamanho da fonte, escrever em
negrito, itlico, subscrito, sobrescrito e ainda representar letras gregas. Isso pode
ser compreendido pela Tabela 8.2.
clf : Apaga todos os grcos da janela corrente.
close: Fecha a janela corrente. Para fechar a n-sima janela, utiliza-se o comando
close(n). O comando close all fecha todas as janelas.
>> num=[1,1]
num =
1 1
>> den=[1,5,6]
den =
1 5 6
>> [z,p,g]=tf2zp(num,den)
z =
-1
p =
-3
-2
g =
1
39
40 Captulo 9. Funes polinomiais racionais complexas
>> [N,D]=zp2tf(z,p,g)
N =
0 1 1
D =
1 5 6
tf :
Cria uma funo de transferncia e a armazena em um objeto apropriado, dados
o numerador e denominador.
>> H=tf(N,D)
Transfer function:
s + 1
-------------
s^2 + 5 s + 6
>> pzmap(H)
>> bode(H)
>> bode(H,{1e-1,1e2})
>> clf;
>> w=logspace(-1,2,101);
>> Hjw=freqs(num,den,w);
>> moddb=20*log10(abs(Hjw));
>> fase=180*angle(Hjw)/pi;
>> subplot(2,1,1), semilogx(w,moddb);
>> title('Resposta em freqncia'), ylabel('|H(j\omega)|_{dB}');
>> subplot(2,1,2), semilogx(w,fase);
>> ylabel('\angle H(j\omega) (graus)'), xlabel('\omega (rad/s)');
% COMPLEXO
% [r,i,m,a,c] = COMPLEXO(x) retorna em cinco
% variveis as partes real e imaginria,
% o mdulo, o argumento e o conjugado de
% um nmero complexo.
a=real(x); b=imag(x);
c=abs(x); d=angle(x);
e=conj(x);
43
44 Captulo 10. Programao
Aps escrito o cdigo, o arquivo dever ser salvo com o mesmo nome da funo e com
a extenso `.m' (no exemplo, `complexo.m').
Uma condio necessria para a execuo de arquivos M que eles estejam no di-
retrio corrente do Matlabr . Para execuo de um script, feita na barra de ferramentas
da janela de edio pela opo Debug>Run ou File>Run Script (dependendo da verso
do Matlabr ), a mudana de diretrio corrente automtica, sendo desnecessria a
interveno do usurio.
A mudana de diretrio corrente pode ser feita clicando-se no boto da janela prin-
cipal do programa contendo `...', ao lado de Current Directory, ou por um dos seguintes
comandos.
A=2; B=3;
if A==B
display(`A e B iguais.') % Exibe texto na Janela de Comando.
else
display(`A e B diferentes.')
end
Quando se faz uso repetido de testes de igualdade com apenas um argumento comum,
costuma-se usar a estrutura switch-case. Essa estrutura tem a seguinte forma:
switch var_teste
case expresso_teste1
comandos1
case {expresso_teste2, expresso_teste3, expresso_teste4 }
comandos2
otherwise
comandos3
end
clear all
num=input('Escreva um inteiro: '); % Exibe texto e l valor para a varivel.
switch num
case 1
y=1
case {2, 2.5}
y=2
case 'tres'
y=3
case {'quatro', 'Quatro', 'QUATRO' }
y=4
otherwise
y=0
end
Uma estrutura de repetio faz com que uma seqncia de comandos seja executada repeti-
damente enquanto se satisfaa uma dada condio. O Matlabr possui duas estruturas
de repetio: for e while.
A condio da estrutura for que varivel seja menor ou igual a m. Enquanto
satisfeita essa condio, ao trmino de cada loop de comandos, varivel incrementada
de incr. O incremento incr considerado unitrio caso seja omitido.
Abaixo, segue um exemplo de clculo de mdia usando-se, de forma comparativa, as
duas estruturas.
clear all
x=input('Vetor de amostras: ');
compr=length(x); % retorna o comprimento do vetor
soma_f=0;
for k=1:compr
soma_f=soma_f+x(k);
end
media_f=soma_f./compr;
soma_w=0;
k=1;
while k<=compr
soma_w=soma_w+x(k);
k=k+1;
end
media_w=soma_w./compr;
A.1 Butterworth
BUTTORD calcula a ordem de um ltro Butterworth.
[N, Wn] = buttord(Wp, Ws, Rp, Rs,`s') Este comando retorna a ordem do
ltro Butterworth que tenha, no mximo, Rp dB de atenuao na banda de pas-
sagem e, no mnimo, Rs dB na banda de rejeio. W p and W s so as freqncias
da banda de passagem e rejeio, respectivamente. W deve ser dado em rad/sec.
Exemplo:
passa-baixa: Wp = x Ws = y
passa-alta: Wp = y Ws = x
banda de passagem: Wp = [x1 x2] Ws = [y1 y2]
banda de rejeio: Wp = [y1 y2] Ws = [x1 x2]
49
50 Apndice A. Funes relativas a aproximaes para ltros seletores em freqncia
A.2 Chebyshev
CHEB1ORD calcula a ordem de um ltro Chebyshev Tipo I .
[N, Wn] = cheb1ord(Wp, Ws, Rp, Rs,`s') Este comando retorna a ordem do
ltro Chebyshev que tenha, no mximo, Rp dB de atenuao na banda de passagem
e, no mnimo, Rs dB na banda de rejeio. W p and W s so as freqncias da banda
de passagem e rejeio respectivamente. W deve ser dado em rad/sec.
Exemplo:
passa-baixa: Wp = x Ws = y
passa-alta: Wp = y Ws = x
banda de passagem: Wp = [x1 x2] Ws = [y1 y2]
banda de rejeio: Wp = [y1 y2] Ws = [x1 x2]
[N, Wn] = cheb2ord(Wp, Ws, Rp, Rs,`s') Este comando retorna a ordem do
ltro Chebyshev que tenha, no mximo, Rp dB de atenuao na banda de passagem
e, no mnimo, Rs dB na banda de rejeio. W p and W s so as freqncias da banda
de passagem e rejeio respectivamente. W deve ser dado em rad/sec.
Exemplo:
passa-baixa: Wp = x Ws = y
passa-alta: Wp = y Ws = x
banda de passagem: Wp = [x1 x2] Ws = [y1 y2]
banda de rejeio: Wp = [y1 y2] Ws = [x1 x2]
[N, Wn] = buttord(Wp, Ws, Rp, Rs,`s') Este comando retorna a ordem do
ltro Elliptic que tenha, no mximo, Rp dB de atenuao na banda de passagem e,
no mnimo, Rs dB na banda de rejeio. W p and W s so as freqncias da banda
de passagem e rejeio respectivamente. W deve ser dado em rad/sec.
Exemplo:
passa-baixa: Wp = x Ws = y
passa-alta: Wp = y Ws = x
banda de passagem: Wp = [x1 x2] Ws = [y1 y2]
banda de rejeio: Wp = [y1 y2] Ws = [x1 x2]