信号与系统概念本质理解

一、模拟频率、模拟角频率、数字频率

1. 模拟频率$f$

包括在模拟电路、高频电路以及传感器课程上,都是以$f$作为频率响应函数的横坐标。使用f的好处是其真实反映了实际系统的工作情况,从$0$到$\infty$,反映了实际模拟信号振荡速度的快慢。

2. 模拟角频率$\Omega$

$\Omega=2πf$,写成$\cos(\Omega t)$来描述模拟余弦函数。此时$\Omega$的取值也是从$0$到$\infty$,这体现出模拟(角)频率没有周期性的特点。

3. 数字角频率$\omega$

$\omega$完全颠覆了我们过往对于频率的认识,首先要明确的是数字信号的获得是通过对模拟信号采样的方式。

它的引入可从$\cos(\Omega t)$开始:$\cos(\Omega t)$中相位变化一周期($2π$)所需时间为$T$,则模拟角频率定义成$\Omega = \dfrac{2π}{T}=2πf$。对于该余弦信号,采样后变成了一个离散数字序列,此时再谈过了多少时间走完一个周期已经没有意义,而是过了间隔$N$相位刚好变化一个周期。故数字角频率推导出为$\omega = \dfrac{2\pi}{N}$,余弦信号则为$cos(\omega n)$。既然$N$是由对应一段时间$T$采样而来,那么$N = T*f_s = \dfrac{T}{t_s}$($f_s$为采样率,$t_s$为对应的采样间隔),自然而然,$\omega = \dfrac{\Omega}{f_s} = \dfrac{\Omega}{t_s} = \dfrac{2πf}{f_s}$。

简单来说,数字角频率$\omega$是模拟角频率$\Omega$对于采样率$f_s$的归一化,这是数字角频率$\omega$的核心要义。

注意:$Ω$和$ω$具体哪个表示模拟角频率和数字角频率看具体的书籍,理解这个意思就行。

4. 一些涉及本质的问题

1-如何理解数字信号处理中傅里叶变换的周期为$2π$ ?

分析信号的频谱特性时,经常要对信号进行傅里叶变换,但傅里叶变换是以$2π$为周期,而时域里的信号角频率的范围是很宽的,为什么傅里叶变换中的$0 \sim 2π$就可以代表信号整个频率范围呢?

1、模拟信号的频率:模拟频率越大,信号变化越快。拿构成模拟信号的频率分量来说,比如$\cos(\Omega t)$。

2、数字信号是对模拟信号[等间隔]抽样得到的,即$\cos(\Omega t_s n)=\cos(\omega n)$,$ω=Ω t_s$[称为数字频率],由于离散[数字]信号的自变量n是整数,因此数字频率$\omega$与$ω+2πM$是同一个数字频率,即:

因此对离散信号作傅里叶变换,实际上是将离散信号[量化后就是数字信号]分解为$e^{jωn}$的线性组合,其频谱就具有周期性,频率为$\omega$的频谱等于频率为$\omega+2πM$的频谱。

3、再来看$\cos(\omega n)$是构成实数离散信号的基本信号,它最大的频率是多少呢?周期最小$N=1$,故变化最快的是$ω=π$;变化最慢的是直流$ω=0$。故$ω=0$频率最小,$w=π$最高频率,对应模拟信号频率为:

即为采样频率的一半。对实数离散信号来说,$0 \sim 2π$的频谱图是以$\omega=\pi$对称的。

4、由时域采样定理,采样频率$f_s$最小为被采模拟信号最高频率的2倍;故可认为被采模拟信号最高频率为$\dfrac{f_s}{2}$,这个频率对应数字频率的$π$。

5、实际中即使模拟信号的最高频率是无穷大,但是可以通过滤波,滤去无用的高频分量,再对他抽样以避免频谱混叠。

