先日、自動制御の原理を勉強したのですが、ふとフーリエ変換、ラプラス変換、Z変換の違いや関連性がよく分からないような気がしたので、まとめて勉強したのでここに記録します。それらを整理してまとめます。
1. フーリエ変換
フーリエ変換の基礎はフーリエ級数です。まずフーリエ級数とは何かについてお話します。
1.1 フーリエ級数
フランスの数学者フーリエは、あらゆる周期関数は、後にフーリエとして知られるサイン関数とコサイン関数で構成される無限級数 (サイン関数とコサイン関数は直交しているため基底関数として選択されます) で表現できると信じています。この級数は特別な種類です。三角関数シリーズの。
三角形形式のフーリエ級数は次のとおりです。
オイラーの公式によれば、三角関数は指数形式に変換でき、指数級数としてフーリエ級数とも呼ばれます。オイラーの公式は次のとおりです。
指数形式のフーリエ級数は次のとおりです。
の、
k=0のとき、
関数のDC 成分です
k=1のとき、
これは通常、関数の基本波と呼ばれます
kが異なる値(k>1)をとるときの三角関数を関数のk次高調波といいます
フーリエ級数の定義では、周期関数のみをフーリエ級数に拡張できることに注意してください。
実際、どんな周期関数もフーリエ級数に展開できますが、得られたフーリエ級数が必ずしも収束するとは限りません。
次に、周期関数がディリクレ条件を満たす場合、そのフーリエ級数は収束します。
ディリクレ条件 ( フーリエ級数が収束するための十分条件と不必要条件 ):
1. 周期内で、関数は 絶対に積分可能 ;
2. 周期内で、関数 は 連続であるか、最初のタイプの不連続点が限られた数だけある ;
3. サイクル内では、 関数の最大値と最小値の数は制限されています 。
方形波信号を例に挙げます。
周期 T、パルス幅 2 の方形波信号のフーリエ級数展開は次のようになります。
フーリエ級数のイメージを図に示します。
当時、一連の離散フーリエ級数は連続曲線、つまりフーリエ変換をプログラムしていました。
周期関数のフーリエ級数を学習した後、人々はそれについて考えるでしょう。非周期関数はこの方法で表現できるのか、表現するには式にどのような変更を加える必要があるのか。そこでフーリエ変換の研究があります。
1.2 フーリエ変換
非周期関数の場合、実際には次の周期を持つ周期関数とみなすことができます。
たとえば、周期関数のイメージは次のようになります。
注文して入手:
次の式から導き出されます。
フーリエ級数に従って、周期関数を で表します。
代わりに、上の関数画像に示すように。
なぜなら、それでは
(離散から連続へ)
そうなります
これはフーリエ変換の公式です
そして今はこうなります
これが逆フーリエ変換です
注: 周期信号に対してフーリエ変換を行う場合、得られる結果は実際にはフーリエ級数の係数値ではなく、次の値になります。
1.3 フーリエ変換の限界
実際には、すべての関数をフーリエ変換できるわけではなく、フーリエ変換を実行する前にディリクレ条件が満たされている必要があります。
フーリエ級数が収束するための十分条件と不必要条件と同様、フーリエ変換のディリクレ条件は次のとおりです。
迪利克雷条件( 傅里叶变换存在的充分不必要条件):
1.在整个定义域内,函数是 绝对可积的;
2.在整个定义域内,函数 连续或者只有有限个第一类间断点;
3.在整个定义域内,函数 极大值和极小值的数目是有限个。
其实只需要把傅里叶级数的迪利克雷条件的周期内变成整个定义域内就可以了
1.4 常见函数的傅里叶变换
二、拉普拉斯变换
2.1 为什么需要引入拉普拉斯变换
傅里叶变换在信号频域研究上起到了非常重要的作用,可是并不是所有的信号都可以进行傅里叶变换。那么对于无法进行傅里叶变换的信号,我们想研究它的频域特性,应该怎么办呢?
例如:我们已知,虽然并不满足迪利克雷条件中绝对可积的条件,这也说明了迪利克雷条件其实是充分不必要条件。但是函数显然就无法进行傅里叶变换,这里可以归结为它的增长速度太快,以至于在绝对值积分的时候没法收敛。
那么我们要解决这个问题,针对无法进行傅里叶变换的函数,引入了拉普拉斯变换。其最通俗基本的原理就是给我们的函数乘一个,我们需要取合适的使得它可以快速下降,这样它就可以满足迪利克雷条件的绝对可积这一条件,这样就可以进行傅里叶变换了。
2.2 拉普拉斯变换
对于函数,令,对做傅里叶变换,得:
此时,变换结果的变量从傅里叶变换的变为了和两个,但其实我们发现总是和虚数单位J在一起,所以我们将和两个变量合成为一个变量
于是我们得到了拉普拉斯变换的完整公式:
需要注意的是,我们上面讲了需要取合适的使得可以快速下降,所以对于一些升高比较快的函数,我们需要限定比较大,才可以使得这个函数满足迪利克雷条件。所以,拉普拉斯变换不像傅里叶变换那样没有变量范围的限定,它需要有ROC(Range of Re{s} (or ) for X(s) to converge)与拉普拉斯变换配套存在。事实上,ROC也是拉普拉斯变换的一部分,对于相同的表达式,不同的ROC,其时域函数有可能完全不同,所以一定需要注意ROC不可以遗漏。
拉普拉斯逆变换公式:
2.3 常见函数的拉普拉斯变换
三、z变换
我们知道z变换其实是为离散信号而引入的一种变换,其主要原理和拉普拉斯变换很相似,是为了解决一些离散序列无法进行离散时间傅里叶变换而引入的。我们首先介绍离散时间傅里叶变换。
3.1 DTFT离散时间傅里叶变换
我们上面已经介绍了连续时间傅里叶变换,即傅里叶变换,公式如下:
那么我们将转化为离散的,积分变为求和,即得到了离散时间傅里叶变换:
至于为什么要用 而不是 ,这个问题其实也让我疑惑,我初步思考的结果是:
为了区分离散和连续。试想,如果你看到这样一个符号 ,在没有区分的情况下你并不知道这个变换是连续的还是离散的,所以我觉得可能是为了区分。
括号中 的代表一个复数,即模为1的复数,而不是 所代表的纯虚数,这样也是为z变换做准备。
我看到有博客解释说一个是积分一个是求和,没有特别理解。
3.2 z变换的引入
要想进行DTFT,也必须满足离散傅里叶级数的迪利克雷条件。
迪利克雷条件(DTFT存在的充分不必要条件)
序列 绝对可和
如果有序列无法满足迪利克雷条件,那么我们就想给序列乘一个使得它绝对可积
3.3 z变换
DTFT公式:
如果无法进行DTFT,那么
给乘后再做DTFT得:
此时,
需要注意的是,同拉普拉斯变换一样,z变换也需要定义ROC
逆z变换:
逆Z变换是一个对Z进行的围线积分,积分路径C是一条在 收敛环域(Rx-,Rx+)以内逆时针方向绕原点一周的单围线。
求解逆Z变换的常用方法有:
(1)幂级数展开法(部分分式展开法)
(2)留数定律法
(3)利用已知变换对
(4)长除法
3.4 常见序列的z变换
四、总结
最后总结一下,其实拉普拉斯变换和z变换分别对应着傅里叶变换在连续情况和离散情况下的推广,是针对那些无法进行傅里叶变换的函数或者序列而引入的,其基本原理都是给原函数或者序列乘一个下降很快的指数函数,让其变得绝对可积,再进行傅里叶变换就得到了拉普拉斯变换和z变换。
他们将傅里叶变换所定义的频域,拓展到了复频域。给函数的研究提供了新的思路。
值得注意的是,拉普拉斯变换和z变换都需要定义ROC。这一点很重要。