• 建议配合国宝老师的视频食用。
    信号与线性系统分析 吴大正 郭宝龙

文章目录

  • (1) 采样的说明
    • 1. 为什么要取样
    • 2. 什么是取样
  • (2) 采样定理
    • 1. 为什么要有奈奎斯特频率
    • 2. 什么是采样定理
  • (3) 信号的恢复
  • (4) Matlab的Sa函数取样仿真
    • 1. 采样信号Sa函数的说明
    • 2. 进行参数的说明及相关计算
    • 3. 结果的展示
    • 4. matlab 代码

(1) 采样的说明

1. 为什么要取样

  • 我们要使用计算机去处理信号。信号都是连续的,在任意一个非空区间内都有无限个值,但是计算机的内存是一个有限值,只能完成有限的数据存储和运算,所以要进行采样和量化等操作,把信号离散成有限个点就可以使用计算机处理了。当信号在计算机中处理完,按照一定的规则恢复成连续的状态就可以了。
  • 注意采样定理和后面 DFT(discrete Fourier transform) 之间的联系。

2. 什么是取样

  • 取样就是利用取样脉冲序列从连续信号中 抽取离散的样本值

    • 从时域上看 fs(t)=f(t)×s(t)f_s(t) = f(t) \times s(t)fs​(t)=f(t)×s(t)
    • 从频域上看 Fs(jω)=12πF(jω)∗S(jω)F_s(j\omega) = \displaystyle\frac{1}{2\pi}F(j\omega) * S(j\omega)Fs​(jω)=2π1​F(jω)∗S(jω)
  • 冲激取样(理想取样)的例子
    • 可以看到在时域上是通过乘积完成对应离散点的选取,在频域上完成的是信号频谱的周期延拓。

(2) 采样定理

1. 为什么要有奈奎斯特频率

  • 首先要明白一件事,使用采样点恢复出原来的信号需要的是进行一个低通滤波,把频域上的低频波形滤出来就可以了。
  • 从上面的图可以看出来,取样在频域中相当于进行了频谱的周期延拓,所以就会出现一个问题,平移距离不够会引起频域波形的重叠,当发生重叠之后就无法完成滤波了,即无法完成信号的恢复了。因此需要对平移的距离有一个限制,也就是采样定理中的奈奎斯特频率。

2. 什么是采样定理

  • 一个频谱在区间 (−ωm,ωm)(-\omega_m,\omega_m)(−ωm​,ωm​) 以外为 0 的带限信号 f(t)f(t)f(t),可唯一的由其在均匀间隔 Ts[Ts<2π/ωm]T_s [T_s < 2\pi/\omega_m]Ts​[Ts​<2π/ωm​] 上的样值点 f(nTs)f(nT_s)f(nTs​) 确定。

    • 注意必须是带限信号。像冲激函数这样的就无法取样,因为在频域上的无限意味着在时域信号的存在时间无限趋于 0。
    • 取样频率不能太低,必须 fs>2fmf_s > 2f_mfs​>2fm​ 。最低取样频率 fs=2fmf_s = 2f_mfs​=2fm​称为奈奎斯特频率

(3) 信号的恢复

  • 参量的说明

    • 低通滤波器的截止角频率:ωc\omega_cωc​,从图上明显可以看出需要有 ωm<ωc<ωs−ωm\omega_m<\omega_c<\omega_s-\omega_mωm​<ωc​<ωs​−ωm​,为方便取 ωc=0.5ωs\omega_c = 0.5\omega_sωc​=0.5ωs​。
    • 采样角频率: ωs\omega_sωs​,注意根据采样定理 ωs>2ωm\omega_s > 2\omega_mωs​>2ωm​。
    • 带限信号的最大角频率:ωm\omega_mωm​。
  • 信号恢复的过程是信号采样过程的逆过程。实际上在进行频域乘积滤波的过程中,时域进行了卷积的平移,平移到不同位置的函数叠加就恢复出原始信号。

(4) Matlab的Sa函数取样仿真

1. 采样信号Sa函数的说明

  • Matlab 中自带的函数是 sinc 函数,其形式是 sin(πt)πt\displaystyle\frac{sin(\pi t)}{\pi t}πtsin(πt)​,我们要在仿真中使用的是 Sa 函数,其形式是 sin(t)t\displaystyle\frac{sin(t)}{t}tsin(t)​,因此 sa = sinc(t/pi)
  • 代码:
    %% 打印出来sa函数
    t = -20:0.001:20;
    L = length(t);
    x = sinc(t / pi);
    plot(t,x,'LineWidth',3);
    xlabel('t');ylabel('Amplitude'); title('Sa(t)')
    
  • 结果:

