主程序:
%% 参数初始化 times=1; Np=63;%2^6-1,输入序列循环周期 N=252*times; a=1;%输入序列幅值 T0=1;%采样时间 delta_g=zeros(200,1); ratio_vy=zeros(200,1); %% 人机对话 sigma=input('请输入噪声标准差: '); r=input('请输入循环周期数(本程序中,输入2或3): '); % sigma=0.1; % for r=1:200 %% 生成输入序列 u=createM(Np,a,N); %% 生成噪声序列 v=createV(sigma,N); %% 生成理论值 y=transform(u,T0,N); z=y+v; %% 计算脉冲响应理论值 g0=calculateg0(T0,Np); %% 计算脉冲响应估计值 g1=calculate_z(Np,r,a,u,z,T0); %% 脉冲响应估计误差 g=g0-g1; temp=sqrt(sum(g.^2)/sum(g0.^2)); delta_g(r)=temp; %% 噪信比计算(方差是标准差的平方) d_v=var(v);%噪声方差 d_y=var(y);%过程输出方差