[simulink] kwantyzacja i obiekty liniowe

Nov 07, 2005 Last reply: 20 years ago 2 Replies

Witam.



Wyobrazmy sobie taki schemat w simulinku:



ramp --->quantizer---->gain ----> scope1 |



-----------> scope2



(model jest dostepny rowniez tu :

formatting link
)



Sygnal analogowy narastajacy liniowo (ramp), poddany kwantyzacji (quantizer), obserwowany na scope2 ma charakter dyskretny. Widac tam piekne strome zbocza - narastajace lub opadajace, w zaleznosci od znaku przyrostu bloku ramp. Dlaczego sygnal obserwowany na scope1 wyglada zupelnie inaczej? Na scope1 strome zbocza zamienily sie w dosc lagodne. Znowu pojawily sie wartosci posrednie, a cala kwantyzacje diabli wzieli.



Co nalezy przestawic, lub gdzie grzebnac, zeby nie tracic kwantyzacji? Wiem, ze mozna poprzestawiac bloki - quantizer dac przed gain, ale to nie to chodzi. Ta kwestia uniemozliwia mi zamodelowanie algorytmu, ktory wykonuje uklad mikroprocesorowy - proste calkowanie i wylicznie roznic. Uklad pracuje na liczbach calkowitych, a przez ten blad (byc przez moze moja niewiedze), w Simulinku nie potrafie otrzymac modelu, ktory po drodze nie produkowalby liczb innych niz calkowite (tu chodzi mi o te ³agodne zbocza). Czy za kazdym obiektem/blokiem liniowym stawiac ponownie kwantyzator? Bez sensu troche...



Moze ktos z Was pomoc mi?


pozdro!


Użytkownik insane napisał:

W zasadzie masz co chciałeś, wystarczy, że zamiast Scope'a uzyjesz workspace'a i zobaczysz wyniki symulacji w formie numerycznej. Różnica którą zauważasz wynika 'prawdopodobnie' z wewnętrznej obsługi sygnałów w simulinku. Ty byś chciał przebieg 0101 - zobaczyć jako prostokąt, a on Ci go maluje jako trójkąt. Simulink zapewne wie, że coś z quantizera ma być wyświetlane schodkowo, a coś z gaina interpolowane liniowo. W każdym razie zapis numeryczny jest za gainem tak samo poprawny jak przed - tylko wyświetlanie na scopie jest inne.

Opcja działająca: Użyj zamiast quantizer, Zero-Order Hold z zestawu 'discrete' , z odpowiednim czasem próbkowania.

A następnym razem wrzuć to w R12 (czyli zdaje sie Simulink 3.0)

U¿ytkownik "Pawe³ Hañczur" snipped-for-privacy@wp.pl napisa³ :

Juz mi sie rozjasnilo : Blok quantizer wykonuje dyskretyzecje sygnalu z poziomie, a ZOH - w pionie. Mi chodzilo o ta pionowa. Dzieki! :)

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required