2. 进行参数的说明及相关计算

  • 参数说明

    • sa(t)sa(t)sa(t) 的傅里叶变换结果是 πg2(ω)\pi g_2(\omega)πg2​(ω),就是一个门宽为 2 的门函数。因此可以知道 ωm=1\omega_m = 1ωm​=1。
    • 根据奈奎斯特采样定律,这里选取 ωs=2ωm\omega_s = 2\omega_mωs​=2ωm​,ωs=1.5ωm\omega_s=1.5\omega_mωs​=1.5ωm​,ωs=4ωm\omega_s=4\omega_mωs​=4ωm​。分别模拟临界采样,欠采样和过采样三种情况。相应的选取信号还原时低通滤波器的截止频率 ωc=0.5ωs\omega_c = 0.5\omega_sωc​=0.5ωs​。
  • 这里选取时域的正半轴取样点一共 N 个,下面使用 ∞\infin∞ 推公式,但是最后要用 NNN。
  • 信号取样
    • 冲激取样函数:δTs(t)=∑n=−∞∞δ(t−nTs)\delta_{T_s}(t)=\displaystyle\sum_{n=-\infin}^{\infin}\delta(t-nT_s)δTs​​(t)=n=−∞∑∞​δ(t−nTs​)。
    • 通过采样的定义可知 fs(t)=f(t)×sa(t)f_s(t) = f(t) \times sa(t)fs​(t)=f(t)×sa(t),在matlab中只需要 fs = sinc(t/pi)
  • 信号恢复
    • 采样后的信号在时域上的表达式为 fs(t)=f(t)∑n=−∞∞δ(t−nTs)=∑n=−∞∞δ(t−nTs)f(nTs)f_s(t)=f(t)\displaystyle\sum_{n=-\infin}^{\infin}\delta(t-nT_s)=\displaystyle\sum_{n=-\infin}^{\infin}\delta(t-nT_s)f(nT_s)fs​(t)=f(t)n=−∞∑∞​δ(t−nTs​)=n=−∞∑∞​δ(t−nTs​)f(nTs​)
    • 假设采样后的信号在频域上的表达式为 Fs(jω)F_s(j\omega)Fs​(jω),并选取低通滤波器
      H(ω)={Ts,∣ω∣≤ωc0,∣ω∣>ωcH(\omega)=\begin{cases} T_s ,&|\omega|\leq \omega_c\\ 0, & |\omega|> \omega_c \end{cases}H(ω)={Ts​,0,​∣ω∣≤ωc​∣ω∣>ωc​​
      可以算出 H(ω)H(\omega)H(ω) 在时域上的表达式 h(t)=Tsωcπsa(ωct)h(t)=T_s\displaystyle\frac{\omega_c}{\pi}sa(\omega_ct)h(t)=Ts​πωc​​sa(ωc​t)。之所以选取H(ω)H(\omega)H(ω)的放大倍数为 TsT_sTs​ 是因为此时 h(t)h(t)h(t) 的系数是 1(因为 ωc=0.5ωs\omega_c = 0.5\omega_sωc​=0.5ωs​)。
    • 根据前面的讨论,让取样后的信号通过低通滤波器相当于频域相乘即 F(jω)=Fs(jω)×H(ω)F(j\omega) = F_s(j\omega)\times H(\omega)F(jω)=Fs​(jω)×H(ω)。同时根据时域和频域的关系,f(t)=fs(t)∗h(t)f(t) = f_s(t) * h(t)f(t)=fs​(t)∗h(t)。带入前面的结果可以得到f(t)=Tsωcπ∑n=−∞∞f(nTs)sa(ωc(t−nTs))f(t)=T_s\displaystyle\frac{\omega_c}{\pi}\displaystyle\sum_{n=-\infin}^{\infin}f(nT_s)sa(\omega_c(t-nT_s))f(t)=Ts​πωc​​n=−∞∑∞​f(nTs​)sa(ωc​(t−nTs​))

3. 结果的展示

  • 临界取样
  • 过采样(实际上这里有一点不太明白,为什么过采样恢复后信号的误差会比临界采样的大??
  • 欠采样

4. matlab 代码

%% matlab 完成Sa信号的采样和恢复
%% 取样(临界取样)
% 取样
figure(1);
wm = 1; %信号的最大频率
ws = 2 * wm; %信号的采样频率(根据奈奎斯特频率)
wc = 0.5 * ws;%滤波器的截止频率
Ts = 2*pi/ws;%采样间隔
N = 10;%时域采样点数
n = -N:N;
nTs = n * Ts;%采样数据的采样时间
fs = sinc(nTs/pi);%完成采样
subplot(311);
stem(nTs/pi,fs,'LineWidth',3);
xlabel("nTs");
ylabel("f(nTs)");
title("sa(t)的临界取样信号");
% 还原
Dt = 0.005;
t = -15:Dt:15;
fa = Ts*wc/pi * fs * sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));
subplot(312);
plot(t,fa,'LineWidth',3);
xlabel("t");
ylabel("f(t)");
title("由临界取样信号重构sa(t)");
% 展示误差
error = abs(fa-sinc(t/pi));
subplot(313);
plot(t,error,'LineWidth',3);
xlabel("t");
ylabel("error(t)");
title("重构信号与原信号的误差error(t)");
%% 取样(过取样)
% 取样
figure(2);
wm = 1; %信号的最大频率
ws = 4 * wm; %信号的采样频率(根据奈奎斯特频率)
wc = 0.5 * ws;%滤波器的截止频率
Ts = 2*pi/ws;%采样间隔
N = 20;%时域采样点数
n = -N:N;
nTs = n * Ts;%采样数据的采样时间
fs = sinc(nTs/pi);%完成采样
subplot(311);
stem(nTs/pi,fs,'LineWidth',3);
xlabel("nTs");
ylabel("f(nTs)");
title("sa(t)的过取样信号");
% 还原
Dt = 0.005;
t = -15:Dt:15;
fa = fs*Ts*wc/pi * sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));
subplot(312);
plot(t,fa,'LineWidth',3);
xlabel("t");
ylabel("f(t)");
title("由过取样信号重构sa(t)");
% 展示误差
error = abs(fa-sinc(t/pi));
subplot(313);
plot(t,error,'LineWidth',3);
xlabel("t");
ylabel("error(t)");
title("重构信号与原信号的误差error(t)");
%% 取样(欠取样)
% 取样
figure(3);
wm = 1; %信号的最大频率
ws = 1.5 * wm; %信号的采样频率(根据奈奎斯特频率)
wc = 0.5 * ws;%滤波器的截止频率
Ts = 2*pi/ws;%采样间隔
N = 7;%时域采样点数
n = -N:N;
nTs = n * Ts;%采样数据的采样时间
fs = sinc(nTs/pi);%完成采样
subplot(311);
stem(nTs/pi,fs,'LineWidth',3);
xlabel("nTs");
ylabel("f(nTs)");
title("sa(t)的欠取样信号");
% 还原
Dt = 0.005;
t = -15:Dt:15;
fa = fs*Ts*wc/pi * sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));
subplot(312);
plot(t,fa,'LineWidth',3);
xlabel("t");
ylabel("f(t)");
title("由欠取样信号重构sa(t)");
% 展示误差
error = abs(fa-sinc(t/pi));
subplot(313);
plot(t,error,'LineWidth',3);
xlabel("t");
ylabel("error(t)");
title("重构信号与原信号的误差error(t)");

