<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>http://brain.fuw.edu.pl/edu/index.php?action=history&amp;feed=atom&amp;title=Systemy_liniowe_niezmiennicze_w_czasie</id>
	<title>Systemy liniowe niezmiennicze w czasie - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="http://brain.fuw.edu.pl/edu/index.php?action=history&amp;feed=atom&amp;title=Systemy_liniowe_niezmiennicze_w_czasie"/>
	<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=Systemy_liniowe_niezmiennicze_w_czasie&amp;action=history"/>
	<updated>2026-04-29T20:06:52Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=Systemy_liniowe_niezmiennicze_w_czasie&amp;diff=1070&amp;oldid=prev</id>
		<title>Jarekz: Utworzono nową stronę &quot;==Systemy LTI== === System LTI w symulinku=== ==== Konstrukacja symulacji ==== Poznawanie systemów LTI rozpoczniemy do eksperymentów w Simulinku.   Simulink jest czę...&quot;</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=Systemy_liniowe_niezmiennicze_w_czasie&amp;diff=1070&amp;oldid=prev"/>
		<updated>2015-05-22T11:05:18Z</updated>

		<summary type="html">&lt;p&gt;Utworzono nową stronę &amp;quot;==Systemy LTI== === System LTI w symulinku=== ==== Konstrukacja symulacji ==== Poznawanie systemów LTI rozpoczniemy do eksperymentów w Simulinku.   Simulink jest czę...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Systemy LTI==&lt;br /&gt;
=== System LTI w symulinku===&lt;br /&gt;
==== Konstrukacja symulacji ====&lt;br /&gt;
Poznawanie systemów LTI rozpoczniemy do eksperymentów w Simulinku. &lt;br /&gt;
&lt;br /&gt;
Simulink jest częścią programu Matlab służącą do graficznego budowania modeli i symulacji. Program ten uruchamiamy wydając z konsoli polecenie &amp;lt;tt&amp;gt;matlab&amp;lt;/tt&amp;gt;. Następnie w konsoli Matlaba wpisujemy simulink. Nowy model tworzymy klikając File-&amp;gt;New-&amp;gt;Model. Korzystając z elementów dostępnych w bibliotece bloczków  (Library:simulink) proszę zbudować model przedstawiony na poniższym rysunku. &lt;br /&gt;
&lt;br /&gt;
[[plik:Model_LTI.png|434px]]&lt;br /&gt;
&lt;br /&gt;
Potrzebne elementy przeciągamy myszą z biblioteki na okno konstrukcyjne. Odpowiednie elementy znajdują się w:&lt;br /&gt;
* Pulse Generator -&amp;gt; Sources&lt;br /&gt;
* Gain -&amp;gt; Math Operations&lt;br /&gt;
* Discrete transfer Fnc -&amp;gt; Discrete&lt;br /&gt;
* Scope -&amp;gt; Sinks&lt;br /&gt;
Elementy łączymy przeciągając myszką od wyjścia bloczka do wejścia.&lt;br /&gt;
&lt;br /&gt;
Właściwości bloczków można edytować klikając na nich dwukrotnie.&lt;br /&gt;
Proszę ustawić własności Pulse Generator zgodnie z poniższym rysunkiem:&lt;br /&gt;
&lt;br /&gt;
[[plik:Ustawienia_Pulse_generator.png|691px]]&lt;br /&gt;
&lt;br /&gt;
Własności bloczka Discrete Transfer Fnc proszę ustawić jak na rys:&lt;br /&gt;
&lt;br /&gt;
[[plik:Ustawienia_transfer_fnc.png|482px]]&lt;br /&gt;
&lt;br /&gt;
Symulację uruchamiamy klikając Simulation-&amp;gt;Start. Otwieramy Scope klikając w niego dwukrotnie i oglądamy wejściowe impulsy i odpowiedzi impulsowe systemu.&lt;br /&gt;
&lt;br /&gt;
'''Uwaga:''' Proszę wydłużyć domyślny czas trwania symulacji na 200 jednostek. Można to zrobić w menu: Simulation-&amp;gt;Configuration Parameters: Stop Time&lt;br /&gt;
&lt;br /&gt;
==== Polecenia ====&lt;br /&gt;
# Co to jest odpowiedź impulsowa?&lt;br /&gt;
# Proszę zbadać, odpowiednio modyfikując podstawowy schemat (bloczki można łatwo powielać przeciągając je na schemacie prawym guzikiem myszy), czy system opisywany przez Transfer Fnc. jest: &lt;br /&gt;
#* '''Niezmienniczy w czasie''' (w bloczku generatora można zmieniać opóźnienie podania impulsu (Phase delay). Proszę zaobserwować, czy kolejne wersje odpowiedzi impulsowej różnią się od siebie? &lt;br /&gt;
#* '''Liniowy''' czyli:&lt;br /&gt;
#**czy przemnożenie impulsu wejściowego przez skalar (bloczek Gain) powoduje przemnożenie odpowiedzi układu przez ten sam skalar?  &amp;lt;math&amp;gt;L(A*s) = A*L(s)&amp;lt;/math&amp;gt;&lt;br /&gt;
#** czy jeśli dwa impulsy pojawią się na wejściu na tyle szybko, że reakcja na pierwszy z nich jeszcze nie wygaśnie to czy odpowiedź na drugi z nich po prostu dadaje się do wartości odpowiedzi na pierwszy?  &amp;lt;math&amp;gt;L(s_1 + s_2) = L(s_1) +L(s_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
# Proszę zbadać reakcje układu na różna funkcje. W tym celu proszę podmienić bloczek Pulse Generator na Signal Generator. Można przy jego pomocy wpuścić na wejście układu jeden z czterech typów funkcji:&lt;br /&gt;
#* sinus &lt;br /&gt;
#* prostokąt&lt;br /&gt;
#* trójkąt&lt;br /&gt;
#* szum&lt;br /&gt;
Czy któraś z tych funkcji jest funkcją własną systemu opisywanego przez nasz bloczek Transfer Fnc. ?&lt;br /&gt;
Uwaga: W bloczkach TransferFuntion i Gain należy zmienić Sample Time na wartość np. 0.01 (taką samą jak w FixedStep Size na poniższym rysunku)&lt;br /&gt;
Aby dogodnie obserwować powstające sygnały wejściowe i wyjściowe proszę przestawić parametry symulacji na zgodne z rysunkiem:&lt;br /&gt;
[[plik:Ustawienia_symulacji.png|913px]]&lt;br /&gt;
&lt;br /&gt;
==Splot==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Splot===&lt;br /&gt;
&lt;br /&gt;
Działanie systemu LTI to splot wejścia z funkcją odpowiedzi impulsowej. Możemy to działanie opisać następującym algorytmem:&lt;br /&gt;
# pobierz z wejścia próbke ''x[i]'' &lt;br /&gt;
# przemnóż funkcję odpowiedzi impulsowej przez ''x[i]''&lt;br /&gt;
# otrzymany wektor dodaj do aktualnego bufora wyjściowego. &lt;br /&gt;
# prześlij zerowy element otrzymanego wektora na wyjście.&lt;br /&gt;
# zaktualizuj bufor wartościam z otrzymanego wektora przesuniętymi w lewo o jeden, ostatni element bufora ustaw na 0&lt;br /&gt;
#  wykonuj operacje 1-5 dopóki na wejściu są próbki&lt;br /&gt;
# jeśli na wejściu nie ma więcej próbek przekaż na wyjście pozostałą zawartość bufora, oprócz ostatniego elementu  &lt;br /&gt;
&lt;br /&gt;
Ideę tą przedstawiono na poniższym rysunki:&lt;br /&gt;
 &lt;br /&gt;