e.g. $f_s=1 \mathrm{Hz}$,$\Omega$分别等于$\dfrac{π}{8}$和$\dfrac{17\pi}{8}$,得到如下两幅图。可以看出虽然模拟角频率$\Omega$增加了$2π$,但由于采样点数和采样值都相同,所以实际的离散信号是一回事。

正是因为数字信号对于$\omega$具有周期性,DSP才增加了额外的很多考虑:

1)DTFT、DFT是将数字信号从时间域$n$转为频域$\omega$,因此我们只转为$\omega$在$[-π,π]$区间内复指数信号的叠加(也可以考虑$[0,2π]$,不过由于$ω=0$和$2π$是低频信号,$ω=π$是高频信号,考虑$[-π,π]$更接近模拟信号的频谱分布)。

2)我们根据$\omega=\dfrac{Ω}{f_s}$可知,从模拟角频率到数字角频率不只会落在$[-π,π]$,若转为数字频谱后其频带占用超过了$[-π,π]$,则由于具有周期性,相互之间会产生混叠。我们要把频谱$\omega$限定在$[-π,π]$,则由奈奎斯特采样定理可以知道,$f_s$必须≥信号最高频率的2倍才不会发生信号混叠,因此$f_s$能采样到的信号最高频率为$\dfrac{fs}{2}$。

3)在运用频域采样法设计IIR时,我们基于的AD/DA转换就是上述的$ω=\dfrac{\Omega}{f_s}$(双线性变化法则不是)。上述说到模拟角频率$\Omega$是没有周期性可言的,但是由于采样率的限制(离散化),导致说数字角频率$\omega$具有周期性。从映射角度理解,数字角频率$[-π,π]$在模拟角频率上的映射是一对多的。采样间隔$T=\dfrac{1}{f_s}$,在给定$T$时,数字角频率$\omega$受到的影响来源于以$\dfrac{2π}{T}$为单位的模拟角频率$Ω = \dfrac{ω}{T}$)。为了使数字频域不发生混叠,我们需要将模拟角频率$\Omega$框在$[-\dfrac{π}{T}, \dfrac{π}{T}]$,这在设计高通/带阻数字滤波器时是复杂的,如下图展示的用频域采样法设计高通FIR时所需要增加的裁剪步骤。

2-如何理解数字频率的归一化?

频率的归一化与幅度的归一化有不同的出发点,主要是在数字信号处理中,针对采样频率进行归一化,归一化后就可以在数字角频率$0 \sim 2\pi$下进行分析和讨论,这样做的原因有两点:一是类似于最大值的归一化(此时的$2\pi$对应采样率),二是采样后的频谱是以$2\pi$为周期的。

数字角频率是模拟角频率对采样频率的归一化,很好理解,本来模拟信号一秒钟变化5弧度,抽样率为$5 \mathrm{Hz}$,采样后信号变成每抽样点变化1弧度,这里“归一”成“抽样点”了或者说“基准”变成“抽样点”了。

参考链接

参考链接1.1:数字角频率ω与模拟角频率Ω的理解 - 知乎

参考链接1.2:模拟角频率和数字角频率的关系 - CSDN

参考链接1.3:如果理解数字信号处理中傅里叶变换的周期为2pi?- 360文档

参考链接1.4:所有的傅里叶变换之后的频域信号周期都是2π吗? - 尔尔的回答 - 知乎


二、傅里叶级数-傅里叶变换推导

1. 傅里叶级数

(1) 傅里叶级数的普通形式

设信号的周期为$T_1$,对应的$\omega_1 = \dfrac{2\pi}{T_1}$

周期函数可以分解为三角函数系的组合:

但是我们见到课本上一般是下面这种形式:

将$n = 0$单独分出来化简就可以得到下面的形式,我们就以课本常见的格式求解系数:$a_0, a_n, b_n$

(2) 傅里叶级数的复数形式

利用欧拉公式:$e^{j\theta} = \cos\theta + j\sin\theta$ 可以将其转换为复指数形式:

其系数为:

其中:$\omega_0 = \dfrac{2\pi}{T}$

