logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Wykreślenie charakterystyki filtru w matlabie

Sw.Mikolaj 19 Mar 2009 19:40 2925 3
REKLAMA
  • #1 6304424
    Sw.Mikolaj
    Poziom 15  
    Witam. Moja wiedza na temat matlaba jest słaba, jednak potrzebuje wykreślić w nim charakterystykę filtru. To co posiadam to równanie różnicowe ( lub równoznaczne w domenie Z). Aby wykreślić charakterystyki filtru należy za " Z " podstawić "e^jw" ( "e" do potęgi j*omega). I tyle w teorii. Wychodzi skomplikowane równanie które przy dowolnej zmianie trzeba na nowo wyznaczać. Czy matlab oferuje możliwość automatycznego wykreślenia charakterystyki częstotliwościowej filtru kiedy posiadam transmitancję w dziedzinie Z? Tak bym podał jedynie współczynniki oraz częstotliwość próbkowania a matlab automatycznie wszystko policzył ?
  • REKLAMA
  • #2 6306205
    arturt134
    Poziom 27  
    Tak. Wpisz w helpie 'freqz'.
  • REKLAMA
  • #3 6316804
    Sw.Mikolaj
    Poziom 15  
    Witam. Próbuję właśnie przetestować polecenie które poleciłeś. Stworzyłem sobie plik "m" z taką treścią:
    b = fir1(80,0.5,kaiser(81,8));
    Hq = qfilt('fir',{b});
    f=[1:1:10000];
    fs=20000;
    h = freqz(Hq,f,fs);
    plot(f,20 * log10(abs(h)),'-');

    Matlab mi mówi, że " ??? Error using ==> filter
    Not enough input arguments.". Ale kiedy po prostu przekopiuje te polecenia po kolei do command window i uruchamiam je jedno po drugim to w efekcie wykreśla mi charakterystykę filtru. Może ktoś powiedzieć dlaczego plik "m" się nie uruchamia ?

    No i druga rzecz. Z tego co wyczytałem w helpie "Hq" jest to transfer function filtru zapisana w domenie Z czyli "Hq(Z)". Ale kiedy próbuje zdefiniować własny filtr, na przykład postaci "Hq=2+(2/(z-1))" to matlab mi mówi " ??? Undefined function or variable 'z' ". Jak w takim razie zdefiniować własną wartość transfer function Hq aby następnie wykreślić jej charakterystykę funkcją freqz ?


    Tam zamiast tej buźki u góry ma być ósemka. Widzę, że to automatycznie się podmienia.
  • #4 6319755
    arturt134
    Poziom 27  
    Weź książkę do MATLAB-a. Albo help. Dobrym sposobem jest też użycie przykładu (mozna znaleźć coś w googlach) i przerobienie na swój sposób. Nie mogę dać ci gotowej odpowiedzi, bo sam jej nie znam.
REKLAMA