📄 lvbo.m
字号:
clc;
clear;
x=load('e:\1.txt');
figure(1);
plot(x); %绘制原始信号波性
title('原始转速');
ylabel('转速 /r/min ');
xlabel('点数 /个');
n=length(x);
%解释:filter(n, d, x) 用过滤器过滤向量x,过滤器系统函数为n(z)/d(z),包含一些输出延迟
% filtfilt(n, d, x) 除了不含输出延迟以外与filter相同
%切比雪夫1滤波:n为滤波阶数,Rp为波纹系数,Fp为截至频率,Fc采样频率,x为原始数据,y为滤波后数据
n1 = 8;
Rp = 0.001;
Fp=2000;
Fc=60000;
Wn = 2*Fp/Fc;
[b,a] = cheby1(n1,Rp,Wn);
%y=x
y1=filtfilt(b,a,x)
%end;
% y1=filtfilt(b,a,x);
%stem(y);
figure(2); %绘制切比雪夫1滤波后数据
plot(y1);
title('切比雪夫1滤波结果');
ylabel('转速 /r/min ');
xlabel('点数 /个');
end;
%切比雪夫2滤波:
%n2 = 6; Rs = 0.001;
%Fp=1000;
%Fc=60000;
%Wn = 2*Fp/Fc;
%[b,a] = cheby2(n2,Rs,Wn);
%y2=filtfilt(b,a,x);
%stem(y);
%figure(3); %绘制切比雪夫2滤波后数据
%plot(y2);
%title('切比雪夫2滤波结果');
%ylabel('转速 /r/min ');
%xlabel('点数 /个');
%巴特沃斯滤波
%n3 = 6;
%Fp=3000;
%Fc=60000;
%Wn = 2*Fp/Fc;
%[b,a] = butter(n3,Wn);
%y4=filtfilt(b,a,x);
%figure(4);
%plot(y4);
%title('巴特沃斯滤波结果');
%ylabel('转速 /r/min ');
%xlabel('点数 /个');
fid=fopen('e:\filtdata.txt','w'); %保存数据
%for i=1:1200
%共60个频率
fprintf(fid,'%f \n',y1); %频谱特性数据
%fprintf(fid,'%f\n',timeResult(i:i)); %时间特性数据
fclose(fid);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -