mizukoubykouta
    • 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: `Paper Reading` # RFID Based Motion Direction Estimation in Gate Systems ## イントロダクション RFID(Radio Frequency Identification)技術は、導入が容易で、低消費電力のシステムに適しています。近年、RFID技術は、屋内での位置特定、物品管理、インテリジェントパーキングなど、様々な分野で広く利用されています。その応用の一つとして、タグキャリア(タグを所有する人やモノ)がゲートを通過する際の入退場状態を推定することが挙げられます。 RFID技術は、高い精度を必要としないタグの移動方向を判断するだけのゲートシステム[4-7]に適しています。Michael Goller[8]は、パッシブRFIDを使用したRFIDゲートシステムのための隠れマルコフモデルの確率的モデルを発表した。及川義則[9]は、ゲートシステムにおけるパッシブRFIDのタグ移動方向推定を評価するためのシミュレーションシステムを提唱しています。Lu Qing [10]は、車両の入退場を迅速に案内するために、RFID技術に基づいたバーチャル・ポート・ゲート・システムを発表しました。Yu Jian [11]は、複数の指向性リーダを使用して複数の読み取りゾーンを形成し、イベントのシーケンスによる推定を実現して、アクティブRFIDでタグの動きの方向を検出しています。K Hashizume[12]は、RFIDシステムによる推定から、方向と個人情報に基づいた自動選択を特徴とする、アクティブRFIDシステムを用いた方向検出方法を提案しました。しかし、Zhou[13]が示しているように、RFID技術は環境の変化に大きく影響されます。アクティブRFIDによるタグの方向判定では、周囲の環境が変化した場合、現場の技術支援者がタイムリーにリーダを調整しないと、推定精度に影響が出てしまい、リアルタイム性に欠けることになります。本論文では、受信したタグ情報に応じてリーダの角度を調整します。環境が変化しても、提案アルゴリズムはタグの方向推定の高精度を維持することができます。 典型的なアプリケーションとして、RFIDタグを付けた生徒が校門を通過する際の移動方向を監視する仕組みがあります。このシステムでは、生徒が登下校した際に、推定された方向情報を保護者に送信します。このシステムは、中国の浙江省にある5つの学校で実現しました。しかし、校門前には多くの車が待機しているため、生徒が登下校する時間帯にシステムの性能が低下してしまいました。この問題を解決するために、我々は環境が変化する中でタグの移動方向を推定するという問題に着目しました。ここでいう周囲の環境とは、RF信号の送信や受信に影響を与える環境のことで、RF信号の反射や送信に影響を与える障害物や、空気中の湿度、リーダーの設置環境などが含まれます。 本論文の概要は以下の通りです。セクションIIでは,ゲートシステムの背景と,このシステムにおけるデータ処理の方法を紹介します。。セクションIIIでは,提案している手法について説明します。セクションIVでは,詳細なアルゴリズムを紹介します。セクションVでは,システムのジッター除去について述べます。セクションVIでは,提案手法の実現可能性を実証するための実験を行い,セクションVIIでは,本アルゴリズムに関する結論を述べます. ## 背景 ### A. ゲートシステムの概要と構造 ゲートシステムは、タグの移動方向を推定するために使用されます。図1に示すように、RFIDリーダーはゲートの内側と外側にそれぞれ配置されています。RFIDリーダーは、ネットワークケーブルで端末と接続します。2台のリーダは、タグのID、RSSI、タイムスタンプ、電池残量などのデータを受信し、端末のコンピュータに送信します。 アクティブなRFIDタグがゲートを通過すると、タグの情報はリーダーに送信され、リーダーはデータを端末コンピュータに送信し、受信したデータを分析します。そして、タグキャリアがゲートに入ったか、ゲートから出たかをチェックします。 ![](https://i.imgur.com/Z6R9B7Z.png) ### B. ゲートシステムにおける既存方式 タグの移動方向を推定するためのデータ処理の方法は、大きく分けて、結果ベースの方法とプロセスベースの方法の2種類があります。結果ベースの方法では、処理開始時のデータと処理終了時のデータを考慮します。処理開始時のデータのほとんどが外側のリーダで受信され、処理終了時のデータのほとんどが内側のリーダで受信された場合、タグキャリアがゲートに入ったことを示唆します。逆に、処理開始時のデータのほとんどを内側のリーダーが受信し、処理終了時のデータのほとんどを外側のリーダーが受信した場合、タグがゲートから離れたことを示唆しています。プロセスベース方式では、RSSI、タイムスタンプ(受信時刻)、電池残量など、タグの全プロセスの情報を収集します。内側のリーダーと外側のリーダーが受信した情報をもとに、タグがリーダーに最も近づいたときの対応する時刻を取得します。この2つの時間の並びを比較することで、タグの移動方向を推定します。 結果ベースの手法は、実装が容易で、メモリ使用量も少なくて済むため、小規模なアプリケーションを対象とした組み込みシステムで人気があります。しかし、実際のアプリケーションでは、2つのリーダーが必ずしも離れているわけではなく、また、サイトもあまり規則的ではないため、読み取りシーケンスの欠落が発生します。結果ベースの方法では、精度を高いレベルで維持するためには、調整に長い時間をかける必要があります。このような理由から、プロセスベースの方法は、実際のアプリケーションで使用される傾向にあります。この方法は実施が容易であり、オープンな環境で容易に良い結果を得ることができる。RSSIに大きく依存しているため、周囲に車が現れるなど環境が変化すると(校門ではよくあることです)、システムの性能が低下してしまい、人がその場で調整する必要があります。人が頻繁にリアルタイムに対応することは不可能である。本論文では、環境変化に適応した動き方向推定アルゴリズムを提案し、環境変化に対応した推定精度の向上を図った。 ## 提案方式 本論文では、アクティブRFIDに基づいて、環境に適応した動作方向推定アルゴリズムを提案した。本アルゴリズムでは,タグの受信情報に応じてリーダの角度を自動的に調整することができる.また、周囲の環境の変化に応じて、システムが判断を行い、誤差を最小限に抑え、より高い精度を保証することができる。リーダが受信した情報は、データの再サンプリング、タグとリーダの最接近時刻の検出、基準点アルゴリズムの比較などの処理が行われます。 ### A. 問題定義 ゲートの内側と外側に、それぞれRF1、RF2という2つのリーダーが設置されています。このリーダーは、タグから送られてくるデータを受信するために使用されます。ゲートを通過する際に、最初にどちらかのリーダーでタグが読み取られ。最後にもう一方のリーダーでタグが読み取られるという手順になっています。人がタグを持ってゲートを通過すると、受信したデータは以下のように表されます。ここで、Xはリーダーが受信したデータを表し、i=1, 2, ..., nです。 ![](https://i.imgur.com/U9RQ1w4.png) パラメーターnは、リーダーが受信するタグ情報の数を表します。X1は、内側のリーダーが受信したデータを示します。X2は、外部のリーダーが受信したデータを示します。IDは、タグのユニークな識別子を示します。ANTiは、i回目にタグデータを受信したリーダーを指します。RSSIiは、i回目に受信したデータの信号強度を示します。Tiは、データを受信した絶対時刻を表します。環境が変化したときに、X1とX2の情報をもとに、内側のリーダと外側のリーダの角度をどのように調整すれば、方向推定の誤差を最小にすることができるかを知りたいのです。 ### B. 提案するソリューションについて 与えられた受信データX1とX2をリサンプリングすることで、標準的な間隔が得られます。次に、対応する二次曲線を計算し、その曲線の頂点を求めます。最大値の対応する時間は、理想的な時間に近い値です。この値に基づいて、システムはリーダーの角度を自動的に調整することができます。最適な状況を得るためには、2つの条件を同時に満たす必要がある。1つ目は、内側のリーダーと外側のリーダーから受け取ったデータの順番が簡単に区別できること。つまり、2つのリーダーの二次曲線の最大値の対応時間が最大になるようにします。2つ目は、内側のリーダーと外側のリーダーの間のオーバーラップ領域が十分に大きいことです。処理が終了するかどうかは、短い間隔で読めるデータが残っているかどうかで決まる。オーバーラップ領域が小さいと、タグがゲートの中央に留まっているときに、システムは事前に処理を終了してしまいます。これでは、タグの移動方向を推定するためのデータ情報の一部が失われてしまいます。 ### C. 初期評価情報の説明 このアルゴリズムでは、初期評価情報を次のように置いています。初期環境では、2つのリーダの前に障害物はありません。RFIDリーダーの高さは3.5mに固定されている。RFIDリーダーの高さは3.5mに固定し、RFIDタグの送信頻度は3回/秒とする。リーダのアンテナは指向性のある円偏波アンテナです。リーダの初期角度は,図2に示すように,警備室の壁に対して45度とします. ![](https://i.imgur.com/jxsqjLz.png) ## アルゴリズムの詳細 ### A. データリサンプリング タグを持った人がゲートシステムを通過するとき、彼らは常に異なる歩行速度を持っているので、同じ期間に同じアルゴリズムを適用することは困難です。一連の観察の後、我々は、人々がドアシステムを通過するときに、数人だけが突然速度を大きく変えることを発見しました(セクションVに詳細な実験があります)ので、ほとんどのタグキャリアは均一の速度でゲートを通過すると結論づけることができます。本論文では、この結論を提案手法の前提条件とし、データリサンプリングのアルゴリズムを作成しました。(1)に示すように、内部のリーダと外部のリーダが受信したデータを、時間順に行列Xに入れます。 まず、(2)でXの絶対時刻を、Xの時刻の対応する要素から最初の要素の時刻を引いた相対時刻に変更し、(3)でXのデータをリサンプリングします。この式では、リサンプリングの方法は次のようになります。データ収集の時間がTよりも短い場合、アルゴリズムはデータの時間軸を延長することになる。逆に、データ収集にかかる時間が最大時間Tよりも長い場合は、時間軸を短くすることができます。最初のステップでは、Tn=Tn-T0の区間(0-Tn)を狭めることで、算出されたタグの値は(2)のようになります。 ![](https://i.imgur.com/mw8TJaR.png) ここで、Xは相対時間を含む行列を意味し、受信した情報の相対時間は以下のように与えられる。 ![](https://i.imgur.com/QEGNbdO.png) ここで、計算区間は0からNまで、Ziは受信情報の相対時間です。つまり、(4)のようなリサンプリング結果が得られます。 ![](https://i.imgur.com/Jhta8ME.png) ここで、ベクトルXは、受信データのリサンプリング情報を含む行列を意味します ### B. 最寄点の時間計算 リサンプリングデータXに対して、2つのマトリックスに分割します。Y1とY2です。Y = {{ID, RSSI1, Z1}, , { ID, RSSIi, Zi}} はそれぞれ、内側のリーダーと外側のリーダーが受信したデータを表し、iは受信した番号を表します。2つのマトリクスのアルゴリズムは同じなので、どちらか一方だけを考えればよいことになります。 ![](https://i.imgur.com/FF9DHCl.png) ここで,Prはリーダの受信電力,nは経路損失係数を表します。また、n(t)は環境ノイズg)、P0は距離d0におけるリーダーの受信電力を表しています。受信データに対するRSSIの理論的な最適曲線を図3に示す。 ![](https://i.imgur.com/4aus9TZ.png) (5)に示すように、タグとリーダーの間の距離は受信信号強度に反比例します。 タグのキャリアがリーダーに近づくと、それに対応する受信信号強度が強くなります。私たちは、タグがリーダーに最も近づいたときの相対的な時間を求めたいと思います。つまり、1つのリーダーが受信した全データの中で最も強い受信信号強度を求め、(6)の二次曲線フィットに基づいて曲線の頂点の相対時間を求めたいのです。 ![](https://i.imgur.com/UBSJJwq.png) Y1[i][1]は、Y1のRSSI_iを指します。Y1[i][2]は、Y2のZiの値を表します。 この式から、(7)の曲線の頂点に関する相対的な時間を得ることができます。 ![](https://i.imgur.com/WRez53X.png) ここで、TA1は内側のリーダーの曲線の頂点の相対時間を意味し、TA2の結果も(7)で求められます。 ### C. 角度調整のための値の取得 タグキャリアがゲートに入ると、まず外側のリーダーの前を通ります。外側のリーダーの理論上の最適時間位置(THOP)はN/3、内側のリーダーのTHOPは2N/3です。タグキャリアがゲートの外に出たとき、タグはまず内側のリーダーの前を通ります。外側のリーダのTHOPは2N/3、内側のリーダのTHOPはN/3です。そして、THOPと計算された時間の最適位置(CLOP)を比較して、リーダーの調整角度を求めます。 タグキャリアの移動方向は、タグキャリアが内側のリーダに最も近づいた時と外側のリーダに最も近づいた時の順序を比較することで大まかに判断します。タグキャリアの移動方向は、タグキャリアが内側のリーダに最も近い時と外側のリーダに最も近い時の順序を比較することで大まかに決定されます。そうでなければ、タグはゲート外に出たと推定されます。 CLOPとTHOPでは、CLOPがCHOPに近いほど確率が高くなります。CLOPとTHOPは、CLOPがCHOPに近いほど確率が高く、CLOPがCHOPから遠いほど確率が低くなります。図4に示すように、実験を行いました。ゲートを通過した500枚のタグを用いて、曲線の頂点の計算結果を記録し、合計1490個の記録を作成しました。そして、その分布がガウス分布に従っているかどうかをJarque-Bera検査で調べました。そこで本稿では、受信信号強度の分布がガウス分布に従うことを仮定しました。つまり、方向推定の過程でデータを受信する外部リーダについては、ガウス方程式の期待値としてN/3を用いて確率を算出し、内部リーダについては、ガウス方程式の期待値としてN/3を用いて確率を算出しています。 リーダーの位置を変えずに、受信したデータを異なる時間で収集・リサンプリングし、CLOPのデータを解析しました。CLOPのデータは、正規性検定によりガウス分布を示した。 X~N(μ, σ^2)を定義し、Xは式7で計算された曲線の頂点の集合を示し、μはリーダーのリサンプリング間隔の中間値を示す。 σは偏差値であり、その経験値は1に等しい。セクションVIでは、デルタ値の選択に関する実験が行われています。分布式は以下のように定義されます。 ![](https://i.imgur.com/6H3vFe3.png) ここで、p(x)はCLOPの分配確率、パラメータμは数学的な期待値で、その値はTHOPに等しくなっています。μは式(9)で表されます。 ![](https://i.imgur.com/8FubsA3.png) ここで、βはタグの移動方向の状態を示し、βが1の時はタグキャリアがゲートに入る時であり、βが0の時はタグキャリアがゲートから出ることを示す。式(10)は、タグキャリアがゲートに入る時、μがN/3と同等であり、タグキャリアがゲートから出る時、μが2N/3であることを示す。 ![](https://i.imgur.com/YGwbtWO.png) ## 検証 内側のリーダーと外側のリーダーのアンテナには,円偏波の指向性アンテナを使用しました。アクティブRFIDリーダーのMCUはNRF51822を使用しています。タグのMCUはNRF24LE01です。タグの送信頻度は3回/秒です。タグの初期送信電力は0dbmで、リーダの受信感度は-98dbmです。受信したRFデータは、ツイストペア線を介して端末コンピュータにデータを送信します。端末のMCUはSTM32F407IGで、データを処理し、結果をサーバーに送信しました。実験は学校の門と会社の門の2箇所で行いました。 ### A. 提案システムの基本機能 中国・浙江省湖州市の学校で、3日間の登校時と下校時の生徒の歩行速度を記録しました。学校には1761人の生徒がいましたが、急に加速して走ったり、急に歩行速度が遅くなったりした生徒の数を数え、目視で評価しました。図5に示すように、左の写真は学校の門を示しています。右の写真は、生徒の速度をチェックする実験です。 ![](https://i.imgur.com/dHvSgdG.jpg) 表Iに示されているように、平均して1.19%の学生が、1761人中21人以下の学生が急に走り出しました。つまり、ほとんどの人がゲートを通過するときのスピードは均一であるという結論になります。 ![](https://i.imgur.com/UL8q15k.png) ### B. 3つの異なる手法の比較 今回の実験では、環境を変化させた状態で3つの方法を比較し、外のリーダーの前に車を停めることで、実験の過程で電磁環境を変化させることによる影響を示しました。図6に示すように、左の写真は、ゲートの外にあるリーダーの前に車を駐車したことを示しています。右の写真は、計算された値に基づいてリーダーの角度を手動で調整した様子です。 ![](https://i.imgur.com/PqAdAyv.jpg) #### 1. 環境変化における3手法の比較 今回の実験では,本稿で提案する方法,結果に基づく判定方法,プロセスに基づく判定方法の3種類の方法を実施した。実験では,同じ環境下で,外側のリーダーの前に車がない場合とある場合で,3つの方法を比較しました。記録は30分ごとに行いました。11時の時点で、外側のリーダーの前に車を止めて、ゲートの環境を変えました。この実験では,組み込みシステムで計算された値に基づいて,読み取り機の角度を手動で調整しました。図7に示すように、左の写真では、2台のリーダが設置されたゲートを通過するタグキャリアが表示されています。右側の写真は、データが処理される端末とコンピュータです。まず、角度を元の角度に調整し、プロセスベース方式と結果ベース方式の記録を作成しました。次に、リーダーの角度を計算された値に調整し、提案された方法の記録を作成しました。図8は、3つの方式の誤差率の推定結果を示したものである。午前11時になるまで、外の読み取り機の前に車を駐車しなかった。図8に示されるように、提案された方法は安定しており、他の2つの方法は提案された方法ほど良くない結果となりました。 ![](https://i.imgur.com/OMxrbQh.jpg) ![](https://i.imgur.com/aFzFSA8.png) #### 2. パラメーターσの違いによる角度計算と精度への影響 このセクションでは,パラメータσの違いが角度と精度に与える影響について実験を行いました。1回のラウンドで、100個のタグのグループがゲートを通過させました。 7回のラウンドテストを実施しました。明確に観察するために,3つの異なる大きな間隔パラメータσ=0.25,σ=1,σ=4を使用しています。表IIから結論を得ることができます:σの値が大きい場合、安定状態の収束速度は遅くなります。このアプリケーションでは、σ=1が他の2つの値よりも優れています。ラウンド4では、外のリーダーの前に車を駐車しました。このことから、このアプリケーションでは、3つの値の中でσ=1が最も適していることを証明しています。 ![](https://i.imgur.com/bSAqQXs.png) ## 総括 非接触型の通信技術として、RFIDを用いたゲートシステムの人気が高まっています。しかし、RFID技術は環境の変化に非常に敏感です。複雑な環境の不確実な変化が生じるため、リーダーが人によってタイムリーに調整されることは不可能です。その結果、推定精度に影響が出てしまい、リアルタイム性に欠けることになります。本論文では,タグからの受信情報に応じて、リーダの角度を自動的に調整する方法を提案しました。同時に,この方法が安定した推定精度を維持するのに十分なものであることを実験で証明しました。今後は、リーダにステッピングモータを搭載し、リーダの回転をステッピングモータで制御するシステムを構築する予定です。また,高い推定精度を得るためには,加速度センサのデータを追加してアルゴリズムを最適化する必要があります.

    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