2. 傅里叶变换

对于非周期信号,我们可以将其视为一种特殊的周期函数,只不过该周期函数的周期$T \rightarrow \infty$,据此,我们做以下变换,将傅里叶级数转变为傅里叶变换:

其中,$F(\omega)$就是$f(t)$的傅里叶变换:

参考链接

参考链接2.1:纯干货数学推导_傅里叶级数与傅里叶变换 - Bilibili

参考链接2.2:傅里叶变换系列学习(1)——从线性变换说起 - 技术派到了中年的文章 - 知乎


三、拉普拉斯变换、Z变换

1. 拉普拉斯变换LT

不是所有的信号都能从时域经过傅里叶变换到频域。必须是满足狄利赫里条件的信号才能进行傅里叶变换。

  • 狄利赫里条件

    函数在任意有限区间内连续,或只有有限个第一类间断点;

    在一个周期内,函数有有限个极大值或极小值;

    函数绝对可积,即$\int_0^\infty |f(t)|< \infty$;

为了将绝对不可积函数可以进行傅里叶变换,我们引入一个衰减因子$e^{-\sigma t}$,将傅里叶变换推广到拉普拉斯变换:

2. Z变换ZT

离散数字信号域的ZT相当于连续时间信号的FT,其也是为了处理不满足绝对可和的数字信号(e.g. $ f(k) = k^2$),因此我们给它乘以一个衰减因子$e^{-\sigma n}$(另一种理解方法,让离散复指数乘以一个放大因子,不断变大,就能跟上信号的变化,从而降服信号)

和拉普拉斯变换一样,z变换也有收敛域的概念。 拉普拉斯$s = \sigma +j \omega$ 对应的是直角坐标是一个平面。 Z变换$z = e^{\sigma + j\omega}$对应的是一个极坐标系是一个圆。

参考链接

参考链接3.1:傅里叶变换、拉普拉斯变换、Z 变换的联系是什么?为什么要进行这些变换? - 知乎

参考链接3.2:离散时间信号处理学习笔记 - 8. z逆变换 - 博客园 - TaigaComplex


四 、DFS、DTFT、DFT、FFT

根据前面的学习,对一些信号采样然后进行DTFT之后,得到的信号在频域上还是连续的(也就是对于我们归一化之后的角频率ω还是连续的,是以2π为周期的,以π为对称中心),这样对于计算机来说还是没有办法处理的,所以再在频域内对其采样,采样之后的得到的就是DFT。
DFS是对于时域是离散的周期信号来说的,DFS与DFT的区别就是相对于我们之前时域连续信号中的傅里叶级数与傅里叶变换。

变换方法 时域 频域
$\rm{FS}$ 连续周期信号 离散非周期频谱
$\rm{FT}$ 连续非周期信号 连续非周期频谱
$\rm{DFS}$ 离散周期信号 离散周期频谱
$\rm{DTFT}$ 离散非周期信号 连续周期频谱
$\rm{DFT}$ 离散非周期信号 离散非周期频谱
$\rm{FFT}$ 离散非周期信号 离散非周期频谱

1. 离散时间傅里叶变换DTFT

严格来说,DTFT处理的是离散时间序列信号,这种信号在时间上是离散的,但是信号的幅度是可以任意值,也就是说没有量化,还不是数字信号。非严格的场合,可以认为它是离散信号,并且是非周期信号。

2. 离散傅里叶级数DFS

一个周期为$N$的周期序列,即$x(n)=x(n+kN)$,$k$为任意整数,$N$为周期
周期序列不能进行Z变换,因为其在负无穷到正无穷都周而复始永不衰减,即Z平面上没有收敛域。但是正像连续时间周期信号可用傅氏级数表示,周期序列也可用离散的傅里叶级数来表示,也即用周期为$N$的正弦序列及其谐波来表示。

