convert signal to morse code
7 ビュー (過去 30 日間)
古いコメントを表示
daniel hoasov cohen
2021 年 11 月 9 日
編集済み: daniel hoasov cohen
2021 年 11 月 9 日
hello,
as part of my self project, I'm trying to do morse encoder and decoder from sound,
I'm at the part before the decoder, I'm receiving the signal from the spectrogram and I convert it to a "digital signal" that is equal to the morse code but I don't know how to convert it to dash, dot, and space between words
I received a signal (for example) after some counter manipulations to filter the spectrogram signal
this plot its vector of [1x1499 values]
and the value of code after: - . . . . -
isn't good enough because I want it exactly like this: - . ... -
- . ... - = test (t=- ,e=. ,s=... ,t=- )
and of course, I want to do it generic and not specific for this example morse combination code.
1 件のコメント
dpb
2021 年 11 月 9 日
That's a fairly clean-looking signal -- I think I'd try findpeaks to locate the peaks and the time delay between each. The peak magnitude >~80 --> dash and >~40 --> dot look to to be a good selection level. Finding the delays longer than the (illegible) time between peaks would appear to be all needed for the spaces.
採用された回答
John D'Errico
2021 年 11 月 9 日
- Use findpeaks to locate each peak. (Ignore the tiny ones. So anything that is significantly above the baseline.)
- The value of the peak will indicate if it is a dash or a dot. high peaks indicate dashes. Low peaks indicate dots.
- Next, check the time between each successive peak. You can almost think of this set of times as a new series. The time between peaks is fairly uniform, except when there is a space. A space is indicated when there is a large chunk of time between successive peaks.
Easy enough. Your job to write the code though.
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Multirate Signal Processing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!