|
Forum studentów IV roku EiT Politechniki Śląskiej
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
michasia
Dołączył: 10 Paź 2007
Posty: 38
Przeczytał: 0 tematów
Skąd: Zabrze
|
Wysłany: Śro 20:09, 06 Sty 2010 Temat postu: Filtry IIR- Dustor |
|
|
Mógłby ktoś wrzucić to co mieliśmy zrobić na laborce przed świętami? chodzi o grupę E1
|
|
Powrót do góry |
|
|
|
|
Stefan99
Dołączył: 10 Paź 2007
Posty: 453
Przeczytał: 0 tematów
|
Wysłany: Śro 22:24, 06 Sty 2010 Temat postu: |
|
|
Lesiu chyba gdzies wrzucil ten programik.
|
|
Powrót do góry |
|
|
jc
Dołączył: 09 Paź 2007
Posty: 284
Przeczytał: 0 tematów
Skąd: Łaziska City :)
|
Wysłany: Śro 22:49, 06 Sty 2010 Temat postu: |
|
|
programik nadesłany przez kumpla
clear,clf,clc;
fs=10000;
fp1=2*1000/fs;
fz1=2*1500/fs;
fz2=2*3000/fs;
fp2=2*3500/fs;
ap=3;
az=50;
Rp=3;
Rs=50;
%[N,fn]=ellipord(fp1,fz1,ap,az);
%[B,A]=ellip(N,Rp,Rs,fn,'low');
%[N,fn]=ellipord([fp1 fp2],[fz1 fz2],ap,az);
%[B,A]=ellip(N,Rp,Rs,fn,'stop');
%[N,fn]=buttord([fp1 fp2],[fz1 fz2],ap,az);
%[B,A]=butter(N,fn,'stop');
%[B,A]=butter(N,fn);
%[N,fn]=cheb1ord([fp1 fp2],[fz1 fz2],ap,az);
%[B,A]=cheby1(N,Rp,fn,'bandpass');
[N,fn]=cheb2ord([fp1 fp2],[fz1 fz2],ap,az);
[B,A]=cheby2(N,Rs,fn,'stop');
dirac=[1 zeros(1,100000)];
h=filter(B,A,dirac);
test=[ones(1,20)-ones(1,20) ones(1,20) -ones(1,20) ones(1,20) -ones(1,20)];
out=filter(B,A,test);
widmo=abs(fft(h,2^20));
widmo=20*log10(widmo);
subplot(311),plot(test);
subplot(312),plot(out);
%axis([0 100 -1 1]);
[z s]=size(widmo);
f=(1:s);
f=fs*f./s;
subplot(313),plot(f,widmo);grid;
axis([0 4000 -60 10]);
hold on;
a=-3*ones(1,10000);
b=-50*ones(1,10000);
plot(a,'r');
hold on;
plot(b,'r');
|
|
Powrót do góry |
|
|
GREY
Dołączył: 07 Paź 2007
Posty: 634
Przeczytał: 0 tematów
Skąd: Żory/DS Ondraszek
|
Wysłany: Śro 23:21, 06 Sty 2010 Temat postu: |
|
|
Tutaj troche przejrzysciej rozpisane formulki dla Buttera:
Kod: | fp1 = 1e3/Fs*2;
fs1 = 1.5e3/Fs*2;
fs2 = 3e3/Fs*2;
fp2 = 3.5e3/Fs*2;
ap = 3;
az = 50;
% B FDP
%[N, Wn] = buttord(fp1, fs1, ap, az);
%[B, A] = butter(N, Wn, 'low');
% B FPP
%[N, Wn] = buttord([fs1 fs2], [fp1 fp2], ap, az);
%[B, A] = butter(N, Wn);
% B FGP
%[N, Wn] = buttord(fp2, fs2, ap, az);
%[B, A] = butter(N, Wn, 'high');
% B FPZ
%[N, Wn] = buttord([fp1 fp2], [fs1 fs2], ap, az);
%[B, A] = butter(N, Wn, 'stop'); |
Ostatnio zmieniony przez GREY dnia Śro 23:32, 06 Sty 2010, w całości zmieniany 4 razy
|
|
Powrót do góry |
|
|
rudolf
Dołączył: 14 Paź 2007
Posty: 190
Przeczytał: 0 tematów
Skąd: Katowice/Gliwice
|
Wysłany: Śro 23:40, 06 Sty 2010 Temat postu: |
|
|
Co to jest az i ap, a co to jest Rz i Rp? nie moze byc po prostu jedno lub drugie?
i jeszcze dlaczego przy normalizowaniu czestotliwosci wzgledem fs mnozymy wszystko przez 2?
|
|
Powrót do góry |
|
|
GREY
Dołączył: 07 Paź 2007
Posty: 634
Przeczytał: 0 tematów
Skąd: Żory/DS Ondraszek
|
Wysłany: Czw 0:31, 07 Sty 2010 Temat postu: |
|
|
az i Rz to to samo, ap i Rp tak samo. Po prostu sa to oznaczenia zaczerpniete z opisow funkcji. A mnozymy razy 2 gdyz wszystkie funkcje przyjmuja wspolczynniki znormalizowane wzgledem polowy Fs.
|
|
Powrót do góry |
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group deox v1.2 //
Theme created by Sopel &
Download
|