在连续域,我们的基是$\displaystyle{e^{jk\omega_0 t}}$是周期,其中$k$是整数,一直变化对应到不同的基,$\omega_0 = \dfrac{2\pi}{T}$是周期,t是连续的时间变量。这是我们第一次处理离散信号,离散信号的周期变成了$N$,连续的时间信号$t$换成离散的序列$n$,这样我们的基就变成了$ e^{j\frac{2\pi}{N}kn}$

离散域通常用大写字母序列表示正变换结果,小写字母序列表示原信号。

由上知, DFS是DTFT在单位圆上的N等分,其傅里叶级数不仅是离散的,而且还是周期性的(以N为周期)

3. 离散傅里叶变换DFT

DFT才是我们耳熟能详的变换,DFT处理的是非周期离散信号,这样的信号计算机比较容易处理,我们再看看DTFT,正变换产生了连续信号,这个不利于计算机处理。为了方便计算机处理,必须让正变换的结果也是离散值,这一点DFS正满足。DFS应对的是周期离散信号,正变换后的序列也是周期离散的。前面我们提到,对于非周期信号,数学家总是先假设其周期为T,然后取极限,让T趋向于无穷大,这样得到了非周期信号的变换结果。细心的你,可能已经发现,非周期信号的变换结果,都是连续的,连续信号对于CPU来说,不是一个好东西。

所以,数学家在这次处理非周期信号的时候,采用了不同的方法。这次的方法是对非周期信号做周期延拓,这样不就变成DFS了吗,还要DFT做什么呢。别急,DFS变换后是周期离散信号,但是DFT只取DFS变换后的一个周期。DFT在处理的时候投机取巧,方便了计算机处理,所以我们通常听得比较多的就是DFT

另外,DFT也可以从DTFT抽样过来,DTFT作为连续信号,均匀采样$N$个点,就变成DFT了。

[6]可以发现,DFT与离散傅里叶级数(DFS)仅有一点点区别,那就是DFT在逆变换时,即在合成源信号时,会乘上1/N,而DFS相反,除开这一点并无区别,所以这就表示是,DFT实际上是,以信号的N点为周期的信号的DFS,那么DFT和DTFT是什么关系呢?从上述角度上来讲,只能说当DFT所取点数趋于无穷时,那么DFT就可以趋近于DTFT,这也是傅里叶变换的来源,那么书上不是有DFT是DTFT的采样的结论么?该结论是怎样来的?有条件么?

在$\omega$轴上$[0 ,2\pi]$范围内,对DTFT的变换结果$X(e^{j\omega})$以$N$个等间隔频率$\omega_k = \dfrac{2\pi k}{N},(0 \leq k \leq N-1)$均匀抽样,可得:

个人认为,这也解答了为何DFS与DFT有个系数上的差异,这就是为了在DTFT与DFT的满足采样特点的吻合。

在许多书上,离散时间傅里叶变换都是由是连续信号采样得到的离散信号而得到,这样来介绍,由于有采样频率等的影响,这样会对连续、离散信号产生一定的混淆,个人认为,离散傅里叶变换时离散时间信号的频域特性,并不一定非得和采样、连续信号等产生关系,离散信号可以是由连续信号采样,归一化产生,也可以是其本身就是离散的,如年月日,像素坐标等,如果离散信号是由连续信号采样得到的,那么,当用给定的采样频率,对连续信号采样,归一化后,那么就产生了一个新的离散信号,至于其傅里叶变换和原来的傅里叶变换有何关系,这就是另外一个话题了。

傅里叶变换的核心思想便是能让任意一个信号都可以由一种基本信号来合成,这个基本信号对于连续时间信号便是:$\exp(j\omega t)$,离散时间信号便是:$\exp(j\omega n)$。

