diohabara
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # 信号処理工学 ###### tags: `eeic3S` ## 計算全般 ### 伝達関数 $H_a(s) = \frac{\frac{1}{sC}}{r+\frac{1}{sC}}$ ### オイラーの公式 定番の公式 $$ e^{j\theta} = cos\theta + jsin\theta $$ ### Z変換 wikiに載っているので随時参照 <https://en.wikipedia.org/wiki/Z-transform> - zとsの関係式: $z=exp(sT)$ - $z^{-1}=exp(-sT)$ - sの一次式で近似すると$z^{-1}=1-sT$ - $s=\frac{1}{T}(1-z^{-1})$...(1) - $s=\frac{2}{T}\frac{1-z^{-1}}{1+z^{-1}}$という式を双一次変換では使う...(2) 近似的に$s$となるのは,ラプラス変換では$s$をかけることは微分に対応しているから ### フーリエ変換 $x(t)$のフーリエ変換を$X(\omega)$として, $$ X(\omega) = \int^{\infty}_{-\infty}x(t)e^{-j\omega t}dt $$ ## 連続時間回路から離散時間回路への変換 ### 伝達関数とは > 伝達関数 (transfer function) とはシステムへの入力を出力に変換する関数のことをいう > ### 伝達関数の求め方 |電気回路の要素|直列回路(Z:インピーダンス)|並列回路(Y:アドミタンス)| |-|-|-| |抵抗|$R$|$\frac{1}{R}$| |インダクタ|$sL$|$\frac{1}{sL}$| |コンデンサ|$\frac{1}{sC}$|$sC$| 電気回路の要素から出力と入力を求めます s領域(s空間)における入力を$X(s)$,出力を$Y(s)$とすると,伝達関数は $$ H(s) = \frac{Y(s)}{X(s)} $$ ### 電気回路の伝達 - 決まりごと1 - 直列回路は $V = Z_{total} \times I$ - 並列回路は $I = Y_{total} \times V$ - 決まりごと2 - 直列回路の合成インピーダンスは$Z_{total} = Z1+Z2+Z3+...$ - 並列回路の合成アドミタンスは$Y_{total} = Y1+Y2+Y3+...$ - 決まりごと3 - インピーダンスとアドミタンスの変換は$Z=\frac{1}{Y}$ ### (インパルス不変法|インパルス不変法変換|標準z変換) デジタルのインパルス応答がアナログのインパルス応答をサンプルした例になるように変換する手法 #### 離散回路の求め方 標準z変換で離散回路の伝達関数が求める方法は以下の通り 伝達関数を $$ H_a(s) = \sum_{n} \frac{R_n}{s+\alpha_n} $$ とすると,その離散回路の伝達関数は $$ H_d(z) = \sum_{n} \frac{R_n}{1-Z^{-1}-e^{-\alpha_n T}} $$ とします 覚える部分は分母の変換です.以下にも書いておきます $$ s+\alpha_n \rightarrow 1-Z^{-1}-e^{-\alpha_n T} $$ #### 回路構成の求め方 - 入力から来るのが掛ける方 - 出力側が割る方 具体例は下の通り(多分間違いを含んでいます) ![](https://i.imgur.com/liyYSIg.png) **注意**:出力側では`+`が`-`になる部分がある(つまり`-`がかけられている) #### ラプラス変換からz変換を求める際の欠点 - 周波数応答は繰り返し応答になり,入力信号に対して十分高い標本化周波数を採用しないと,$\omega = \pi / T$($T$は標本化周波数)を対称軸としてエイリアシングが生じることがある - HPFやBEF(band elimination filter)で高周波数の入力に対して必ずエイリアシングが起きるので,原理的にこれらのフィルタは作成できない ### (双一次変換法|双一次変換) アナログ信号の周波数領域を$tanh$関数で$|\omega|<\frac{\pi}{T}$に押し込めてからz変換を行うことで折り返し誤差を塞ぐ手法 ### 離散回路の求め方 双一次変換で離散回路の伝達関数を求める方法は以下の通り $$ s = \frac{2}{T}\frac{1-Z^{-1}}{1+Z^{-1}} $$ とおいて,これを元の式$H(s)$に代入するだけです ### 両手法の長所と短所とその回避法 |手法|長所|短所|回避法| |-|-|-|-| |インパルス不変法|インパルス応答を変えずに変換可能|周波数領域でエイリアシングが起きることがある|エイリアシングはTを小さくすると抑えられる| |双一次変換|簡単な設計である・周波数応答でのエイリアシングが起きない|インパルス応答が不変でない|予め目標とする周波数特性を高周波側にシフト| #### 双一次変換について深堀り - 周波数軸において,ナイキスト周波数以下の領域へと非線形写像を施しているため変換後にエイリアシングが起きない - $\frac{\omega_{A}T}{2} = tan\frac{\omega_{D}T}{2}$によって写像をしているため,ナイキスト周波数付近で元々の応答から大きく歪む(インパルス応答も) ## 回路・フィルタの位相 ### 単位円の問題 - $\theta_1 = Arg(z-\beta_1)$ - $\theta_2 = Arg(z-\beta_2)$ - $\phi_1 = Arg(z-\alpha_1)$ - $\phi_2 = Arg(z-\alpha_2)$ - $|H| = \frac{|z-\beta_1|-|z-\beta_2|}{|z-\alpha_1|-|z-\alpha_2|}=\frac{Q_1Q_2}{P_1P_2}$ - $\angle{H}=\theta_1+\theta_2-\varphi_1-\varphi_2$ $H(z)$が安定である条件は極がすべて単位円の内側にある(つまり絶対値が1未満であること) ### 零点・極配置のフィルタ(最小位相フィルタ) 最小位相フィルタ: - 極・零点がすべて単位園内にある - アナログ: 零点がすべて左反面 - ディジタル: 零点がすべて単位園内 - 入出力特性: 等しい振幅特性を持つシステムの中で遅延(群遅延)が最小 #### ディジタルフィルタ - 位相推移がより小さいことを望まれることが多い理由: 位相推移は応答出力の時間遅延に相当し,遅延を小さくしたい場合が多いから ### 群遅延 - 定義式: $d_g(\omega)=-\frac{d\angle H(\omega)}{d\omega}$ - 物理的な意味: 群遅延の$+t_0$は入力の時間遅れ$-t_0$に対応している.すなわち,角周波数$\omega$の信号の時間遅れを表している ### ナイキスト周波数 - 定義式:$f= \frac{1}{2T}$ - 各周波数での定義式は$\omega = \frac{\pi}{T}$ ### ディジタルフィルタ - ディジタルフィルタを設計する場合,位相推移はより小さなことが望まれる理由 - **理由**: 位相推移を小さくすることで出力の時間遅延を小さくすることが可能でディジタルフィルタとして良い性能を持つから - ディジタルフィルタが安定動作するための条件・その理由 - **安定動作するための条件**: ディジタルフィルタの伝達関数$H(z)$の極が$z$平面上で単位円内にあれば良い - **その理由**: 単位円にあるということは$s$平面上で左反面にあることと同じ意味であり,極の実部が負になるのでインパルス応答が発散せず安定するから - フィルタ最小位相推移フィルタであるための追加条件 - **追加条件**: $H(z)$の零点も$z$平面上で単位円内であればよい ### LPFをFIRで実現する - $D(\omega)$の特性を代入するときは,積分の範囲を$[\frac{rad}{sec}, -\frac{rad}{sec}]$(閉区間)にすれば良い - **FIRフィルタの特性**(LPFであることを除く): $h_k=h_{-k}$が成り立つので,$0$に対して$h_k$は対称的である.群遅延が$\omega$によらず一定になるため出力に歪みがなくなる - **式**: $h_{-k}=\frac{1}{-k\pi}sin(-k\omega_{c})=\frac{1}{k\pi}sink\omega_{c}=h_{k}$ ## 信号推定フィルタ・適応フィルタ ### LPF・HPF・FIR・ - **LPF(low-pass filter)** - > フィルタの一種で、なんらかの信号のうち、遮断周波数より低い周波数の成分はほとんど減衰させず、遮断周波数より高い周波数の成分を逓減させるフィルタ - **HPF(high-pass filter)** - > フィルタの一種で、なんらかの信号のうち、遮断周波数より高い周波数の成分はほとんど減衰させず、遮断周波数より低い周波数の成分を逓減させる - **FIR(finite impulse response)** - ディジタルフィルタ - > クロネッカーのデルタ入力に対するフィルタの応答特性であるインパルス応答が「有限」であるとは、有限個の標本でゼロに安定することを意味する - **IIR(infinite impulse response)** - 信号処理システムの属性 - > 無限長の時間においてゼロでない値を返すインパルス応答関数を持つ - 歪まないとは: どの各周波数成分の信号も等しい時間だけ遅延するということ.線形位相システムである条件は$H(z)=\sum_{n=0}^{N-1}h(n)z^{-n}と表したとき以下の2条件を満たすこと.1は条件より自明.2は$n=2$で満たすため,$H(z)$は線形移送システムであり,群遅延が一定で歪まない 1. すべてのnについてh(n)が実数 2. ある$n=n_0$に対して対象ないし反対象に分布していると満たすこと ### 適応フィルタ > 最適化アルゴリズムに従ってその伝達関数を自己適応させるフィルタ #### 離散ウィーナフィルタ(式変形はwikiに丁寧に書いてあります...) インパルス応答を$h(n)$,観測信号を$y(k)$として,フィルタに通した推定信号$z(k)$は $$ z(t) = \sum_{n=0}^{\infty}h(n)y_{k-n} $$ と書けます この際に 誤差信号を$e_k$,所望信号を$d_k$として $$ J = \mathbb{E}[e^2_k] = \mathbb{E}[(d_k - z_k)^2] \\ = \mathbb{E}[(d_k - \sum_{n=0}^\infty h(n)y_{k-n})^2] $$ このJが最小になるようなとき,推定信号が求まります $\frac{\partial J}{\partial h(l)} = 0$となる条件を求めればよいです 計算をすると $$ \frac{\partial J}{\partial h(l)} = \mathbb{E}[2(d_{k}-\sum_{n=0}^{\infty}h(n)y_{k-n})(-y_{k-l})]\\ =2\sum_{n=0}^{\infty}h(n)\mathbb{E}[y_{k-n}y_{k-l}] - 2\mathbb{E}[d_{k}y_{k-l}]\\ =0 $$ つまり $$ \sum_{n=0}^{\infty}h(n)\mathbb{E}[y_{k-n}y_{k-l}] = \mathbb{E}[d_{k}y_{k-l}] $$ となればよいわけです ここで,$y_k$の自己相関関数を$\varphi_{yy}(n-l)$,$d_k$と$y_k$の相互相関関数を$\varphi_{dk}(-l)$として $$ \varphi_{yy}(n-l) = \mathbb{E}[y_{k-n}y_{k-l}] = \varphi_{yy}(l-n) $$ $$ \varphi_{dk}(-l) = \mathbb{E}[d_{k}y_{k-l}] = \varphi_{dk}(l) $$ となり, $l=0,1,2,...$として以下のWiener-Hopf方程式が成り立つ $$ \sum_{n=0}^{\infty}h(n)\varphi_{yy}(l-n)=\varphi_{dy}(l) $$ つまり,$\varphi_{yy}$と$\varphi_{dy}$が分かればW-H方程式によりインパルス応答$h(n)$が分かるということ これを行列で表現すると以下のようになる $$ \left( \begin{array}{ccccc} \varphi_{yy}(0) & \varphi_{yy}(1) & \varphi_{yy}(2) & \ldots & \varphi_yy(N-1) \\ \varphi_{yy}(1) & \varphi_{yy}(0) & \varphi_{yy}(1) & \ldots & \varphi_yy(N-2) \\ \varphi_{yy}(0) & \varphi_{yy}(1) & \varphi_{yy}(2) & \ldots & \varphi_yy(N-3) \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ \varphi_{yy}(N-1) & \varphi_{yy}(N-2) & \varphi_{yy}(N-3) & \ldots & \varphi_{yy}(N-1) \end{array} \right) \left( \begin{array}{cccc} h(0)\\ h(1)\\ h(2)\\ \ldots\\ h(N-1) \end{array} \right)= \left( \begin{array}{cccc} \varphi_{yy}(0)\\ \varphi_{yy}(1)\\ \varphi_{yy}(2)\\ \vdots\\ \varphi_{yy}(N-1) \end{array} \right) $$ #### 連続ウィーナフィルタ 連続ウィーナフィルタは以下の通りです $$ t \geq 0で\\ \int_0^{\infty}h(\tau)\varphi_{yy}(t-\tau)d\tau = \varphi_{dy}(t) $$ $h(\tau)$が因果性で$0 \leq t \leq \infty$と定義されているため,下限が$0$になっているが,ここで$-\infty \leq t \leq \infty$とすると, $$ \int_{-\infty}^{\infty}h(\tau)\varphi_{yy}(t-\tau)d\tau = \varphi_{dy}(t) $$ 両辺をフーリエ変換すると, $$ H(jw)\Phi_{yy}(jw)=\Phi_{dy}(jw) $$ となり,すなわち $$ H(jw)=\frac{\Phi_{dy}(jw)}{\Phi_{yy}(jw)}=\frac{\text{観測信号と所望信号の相互スペクトル密度}}{観測信号の電力スペクトル密度} $$ ### 谷とか山とか $$ H(z)=\frac{信号成分}{信号成分+雑音成分} $$ で表されるとき, 1. 信号成分が雑音成分よりも十分大きいとき - $|H(z)|\approx 1$となり,急峻なピークとなる 2. 雑音成分が信号成分よりも十分大きいとき - $|H(x)|\approx 0$となり,谷が目立たなくなる ### フィルタ これを計算すれば良い $$ \varphi_{yy}(\tau) = \int_{-\infty}^{\infty}y(t - \tau)y(t)dt\\ =\int_{-\infty}^{\infty}\{x(t-\tau)+v(t-\tau)\}\{x(t)+v(t)\}dt\\ =\int_{-\infty}^{\infty}x(t-\tau)x(t)dt+\int_{-\infty}^{\infty}v(t-\tau)v(t)\\ = \varphi_{xx}(\tau)+\varphi_{vv}(\tau) $$ よって$\Phi_{yy}(j\omega)=\Phi_{xx}(j\omega)+\Phi_{vv}(j\omega)$ $$ \varphi_{yd}(\tau) = \int_{-\infty}^{\infty}y(t - \tau)d(t)dt\\ = \int_{-\infty}^{\infty}\{x(t-\tau)+v(t-\tau)\}+x(t-\delta)dt\\ = \int_{-\infty}^{\infty}x(t-\tau)x(t-\tau)dt + = \int_{-\infty}^{\infty}v(t-\tau)x(t-\Delta)dt\\ = \varphi(\tau - \Delta) $$ よって$\Phi_{yd}(j\omega)=\Phi_{xx}(j\omega)e^{-j\omega \Delta}$ 以上より $$ H(j\omega)=\frac{\Phi_{yd}(j\omega)}{\Phi_{yy}(j\omega)}=\frac{\Phi_{xx}(j\omega)e^{-j\omega \Delta}}{\Phi_{xx}(j\omega)+\Phi_{vv}(j\omega)} $$ #### 逆フーリエ変換した際の副作用 逆フーリエ変換して得られる$h(t)$は,一般に$t<0$において0でない値を持つが,実際に因果律の成り立つフィルタを設計すると$t<0$において,$h(t)=0$であるものしか作ることができない すなわち,インパルス応答をW-H方程式の解$h(t)$に完全に一致することはできない ## 短時間フーリエ変換・Wavelet変換 - 一般に窓長が長いほど正確なスペクトルが求められる - 音声信号の周期が短いと大きな信号のある時刻とない時刻でスペクトルに差が生じたことで縦縞が発生する - 音声時刻の時間領域における周期性(周波数領域における離散性)により,横縞は発生する ### フーリエ変換 定常的な振動波形$e^{jwt}$を基本波として,その線形わとして任意の信号を表現するのがフーリエ変換 ### 短時間フーリエ変換 窓関数を使って信号が十分定常である時間幅を設定し,その窓をずらしながら区分的にフーリエ解析を行うのを短時間フーリエ変換と言います $$ F(\omega, b) = \int_{-\infty}^{\infty}W(t-b)f(t)e^{-j\omega t}dt $$ これはフーリエ変換に$W(t-b)$をかけただけで,$b$によって窓関数をシフトできます ### 窓関数 入力となる離散信号に窓関数をかけた結果を離散フーリエ変換します この際に要求される条件は以下のとおりです 1. 主成分(メインローブ)の幅が狭いこと - この幅が狭いほど,主成分の周波数分解能が高くなります 2. サイドローブの振幅が小さいこと - この値が小さいほど,省電力のスペクトルを検出する能力が高まります しかし,この2つの特徴はトレードオフの関係にあります #### 短時間フーリエ変換で窓長の違いによって生じる結果の差 - 窓関数と信号の関数の**時間領域の乗算**は**周波数領域の畳み込み**で表される - **窓関数のスペクトル**において,時間幅と周波数幅を同時に小さくすることはできない - 時間幅を小さくするとスペクトルのメインローブが横に広がり**スペクトルもれ**が生じる - **時間分解能**と**周波数分解能**の間には一種の**不確定性**がある |窓長|周波数分解能|時間分解能|スペクトル| |-|-|-|-| |長い|高い|低い|スペクトルが細い| |短い|低い|高い|スペクトルが太い| ### Wavelet変換 #### Wavelet とは >数学において、局在する波、つまり、有限の長さの波もしくは速やかに減衰する波 > 一般的なマザーウェーブレットの例は以下の通りです $$ \psi_{a,b}(t)=\frac{1}{\sqrt{\alpha}}\psi\left(\frac{t-b}{a}\right) $$ $a$, $b$を動かすことで,様々に変形された基本波を作り出し,それらの線形和で任意の波形を表現します(フーリエ変換も基本波$e^{jwt}$を周波数と重み付き重ね合わせでした) 以下はフーリエ変換との対応です - $a$: **窓幅の伸縮**に相当 - $b$: **時間シフト**に相当 フーリエ変換では窓長が固定された状態で様々な周波数の振動を組み合わせたが,ウェーブレット変換では窓長を可変として窓帳を伸び縮みさせることで周波数を変化させている #### Wavelet変換と短時間フーリエ変換の違い - ウェーブレットには平均した値が$0$になるという性質がある - 短時間フーリエ変換をウェーブレット変換にするためには平均が$0$になるように基本波を変える必要がある ## 参考文献 - 制御工学をCで実現する(積分)<https://qiita.com/hara41/items/861a484e74d95f60c4ff#_reference-30fe7954231f3b9223d4> - ディジタルフィルタの作り方<https://qiita.com/fukuroder/items/e1cd551b7492020da992> - 伝達関数の求め方<http://www.kairo-nyumon.com/control_calculation2.html> - 伝達関数法<https://ja.wikipedia.org/wiki/%E4%BC%9D%E9%81%94%E9%96%A2%E6%95%B0%E6%B3%95> - 双一次変換<https://ja.wikipedia.org/wiki/%E5%8F%8C%E4%B8%80%E6%AC%A1%E5%A4%89%E6%8F%9B> - ローパスフィルタ<https://ja.wikipedia.org/wiki/%E3%83%AD%E3%83%BC%E3%83%91%E3%82%B9%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF> - ハイパスフィルタ<https://ja.wikipedia.org/wiki/%E3%83%8F%E3%82%A4%E3%83%91%E3%82%B9%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF> - 有限インパルス応答<https://ja.wikipedia.org/wiki/%E6%9C%89%E9%99%90%E3%82%A4%E3%83%B3%E3%83%91%E3%83%AB%E3%82%B9%E5%BF%9C%E7%AD%94> - 無限インパルス応答<https://ja.wikipedia.org/wiki/%E7%84%A1%E9%99%90%E3%82%A4%E3%83%B3%E3%83%91%E3%83%AB%E3%82%B9%E5%BF%9C%E7%AD%94> - 信号処理論第二第9回(12/22)<http://www.sp.ipc.i.u-tokyo.ac.jp/~saruwatari/SP17_09.pdf>(Wiener-Hopf方程式に関して) - DAVにあった"signal_shikepuri.pdf.old.pdf" - Wiener filter<https://en.wikipedia.org/wiki/Wiener_filter> - やる夫で学ぶディジタル信号処理<http://www.ic.is.tohoku.ac.jp/~swk/lecture/yaruodsp/main.html> - 適応フィルタ<https://ja.wikipedia.org/wiki/%E9%81%A9%E5%BF%9C%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF> - Z-transform<https://en.wikipedia.org/wiki/Z-transform> - 窓関数<https://ja.wikipedia.org/wiki/%E7%AA%93%E9%96%A2%E6%95%B0> - 窓関数  (Window Function)<http://www7b.biglobe.ne.jp/~yizawa/InfSys1/basic/chap9/index.htm> - ウェーブレット<https://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A7%E3%83%BC%E3%83%96%E3%83%AC%E3%83%83%E3%83%88> - Wavelet変換<http://www.spcom.ecei.tohoku.ac.jp/~aito/wavelet/slide.pdf> - Fourier transform<https://en.wikipedia.org/wiki/Fourier_transform>

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully