• 大小: 4KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: Matlab
  • 标签: MATLAB  

资源简介

运用MATLAB三角级数法生成模拟的时域路面,并与国家标准的八级路面在频域里进行验证。

资源截图

代码片段和文件信息


function standard_gai

% 三角级数法求路面时域模型
clear all;clc;
%  输入仿真参数 
in=file_name; 
[roadtypeuaflfudftltudt]=file_parameters(in);
%  确定仿真需要的其它主要参数 
[ftunfreqnt]=freq_parameters(flfudftltudtua); 
%  8等级路面
Gqf=roadpsd_f(roadtypefu); 
%  生成随机数列
theta=suiji(nfreq); 
%  路面时域模型
qt=shiyu(dfGqfthetafnfreqtnt); 


% 将三角级数法所得路面功率谱密度与标准路面进行对比
figure
Fs=200;
NFFT=500;
ww=hamming(NFFT);
%三角级数法所得路面的功率谱密度
[Gfff]=pwelch(qtww[]NFFTFs);
loglog(ffGf‘k:‘fGqf‘k-‘)
xlabel(‘时间频率 f/Hz‘); 
ylabel(‘路面功率谱密度Gq(f)‘); 
legend(‘模拟值‘‘理论值‘)
legend boxoff
box off

% 路面均方根值的对比
% 理论值的均方根值
i=1:nfreq; 
dGqf(i)=Gqf(i).*df;
rms1=sum(dGqf); 
evp1=sqrt(rms1);
% 模拟值的均方根值
j=1:round(NFFT/2);
dff=2*max(ff)/NFFT;
dGf(j)=Gf(j).*dff;
rms2=sum(dGf); 
evp2=sqrt(rms2);


function in=file_name 

% 功能:获得原始数据文件的名称并建立相应的通道号 
% 输出参数: 
% in  输入文件通道号 

clear 
infile=input( ‘请输入原始数据文件的名称(包括后缀): ‘‘s‘); 
in=fopen(infile‘r‘); 
if in<0 
    disp(‘原始数据文件不存在,无法打开‘); 
end 


function [roadtypeuaflfudftltudt]=file_parameters(unit) 
% 功能:从文件输入所需参数 
% 输入参数: 
% unit     输入文件通道号 
% 输出参数: 
% roadtype 路面类型 
% ua       车速km/h 
% fl       时间频率的下限Hz 
% fu       时间频率的上限Hz 
% df       时间频率的增量Hz 
% tl       时间的下限s 
% tu       时间的上限s
% dt       时间的增量s 
% 在此注意:dt<=1/(2*fu)  nt>=2*fu*T
roadtype=fscanf(unit‘%s‘1); 
ua=fscanf(unit‘%f‘1); 
fl=fscanf(unit‘%f‘1); 
fu=fscanf(unit‘%f‘1); 
df=fscanf(unit‘%f‘1); 
tl=fscanf(unit‘%f‘1); 
tu=fscanf(unit‘%f‘1); 
dt=fscanf(unit‘%f‘1); 


function [ftunfreqnt]=freq_parameters(flfudftltudtua) 

%  

评论

共有 条评论