对于DTFT的定义式,可以发现其积分是由$[-\pi, \pi]$,而对于FT的定义式积分是从$(-\infty, \infty)$,其根本原因就是——基本信号存在差异,对于$\exp(j\omega t)$,由于$t$可以取任意值因此其不存在周期,当$\omega$取任意值,$\exp(j\omega t)$都会变为一个独一无二的信号,故FT需要从$(-\infty, \infty)$,让每一个$\exp(j\omega t)$都能成为被合成信号的成分(当然这还得取决于前面系数,即傅里叶系数),而对于DTFT而言,由于其基本信号$\exp(j\omega n)$中$n$只能取正整数故周期为$2\pi$,故当要合成新信号时,只需要取任何一个$2\pi$区段就可获得合成信号的所有成分,故上式取$[-\pi, \pi]$即可,当然,这样也很容易得出$F(\exp(jw))$也是周期的。[6]

参考链接:

参考链接4.1:数字信号处理(DTFT与DFT、DFS的详细讲解以及FFT算法)- CSDN

参考链接4.2:傅里叶变换系列学习(3)——FS,FT,DTFT,DFS,DFT,FFT - 技术派到了中年的文章 - 知乎

参考链接4.3:一幅图弄清DFT与DTFT,DFS的关系 - 博客园

参考链接4.4:五种傅里叶变换的分析(FT、FS、DTFT、DFT、DFS)

参考链接4.5:关于对傅里叶变换的一些理解 - 51博客

参考链接4.6:数字信号处理系列串讲第6篇(离散信号的频域分析之三)——离散傅里叶变换DFT(1)- 360文档


五、采样频率、频率分辨率

