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

📄 fractalfilter.txt

📁 基于模糊自动控制的分形滤波算法。通过计算分形维数选定滤波器实现自适应滤波去噪。
💻 TXT
字号:
% Fractal filter based on fuzzy automatic control
% 基于模糊自动控制的分形滤波
% designed by Cai Rongrong,school of Mechancial and Engineering,Wuhan University
function FractalFilter1(t,y,k)
N=length(y);
M=floor(N/128);
sample_time=0.3
% caculate the fractal parameter
% 短时分形维数的计算
for k=1:M
    d_delta(k)=0;
    for i=(128*(k-1)+2):128*k
        d_delta(k)=d_delta(k)+abs(y(i)-y(i-1));
    end
    d_2delta(k)=0;
    for i=64*(k-1)+1:64*k
        d_2delta(k)=d_2delta(k)+(max([y(2*i-1) y(2*i) y(2*i+1)])-min([y(2*i-1) y(2*i) y(2*i+1)]));
    end
end
for k=1:M
    N_delta(k)=d_delta(k)/sample_time;
    N_2delta(k)=d_2delta(k)/2/sample_time;
    dd(k)=(log(N_delta(k))-log(N_2delta(k)))/log(2);   %If dd is more trend to 1, the noise is more small. 
    % alpha(k)=(2-dd(k))^2
    % alpha(k)=dd(k)*(2-dd(k))
    % alpha(k)=2-2^(dd(k)-1)
    % alpha(k)=(2-dd(k))
    alpha(k)=0.1;
end
% filter
% 滤波
y0=y(1);
y_filter=zeros(N,1);
for k=1:M
    for i=(128*(k-1)+1):128*k
        y_filter(i)=alpha(k)*y(i)+(1-alpha(k))*y0;
        y0=y_filter(i);
    end
end
figure(k)
plot(t,y,'b',t,y_filter,'g-',t)
figure(k+1)
subplot(211)
plot(t,y,'b')
subplot(212)
plot(t,y_filter,'g-')

⌨️ 快捷键说明

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