📄 m_g2xm.m
字号:
%由功率谱求时域样本,并与生成的时域样本所恢复的功率谱相比,验证是重合的
clear,clc;
Ts=10; %仿真时间
deta=0.0001; %仿真步长
N=Ts/deta; %仿真步数
n=linspace(0.5,50,N/2+1);%此句设定频率范围
k=0:N/2;
fik=unifrnd(0,2*pi,1,N); %产生0到2pi的均匀分布的随机序列
Pg=AAR6(n); %调用功率谱函数,在此可调用不同的功率谱
Xk=sqrt(Pg(1:N/2+1)).*exp(j*fik(1:N/2+1));
Xk(1)=sqrt(Pg(1)); Xk(N/2+1)=sqrt(Pg(N/2+1));
Xk=[Xk(1:N/2) conj(Xk(N/2-1:-1:2))];
Xm=ifft(Xk); %逆傅立叶变换后得到复数形式随机序列
x=linspace(0,277.8,length(Xm));
t=linspace(0,100,length(Xm));
%画图
subplot(211);
plot(t,real(Xm)); grid; %取实部
xlabel('时间/s');
ylabel('轨道不平度/mm');
subplot(212);
Pxr=abs(fft(real(Xm))).^2; %恢复序列的功率谱
Pxr=Pxr(1:N/2+1);
loglog(n,Pxr,'r','linewidth',3); %由时序列Xm恢复的功率谱
hold on;
loglog(n,Pg(k+1)); %原功率谱
hold off;
grid;
xlabel('空间频率n');
ylabel('功率谱密度Gx(n)');
T=t';
U=(real(Xm))';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -