Hyluss icon

Pwe

Hyluss | PRO | 10/29/18 09:07:00 AM UTC | 0 ⭐ | 7929 👁️ | Never ⏰ | []
MatLab |

2.25 KB

|

None

|

0 👍

/

0 👎

dane = read('C:\Users\pwe.3\Desktop\sinus.txt',-1,2);
t = dane; t(:,2) = [];  // seria danych - czas t
y = dane; y(:,1) = [];  // seria danych - wartość przebiegu y
 
y2 = y^2;
 
FFTt = 1/t;
 
 
// SINUS
subplot(311)
plot2d("gnn",t,y,style=[color("blue")])  // wykres xy-liniowy, krzywa kolor niebieski
set(gca(),"grid",[1 1]*color('gray')) // włączenie siatki, kolor szary
title("sinus");
xlabel("t, s","fontsize", 4, "color", "black") // podpis osi X
ylabel("y","fontsize", 4, "color", "black") // podpis osi y
 
 
//liczenie
L = length(y);
avgy = sum(y)/L;
yc = y - avgy;
Ymod = 2*abs(fft(yc,-1)/L);
tpomiaru = t(L) - t(1);
tprob = tpomiaru/L;
fprob = 1/tprob;
 
df = fprob / (L/2)/2;
k = 0:L-1;
fk = df * k;
 
fend = 2000;
a = floor(fprob/(2*fend)+0.5);
 
ymax = max(Ymod(1:L/2));
 
block = 0;
for i = 1 : length(Ymod)
    if ymax == Ymod(i) && block == 0 then
        x = i - 1;
        block = 1;
    end 
end
 
freq0 = df * x;
 
period = 1 / freq0;
Lperiod = floor(period/tprob) + 1;
 
minPeriod = min(y(1:Lperiod));
maxPeriod = max(y(1:Lperiod));
ypp = maxPeriod - minPeriod;
 
yavg = sum(y(1:Lperiod))/Lperiod;
 
yrms = sqrt(1/Lperiod * sum(y2(1:Lperiod)));
yavgabs = 1/Lperiod * sum(abs(y(1:Lperiod)));
kpeak = ymax/yrms;
kshape = yrms/yavgabs;
 
 
/// display
 
disp(fend,"Fend =");
disp(freq0,"freq0 =");
disp(minPeriod,"ymin = ");
disp(maxPeriod, "ymax =");
disp(ypp, "ypp =");
disp(yavg, "yavg =");
disp(yrms, "yrms = ");
disp(yavgabs, "yavgabs =");
disp(kpeak, "kpeak =");
disp(kshape, "kshape");
 
 
//FFT log
subplot(312);
plot2d("gln",fk(1:L/2),Ymod(1:L/2),style=[color("black")])  // wykres xy-liniowy, krzywa kolor niebieski
set(gca(),"grid",[1 1]*color('gray')) // włączenie siatki, kolor szary
title("fft log");
xlabel("f, Hz","fontsize", 4, "color", "black") // podpis osi X
ylabel("y","fontsize", 4, "color", "black") // podpis osi y
 
// FFT lin
subplot(313);
plot2d("gnn",fk(1:L/2/a),Ymod(1:L/2/a),style=[color("black")])  // wykres xy-liniowy, krzywa kolor niebieski
set(gca(),"grid",[1 1]*color('gray')) // włączenie siatki, kolor szary
title("fft lin");
xlabel("f, Hz","fontsize", 4, "color", "black") // podpis osi X
ylabel("y","fontsize", 4, "color", "black") // podpis osi y

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