Muszę wygenerować sygnał trójkątny przy pomocy skryptu MATLAB. Podpowiedzią było, że można zrobić to na podstawie napisanego wcześniej skryptu generującego sygnał prostokątny. Niestety, o ile generację sygnału prostokątnego mam wykonaną poprawnie, to "coś jest nie tak" z generacją trójkąta, zbocze rośnie i nic poza tym. Poniżej podaję oba kody.
Sygnał prostokątny
Sygnał trójkątny
Generalnie analogia "prostokąt - trójkąt" (możliwe, że znana) działa tu na takiej zasadzie, że zbocze sygnału trójkątnego narasta do miejsca, gdzie analogiczny sygnał prostokątny spada z poziomu amplitudy do poziomu "zerowego". Zbocze trójkąta od tego miejsca ma spadać, aż do momentu, gdzie analogiczny sygnał prostokątny "kończy" poziom zerowy i wzrasta do amplitudy.
Mam nadzieję, że w miarę jasno opisałem problem. Nie znam jeszcze całej terminologi związanej z teorią sygnałów (ale myślę, że poznam za jakiś czas, bo przedmiot interesujący
).
Sygnał prostokątny
function [t,x]=rectangle(A,f,fp,T,phase,w) % 0<w<1 0<=phase<360
t=zeros(1,T*fp);
x=t;
k=1; i=0;
while k<(T*fp+(phase*fp/f/360))
for j=1 : w*fp/f
t(k)=i;
x(k)=A;
k=k+1;
i=i+1/fp;
end;
for j=1 : (1-w)*fp/f
t(k)=i;
x(k)=0;
k=k+1;
i=i+1/fp;
end;
end;
x=x(floor(phase*fp/f/360)+1 : length(x));
t-t(1 : length(x));
Sygnał trójkątny
function [t,x]=triangle(A,f,fp,T,phase,w)
t=zeros(1,T*fp);
x=t;
k=2; i=0;
while k<(T*fp+(phase*fp/f/360))
for j=1 : w*fp/f
t(k)=i;
x(k)=x(k-1)+(A*f/w/fp);
k=k+1;
i=i+1/fp;
end;
for j=1 : (w-1)*fp/f
t(k)=i;
x(k)=x(k-1)-(A*f/w/fp);
k=k-1;
i=i+1/fp;
end;
end;
x=x(floor(phase*fp/f/360)+1 : length(x));
t=t(1 : length(x));
Generalnie analogia "prostokąt - trójkąt" (możliwe, że znana) działa tu na takiej zasadzie, że zbocze sygnału trójkątnego narasta do miejsca, gdzie analogiczny sygnał prostokątny spada z poziomu amplitudy do poziomu "zerowego". Zbocze trójkąta od tego miejsca ma spadać, aż do momentu, gdzie analogiczny sygnał prostokątny "kończy" poziom zerowy i wzrasta do amplitudy.
Mam nadzieję, że w miarę jasno opisałem problem. Nie znam jeszcze całej terminologi związanej z teorią sygnałów (ale myślę, że poznam za jakiś czas, bo przedmiot interesujący