ダイキンの空気清浄機を分解清掃
2年前の買ったダイキンのACK75L-Tの中に虫が入りこんで死んでいるっぽいので分解清掃した。
ダイキンは法人向け技術資料を普通に公開しているので、詳しい分解方法 (公式) を普通に知ることができる。だいぶ便利。普通のユーザー向け取説と同じぐらいイラスト付きで親切に書いてある。
幸い、1匹が原型を保ったまま死んでいるだけでよかった。粉々になったカメムシとかいなくてよかった。
一応、開いて掃除できる部分は掃除したけど、さすがに何重もフィルターしたあとの部分だけあって、目に見えるほこりはなくて、非常に細かい粒子みたいなのが一様についている感じだった。ウェットティッシュで拭くと真っ黒になる感じ。
関連エントリー
- 空気清浄機の加湿が臭うとかなんとか 加湿器の除菌タイム 液体タイプ 無香料 給水タンク内の除菌・ヌメリ防止専用除菌剤 500ml cho45 除菌タイム ★ 4.0 / 5.0...
- 身近なノイズ源を特定する ウォーターフォール表示で遊んでいて、アマチュア無線のバンド全域に繰り返し強いノイズが入っていたり、部分的に超強力なノイズが入っていたりするこ...
- ✖ シャボン玉 酸素系漂白剤 750g cho45 シャボン玉石けん ★ 5.0 / 5.0 cho45 空気清浄機の加湿を使おうとしたら吹き出...
- そういえばマキタの掃除機を買っていた 500 Can't connect to lowreal.net:443 (certificate verify failed) とか先に書...
- 無線機の選定 FT-450DM FT-897DM IC-7200 当面の目標を欧文CWのマスター (具体的にはLCWO.netのレッスンを40まで終了させること)に置いて、それが叶ったら機材を買おうというこ...
Web Audio (JavaScript) で RTTY (周波数偏移変調) をデコード
RTTY (ラジオテレタイプ = 無線による文字伝送) というものがありまして、大変昔昔に考えられた通信プロトコルなのですが、アマチュア無線では一応現役のデジタルモードであります。
RTTY で通信すること自体にはあんまり興味沸いてなかったのですが、プロトコル自体には興味があったので、Web Audio と絡めて、試しに実装をしてみました。
RTTY のプロトコル
そもそも RTTY はラジオテレタイプの総称なのですが、アマチュア無線においては典型的には以下のようなプロトコルのようです。
- 170Hz シフトの FSK (複数の周波数を切り替えて信号を伝達する)
- 5bit の ITA2 コード Baudot Code (ボーコード) で、スタートビット1bit、ストップビット1.5bit の非同期方式
- 速度は 45.45 ボー (22msecごとの符号)
さらに、無線機とのインターフェースとしては AFSK (Audio? FSK)、直接FSK というのがあって、前者は LSB モードの音声としてオーディオ帯域を入力するもの。後者はキーイングに応じて無線機側で直接送信周波数を 170Hz シフトさせるものです。
AFSK だとマイク入出力だけで無線機とのインターフェイスが完結するので接続は簡単になりますが、無線機に表示されている周波数と実際発射される周波数にズレが生じたり、ALC の調整とか、電波の質とか、送信が少々面倒です。まぁしかしとにかく AFSK として実装をしました。
なので、送信側としては 2125Hzの「マーク」符号 (=ビット1に相当) と、シフトされた「スペース」符号 (=ビット0に相当) を作ります。
Baudot Code
RTTY が開発された当初には ASCII コードとか存在しなかったようです。
5bit しかないので、アルファベットと数字・記号をシフトコードで切り替えながら送受信することになってます。なので、シフトコードの受信にミスると文字化けが起こります。
出力 (送信)
まずデバッグしやすくするため、送信側から作りました。デバッグには既存の MMTTY を wine で起動してマイク経由で適当にやりました。仕様通りに信号を変調すればいいので送信は比較的楽です。ただ、以下の点にハマりました。
- LSB モードの復調結果を取り込むことを前提としているので、マークとスペースの位置が反転する (スペースが170Hzアップシフトになる)
- 下位ビットからの送信
入力 (受信)
まぁ当然めんどうくさくて、とりあえず同期検波を実装してみました。マーク周波数、スペース周波数それぞれについて、I と Q (1/4位相ずれ) 信号を作ってやるやつです。それで直流になるので、あとは頑張って22msec分のサンプルを数えながらデコードしています。
この方法だと特にフィードバックとかがいらず、ストリーム1パスで処理できるので気が楽でいい感じです。
今回は JS 側でフィルタとか書きたくなかったので、最後のほうまでダウンサンプリングせず、できるだけ Web Audio の API で実装してみました。単に面倒だったのと、Web Audio の知見を溜めようという狙いです。I/Q な信号が2本なので、合計4チャンネルの信号を作って一気に1つのローパスフィルタノードに入れたりして結構楽しい感じです (ただ、こうするとチャンネル間で干渉するっぽい)。オシレーターノードを使ってもっと綺麗に書けないかと思ったけど、かえって面倒だったので素直に sin/cos してます。
ちなみにローパスとハイパスの Q 値は 0 以上の場合、カットオフ周波数付近がなぜか増幅されるという挙動になるのでハマりました。減衰傾斜が急になるのだとばかり思っていたら全然違った。バンドパスの場合の Q 値は上げても減衰傾斜が急になるだけです。
関連エントリー
- WebAudio FSK モデム 前文 我々は、ブラウザの WebAudio サポートによって、空気をメディアに使う方法を手に入れた。これにより、またひとつクロスドメイン通信...
- WebAudio でブラウザで動く SDR をつくる 概要 無線機の出す I/Q 信号をサンプリングして 2ch (ステレオ) としてコンピュータに入力し、これを直接 WebAudio から扱っ...
- HTML5 Web Audio でモールスを解読する というのをちょっと前に作ったけど日記に書いていなかった。 デモ (音アリじゃないとよくわからない): 音ナシ: http://lowreal...
- RNN モールスデコーダの試作 メモ書き。試行錯誤の途中でコードが消えさったりしていてよくないので、やったことだけ書いておく モールスの特徴 信号周波数が固定されており正弦...
- スペアナでFMの信号を見る 最初に知ること 周波数変調は、入力信号 (変調信号) の振幅が周波数の変化に変わる 変調後の最大周波数偏移は入力の振幅によって決まる 振幅の...

