Classification of Road Profiles on the basis of Degree of Roughness by using Displacement PSD Approach
AIM:
Using the PSD data given, determine the road quality using the ISO classification ISO 8608.These are your deliverables:
Download the PSD data from here: https://drive.google.com/file/d/0B2S2ZJKcURAmeDNFRlMtMm5MSTQ/view
1. Plot showing ISO classification for roads A through H (Use higher end of range for degree of roughness)
2. Plot showing the PSD profile
3. Overlay of PSD profile on ISO classification and determination of road quality
4. Error free Octave code
To plot the ISO 8608 Class Road Profile, we require three spatial frequency values
- Starting frequency i.e. 0.01 cycles/m
- Break point frequency i.e. ( 1 / ( 2pi ) ) cycles/m
- Terminating frequency i.e. 10.0 cycles/m
Line equation is implemented to plot the Road Lines as per their quality of Roughness
y=mx+c">y=mx+cy=mx+c
logy=-logmx+logc">logy=−logmx+logclogy=-logmx+logc
logy=-mlogx+logc">logy=−mlogx+logclogy=-mlogx+logc
logy=logx-m+logc">logy=logx−m+logclogy=logx-m+logc
logy=log(c⋅x-m)">logy=log(c⋅x-m)">logy=log(c⋅x−m)logy=log(c⋅x-m)
- Zx = Elevation as Height
- Ax = Amplitude of PSD Signal (sine wave)
- Omega = Spatial Frequency
- x = Length (Road Length) - Loop from 1 to length for instance/example
% Plotting the ISO Class Road Lines
% We need 3 frequency in x axis
% and corresponding PSD or Degree of Roughness at y axis
freq = [0.004
0.005
0.006
0.007
0.008
0.009
0.010
0.012
0.017
0.020
0.024
0.028
0.043
0.055
0.063
0.068
0.071
0.080
0.083
0.089
0.090
0.098
0.105
0.115
0.128
0.135
0.145
0.150
0.154
0.160
0.165
0.166
0.167
0.175
0.180
0.185
0.188
0.190
0.190
0.205
0.210
0.215
0.220
0.235
0.250
0.255
0.275
0.280
0.283
0.285
0.300
0.310
0.320
0.330
0.340
0.350
0.353
0.355
0.360
0.370
0.375
0.380
0.385
0.395
0.410
0.420
0.425
0.430
0.435
0.438
0.440
0.460
0.463
0.465
0.480
0.485
0.486
0.490
0.500
0.510
0.540
0.545
0.560
0.565
0.575
0.585
0.590
0.595
0.610
0.620
0.630
0.650
0.655
0.660
0.670
0.680
0.685
0.686
0.690
0.695
0.696
0.700
0.705
0.710
0.715
0.720
0.725
0.730
0.740
0.750
0.765
0.780
0.790
0.810
0.815
0.820
0.830
0.850
0.855
0.860
0.870
0.880
0.885
0.890
0.900];
amplitude = [0.006759586
0.013802191
0.012220044
0.012805345
0.010055096
0.008674203
0.009906454
0.013565614
0.038077859
0.039514035
0.039376401
0.029351388
0.011087978
0.007155759
0.004009582
0.005053475
0.005426501
0.002758627
0.003146703
0.004278752
0.003605323
0.001118033
0.004605136
0.001110531
0.001926103
0.000599825
0.000790703
0.00082178
0.001138063
0.000449034
0.000344602
0.000439721
0.000485891
0.000661237
0.000247849
0.000282707
0.000336575
0.000260436
0.000338
0.000334243
0.000339473
0.000258116
0.000296182
0.000286092
0.000377324
0.000235117
0.000158941
0.000351811
0.000475459
0.000269363
0.00013499
0.000410917
0.000243289
0.000183098
0.000224051
0.000614261
0.000355537
0.000239772
0.000288619
0.000268181
0.00037814
0.000279647
0.000210043
0.000159755
0.000224234
9.50236E-05
0.000197943
0.000138383
0.000143463
0.00012055
0.000161674
9.97741E-05
8.9633E-05
0.000122986
0.000172037
0.000102941
0.00012442
9.02789E-05
0.000143594
6.29552E-05
9.28956E-05
0.000144869
0.000181894
0.000119478
0.000128017
0.000154808
0.000109269
0.000107822
9.00107E-05
0.000123476
8.48896E-05
0.000116729
0.000156981
0.000189126
0.000140362
0.000287068
0.000162162
0.000229266
0.000138612
7.98678E-05
0.000149275
7.12492E-05
0.00022861
8.03851E-05
0.000140036
5.64396E-05
9.09341E-05
0.000118502
7.68087E-05
7.41522E-05
0.000101869
4.47478E-05
0.000103792
0.000164574
9.03105E-05
9.00065E-05
0.000148517
0.000169078
8.09882E-05
9.06266E-05
9.01182E-05
6.61969E-05
0.000101917
5.92651E-05
6.81185E-05
];
omega(1)=0.01
omega(2)=1/(2*pi)
omega(3)=10.0
s_a(2)=8e-06
s_b(2)=32e-06
s_c(2)=128e-06
s_d(2)=512e-06
s_e(2)=2048e-06
s_f(2)=8192e-06
s_g(2)=32768e-06
s_h(2)=131072e-06
s_a(1)=s_a(2)*((omega(1)/omega(2))^-2)
s_b(1)=s_b(2)*((omega(1)/omega(2))^-2)
s_c(1)=s_c(2)*((omega(1)/omega(2))^-2)
s_d(1)=s_d(2)*((omega(1)/omega(2))^-2)
s_e(1)=s_e(2)*((omega(1)/omega(2))^-2)
s_f(1)=s_f(2)*((omega(1)/omega(2))^-2)
s_g(1)=s_g(2)*((omega(1)/omega(2))^-2)
s_h(1)=s_h(2)*((omega(1)/omega(2))^-2)
s_a(3)=s_a(2)*((omega(3)/omega(2))^-1.5)
s_b(3)=s_b(2)*((omega(3)/omega(2))^-1.5)
s_c(3)=s_c(2)*((omega(3)/omega(2))^-1.5)
s_d(3)=s_d(2)*((omega(3)/omega(2))^-1.5)
s_e(3)=s_e(2)*((omega(3)/omega(2))^-1.5)
s_f(3)=s_f(2)*((omega(3)/omega(2))^-1.5)
s_g(3)=s_g(2)*((omega(3)/omega(2))^-1.5)
s_h(3)=s_h(2)*((omega(3)/omega(2))^-1.5)
subplot(2,1,1)
loglog(omega,s_a,'b')
hold on
loglog(omega,s_b,'g')
hold on
loglog(omega,s_c,'r')
hold on
loglog(omega,s_d,'c')
hold on
loglog(omega,s_e,'m')
hold on
loglog(omega,s_f,'yellow','linewidth',2)
hold on
loglog(omega,s_g,'k')
hold on
loglog(omega,s_h,'g','linewidth',2)
hold on
plot(freq,amplitude,'k','linewidth',2)
hold off
xlabel('Spatial Frequency (cycle/ft)','linewidth',20)
ylabel('Power Spectral Density PSD (in^2/cycles/ft)','linewidth',20)
legend('Class A','Class B','Class C','Class D','Class E','Class F','Class G','Class H')
title('Road Classification by ISO 8608 Standards','linewidth',20)
grid on
deflec(125)=freq(125)-freq(124);
for i=1:124
deflec(i)=freq(i+1)-freq(i);
end
for j=1:500
x(j)=j
TotalAMP(j)=0
for i=1:125
AMP(j)=sqrt(2*amplitude(i)*deflec(i))
TotalAMP(j)=TotalAMP(j)+(AMP(j)*sin(2*pi*x(j)*freq(i)))
end
end
subplot(2,1,2)
plot(x,TotalAMP,'b')
xlabel('Length in (ft)','linewidth',20)
ylabel('Elevation in Height (ft)','linewidth',20)
title('Road Elevation Profile deduced from PSD Data','linewidth',20)