现在已经转移到知乎,之后的文章会在知乎更新。

深入理解采样定理 + Matlab 仿真 Sa 函数的采样与恢复相关推荐

  1. 低通采样定理 matlab,低通采样定理

    引入低通滤波器或提高低通滤波器的参数;该低通滤波器通常称为抗混叠滤波器 抗混叠滤波器可限制信号的带宽,使之满足采样定理的条件.从理论上来说,这是可行的, ...... 3.理想低通滤波器的响应 3.8 ...

  2. 低通采样定理 matlab,基于matlab的低通抽样定理仿真

    基于matlab的低通抽样定理仿真 DSP 课 程 设 计 专业: 电子信息技术工程 年级: 2011 级 不 姓名: 陈兰兰 学号: 20113015 指导教师: 刘 德 春 阿坝师专电子信息工程系 ...

  3. 低通采样定理 matlab,基于Matlab的低通抽样定理仿真.docx

    DSP课程设计专业: 电子信息技术工程 年级: 2011级 不姓名: 陈兰兰学号: 指导教师: 刘 德 春 阿坝师专电子信息工程系DSP课程设计专业: 电子信息技术工程 年级: 2011级 不姓名: ...

  4. 连续时间采样及采样定理——MATLAB

    一.实验目的 1.掌握连续时间信号离散化的方法(即采样),并能利用Matlab编程加以仿真实现; 2.掌握连续时间信号的傅立叶变换和离散时变换的仿真实现方法: 3.学会利用傅里叶变换和离散时间信号的傅 ...

  5. matlab仿真冲激响应函数,无限冲激响应数字滤波器的设计与MATLAB仿真

    <工业控制计算机>2011 年第 24 卷第 10 期 本文针对 IIR 数字滤波器的特点, 根据相应的设计指标运用 MATLAB 软件开展了对数字滤波器的研究并对设计的滤波器实现了仿真以 ...

  6. 低通采样定理 matlab,通信原理MATLAB验证低通抽样定理实验报告

    通信原理MATLAB验证低通抽样定理实验报告 p通信原理实验报告/pp一.实验名称/ppMATLAB验证低通采样定理/pp二.实验目的/pp1.掌握取样定理的工作原理./pp2.通过MATLAB编程实 ...

  7. matlab仿真plant函数,(整理)matlab预测控制工具箱函数.

    精品文档 精品文档 MATLAB 预测控制工具箱函数 1通用的传递函数转变为MPC 传递函数模型 (1) 2MPC 传递函数模型转换为MPC 阶跃响应模型 (1) 3基于阶跃响应模型的控制器设计和仿真 ...

  8. matlab表示sa函数,SA:T1编写主函数法和T2Matlab自带的SA工具箱GUI法,两种方法实现对二元函数优化求解——Jason niu...

    %SA:T1法利用Matlab编写主函数实现对定义域[-5,5]上的二元函数求最优解-Jason niu [x,y] = meshgrid(-5:0.1:5,-5:0.1:5); z = x.^2 + ...

  9. 香农采样定理和奈奎斯特采样定理

    香农(Shannon)采样定理和奈奎斯特(Nyquist)采样定理是数字信号处理中两个重要的定理,它们都与信号的采样和重构有关. 香农采样定理(Shannon Sampling Theorem): 香 ...

