本文将分享一些信号处理中常见却难懂的小知识点,并推荐一些好的小文章
FS、FT、DTFT、DFS、DFT
- $连续\Longleftrightarrow非周期$
- $离散\Longleftrightarrow周期$
- 时域的离散造成频域的延拓(周期性),因而频域的离散也会造成时域的延拓(周期性)
1.FS
时域连续周期、频域离散非周期
傅里叶级数的指数形式:
$$
f(t)=\sum_{n=\infty}^\infty C_ne^{jnw_1t}
$$$$
C_n=\frac{1}{T}\int_0^Tf(t)e^{-jnw_1t}dt
$$
2.FT
傅里叶变换的本质,即将一个信号拆分成不同频率的cos和sin分量的叠加。得到的是这些不同频率分量的幅值
时域连续非周期,频域连续非周期
傅里叶变换的公式:
$$
x(w)=\int_{-\infty}^{+\infty}x(t)e^{-jwt}dt
$$$$
逆变换:x(t)=\frac1{2\pi}\int_{-\infty}^{+\infty}x(w)e^{jwt}dw
$$
3.DTFT
一个N点离散时间序列的傅里叶变换(DTFT)的频谱是以($2\pi$)为周期进行延拓的连续函数
时域离散非周期,频域连续周期
离散时间傅里叶变换的公式:
$$
x(e^{jw})=\sum_{n=-\infty}^{+\infty}x(n)e^{-jwn}
$$$$
逆变换:x(n)=\frac1{2\pi}\int_{2\pi}x(e^{jw})e^{jwn}dw
$$
4.DFS
当离散的信号为周期序列时,严格的讲,离散时间傅里叶变换是不存在的,因为它不满足信号序列绝对级数和收敛(绝对可和)这一傅里叶变换的充要条件,但是采用DFS这一分析工具仍然可以对其进行傅里叶分析
时域离散周期,频域离散周期
离散傅里叶级数的公式:
$$
x(n)=\sum_{k=0}^{N-1}x(k)e^{j\frac{2\pi}{N}kn}
$$$$
x(k)=\frac1N\sum_{n=0}^{N-1}x(n)e^{-j\frac{2\pi}Nkn}\quad k=0\sim N-1
$$
5.DFT
DFT只是对一周期内的有限个离散频率的表示,所以它在频率上是离散的,就相当于DTFT变换成连续频谱后再对其采样
DFT只是为了计算机处理方便,在频率域对DTFT进行的采样并截取主值而已
一个N点离散时间信号可以用频域内一个N点序列来唯一确定,这就是DFT表达式所揭示的内容
DFT的本质是将离散的时域序列用有限个余弦波和正弦波合成。比如一个32点的时域序列,可以用17个余弦波和17个正弦波合成。17个余弦波的幅值就是频谱的实部,17个正弦波的幅值就是频谱的虚部
离散傅里叶变换的公式:
$$
x(k)=\sum_{n=0}^{N-1}x(n)e^{-j\frac{2\pi k}Nn} \quad k=0\sim N-1
$$$$
逆变换:x(n)=\frac1N\sum_{k=0}^{N-1}x(k)e^{j\frac{2\pi k}Nn}
$$
6.不同变换之间的示意图
7.Reference
FFT
1.频率分辨率
波形分辨率:由原始数据的时间长度决定
$$
\Delta R_w=\frac1T
$$FFT分辨率:由采样频率和参与FFT的数据点数决定
$$
\Delta R_{fft}=\frac{F_s}{N_{fft}}
$$
2.FFT中的补零操作
补零相当于提高了FFT分辨率,但并不能提高波形分辨率,若不补零,那么波形分辨率与FFT分辨率是相等的
进行zero padding只是增加了数据的长度,而不是原信号的长度。并不能增加频谱分辨率,只相当于频域插值,具体解释如下:
本来信号是一个周期的余弦信号,如果补了9个周期长度的0,那么信号并不是10个周期的余弦信号,而是一个周期的余弦加一串0,补的0并没有带来新的信息。zero padding等价于频域的sinc函数内插,而这个sinc函数的形状(主瓣宽度)是由补0前的信号长度决定的,补0的作用只是细化了这个sinc函数,并没有改变其主瓣宽度。而频率分辨率的含义是两个频率不同的信号在频率上可分,也就要求它们不能落到一个sinc函数的主瓣上。所以,如果待分析的两个信号频率接近,而时域长度又较短,那么在频域上它们就落在一个sinc主瓣内了,补再多的0也是无济于事的。
补零前:
补零后:
3.加窗与窗函数
信号截断分为周期截断和非周期截断。周期截断是指截断后的信号为周期信号,而非周期截断是指截断后的信号不再是周期信号,哪怕原始信号本身是周期信号,周期信号最明显的特征是信号的起始和结束时刻的幅值相等,哪怕是一个周期
周期截断:
非周期截断:
由于信号的非周期截断,导致频谱在整个频带内发生了拖尾现象。这是非常严重的误差,称为泄漏
窗函数只能减少泄漏,不能消除泄漏
窗函数的时域特征:加窗实质是用一个所谓的窗函数与原始的时域信号作乘积的过程(当然加窗也可以在频域进行,但时域更为普遍),使得相乘后的信号似乎更好地满足傅立叶变换的周期性要求。为了减少泄漏,用一个窗函数与原始周期信号相乘,得到加窗后的信号为周期信号,从而满足FFT变换的周期性要求
窗函数的典型频谱特征:
- 主瓣宽度主要影响信号能量分布和频率分辨能力。频率的实际分辨能力为有效噪声带宽乘以频率分辨率,因此,主瓣越宽,有效噪声带宽越宽,在频率分辨率相同的情况下,频率的分辨能力越差
- 旁瓣高低及其衰减率影响能量泄漏程度(频谱拖尾效应)。旁瓣越高,说明能量泄漏越严重,衰减越慢,频谱拖尾越严重
加窗函数的原则:
- 加窗函数时,应使窗函数频谱的主瓣宽度应尽量窄,以获得高的频率分辨能力;旁瓣衰减应尽量大,以减少频谱拖尾,但通常都不能同时满足这两个要求
- 如果截断的信号仍为周期信号,则不存在泄漏,无须加窗,相当于加矩形窗。
- 如果信号是随机信号或者未知信号,或者有多个频率分量,测试关注的是频率点而非能量大小,建议选择汉宁窗
- 对于校准目的,则要求幅值精确,平顶窗是个不错的选择。
- 如果同时要求幅值精度和频率精度,可选择凯塞窗。
- 如果检测两个频率相近、幅值不同的信号,建议用布莱克曼窗。
- 锤击法试验力信号加力窗,响应可加指数窗。
4.Reference
2D-FFT
二维傅里叶变换的意义在于:一个满足一定条件的二维信号可以表示为无数个x向正余弦函数与y向正余弦函数乘积(即二维正交基)的线性组合
二维正交基:
$$
cos(2\pi ux)cos(2\pi vy)\
cos(2\pi ux)sin(2\pi vy)\
sin(2\pi ux)cos(2\pi vy)\
sin(2\pi ux)sin(2\pi vy)
$$二维傅里叶变换具可分离性,即它可分离成两次一维傅里叶变换
1.计算流程
range-FFT:雷达处理接收天线接收回来的数据,对每一个接收回来的chirp做range-fft,然后range-fft处理后的数据按行存储到L3或DDR中,由于range-fft对应的频率与距离成正比,因此可以将x轴绘制为距离轴