1. 采样定理

  • 时域采样定理的一种表述方式是:当时间信号函数$f(t)$的最高频率分量为$f_M$时,$f(t)$的值可由一系列采样间隔$t_s \leq \dfrac{1}{2×f_M}$的采样值来确定,即采样点的重复频率$f ≥ 2×f_M$。时域采样定理是采样误差理论、随机变量采样理论和多变量采样理论的基础。
  • 频域采样定理:对于时间上受限制的连续信号$f(t)$ (即当$│t│>t_m $时,$f(t)=0$,这里信号的持续时间是$(-t_m,t_m)$,若其频谱为$F(ω)$,则可在频域上用一系列离散的采样值来表示,只要这些采样点的频率间隔$\omega \leq \dfrac{\pi}{t_m}$

2. FFT频率分辨率

[1]这里涉及到两种意义下的分辨率问题,一种叫“波形频率分辨率(Waveform frequency resolution)”,另一种则叫做“FFT分辨率”。虽然,这个分类和命名不一定是很专业的术语,但却有助于对“频率分辨率”概念的理解。在没有补零的情况下,这两个概念通常容易被混淆,因为它们是等价的。

波形频率分辨率是指可以被分辨的2个频率的最小间隔(Spacing);而FFT 分辨率则是频谱中的数据点数(The number of points in the spectrum),它是与做FFT的点数直接相关的。

(1) 波形分辨率/物理分辨率

其中,$T$是实际信号的时间长度。

(2) FFT分辨率

其中,$f_s$为采样频率(the sampling frequency),$N_{\rm{FFT}}$为FFT的点数。$\Delta R_f $代表了FFT频率轴上的频率取值的间隔(Spacing)。

值得注意的是,可能有很好的FFT分辨率,但却不一定能够很好的把2个频率成分简单的分开。同样,可能有很高的波形分辨率,但波形的能量峰值会通过整个频谱而分散开(这是因为FFT的频率泄漏现象)。

我们知道,信号的离散傅里叶变换(DFT)或快速傅里叶变换(FFT)是对波形的任何一边补零形成的无限序列进行计算的。这就是,为什么FFT的每个频率单元(bin)都具有明显的$\mathrm{sinc}$波的形状。

波形频率分辨率$1/T$与一个$\mathrm{sinc}$函数空值间隔(the space between nulls)是一样的。[1]

(3) 区别辨析

[2]用MATLAB做FFT并不要求数据点个数必须为以2为基数的整数次方。之所以很多资料上说控制数据点数为以2为基数的整数次方,是因为这样就能采用以2为基的FFT算法,提升运算性能。

如果数据点数不是以2为基数的整数次方,处理方法有两种,一种是在原始数据开头或末尾补零,即将数据补到以2为基数的整数次方,这是“补零”的一个用处;第二种是采用以任意数为基数的FFT算法。

而MATLAB的$\rm{fft}(x, N)$函数参数$N$正好就是数据$x$的长度,但又不是以2为基数的整数次方时,并不会采用补零的方法,而是采用以任意数为基数的FFT算法,这样也能得到很好的结果,只不过速度要稍稍慢了一些,但一般的计算量是体现不出来的。

比如,现在我有一个信号,这个信号中仅包含两个正(余)弦波,一个是$1MHz$,一个是$1.05MHz$,即:

设采样频率为$f_s = 100\mathrm{MHz}$,如果采1000个点,那么对应的时域信号时长为$\rm T = 10\mu s$。

直接对这1000个数据点其做快速傅里叶变换,将得到频谱图:

可以发现,频谱点稀疏,在1MHz附近根本无法将$1 \mathrm{MHz}$和$1.05 \mathrm{MHz}$的两个频率分开。 发现频率成分无法被区分开来,第一反应应该就是:频率分辨率不够。那么如何提高频率分辨率呢?这里就涉及两种分辨率的区别了。之所以要区分,是因为后面要进行“补零”操作。如果不补零,直接对原始数据做FFT,那么这两种分辨率是相等的。

那么,如果现在在原始数据点后补零会有什么效果呢?假设在这 1000个原始数据点后面再补充零达到7000个点,那么数据变成了:

此时对其做快速傅里叶变换,结果如下:

可以发现,频谱点密集了不少,但是在$1MHz$ 附近依然无法将$1MHz$ 和$1.05MHz$ 的两个频率成分分开。这是因为从波形分辨率公式可以看出,波形分辨率只与原始数据的时长 $\rm T$ 有关,而与参与FFT的数据点数无关。所以,虽然补了很多零,但波形分辨率依然为:$\Delta R_w = \dfrac{1}{10 \mu s} = 100kHz$,该分辨率大于$1MHz$ 和$1.05MHz$ 这两个频率成分之间的距离$50kHz$ 。这就好比用筛子分黄豆和大米,分辨率就好像是筛子上孔的大小,如果筛子的孔太大了,就没有办法把这两者分开。

而“时域补零相当于频域插值”,也就是说,补零操作增加了频域的插值点数,让频域曲线看起来更加光滑,也就是增加了FFT频率分辨率, 这是“补零”的另一个原因

显然,根据上面的分析可知,在采样频率不变的情况下,要想将$1MHz$ 和$1.05MHz$这两个频率成分分析出来,光靠“补零”是不够的,必须要改变波形分辨率,也就是要延长原始数据的时长。现在以相同的采样频率对信号采 7000个点作为原始信号:

对其做快速傅里叶变换,结果如下:

因为此时的波形分辨率为:$\Delta R_w = \dfrac{1}{70 \mu s} \approx 14kHz$ ,小于两个频率成分之间的距离 $50kHz$ ,所以可以看出有两个明显的峰值。

但是会发现$1MHz$对应的幅值为1,与原始信号中该频率成分的幅值一致,但$1.05MHz$ 对应的幅值明显低于1,但是其周边的点上却都有不小的幅值,这就是所谓的频谱泄露,因为数据点的个数影响,使得在$1MHz$ 处有谱线存在,但在$1.05MHz$处没有谱线存在,使测量结果偏离实际值 ,同时在实际频率点的能量分散到两侧的其它频率点上,并出现一些幅值较小的假谱。

为了解决这个问题,可以设法使得谱线同时经过$1MHz$ 和$1.05MHz$ 这两个频率点,找到他们的公约数。

如果原始数据不变,在后面再补充1000个零点:

那么FFT分辨率就是$12.5kHz$,是这两个频率的公约数,$1MHz = 80×12.5kHz,1.05MHz = 84×12.5kHz$ ,所以谱线同时经过 $1MHz$ 和 $1.05MHz$ 这两个频率点。

对其做快速傅里叶变换,结果如下:

会发现两个频率对应的幅值均为1,与原始信号一致。

这也是一种补零操作带来的影响???(这里有点问题,频谱泄露与补零没有关系,后续修改补充)

上图会有一些旁瓣出现,这是因为补零影响了原始信号,如果,直接采8000个点作为原始数据,那么有:

并对其做FFT,结果如下

这样就不存在补零带来的误差了。 [2]

参考链接

[1]傅里叶变换的波形分辨率与频率分辨率 https://wap.sciencenet.cn/blog-425437-1043431.html?mobile=1

[2]快速傅里叶变换(FFT)中为什么要“补零”? - 李狗嗨的文章 - 知乎 https://zhuanlan.zhihu.com/p/85863024

[3]观察频谱的窗口——物理与计算分辨率 http://www.360doc.com/content/20/0402/23/32196507_903494495.shtml

[4]傅里叶变换补零与能否提高频率分辨率 https://blog.csdn.net/chichuhe/article/details/90369651

[5]DFT中人为地补零加长序列对频谱的影响? - 杨树下的狐狸的回答 - 知乎 https://www.zhihu.com/question/30312644/answer/47615752


六、能量信号、功率信号


七、信号的频谱,频谱密度,能量谱

八、 其他问题

如何理解奈奎斯特采样定理

参考链接8.1:怎样理解Nyquist采样定理? - 甜草莓的回答 - 知乎

参考链接8.2:怎样理解Nyquist采样定理? - 吃货彪彪的回答 - 知乎

卷积与插值(内插)

在CFA去马赛克和图像旋转放大时都需要进行插值运算。在空间域内,插值是卷积计算

当已知数据点位于整数格点上时,插值函数h(x)应该有:h(0)=1;h(n)=0; n是非零整数。

在频率域,以步长1采样的图像中如果含有高于1/2的频率分量将会产生混叠。空间域内的卷积对应在频率域内的相乘运算,可以从中判断插值算法的特性

这是几类插值函数在空间域的曲线:

对应频率域的变换:

下面比较一下几类插值算法的特点。

1)邻域插值。即找离插值点最近的格点的值作为插值点的值。
插值函数是一个宽度为1的矩形脉冲。在频率域则是一个sinc函数。在-1/2和1/2的频率附近,sinc函数对原频谱中的高频分量进行衰减,使得插值图像变得模糊;而sinc函数在频率轴上向两端无限延伸,减弱缓慢,加入了新的高频分量,对应在插值图像中形成锯齿。