最新文章

  1. python中defaultdict()函数的介绍以及应用场景
  2. python数据结构算法 北京大学_北京大学公开课《数据结构与算法Python版》
  3. 解决了MovieClip缩略图问题
  4. 在Extjs中对日期的处理,以及在后端数据在SQL语句的判断处理
  5. 再不了解PostgreSQL,你就晚了之PostgreSQL主从流复制部署...
  6. 如何解决json中携带的反斜杠_【经验分享】python干货:5种反扒机制的解决方法...
  7. MD5算法的C++实现
  8. 如何更改java应用程序标题栏默认图标
  9. 主成分分析 PCA算法原理
  10. 软考论文写作方法及规范
  11. 我们的小太阳钟汉良,不老男神,希望你继续帅下去
  12. MySQL 优化 —— IS NULL 优化
  13. 三堆竹子两棵树一个门
  14. python基础练习题1(12题)
  15. linux 睡眠到硬盘,Linux 休眠原理与实现
  16. 电话交换机的作用,程控交换机的作用
  17. Direct3D 12工作原理概述
  18. 基于Android平台的图书管理系统的制作(1)
  19. c语言 青蛙上台阶问题
  20. LDPC码简介【定义、特点、算法、Tanner】

热门文章

  1. 计算机学生台式机推荐,开学啦 开学啦 热门学生电脑大推荐
  2. 更精准地生成字幕!哥大Facebook提出Vx2Text:多模态融合,性能更强!
  3. 五、SQL Server数据库创建与删除(使用SQL语句)
  4. 如何用ipad录屏,实现16:9视频录制格式?
  5. 【海洋女神原创】一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(一)---基本设置一...
  6. 一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(四) --高级设置二...
  7. Avrora学习笔记(官网)
  8. 15BGP非等价负载均衡
  9. python 适合做什么生意赚钱投资小_使用Python进行优化:如何以最小的风险赚取最多的收益?...
  10. 计算机一级大题知识点,全国计算机等级考试一级基本操作题考点