matlab匹配滤波器的仿真

@toc

任务

在信号与系统的信号矢量空间一章提到了匹配滤波器的应用,尝试用matlab将典型例题做仿真。

例题

例6-7在测距系统中,发送信号s(t),以匹配滤波器接收回波信号,利用滤波器输出信号峰值出现的时间折算目标距离。如果有两种可供选择的s(t)信号,分别如图6- 22(a)的s|(t)和(b)的s2(t)。求:
(1)分别画出s|(t)和s2(t)自相关函数波形R11(t)和R22(t)。
(2)为改善测距精度,你认为应选用s1(t)或s2(t)两种脉冲的哪一种信号?
信号与系统题目

matlab代码

clear all
%fake inferior
finf=100;
%取样时间-0.1s到0.1s
%t=-0.1:1/fs:0.1;
T=2;
syms t tau;
%定义输入函数
s1(t)=heaviside(t)-heaviside(t-2);
s2(t)=heaviside(t)-2*heaviside(t-1)+heaviside(t-2);
%绘制
subplot(421)
fplot(s1)
title('first signal')
%xlim([-1,3])
ylim([-1,2])
grid on

subplot(422)
fplot(s2)
title('second signal')
%xlim([-1,3])
ylim([-2,2])
grid on


%定义相关函数
R1(tau)=int(s1(t)*s1(t-tau),t,-finf,finf);
R2(tau)=int(s2(t)*s2(t-tau),t,-finf,finf);
%绘制
subplot(423)
fplot(R1)
title('信号s1的自相关函数R1')
ylabel('R1(\tau)')
xlabel('\tau')
ylim([-2,3])
subplot(424)
fplot(R2)
title('信号s2的自相关函数R2')
ylabel('R2(\tau)')
xlabel('\tau')
ylim([-2,3])

%定义相关函数
R12(tau)=int(s1(t)*s2(t-tau),t,-finf,finf);
R21(tau)=int(s2(t)*s1(t-tau),t,-finf,finf);
%绘制
subplot(425)
fplot(R12)
title('信号s1与信号s2的互相关函数R12')
ylabel('R1(\tau)')
xlabel('\tau')
ylim([-2,3])
subplot(426)
fplot(R21)
title('信号s2与信号s1的互相关函数R2')
ylabel('R2(\tau)')
xlabel('\tau')
ylim([-2,3])

%对于匹配滤波器的输出为时移T后的结果
subplot(427)
fplot(R1(tau-T))
title('信号s1对应匹配滤波器的输出结果')
ylabel('R1(\tau-T)')
xlabel('\tau')
subplot(428)
fplot(R2(tau-T))
title('信号s2对应匹配滤波器的输出结果')
ylabel('R2(\tau-T)')
xlabel('\tau')


%保存图片
filename=strcat('matchedFilter.png');
saveas(gca,filename,'png')

结果图

在这里插入图片描述

  • 3
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值