⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pylbh.m

📁 内燃机转子仿真
💻 M
字号:
%实现频域滤波功能
clear all
clc
close all
load 'bneiranji';
load 'bneiranji1';
load 'bneiranji2';
load 'bneiranji3';
load 'bneiranji4';
step=h;
it=6;%2-9
ip=2;
g=9.8;
if ip==1
y1=aaii(it,:);
y2=aaii1(it,:);
y3=aaii2(it,:);
y4=aaii3(it,:);
y5=aaii4(it,:);
elseif ip==2
y1=xyz(it,:);
y2=xyz1(it,:);
y3=xyz2(it,:);
y4=xyz3(it,:);
y5=xyz4(it,:);
elseif ip==3;
y1=vv(it,:);
y2=vv1(it,:);
y3=vv2(it,:);
y4=vv3(it,:);
y5=vv4(it,:);
end


ng=length(y1);
nfft=2^nextpow2(ng);
%nfft=1024;
yy1=fft(y1,nfft);
yy2=fft(y2,nfft);
yy3=fft(y3,nfft);
yy4=fft(y4,nfft);
yy5=fft(y5,nfft);

cf=1/step;
t=(0:step:(ng-1)/cf);
fmin=300;
fmax=600;
n1=round(fmin*nfft/cf+1);
n2=round(fmax*nfft/cf+1);
aa=zeros(5,nfft);
aa(1,n1:n2)=yy1(n1:n2);
aa(1,nfft-n2+1:nfft-n1+1)=yy1(nfft-n2+1:nfft-n1+1);
aa(2,n1:n2)=yy2(n1:n2);
aa(2,nfft-n2+1:nfft-n1+1)=yy2(nfft-n2+1:nfft-n1+1);
aa(3,n1:n2)=yy3(n1:n2);
aa(3,nfft-n2+1:nfft-n1+1)=yy3(nfft-n2+1:nfft-n1+1);
aa(4,n1:n2)=yy4(n1:n2);
aa(4,nfft-n2+1:nfft-n1+1)=yy4(nfft-n2+1:nfft-n1+1);
aa(5,n1:n2)=yy5(n1:n2);
aa(5,nfft-n2+1:nfft-n1+1)=yy5(nfft-n2+1:nfft-n1+1);

iy1=ifft(aa(1,:),nfft);
iy2=ifft(aa(2,:),nfft);
iy3=ifft(aa(3,:),nfft);
iy4=ifft(aa(4,:),nfft);
iy5=ifft(aa(5,:),nfft);



iy1=(real(iy1))'/g;
iy2=(real(iy2))'/g;
iy3=(real(iy3))'/g;
iy4=(real(iy4))'/g;
iy5=(real(iy5))'/g;

save('hfneiranji','iy1','iy2','iy3','iy4','iy5');

figure(1);
subplot(6,1,1);
plot(t,iy1(1:ng));
subplot(6,1,2);
plot(t,iy1(1:ng));
subplot(6,1,3);
plot(t,iy2(1:ng));
subplot(6,1,4);
plot(t,iy3(1:ng));
subplot(6,1,5);
plot(t,iy4(1:ng));


subplot(6,1,6);
plot(t,iy5(1:ng));
xlabel('sx');
ylabel('sy');
grid on;

figure(2);
subplot(2,1,1);
plot(t,iy1(1:ng));
subplot(2,1,2);
plot(t,iy2(1:ng));

ff=(0:cf/nfft:cf/2-cf/nfft);
nn=1:length(ff);
nn1=length(ff);

gly1=fft(iy1,nfft);
pgly1=gly1.*conj(gly1)/nfft;
pgly11=pgly1(1:nn1,1);

gly2=fft(iy2,nfft);
pgly2=gly2.*conj(gly2)/nfft;
pgly21=pgly2(1:nn1,1);

gly3=fft(iy3,nfft);
pgly3=gly3.*conj(gly3)/nfft;
pgly31=pgly3(1:nn1,1);

gly4=fft(iy4,nfft);
pgly4=gly4.*conj(gly4)/nfft;
pgly41=pgly4(1:nn1,1);

gly5=fft(iy5,nfft);
pgly5=gly5.*conj(gly5)/nfft;
pgly51=pgly5(1:nn1,1);


subplot(2,1,1);
plot(ff(nn),pgly1(nn));
xlim([300,500]);
subplot(2,1,2);
plot(ff(nn),pgly2(nn));
xlim([300,500]);
xxx=ones(1,nn1);
figure(3);
plot3(xxx,ff(nn),pgly11,2*xxx,ff(nn),pgly21,3*xxx,ff(nn),pgly31,4*xxx,ff(nn),pgly41,...
    5*xxx,ff(nn),pgly51);
xlim([1,5]);
set(gca,'XTickLabel',{'e=0';'e=0.05';'e=0.1';'e=0.2';'e=0.35'});
ylim([300,600]);

if ip==1
    if it==2
        title('轴段2角加速度高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(g)');
    elseif it==3
        title('轴段3角加速度高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(g)');
    elseif it==4
        title('轴段4角加速度高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(g)');
    elseif it==5
        title('轴段5角加速度高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(g)'); 
    elseif it==6
       title('轴段6角加速度高频部分随裂纹深度变化');
         xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(g)');
    elseif it==7
        title('轴段7角加速度高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(g)');
    elseif it==8
        title('轴段8角加速度高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(g)'); 
    elseif it==9  
        title('轴段9角加速度高频部分随裂纹深度变化');
         xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(g)');
    end
elseif ip==2
        if it==2
            title('轴段2相对角位移高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(rad)');  
    elseif it==3
       title('轴段3相对角位移高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(rad)');  
    elseif it==4
       title('轴段4相对角位移高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(rad)');    
    elseif it==5
       title('轴段5相对角位移高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(rad)');  
    elseif it==6
        title('轴段6相对角位移高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(rad)');  
    elseif it==7
        title('轴段7相对角位移高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(rad)');  
    elseif it==8
        title('轴段8相对角位移高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(rad)');  
    elseif it==9 
        title('轴段9相对角位移高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(rad)');  
        end
elseif ip==3
        if it==2
            title('轴段2角速度高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(rad/s)');  
    elseif it==3
        title('轴段3角速度高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(rad/s)');  
    elseif it==4
        title('轴段4角速度高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(rad/s)');  
    elseif it==5
        title('轴段5角速度高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(rad/s)');  
    elseif it==6
       title('轴段6角速度高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(rad/s)');  
    elseif it==7
        title('轴段7角速度高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(rad/s)');  
    elseif it==8
       title('轴段8角速度高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(rad/s)');  
    elseif it==9  
       title('轴段9角速度高频部分随裂纹深度变化');
        xlabel('裂纹深度与轴直径比');
        ylabel('频率(Hz)');
        zlabel('幅值(rad/s)');   
        end
end
%set(gca,'YLimLabel',[300,600]);








⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -