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

📄 lvbo.m

📁 该程序可用matlab实现三种滤波:切比雪夫1,切比雪夫2和巴特沃斯滤波。可实现信号的滤波预处理。
💻 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 + -