?? 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 + -