0%

信号的分类

确定性信号 与 随机信号

按照函数值的确定性。

  • 确定性信号:在任意时刻都有确定的取值 (一般为人工设计)
  • 随机信号:每一刻取值都为随机

连续时间信号 与 离散时间信号

按照信号按照时间是否连续。

  • 连续时间函数 : 随时间联系
  • 离散时间函数 : 只有某些时间点有值

按照自变量和函数取值的情况,分为:

  • 模拟信号:信号的自变量和函数值的幅值连续
  • 离散时间信号:信号只能在规定的离散点取值,自变量的取值离散,而函数值是连续的
  • 数字信号:函数值和自变量的幅值均离散

模拟信号的数字处理方法就是将待处理的模拟信号经过采样、量化和编码形成数字信号。

能量信号 与 功率信号

根据能量的特性。

  • 连续功率信号 $P=\lim {T \rightarrow \infty} \frac{1}{T} \int{-\frac{T}{2}}^{-\frac{1}{2}}|f(t)|^{2} d t$
  • 连续能力信号 $E=\int_{-\infty}^{\infty}|f(t)|^{2} d t$
  • 离散功率信号 $P=\lim {n \rightarrow \infty} \frac{1}{2 N+1} \sum{n=-N}^{N}|x[n]|^{2}$
  • 离散能量信号 $E=\sum_{n=\infty}^{\infty}|x[n]|^{2}$

周期信号 与 非周期信号

确定信号按照函数值的重复性来区分。

$f(t)=f(t+\delta t)$

周期信号的复合可能是周期信号也可能是非周期信号。

参考

代码参考 https://www.github.com/shaoguangleo/signal_and_system

系统的分类

连续时间系统 与 离散时间系统

  • 连续时间系统:输入、输出、系统内部信号都是模拟信号
  • 离散时间系统:输入、输出信号都是序列的系统

按照输入输出信号的类型,分为:

  • 模拟系统
  • 离散时间系统
  • 数字系统

即时系统 与 动态系统

根据有没有储能元件来区分

  • 即时系统:无记忆系统,系统的输出只与当时时刻的输入有关,与其他时刻的输入无关,用代数方程描述
  • 动态系统:记忆系统,系统的输出不只与当前时刻的输入有关,用微分方程或者差分方程描述

线性系统 与 非线性系统

如果一个系统既满足叠加性也满足齐次性就称为线性系统,否则为非线性系统。

时变系统 与 时不变系统

如果一个系统当输入信号有一个时移时,输出相应也有一个对应的时移,信号的波形并不发生变化为时不变系统。
反之即为时变系统。

可逆系统 与 不可逆系统

如果一个系统对任何不同的输入都能产生不同的输出,即输入与输出是一一对应的关系,这称为可逆系统,
否则为不可逆系统。

因果系统 与 非因果系统

如果一个系统的任何时刻的输出只与当时这个时刻的输入以及以前的输入有关,而和该时刻以后的输入无关,称为因果系统,
否则为非因果系统。

稳定系统 与 非稳定系统

  • 稳定系统:BIBO(Bound Input Bound Output)及输入有界时,产生的输出也是有界的,反之为非稳定系统

参考

代码参考 https://www.github.com/shaoguangleo/signal_and_system

信号的表示方法

信号是带有信息(比如语言、音乐、图像、数据等等)的随着时间(和空间)变换的物理量或者物理现象,其图像称为信号的波形。

信号的时间特性即为信号随着信号变化快慢的特性,体现为信号的周期和信号中单个脉冲的持续时间及上升时间和下降时间的不同。

信号有四种方法的表现形式,如下所示:

  • 函数
  • 图形、波形
  • 变换域表示
  • 分配函数

举个例子如下,比如函数的形式为(包含三个频率,分别为200,300和400Hz):

$y = 2 \times sin(2\times\pi \times 200 \times x) + 3 \times sin(2\times\pi \times 300 \times x) + 4 \times sin(2\times\pi \times 400 \times x) $

而图形的形式如下,在我们从0到1进行100个采样点的时候,如下:

多进行一些采样设置,如下图:

可知在不同的采样率上,展示的图形也是不同的。
这里的主要原因为按照奈奎斯特采样定理,采样点数至少为400Hz的2倍,即800Hz,即在1s内采样800个点,我们再来绘制一幅图,采样更多的点数。

由图可知,在采样点数超过800后,采样的图形基本一致,所以低于800点的采样其实无法还原原始函数或者图形的。

频域表示

信号的频率特性可以由频谱来描述。

比如有一个信号如下:

$Y=A1+A2cos(2\piω2+φ2)+A3cos(2\piω3+φ3)+A4*cos(2\piω4+φ4)$

经过FFT之后,得到的“振幅图”中,

第一个峰值(频率位置)的模是A1的N倍,N为采样点,

第二个峰值(频率位置)的模是A2的N/2倍,N为采样点,

第三个峰值(频率位置)的模是A3的N/2倍,N为采样点,

第四个峰值(频率位置)的模是A4的N/2倍,N为采样点,

依次下去……

进行归一化处理,既然第一个峰值是A1的N倍,那么将每一个振幅值都除以N即可

FFT具有对称性,一般只需要用N的一半,前半部分即可。

其实fft都是离散的一些点,如果不使用连线,可以得到如下图像:

参考

代码参考 https://www.github.com/shaoguangleo/signal_and_system

信号的建模

系统是由互相关联的单元组合而成的具有某种功能以用来达到某些特定目的的有机整体。

系统的功能是对输入的信号进行“加工”以及“处理”并输出信号。

系统物理特性的数学抽象,以数学表达式或具有理想特性的符号组合图形来表示系统特性。

可以通过电路、数学方程和方框图来表达。

微分方程

差分方程

线性时不变系统的直接描述方法是用单位脉冲响应进行的;
而描述系统输入和输出之间的关系则利用差分方程Difference Equation实现。

求解差分方程的基本方法有以下3种。

  1. 经典解法:这种方法类似于模拟系统中求解微分方程的方法,它包括齐次解与特解,由边界条件求待定系数,但较麻烦,实际中很少采用。
  2. 递推解法:这种方法简单,且适合于用计算机求解,但只能得到数值解,对于阶次较高的线性常系数差分方程不容易得到封闭解。
  3. 变换域方法:这种方法是将差分方程变换到Z域进行求解,方法简单有效。

子系统互联

  • 串联或级联
  • 并联
  • 反馈连接
  • 复合或混合连接

参考

代码参考 https://www.github.com/shaoguangleo/signal_and_system

简介

定义

  • 信号:一个或多个自变量的函数,这些变量携带了某些信息,是传递信息的物质载体,表现形式
  • 系统:通常用来处理信号,由若干相互作用和相互依赖的事物组合而成的具有特定功能的整体
  • 相互作用:
    • 信号是促使系统发生变化,或者系统之间相互联系的作用量
    • 系统是对信号进行采集、传输处理、存储等操作功能,能够对于输入信号产生相应的输出

维度

  • 一维信号:正余弦波形
  • 二维信号:图像

连续特性

  • 连续时间函数 : 随时间联系
  • 离散时间函数 : 只有某些时间点有值

变化特性

  • 线性时不变系统 : LTI
  • 线性时变系统

系统

系统的定义框图

连接

  • 串行系统
  • 并行系统
  • 反馈系统

  • 时域:time domain
    • x(t)
    • x(n)
  • 频域:frequency domain
    • 傅里叶变换
    • 拉普拉斯变换
    • z变换

参考

  • 奥本海姆《信号与系统》
  • 郑君里 《信号与系统》
  • 王文渊 《信号与系统》
  • 清华大学自动化系卓晴“信号与系统”视频
  • 卢光跃《数字信号处理及应用》

代码参考 https://www.github.com/shaoguangleo/signal_and_system

C语言编程

C语言是一种很强悍和紧凑的语言,你写程序,让计算机执行即可。

创建C程序

创建C程序一共有4步:

  • 编辑;
    使用vi、emacs或者IDE,Linux下面新手首推gedit,高手首推Vim
  • 编译链接
    ​ gcc –o app myprogram.c
  • 执行./app