2)线性插值。权重由离插值点的距离线性决定。
插值函数是半宽为1的三角脉冲,即两个宽度为1的矩形脉冲的卷积,所以在频率域是一个sinc^2函数。与邻域插值相比,混入的高频有所减少,同时图像也变得模糊。

3)立方插值。
插值函数为:((A+2)x-(A+3))x^2+1 (0<x<1) ((Ax-5A)x+8A)x-4A (1<x<2)
(选自http://www.all-in-one.ee/~dersch/interpolator/interpolator.html)
插值函数的特点:第一个节点位于x=1,此处曲线的斜率是A。第二个节点位于x=2,斜率是0。

在频率域上可以看出,参数A越接近0,原图像中的高频分量衰减得越厉害;A越接近-1,原图像中的高频分量衰减得越少,甚至中间波段还有提升。因此参数可以用来调节图像的锐度。根据这个网页上的数据,认为PS的算法接近于A=-0.75的效果。

上面三种插值函数在+-1/2频率处的响应均降为0,从而抑制了混叠效应,同时模糊了图像。

4)sinc插值
sinc函数在频率域是一个矩形,看起来似乎最适合做内插。在+-1/2频点,矩形函数的值降低到1/2而非0,因此如果存在混叠则无法得到抑制。从实际来看,很难限制图像的带宽。因此使用sinc函数做插值在图像的边缘等地方会很敏感。另一方面,sinc函数做插值时收敛较慢,需要的采样点要多得多。在采样点较少时,在+-1/2频点会出现振荡,产生失真。

