Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 15. 12. 2013 18:45

uplifting
Zelenáč
Příspěvky: 1
Pozice: student
Reputace:   
 

Uprava programu v Matlabe

Dobrý večer,

potreboval by som upraviť program, na základe ktorého zistujem lineárnosť diskrétnej sústavy (čislicový filter) opísanej diferenčnou rovnicou. V Matlabe používam funkciu "filter".
Mám za úlohu upraviť program tak aby bolo možné, rovnakým spôsobom, testoval lineárnosť sústavy, ktorá ale bude opísaná rovnicou $y(n) = x(n) * x(n-1)$ , tzn. nebudem potrebovať numerator, denumerator, ani funkciu filter.

Moja otázka znie ako túto rovnicu zapísať do uvedeného programu (v Matlabe som začiatočník, takže sa ospravedlňujem za hlúpu otázku).
Ďakujem.

Code:

clf;
n = 0:40;
a = 2;b = 2; % Váhy
x1 = cos(2*pi*0.1*n);
x2 = cos(2*pi*0.4*n);
x = a*x1 + b*x2;
num = [2.2403 2.4908 2.2403];
den = [1 -0.4 0.75];
ic = [0 0]; % Nulové počiatočné podmienky
y1 = filter(num,den,x1,ic); % Vypočítaj výstup y1(n)
y2 = filter(num,den,x2,ic); % Vypočítaj výstup y2(n)
y = filter(num,den,x,ic); % Vypočítaj výstup y(n)
yt = a*y1 + b*y2;
d = y - yt; % Vypočítaj diferenčný výstup d(n)
% Vykresli výstupy a diferenčný signál 
subplot(3,1,1)
stem(n,y);
title('Výstupný signál: y(n) = 2 x_{1}(n) + 2 x_{2}(n) ');
subplot(3,1,2)
stem(n,yt);
title('Výstupný signál: y_{t}(n) = 2 y_{1}(n) + 2 y_{2}(n) ');
subplot(3,1,3)
stem(n,d);
xlabel('n'); 
title('Diferenčný signál');

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson