Skip to content

デコードが不安定、セキュリティに引っかかる #188

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
irukabando opened this issue Aug 9, 2023 · 7 comments
Open

デコードが不安定、セキュリティに引っかかる #188

irukabando opened this issue Aug 9, 2023 · 7 comments
Assignees
Labels
bug Something isn't working CW CW decoder & encoder

Comments

@irukabando
Copy link

irukabando commented Aug 9, 2023

概要

性能通りのデコードされない。

  • E や T ばかりデコードされたものが上位にくる。
  • 下位にデコードされているっぽいものがあるが、完全ではない

セキュリティに引っかかる

  • windows defender に引っかかり、起動さえできず、強制削除されてしまった。

再現手順・設定

  1. Windows10、firefox で release のページを開き、exe ファイルをダウンロード
  2. ダウンロードした exe ファイルを開く
  3. スマホで、YouTube にアップロードされている CW 音声をパソコンマイクに近づけてデコード
  4. 右上の x を押してプログラムを閉じた
  5. 再度起動させた際に windows defender のセキュリティに引っかかった。自動削除された。

使用したCW 動画 URL:
https://www.youtube.com/watch?v=oJfdofz8O8A&t=380s
https://www.youtube.com/watch?v=WPwnSe2v3Ts&t=241s
2つ試した。

期待される動作

  • 性能通りのデコード
  • windows のセキュリティに引っかからない

対応期限

特になし。急ぎません。

@irukabando irukabando added bug Something isn't working CW CW decoder & encoder labels Aug 9, 2023
@jucky154
Copy link
Member

jucky154 commented Aug 9, 2023

イシューを立てていただき誠にありがとうございます。 
録音のCWのデータをgithubのイシューに添付していただけますか? 

性能通りのデコードされない。 ことが実際に性能を発揮できていないのか、それともCW4Iの性能の限界によって解読できていないのかの切り分けや、どういう音声が苦手なのかの調査に必要となります。

windows のセキュリティに引っかからない件については、#103
と同様ですね。ただいま、対応を検討中です。

「セキュリティーに引っかかる理由としては音声デバイスにアクセスしており、利用者の音声を盗み聞するウイルスソフトではないかと勘違いされているからです。対応としては、https://support.microsoft.com/ja-jp/windows/windows-セキュリティに除外を追加する-811816c0-4dfd-af4a-47e4-c301afe13b26#ID0EBF=Windows_10のようにしていただければ幸いです。」と言うのが現状です。 exeそのものをネット配布・自作アプリ・インストール作業不要というアプリだとどうしてもセキュリティーで弾かれてしまうので…

@irukabando
Copy link
Author

ご回答ありがとうございます。
スマホで、Youtube にアップロードされていた CW の録音を流しました。わかりにくく申し訳ありません。
URL を添付いたしました。
セキュリティのほうは、ご回答の通りやってみます。
よろしくお願いします。

@irukabando
Copy link
Author

irukabando commented Aug 9, 2023

https://www.youtube.com/watch?v=wk5a_V2Hvnk&t=997s
これなどでもやってみましたが、上位に E, T の組み合わせ文字列がきて、下位にデコードされました。ほぼ完全でした。
録音音声の品質の問題でしたらすみません。
E, T の組み合わせが上位にくるのは性能通りなのか教えていただければ幸いです。
セキュリティのほうは改善できました。

@JG1VPP
Copy link
Member

JG1VPP commented Aug 9, 2023

その動画で解読してみました。結論から言うと、クリックノイズでしょう。

image

CW4ISRは、ウィンドウ最下部のスケルチを調整してから使用します。これがノイズとモールス信号とを分離する閾値です。右に1個スライドさせると、振幅では10倍に閾値が増加します。

開発段階ではスケルチの自動調整も試験してますが、手動の方が安定するので、暫定的に手動調整としています。

さて、スケルチを弱めると、確かにEとTの羅列が出現するようです。デバッグのため、JavaScriptでマクロを組んでみました。

decoder.Program = function(message) {
  printf('FREQ: %d: AMP: %f: TEXT: %s\n', message.Freq, Math.max(...message.Data), message.Text);
  plot(message.Freq + '.svg', message);
  return message;
}

以上をcw4i.jsとしてCW4ISRと同じ場所に置き、CW4ISRを起動すると、標準出力には以下のように出力されます。

FREQ: 28: AMP: 338858601077.648865: TEXT: LASTCALL COCQW?F DEVK2TER/P VK2TER/P K

また、周波数毎に波形(厳密には振幅の時系列)がSVGファイルで出力されます。

image
image

目的の信号と同時刻に130Hz離れた周波数で極めて強いクリックを検知しています。

現状、このようなノイズを高精度に判別する手法は開発中です。ヒューリスティックな解決策としては、マクロを組んで、同時刻の中で比較的弱い信号を除去する方法があります。

@JG1VPP
Copy link
Member

JG1VPP commented Aug 9, 2023

手打ちなど速度が部分的に変化するモールス信号の解読で多少難があるのは仕様です。これもマクロを組んで対応することを想定しています。Message構造体には必要な情報が含まれているので、デコードに失敗した部分だけを抽出して、速度を決定し、解読をやり直すことが可能です。

@JG1VPP
Copy link
Member

JG1VPP commented Aug 9, 2023

BGMはモールス信号として解析の対象になります。基本的に、リグの音声出力をそのまま解析する用途を想定しています。BGMなしで試してみてください。

@JG1VPP
Copy link
Member

JG1VPP commented Aug 11, 2023

試験的に、以下のcw4i.jsでクリックを抑制しています。最新cw4i.exeと同じ場所に配置して、CW4ISRを起動してください。

decoder.Program = function(message) {
  width = Math.max(...message.Body.filter((s) => s.Class).map((s) => s.Width));
  numSpace = message.Text.split(/[ET ]/g).length - 1;
  message.Hide = numSpace >= message.Text.length / 2 && width <= 10 || message.Text.length <= 2;
  //printf("%s, tone width: %d, %d spaces\n", message.Text, width, numSpace);
  return message;
}

マクロは好みで調整・改良してみてください。もし、良いマクロが開発できたら、報告いただけると助かります。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working CW CW decoder & encoder
Projects
None yet
Development

No branches or pull requests

3 participants