5)加窗sinc插值(选自http://www.all-in-one.ee/~dersch/interpolator/interpolator.html) 将两个不等宽矩形脉冲做卷积,得到梯形脉冲。使用这个函数在频域做乘积,则图像中的高频分量受到较少的衰减,图像细节被保留,而超出采样带宽较多的分量被阻断,不会产生类似振铃的效应。 在空间域,插值函数为sinc(x)*sinc(x/w),w是窗口宽度。与立方或线性插值相比,所需要的采样点多很多。

参考链接8.3:数字图像处理(九)插值算法之二

参考链接8.4:图像处理中的三次卷积插值(Cubic Convolution) - CSDN

参考链接8.5:图像插值算法——双立方(三次)卷积插值 - CSDN

卷积与互相关函数的关系

参考链接8.6:信号处理中的卷积、深度学习中的卷积和反卷积 - 初识CV的文章 - 知乎

参考链接8.7:卷积(convolution)为什么叫「卷」积(「convolut」ion)? - 初识CV的回答 - 知乎

sinc函数是一组正交基?

参考链接8.8:信号与系统(5):采样定理和多分辨分析

为什么Sinc是完美插值函数?

参考链接8.9:为什么Sinc是完美插值函数 - starimpact的文章 - 知乎

如何理解非周期的离散时间信号的傅里叶变换在频域上连续?

题主问的是为什么频域上连续,其实频域的连续只和信号在时域上是否是周期信号有关,与信号是否离散还是连续没有关系。 如果题主明白连续非周期信号为什么在频域上连续,可以同理理解离散信号。由于周期的无穷大导致了频率幅度的无穷小,但也导致了频率的连续,但频率幅度之间的相对大小没有发生变化,所以序列傅立叶变换后的幅度值是一个相对值,叫频谱密度。

补零方式

时域的末尾补零,提高频域计算分辨率,时域的中间补零,相当于是尺度变换,那么在频域,末尾补零,提高时域计算分辨率,中间补零,频域尺度变换,频域之间间隔越小,极限近似于连续,那么时域间断,那么相对的,频域之间间隔越大,时域平滑。

时域上的f(t)变成f(2t)时,在频域上他的频谱就会压缩。这是时频之间的相反特性。

参考链接8.10:实现时域内插可以fft、频域补零,再ifft,那么频域补零为何要在中间部位补零呢? - 知乎

参考链接8.11:信号与系统 时域与频域尺度变换的二个简单问题 - 百度知道

参考链接:

参考链接1:概率密度函数及其在信号方面的简单理解(上)概率密度函数 - CSDN

参考链接2:信号的频谱,功率谱,能量谱,傅立叶级数,傅立叶展开,这几个有什么区别和联系吗,感觉很懵。? - 张大侠的回答 - 知乎

参考链接3:功率谱密度(PSD) - 菜狗的文章 - 知乎

参考链接4:信号的频谱,频谱密度,能力谱区别 - 博客园

参考链接5:能量信号、功率信号、频谱、能量谱、功率谱、及一些定理 - 博客园

参考链接6:功率谱密度(功率信号)、能量谱密度(能量信号)

参考链接7:离散时间傅立叶变换(DTFT) - 知乎 (zhihu.com)

参考链接8:做DFT时频率分辨能力的定义到底是什么?(程佩青《数字信号处理》) - 知乎

参考链接9:在离散傅里叶变换(DFT)中如何理解采样频率、模拟频率和数字频率三者之间的关系? - 知乎

参考链接10:关于采样与DFT的一点点思考 - u010237785 - CSDN - dft 采样定理

参考链接11:复信号处理(1)——复信号理解 - CSDN

  • Copyrights © 2015-2024 wjh
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信