【C4FM】デジタル信号復調 2 【π/4DQPSK】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
各種測定器、SDR、ソフトウェアなどを最大限に利用してデジタル通信の復調にチャレンジする人たちが集うスレです。
コテハン推奨。
前スレ
【C4FM】デジタル信号復調【π/4DQPSK】
http://mint.2ch.net/test/read.cgi/radio/1434951910/ >>550
製造してるのは三菱1社。
その他のメーカーはOEM供給を受けて販売しているだけ。 もしM-CELP突破できればの話ですが、同じ三菱系のJRデジタルの解析にも応用できる可能性があるのでしょうか? >>534
デコードした結果を使ってM-CELPのデータ構造を組み立てるように追加コーディングしました
ttp://fast-uploader.com/file/7066297450891/
使い方は>>534と同じです
前回から、次の点を加えてあります
(1)hashの計算と比較
(2)MCAのデータ形式への変換と表示(2進数)
(3)M-CELP形式への変換と表示(16進数)
また、引数に与えていたマジックナンバーを内包しました
これは、voice_tch.c先頭近くにある#undefを#defineに変更すると以前と同じ仕様になります
まだ出力結果は評価出来ていません(DSPのシミュレータを動かせる人求む!)
みなさんの実験のベースとして参考にしていただけるとありがたいです MCA実機でNECチップの型番ググっても全く情報出てこない
オプション?外部端子の通信用みたいで無視しても構わなそうだけど気になる >>553
お疲れ様です。 いつもありがとうございます。
ダウンロードさせていただきます。 Code Composer Studio とチャイナ製のJTAGアダプタで
実機デバッグできて色々とイジれそうですね〜
TMS320C54x. のシミュレーター見つけたんで貼っときます
gdspsim.sourceforge.net >>556
CCSのシミュレータで検証
C54x用はCCSのVer4以上では含まれておらず
Ver3はダウンロード出来ず断念
gdspsim
CentOS上で実行してみたけど実用的じゃない・・・
実機で検証用にJTAGアダプタ入手待ちです
だれか動作環境のあるかたチャレンジ求む!! CCS Ver5だとC55xのシミュレータが実行出来て
C55xはC54xとソフトウェア互換らしいのでMCAのバイナリ読ませて
実行までは出来たんだけどC55xから実装された可変命令長が邪魔して
逆アセみるとニーモニックが変になってる・・・ C55xのアセンブラでC54x互換モードが有るらしい
C54xのバイナリを逆アセンブル→C55xでアセンブル
CCS Ver5のC55xシミュレータで旨く行けば実行出来る? このC5509A評価ボードに付いてくるDVDにはCCS3.3が入っているみたい。だれか試しに買わない?
ttps://www.aliexpress.com/item/free-shipping-DSP-development-board-DSP5509-development-board-TMS320VC5509A-development-board/32607704473.html >553
お疲れ様です。自分の環境でも state = 0x00 : OK !! が出ました。
これを>515に入れてみたいのですが、どうやったらいいでしょう?
PCMが出ればwavにしてみます。よろしくお願いします。 >>561
あのソースはまだ不完全で、鋭意デバッグ中ですので、もうしばらくお待ち下さい
(現状だと何を入れても全部0の出力しか出ません) こんにちは
Fchデコーダーを改版しました
ttp://fast-uploader.com/file/7066959438477/
いつも通り、gcc -o 504 504.c でコンパイル出来ます
503からの変更点は、
(1) >>553の成果を取り入れて、音声フレームのCELPフレームへのデコードと表示を行うようにしました
(2) RCH/SACCHのデコードを、スーパーフレーム末尾で無く、逐次に行うようにしました
(3) RCHのデコード結果を、成功した場合にのみ表示するようにしました
(4) SACCHの無効フレーム時には、invalidを含め何も表示しないようにすっきりさせました
(5) (S/F)ACCHの出動種別87(disaster)を追加しました (>>501さん御提供)
(6) その他、細々とした高速化を図っています
です
使ってもらって感想をいただけるとありがたいです >>563 の付け足し
CELPのフレームですが、9word(18byte)分の16進表記で、先頭からの138ビット+1ビットを使っています
+1ビットは、hash計算エラーのフラグです(1なら失敗)
実機シミュレータならば、
(1) 0x6792に1を書き込んで逆畳み込みを抑止
(2) 0x292aaを呼び出してセッション初期化
(3) 0x6550~の9wordにCELPフレーム+フラグを書き込み
(4) 0x29365を呼び出してデコード
(5) 0x6650〜の320wordのPCMまたはμ-LAWデータを読み出し
(6) セッションの間、(3)〜(5)を繰り返し
となるはずです(未検証)
また、EF-6190実機の音声録音バッファも同じデータ構造のはずですので、ここを乗っ取れれば実機から音声が出力できるはずです(未検証)
これにはデバッグシリアルを探し当てることが必須です
>>515のプログラムは、何か根本的なところ(ALUを使った演算部のエミュレーション?)が間違っているのでまだ動きません
全面的な書き直しを含め、今後の作業を悩み中です >>563
表示がゴチャゴチャして非常にうざいので、スッキリさせたバージョンを作りました
ttp://fast-uploader.com/file/7067419362771/
gcc -o 600 600.c でコンパイル出来ます
比べてみてご意見下さい >>565
いつもありがとうございます。使わせていただきます。
差し出がましいですが、常時記録だとFREE時省略のオプションなども欲しいかも? >>566
手元ではこんなのを使ってます
ttp://fast-uploader.com/file/7067506803987/
コンパイル後、 101 < output.bin | 299 | 600 という感じに、間に挟んで使います
(こういう意味じゃ無かったらすみません) >>567
おお、まさにこれです!ありがとうございます。 大変お疲れ様です。
>>565
MCA→CELP変換テーブルのあるROMアドレスをご教示いただけますか。
565ですと、24,25、127が2つあるので。
※想像ですが、81番目が14、82番目が15、114番目が126かなと
思っています・・ >>569
あぁ、やっちまいましたね... > 自分
早急に見直します....
なお、テーブルですが、ROMのPAGE1の0xfaf4〜0xfb7eと0xfb7f〜0xfc09になります
前者がワードオフセットで、後者がビットマスクです >>570
>>569さんのご想像通り、その3ヶ所が間違えていました
>>553の voice_tch.c, >>563の504.c, >>565の600.cに影響があります
以下の配列が正しいものになります
const unsigned char celp_conv_table[139] = {
41, 42, 43, 18, 19, 20, 21, 22, 84, 85,
44, 45, 46, 47, 86, 87, 88, 89, 90, 91,
23, 24, 25, 26, 27, 28, 48, 49, 50, 51,
52, 92, 93, 94, 53, 95, 96, 97, 98, 99,
100,101,102, 54, 0, 55, 1, 2, 3, 4,
5, 56, 57, 58, 59,103, 60, 61, 62,104,
105,106, 63,107,108,109,110,111,112,113,
114, 64, 6, 65, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 66, 67, 68, 69, 70,
115,116,117, 71,118,119,120,121,122,123,
124,125, 72, 29, 73, 30, 31, 32, 33, 34,
74, 75, 76, 77,126, 78, 79, 80,127,128,
129, 81,130,131,132,133,134,135,136,137,
82, 35, 83, 36, 37, 38, 39, 40,138
};
お手数ですがコピペしてご使用下さい どなたかMCAの無音CELPフレームの取得に成功された方がおられましたら、いただけないでしょうか... MCAってT85でしたっけ?ちょっと試してみようかな。 どなたかT85のgrcのブロック組み立てた方いますか? >>574
拙作t79.grcの周波数を変えて試してみてください >>575
お返事遅れてすいません、早速周波数部分を変更して使用させていただいております。
タイミングが悪いのか通話してる波がなかなかキャッチできないっす笑 >>576
毎回異なるスクランブルがかかっているはずです...
総当りすればいけるのかもしれませんが 一か月位かかって中国からDSPエミュレータ届いたんだけれど
象にでも踏みつぶされたように破損してるよ!!
また送ってもらうのに早くて半月位かかるな〜 >>228
亀レスですが...
UEFIブートが有効になっているとGRUBが起動すると思いますが、どうもこの周辺にバグがあるようで、
casper-rw等が正常にマウント出来ないようです
BIOSでUEFIブートを切るとUNETBOOTINになりますが、こちらでは正常にマウントされて起動します
(手元で再現しました)
ご参考まで... やっとDSPエミュレータが届いたぞ!
色々と忙しいんで、ゆっくりとやってみますよ dat落ち防止保守。前スレ5494は元気に頑張っておられますか。 たいへんご無沙汰しております
>>582
インフルエンザで寝込んだりしていましたが、何とか生きてます
近況としては、CELPのデコーダを全面書き直しして、止まらずにピロピロ音が出るようにはなったのですが、
正常に動作させるには、現状のフレームフォーマットを2ひねりくらいする必要がありそうな感じです
引き続き、>>572 の無音フレームの取得に成功された方をお待ちしています
よろしくお願いします 549様おつかれ様です。
>>569
>>570
offset→CELPワード、fbit position→ワードbit位置かなと想像して
f7daと格闘・年越しましたが、そもそも同じ変換テーブルにできませんでした…
(2f7f4、2f803に関連する0x720cの謎が解けず、無理やり並べても
44,46,47,48,49,50,72,…,128,129,138にしかなりません)
関連しそうな関数f605とf5cbは、自分にはもう完全にお手上げのため
大変恐縮ですが、0x720cの意味合いについて
何かヒントをいただけませんでしょうか。 >>584
かなり良い所までいっている気がします
まず、44,46,... ,129,138 の隣に0...138の番号を書きます
次に、44,46,....,129,138 を昇順にソートします
そして、隣の番号を順に読むと...
というわけです
参考までに自分が求めたときの表を上げておきます
ttp://fast-uploader.com/file/7071996969638/ >>584
肝心なところを書き忘れました
0x720cは、ページ0のアドレス=RAM(ワークメモリ)を指すものだと思います
手元の解析メモでは、Viterbiデコーダーの出力(84ワード)と書いてあります
(だいぶ忘れてしまっていますので正確さは保証の限りではありません すみません) >>585
おおっ!ソート処理で全一致しました!
ありがとうございます、すっきりしました
再お願いですみません、ソートのコード番地はどの辺でしょう?
>>586
デコーダの件は了解です、勉強してみます >>587
ソート自体はDSP側には無いです
デコード時にエンコード用の配列を毎度逆に読むのが嫌だったので、手元でソートしただけでした
DSP側は毎度逆に読んで処理しているはずです お疲れ様〜。
そんな単純じゃ無いんだわさ。
ある部分が変わり続けるんだよ。 >>589
やっぱりそうなんですか
難しいですね... 音声通話自体が激減してるのに
ほんと未練がましい老害 タクシーも消防も無線機がデジタルになっただけで通話頻度ほとんど変わってないが やはりそうだよね。1通話が復調出来ても次に変わっちゃうんだよね。 聞こえてない奴はレス禁止
ここは、マルマルできてる奴が暗語でお話しするスレ
繰り返す
聞こえてない奴はレス禁止 >>598
ブログは見たことある
ただ音声の復調はダメだったかと
メーカーと機種の表示はできてた 初めまして
前スレ334さんのフローグラフを見よう見まねで作ってみました
とりあえず表に見えるパラメーターだけ書き写してやってみたら5秒だけ縦に真っ直ぐ筋が出ましたが以降は綺麗なビットマップが出ませんでした。
現在地からは防災・Fともに強力に入ります
完成しているプログラム再うpしていただけると助かります、よろしくお願いします 前スレ334ではありませんがWarning QWT has been foundと出てたりしませんか?
そのフローグラフ(grcファイル)をupしていただけますか? レスありがとうございます
最初はubuntuでやっていましたが仰るとおりQWTのバージョンがうんぬんと出たのでwindowsでやると上手く出ました
fastuploderの期間はどのぐらいがおすすめですか?
upするのが初めてなので教えて頂けると幸いです。 あぁ、fastuploderの削除までの期間のやつですよね。
私はあまり考えず1週間とかにしてました笑 upしてみました
http://fast-uploader.com/file/7073384180873/
パスは270帯の変調方式のアルファベット4文字(小文字)です
期限は24時間にしてます
そちらの都合が悪くDL出来なかったら再度upします >>601
拙作t61.grcとt79.grcをupしておきます
参考にしていただければ幸いです
ttp://fast-uploader.com/file/7073467140862/ おお!
ビットマップが真っ直ぐに現れました!
自分が作ったのは途中から同期出来なくなり、ぐちゃぐちゃになってしまいました。
頂いたものを参考に見比べてます、ありがとうございます!
p.s. 334さんは多重分離されてるみたいですね、分離できたら面白そうだなー 事のついでに、F-chデコーダをupしておきます
(CELP関係に特に進捗は無くて申し訳無いです)
ttp://fast-uploader.com/file/7073476505599/
いつもどおり、gcc -o 601 601.cでコンパイル出来ます
600.cからの変更点は、
(1) PICHの表示を、8進数から一部を10進数に変更しました 10進数には頭に#を付けています
(2) DATAのデコード時、緯度経度の時に変な空行が表示されるのを抑制しました
(3) 音声の未訂正ビット54ビットの並びを逆順で扱うようにしました(合っているかどうかは不明)
(4) PICHに本部名と局名を追加表示するprint_station関数を追加しました(ファイル末尾) 漢字(Shift-JIS)を使っていますので、エディタで開く際にはご注意下さい
です
皆様の情報を元に(4)を充実できればと思っています
よろしくお願いします 601です
grcからのデータを流したら8桁のバイナリと「XXX unknown sync word」と出ました
地方だからデータベースに合わないのかな?
でもビットマップを見て妄想してます >>610
T61の話と仮定しまして...
output.binはフレーム単位に並べられていませんので、拙作101を使って並べなおしてから601に食わせてください
ttp://fast-uploader.com/file/7073545963136/
使い方は、
101 < output.bin > output.t61
601 < output.t61 > output.txt
という感じです(テキストには漢字(Shift-JIS)が含まれることがあります) おお!
IDELとか出ました
案外電波が弱くてもデコード出来るんですね
すごい、ありがとうございます! >>609
お疲れ様です。
いつもありがとうございます!
601いただきます。
print_stationこちらでも照合してみます。
皆さんで充実させられたら良いですね。 >>613
print_stationについては、以前の自分の大失敗(>>343>>344>>345)がありましたので、予断をせずに保守的に進めたいと思います
現在書かれている内容も、全て正しいわけではありませんので、記述のサンプルとして参考程度にしていただければと思っています
都道府県に関しては、『無線脳の視点』さんのブログ(※)に書かれている、「都道府県・主運用波(1〜7)」を受信すると、近所の都道府県は分かってくると思います
また、住所や緯度経度が表示されるような局であれば、そこから本部名が類推できます
個別の局名は、いまのところ力技でしか判別出来ていません...
(※)
ttp://blog.goo.ne.jp/jg7ubp/e/829cd86302fe0c741a9ee3cce6b9d682 >>614
こちらで試した参考程度の情報ですが
firedepが321と325は神な川県っぽいです。
325はY浜本部?でしょうか。stationの方は全然見当つきません。 >>615
情報ありがとうございます
Wikipediaの『消防本部一覧』を見ると、K奈川ですと24本部あるようですので、
1本部1波としても最低24波ですね...大変だ
こういうのは周波数帳をおまけで出している雑誌社に丸投げしたいですね
たのむからもっと意味のある周波数帳を出してくれ... > 某社 800MHzMCAの無音部抽出うまくいかんな〜。
そもそも音声通信を捉えるのが意外とムズくてねぇ。
前スレ549氏提供のM-CELPコーデックのTX側を見つけそれに音声突っ込んでみて、
そこから比較分析をしてみようか考えてみたが、
技術力が追い付かないことに気付き断念したぜ(笑) あー、送信前のコーデック変換に無音入れてみて、その出力とF-chの無音部を比較してみるってことか >>616
615です。参考にして頂けたら幸いです。
601などの出力結果に受信時刻のタイムスタンプを追加する良い方法などありますでしょうか?
後から照らし合わせする場合に捗るかなと思ったのですか。 >>619
追加実装が必要ですが、binファイルのファイル名に日時を入れる方法が考えられますね
(1フレームは40msですので、各フレームは先頭からの相対時間で求められると思います)
スケルチが閉じたらファイルも閉じて、次に開いたときには別のファイルに書き込む、というのが良さそうです
GRCのOOTモジュールは自分には荷が重いので、外側で何とかならないか検討してみます ubuntu とか言うの入れてみた
昔に比べると子供でもできるレベルまで簡単になってて驚いた 615です。
firedep 321と325ですが321もY浜市消防局のような気がしてきました。
1ヶ所の消防局でfiredepが2種類以上存在することはあるのでしょうか? >>622
横浜の団体コードは連番で5つ、団にも振ってあります。川崎は4つ、相模原は3つ。
東京はなんと13も割り当ててあります。
参考まで。 >>623
なるほど、そうなのですね。参考にさせていただきます。
5つとなると区域でわけてあるのかな? すみません>>180のファイルをもう一度アップしてもらえないでしょうか? >>625
とりいそぎ現時点での全部入りをupしておきます
ttp://fast-uploader.com/file/7074515536006/
不具合ありましたらお知らせ下さい 申し訳ありません>>223の95MBのファイルの誤りでした。もう一度アップは可能でしょうか。 >>627
最新版とマージしますのでしばらくお待ち下さい >>627
おまたせしました
ttp://fast-uploader.com/file/7074764268981/
使い方はこのスレに以前に書いたものと変わっていませんので、そちらを参考にしてください
不具合ありましたらお知らせ下さい
あと、UEFIブートは、boot\grub\boot.cfgをエディタで開いて、menuentryの中のlinuxで始まる行の末尾に persistent を付けると正常にブートできると思います
(BIOSブートは何もせずにOKです 念のため) ありがとうございます。半年ぶりだったので新たに環境を構築してうまく起動しました。>>626のファイルですが既存のファイル置き換えで構わないのでしょうか。 >>630
基本的には置き換えでOKです(お手元で何か変更をされているならバックアップをお願いします)
一部には仕様を変えることなく高速化&軽量化を図っている部分がありますが、たぶん誤差の範囲です... 大変ご無沙汰してます
消防団体コードを研究されている各位にお願いなのですが、
全国消防便覧 ttp://www.fdma.go.jp/disaster/syobobenran/ に記載されている本部の並び順と、分かった範囲での並び順が同じかどうかを教えていただけますでしょうか
自分の調査では、県によって同じ場合と違う場合との両方がある感じです
(日光県はバラバラ、グンマーはだいたい同じ並び、彩の国県は二つに分かれているけれど、ほぼ同じ並び) >>631
かなり遅れましたが迅速な対応ありがとうございました。半年ぶりに実行して期待しましたが受信結果は前回と変わらず笑
これからも色々試していきたいと思います。 >>633
状況が良く分かりませんが、一番シビアなのが周波数の誤差だったりしますので、そのへんを注意してみて下さい
ご健闘をお祈りします 重洲無線株式会社は2018年3月12日、C4FMデジタルモードとアナログFMモードを搭載した144/430MHz帯(バンド切り替え式)のモービル機「FTM-7250D(50Wモデル)」「FTM-7250DS(20Wモデル)」を発表した。
フロントパネルに大音量(3W)で高音質のフロントスピーカーを搭載、FACC冷却システムにより安定したハイパワー出力が得られるという。
発売開始は2018年4月予定、希望小売価格(税抜)はFTM-7250Dが49,800円、FTM-7250DSが47,800円。
https://www.hamlife.jp/2018/03/12/yaesu-ftm7250d-release/ ↑なんだよスレチじゃねぇか。
他スレからの情報だと、
SDR#&TETRAプラグイン又はgrd&winteliveで成田空港のTETRA聞けるらしいぞ、このスレのみんなも是非試してみて。
俺も試してみたんだが良好に音声デコードできるぜ。
ちなみに受信地は千葉市。 家近いけどsdr#がtetraプラグイン読み込まなくて断念したわ。終了しようとしてもエラー出るし grd+msys2+winteliveで試してみるといいよ。
てかみんなSDR#プラグインだめでコケてるみたいだね。
ちなみに俺もです。 もちろん。音声として聞ける。
複数局音声通信してる際はデコードが追いつかなくてブツブツになるけど。 >>644
ありがとう。
いわゆる日立の無線機を使ってる
空港内のやつよね? それはT87タイプだから違うすよ、
今回のはTETRA対象、つまりT114て事です。 空港内デジタルでもT87とT114に分かれてる訳で、当然導入が早かったのは羽田空港(多分)のT87なんですが、以後2017年に成田の空港内デジタルにT114仕様でTETRAが導入されたって訳です。
面白いのが、この二つのシステムが概ね460〜462MHzの間に共存されてるんですよ。
当方千葉市だからなのか成田・羽田空港は相方とも良好に受信できるコンディションなので試してみたんですが、
SDR#で捕らえられたスペクトルと比べてみるとTETRAとしてデコードされる周波数とされない周波数に分かれてるのがわかります。デコードされないのが恐らく羽田空港のT87空港内デジタルだと思われます。
ちなみにT114の仕様書の64ページ以降にこの二つのシステムの共存・干渉について詳しく書かれています。 >>644
複数局って、ドングルいくつつけてるんだよw いや、そういう複数局って意味じゃなくて、grd+MSYS2+winteliveのシステムって最大10波同時デコードトランキングできるのよ。
ドングルは1個ですよ(笑)
つまり、そのwintelive走らせてる時に複数局が音声通信してる時は聖徳太子状態になるんだけど、
よく聞いてるとそれぞれ音声がブツブツしてて、どうやら複数局が音声通信してる際はACELPでのデコーデックが追いついてないみたいなんですよ。
っていうことです。
ちなみに調べた結果ですがご参考に↓
成田
460.3250 460.3750 460.4250 460.4750 460.6250 460.7750
460.9250 461.0750 461.2250 461.3750
羽田(だと思われる)
460.5250 460.6750 460.8250 460.8750 460.9750 461.0250
461.1250 461.2750 461.3250 461.4250 この時間になると保守作業がメイン。
誘導路や滑走路の点検、ランプ等の設備点検や補修作業の交信が多いです。
そのため誘導路・滑走路への進入・終了をいちいち管制塔と交信して承認を得ているのがわかります。
日中は旅客誘導・ゲートセキュリティ的なやつ・荷物積み込み的な交信が多いです。
いずれにしても交信量は割と多いので面白いですよ。
私は航空知識は疎い方なんですが、ある程度知識ある方はなかなか楽しめるんじゃないかと思います。 ■ このスレッドは過去ログ倉庫に格納されています