mat_filter.m

来自「关于匹配滤波的相关计算」· M 代码 · 共 55 行

M
55
字号
%this programme are chapter 2 (1)(2)(3)
clear;
%%%%%%%%%%%%%%%%%%%%%%%%1
t=1:0.01:100
T=50;
s1=rectpuls(t,T);
%%%%%%%%%%%%%%%%%%%%%%%%2
f0=0.5;
w0=2*pi*f0;
s2=s1.*sin(w0*t);
%%%%%%%%%%%%%%%%%%%%%%%%3
k=1;
s3=s1.*sin(w0*t+0.5*k*t.^2);
%%%%%%%%%%%%%%%%%%%%%%%%4
N=100;
tao=T/N;
s4=0;
for index=1:N
    rect=rectpuls(index*tao,T);
    c=round(rand)*2-1;
    s4=s4+c*rect.*sin(w0*t);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for s_num=1:4
figure(s_num)
switch s_num
    case 1
        signal=s1;
    case 2
        signal=s2;
    case 3
        signal=s3;
    case 4
        signal=s4;
end

%%%%%%%%%%%%%%%
subplot(311)
plot(signal)
%title("signal")
%%%%%%%%%%%%%%%
f1=fft(signal);
f2=fft(fliplr(signal));
sig_mat=ifft(f1.*f2);
subplot(312)
plot(sig_mat)
%title("matched filter")
%%%%%%%%%%%%%%%%%%%
so=conv(signal,sig_mat);
subplot(313)
plot(so)
%title("output signal")
end

⌨️ 快捷键说明

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