doppler-FFT:在执行完range-fft之后,要在chirp index方向上做doppler-fft,做doppler-fft的时候,要将数据从L3或DDR内存中取出,然后再执行doppler-fft,由于dopper-fft对应离散角频率与速度成正比,因此可以将y轴绘制为速度轴。

通俗理解:range-FFT就是很正常的FFT求频率,而doppler-FFT可以理解为在频率确定的情况下,将相位(range-FFT结果中复数的角度)当成是变量,对其求FFT则可得到所求频率,这里的频率实际上就是想得到的相位角
对于雷达信号处理而言:速度维上所求的频率即为多普勒频率$f_d$,多普勒频率是由于速度$v$而导致的固定频率
$$
\because \Delta\Phi=\frac{4\pi vT_c}{\lambda}
$$而$\Delta\Phi$其实又可以理解为:$\Delta\Phi$是由$f_d$造成的,因为多了$f_d$,导致在一个chirp周期$T_c$内,波形会多走$2\pi f_d T_c$弧度,即:
$$
\Delta\Phi=2\pi f_dT_c
$$
综合上述两式可以得到:
$$
v=\frac{\lambda f_d}{2}
$$
而由速度维FFT计算得到的频率正是$f_d$,故知道$f_d$后则乘以系数$\frac{\lambda}{2}$即可得到对应速度,速度维FFT结果的频率间隔为:$\frac{1}{T_cN_{chirp}}$只有一个frame中的全部chirp做了range-fft之后才可以执行doppler-fft,因此系统中必须有足够的存储器来存储执行range-fft之后的数据
2.快时间与慢时间
3.Reference
- Xiaojie雷达之路—毫米波雷达基础知识—一些系统设计的话题_doppler fft_XXXXiaojie的博客-CSDN博客
- 雷达信号处理之3D-FFT原理(附带MATLAB仿真程序) - 知乎 (zhihu.com)
数字域频率
数字域频率为:
$$
w_0=\Omega_0T_s=\frac{\Omega_0}{f_s}=2\pi\frac{f_0}{f_s}=\frac{2\pi}{N}
$$$$
其中:\Omega_0为模拟角频率(rad/s),\quad w_0为数字角频率(rad)\
T_s为采样间隔(s),\quad f_s为采样频率(Hz),\quad f_0为模拟频率(Hz)\
N=T_0\times f_s,其中T_0为原始模拟信号的周期
$$推导过程:
- 连续时间正弦信号:$x_a(t)=cos(\Omega_0t+\phi)$
- 令$t=nT$,$T$为采样间隔
- 则$x_a(t)|_{t=nT}=cos(\Omega nT+\phi)=x_a(nT)$
- 将$x_a(nT)$简记为$x(n)$
- $\Omega_0 T$记为$w_0$
- 则离散时间正弦序列为:$x(n)=cos(w_0n+\phi)$
个人理解:数字域频率为在复频域上每个点转动的平均角度
深入理解复数
1.复数的基本概念
$$
c=a+jb=Me^{j\phi}=M(cos\phi+jsin\phi)
$$
将j看做是一个旋转因子:在复平面上任意数字乘以j,结果都是90度的逆时针旋转。乘以-j,就引起复平面上的90度顺时针旋转。
将这个复平面扩展成一个三维图像:$e^{j2πf_0t}$的实部和虚部就是正弦和余弦投影
欧拉等式:
$$
cos(2\pi f_0 t)=\frac{e^{j2\pi f_0t}+e^{-j2\pi f_0 t}}{2}=\frac{e^{j2\pi f_0t}}{2}+\frac{e^{-j2\pi f_0t}}{2}
$$$$
sin(2\pi f_0 t)=\frac{e^{j2\pi f_0t}-e^{-j2\pi f_0 t}}{2j}=\frac{je^{-j2\pi f_0t}}{2}-\frac{je^{j2\pi f_0t}}{2}
$$
2.复数的频域特性
在复平面与频率轴构成的三维图像中:$cos(2\pi f_0t)$与$sin(2\pi f_0t)$的频域特性
$e^{j2\pi f_0t}=cos{(2\pi f_0t)+jsin(2\pi f_0t)}$的频域特性:
可以将正余弦波理解为从两个正交的通道中输入,即水平通道(实数方向)为输入的cos波,垂直通道(虚数方向)为输入的sin波,分别对这两个通道进行傅里叶变换,当对一个水平通道上的数乘以j时,则表示将数值逆时针旋转90°到垂直通道上
一个时域信号乘以复指数$e^{j2πf_0t}$,该信号的频谱将被向上搬移$f_0$Hz,这个过程我们叫做正交混频(quadrature mixing)(也叫做复调制complex mixing)。同样,一个时域信号乘以$e^{-j2πf_0t}$,将把信号频谱向下搬移$f_0$Hz。
实数的信号总是有正的和负的频谱分量,任何一个实数的信号,其同相(cos)频谱的正和负的频率分量总是以零频点为中心对称,同相(sin)分量的正和负的频率分量互为镜像
复数带宽是实数带宽的一半,其只保留正频部分
3.Reference
数字信号中的上采样和下采样
1.插值
长度为N的序列,在每两个点之间插入L个0后,其频域(带宽)相当于压缩为原来的$\frac1L$,并产生$\frac{f_s}{L}$(或者说是$\frac{2\pi}{L}$,因为对于DTFT,其$2\pi$位置对应$f_s$的位置)的周期延拓
2.上采样
上采样我们又通常称之为过采样或信号插值,在频域上是对频谱进行了压缩
上采样流程是先通过采样模块(在原序列x(n)的两个点之间插入L-1个0),再通过低通滤波器,其中低通滤波器主要功能是抗周期延拓。
上采样的具体过程:
上采样后,可以得到长度为LN的信号序列
这里的低通滤波器主要是为了对$x_L(n)$中的0点进行插值
3.下采样
下采样我们又通常称之为欠采样或信号抽取,在频域上是对频谱进行了拓展,会产生频谱混叠现象
下采样流程是先通过低通滤波器,再通过采样模块(即在原序列x(n)中每隔M-1个点抽取一个点),其中低通滤波器主要功能是抗频谱混叠
下采样的具体流程:
下采样后,可以得到长度为$\frac NM$的信号序列
这里的低通滤波器主要是为了防止$\frac{f_s}{M}<B$时,采样引起信号在频域上的混叠
4.上采样与下采样混合
上采样、下采样配合滤波器可将原采样点数$N$变换为原来的$\frac LM$倍

5.Reference
- 数字信号中的上采样和下采样_信号上采样和下采样_ReCclay的博客-CSDN博客
- 通信系统各个基本步骤(编码-插值-上采样-上变频-下变频-低通滤波-下采样-匹配率波-译码) - 知乎 (zhihu.com)
脉冲压缩与去斜处理
1.脉冲压缩
2.去斜处理
3.脉冲压缩与去斜处理的区别
4.Reference
- 脉冲压缩与去斜处理的区别__Karen_的博客-CSDN博客
- 雷达信号处理技术——脉冲压缩 - 知乎 (zhihu.com)
- 雷达入门课系列文章(1)| 基于MATLAB的雷达信号处理实验教程 - 知乎 (zhihu.com)