[[Plik:LTI_rys.001.png|800px|Idea działania sytemu LTI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Wyjaśnienie |title=Proszę napisać i przetestować funkcję realizującą powyższą koncepcję.|text=&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import pylab as py&lt;br /&gt;
import numpy as np&lt;br /&gt;
&lt;br /&gt;
def splot(h,x):&lt;br /&gt;
	lx = len(x)&lt;br /&gt;
	lh = len(h)&lt;br /&gt;
	wyjscie=np.zeros((lx+lh-1))&lt;br /&gt;
	bufor = np.zeros(lh)&lt;br /&gt;
	for n in range(lx): &lt;br /&gt;
		reakcja_na_probke_n = x[n]*h&lt;br /&gt;
		bufor += reakcja_na_probke_n&lt;br /&gt;
		wyjscie[n] = bufor[0]&lt;br /&gt;
		bufor[0:-1] = bufor[1:]&lt;br /&gt;
		bufor[-1:]=0&lt;br /&gt;
	for n in range(lx,lx+lh-1):&lt;br /&gt;
		wyjscie[n] = bufor[n-lx]&lt;br /&gt;
	return wyjscie&lt;br /&gt;
    &lt;br /&gt;
x = np.array([1, 2, 3, 4, 5, 12, 4, 6, 7, 2, 3, 4])&lt;br /&gt;
h = np.array([0.5, 1, -2, -0.5])&lt;br /&gt;
y = splot(h,x)&lt;br /&gt;
print y &lt;br /&gt;
&amp;lt;/source&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Własności splotu===&lt;br /&gt;
Do obliczania splotu możemy stosować funkcję &amp;lt;tt&amp;gt;convolve&amp;lt;/tt&amp;gt; z modułu &amp;lt;tt&amp;gt;scipy.signal&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Proszę zaimportować moduł i zapoznać się z dokumentacją tej funkcji. &lt;br /&gt;
&lt;br /&gt;
Splot jest operacją liniową. Proszę zatem sprawdzić numerycznie(tzn. wytworzyć kilkuelementowe wektory &amp;lt;tt&amp;gt;x, y, z&amp;lt;/tt&amp;gt; i wykonać odpowiednie obliczenia), że ma on następujące własności:&lt;br /&gt;
&lt;br /&gt;
* przemienność&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;x(n)*y(n)=y(n)*x(n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* łączność&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;[x(n)*y(n)]*z(n)=x(n)*[y(n)*z(n)]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* rozdzielność względem dodawania&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;x(n)*[y(n)+w(n)]=x(n)*y(n)+x(n)*w(n)&amp;lt;/math&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jarekz</name></author>
		
	</entry>
</feed>