Zaloguj się
Blog na Matlablog
Forum polskich użytkowników
 
UŻYTKOWNICY GRUPY PROFIL Zaloguj się, by sprawdzić wiadomości FAQ
 



Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

Filtr górnoprzepustowy [Matlab]
Forum MATLAB Strona Główna-> Przetwarzanie sygnałów
Post Wysłany: 2 Kwietnia 2016, Sob 12:45 pm Temat postu: Filtr górnoprzepustowy [Matlab] Odpowiedz z cytatem
 
AUTOR:
wblake66



Dołączył: 02 Kwi 2016
Posty: 1


Ogląda profil użytkownika Wyślij prywatną wiadomość
Zaprojektuj cyfrowy filtr górnoprzepustowy metodą transformacji biliniowej, na podstawie znanej transmitancji H(s) filtru analogowego.

Sprawdź poprawność programu na podstawie przykładowych danych

(Częstotliwość próbkowania fp=1kHz).

H(s) = (0.707s2 + 5.659s+ 1479) / (s2 - 2507s+ 1.07·107)

Na razie zrobiłem coś takiego:

fs=input('Częstotliwość próbkowania [Hz] = '); %czestotliwosc probkowania // 2000 - ponad 2 x wiecej niz maxymalna f. z tw. shannona
fpass=input('Podaj fpass = (np.400)'); %// 200 przykladowe wartosci
fstop=input('Podaj fstop = (np.350)'); %// 300

Rp=input('Max nieliniowosc w pasmie przepustowym [dB] = (np.3)'); %nieliniowosc w pasie przepustowym 3dB // 3
Rs=input('Minimalne tlumienie w pasmie zaporowym [dB] = (np.60)'); %minimalne tlumienie w zaporowym // 60

fpass = 2*fs*tan(pi*fpass/fs)/(2*pi); %transformacja f do metody biliniowej
fstop = 2*fs*tan(pi*fstop/fs)/(2*pi); %transformacja f do metody biliniowej

ws=(2*pi*fstop); %wektor pulsacji
wp=(2*pi*fpass);


w = fpass/fstop; % transformacja częstotliwo?ci: s=w0/s', w0=2*pi*fpass


bz = [ 0.707 5.659 1479 ]
az = [ 1 -2507 114.49 ]


[n,Wn] = buttord(wp,ws,Rp,Rs,'s');n %obliczenie rzedu

[z,p,k] = butter(n,wp,'high','s'); %zaprojektowanie filtru analogowego (w dziedzinie s)

[zz,pz,kz] = bilinear(z,p,k,fs); %dyskretyzacja metoda biliniowa (nie jest bezpośrednio na bz i az zeby uniknac bledow zaokraglen)


h=tf(bz,az,1/fs);h %transmitancja w postaci jawnej


fvtool(bz,az); %wyswietlanie w fvtool


Ale to nie jest chyba dobrze zrobione

Proszę o pokazanie ewentualnych błędów.
Z góry dziękuje.


 

Forum MATLAB Strona Główna-> Przetwarzanie sygnałów
Wyświetl posty z ostatnich:   

Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

Wszystkie czasy w strefie CET (Europa)

Skocz do:  

Statystyki forum:



Od dnia 08.06.2006 forum odwiedzano 39977536
Najwięcej użytkowników 266 było obecnych 19 Lutego 2015, Czw 7:03 pm

Aktualnie online:




Najnowsze posty na forum:
18 stka brata...  (16 Grudnia 2017, Sob 11:00 pm)
w jakim wieku braliście ślub?  (16 Grudnia 2017, Sob 11:00 pm)
Ulubiony napĂłj  (16 Grudnia 2017, Sob 10:59 pm)
Dobry krem na zimę  (16 Grudnia 2017, Sob 10:58 pm)
Gdzie jechać na wakacje?  (16 Grudnia 2017, Sob 10:51 pm)
Prezent dla koleĹźanki  (16 Grudnia 2017, Sob 10:50 pm)
Co kupić cioci na 50stkę?  (16 Grudnia 2017, Sob 10:50 pm)
Once Upon a Time (Dawno, Dawno Temu) S07E10 online napisy PL  (15 Grudnia 2017, Pią 12:07 am)
Blindspot: Mapa zbrodni S03E07 online PL napisy 3x07 CDA  (15 Grudnia 2017, Pią 12:05 am)
Agenci T.A.R.C.Z.Y. S05E04 online PL napisy 5x04 CDA Zalukaj  (15 Grudnia 2017, Pią 12:03 am)
Twoje prawa:
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
Nie możesz załączać plików na tym forum
Nie możesz ściągać plików na tym forum