matlab学习笔记(九)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

matlab学习笔记(九)


一、信号采样

信号的采样原理图如下图所示:
在这里插入图片描述
其数学模型表示为:
在这里插入图片描述其中的f(t)为原始信号,采样信号在时域的表示为无穷多冲激函数的线性组合,其权值为原始信号在对应采样时刻的定义值。
令原始信号f(t)的傅立叶变换为F(jw)=FT(f(t)),则采样信号 的傅立叶变换
在这里插入图片描述
由此可见,采样信号 的频谱就是将原始信号f(t)的频谱在频率轴上以采样角频率 为周期进行周期延拓后的结果。

二、信号重建

经采样后得到信号fs(t) 经理想低通h(t) 则可得到重建信号f(t) ,即:
在这里插入图片描述
案例一:

在这里插入图片描述

wm=1;                      %信号带宽
wc=wm;                     %滤波器截止频率
Ts=pi/wm;                   %采样间隔
ws=2*pi/Ts;                  %采样角频率  
n=-100:100;                  %时域采样电数
nTs=n*Ts                    %时域采样点
f=sinc(nTs/pi);
Dt=0.005;t=-15:Dt:15;
fa=f*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));  %信号重构
t1=-15:0.5:15;
f1=sinc(t1/pi);
subplot(211);
stem(t1,f1);
xlabel('kTs');
ylabel('f(kTs)');
title('sa(t)=sinc(t/pi)的临界采样信号');
subplot(212);
plot(t,fa)
xlabel('t');
ylabel('fa(t)');
title('由sa(t)=sinc(t/pi)的临界采样信号重构sa(t)');
grid;

运行结果:
在这里插入图片描述
案例二:
Sa(t)的过采样及信号重构和绝对误差分析;
程序和例上类似,将采样间隔改成Ts=0.7pi/wm , 滤波器截止频率该成wc=1.1wm ,添加一个误差函数

wm=1;
wc=1.1*wm; 
Ts=0.7*pi/wm;
ws=2*pi/Ts;
n=-100:100;
nTs=n*Ts
f=sinc(nTs/pi);
Dt=0.005;t=-15:Dt:15;
fa=f*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));
error=abs(fa-sinc(t/pi));   %重构信号与原信号误差
t1=-15:0.5:15;
f1=sinc(t1/pi);
subplot(311);
stem(t1,f1);
xlabel('kTs');
ylabel('f(kTs)');
title('sa(t)=sinc(t/pi)的采样信号');
subplot(312);
plot(t,fa)
xlabel('t');
ylabel('fa(t)');
title('由sa(t)=sinc(t/pi)的过采样信号重构sa(t)');
grid;
subplot(313);
plot(t,error);
xlabel('t');
ylabel('error(t)');
title('过采样信号与原信号的误差error(t)');

运行结果:
在这里插入图片描述
案例三:
将采样间隔改成Ts=1.5*pi/wm , 滤波器截止频率该成wc=wm=1

wm=1;
wc=1*wm; 
Ts=1.5*pi/wm;
ws=2*pi/Ts;
n=-100:100;
nTs=n*Ts
f=sinc(nTs/pi);
Dt=0.005;t=-15:Dt:15;
fa=f*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));
error=abs(fa-sinc(t/pi));   %重构信号与原信号误差
t1=-15:0.5:15;
f1=sinc(t1/pi);
subplot(311);
stem(t1,f1);
xlabel('kTs');
ylabel('f(kTs)');
title('sa(t)=sinc(t/pi)的采样信号');
subplot(312);
plot(t,fa)
xlabel('t');
ylabel('fa(t)');
title('由sa(t)=sinc(t/pi)的过采样信号重构sa(t)');
grid;
subplot(313);
plot(t,error);
xlabel('t');
ylabel('error(t)');
title('过采样信号与原信号的误差error(t)');

运行结果:

在这里插入图片描述
案例四:
f(t)=0.5*(1+cost)*(u(t+pi)-u(t-pi)) ,由于不是严格的频带有限信号,但其频谱大部分集中在[0,2]之间,带宽wm可根据一定的精度要求做一些近似。试根据以下两种情况用 MATLAB实现由f(t)的抽样信号fs(t)重建f(t) 并求两者误差,分析两种情况下的结果。

  1. wm=2 , wc=1.2wm , Ts=1;
  2. wm=2 , wc=2 wm, Ts=2.5
    A1:
wm=2;                      %信号带宽
wc=2.4;                     %滤波器截止频率
Ts=2/wm;                   %采样间隔
ws=2*pi/Ts;
n=-100:100;
nTs=n*Ts;
f=0.5*(1+cos(nTs)).*(stepfun(nTs,pi)-stepfun(nTs,-pi));
Dt=0.005;t=-5:Dt:5;
fa=f*Ts*wc/pi*(0.5*(1+cos(wc)).*(stepfun(wc,pi)-stepfun(wc,-pi)))*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))); 
error=abs(fa-0.5*(1+cos(t)).*(stepfun(t,pi)-stepfun(t,-pi)));   %重构信号与原信号误差
t1=-10:0.5:10;
f1=0.5*(1+cos(t1)).*(stepfun(t1,pi)-stepfun(t1,-pi));
subplot(311);
stem(t1,f1);
xlabel('kTs');
ylabel('f(kTs)');
title('f(t)的采样信号');
subplot(312);
plot(t,fa)
xlabel('t');
ylabel('fa(t)');
title('由f(t)的过采样信号重构fs(t)');
grid;
subplot(313);
plot(t,error);
xlabel('t');
ylabel('error(t)');
title('过采样信号与原信号的误差error(t)');

运行结果:
在这里插入图片描述
A2:

wm=2;                      %信号带宽
wc=2;                     %滤波器截止频率
Ts=2.5;                   %采样间隔
ws=2*pi/Ts;
n=-100:100;
nTs=n*Ts;
f=0.5*(1+cos(nTs)).*(stepfun(nTs,pi)-stepfun(nTs,-pi));
Dt=0.005;t=-5:Dt:5;
fa=f*Ts*wc/pi*(0.5*(1+cos(wc)).*(stepfun(wc,pi)-stepfun(wc,-pi)))*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))); 
error=abs(fa-0.5*(1+cos(t)).*(stepfun(t,pi)-stepfun(t,-pi)));   %重构信号与原信号误差
t1=-10:0.5:10;
f1=0.5*(1+cos(t1)).*(stepfun(t1,pi)-stepfun(t1,-pi));
subplot(311);
stem(t1,f1);
xlabel('kTs');
ylabel('f(kTs)');
title('f(t)的采样信号');
subplot(312);
plot(t,fa)
xlabel('t');
ylabel('fa(t)');
title('由f(t)的过采样信号重构fs(t)');
grid;
subplot(313);
plot(t,error);
xlabel('t');
ylabel('error(t)');
title('过采样信号与原信号的误差error(t)');

运行结果:
在这里插入图片描述

  • 9
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值