{"id":915,"date":"2020-09-29T21:42:28","date_gmt":"2020-09-29T20:42:28","guid":{"rendered":"https:\/\/www.sp3yor.net\/?p=915"},"modified":"2020-09-30T07:18:57","modified_gmt":"2020-09-30T06:18:57","slug":"fst4-vs-ft8","status":"publish","type":"post","link":"https:\/\/www.sp3yor.net\/?p=915","title":{"rendered":"FST4 vs FT8"},"content":{"rendered":"\n<p>Nowa wersja aplikacji WSJT-X autorstwa K1JT, oznaczona numerem 2.3, przynosi ze sob\u0105 now\u0105 emisj\u0119: FST4.<\/p>\n\n\n\n<p>W pewnym wzgl\u0119dzie jest ona podobna do FT8: zajmuje podobn\u0105 szeroko\u015b\u0107 pasma, te\u017c jest to FSK z pojedyncz\u0105 no\u015bn\u0105 (GFSK-4), te\u017c mie\u015bci si\u0119 w periodzie 15 sekund.<\/p>\n\n\n\n<p>Za pomoc\u0105 WSJT-X wygenerowa\u0142em dwa pliki wav: zawieraj\u0105cy transmisj\u0119 FT8 (12,5 sekundy, jak wida\u0107), oraz FST4 (tylko 9,5 sekundy (!), co przy 15-sekundowym periodzie zostawia ca\u0142kiem &#8222;ludzkie&#8221; pi\u0119\u0107 i p\u00f3\u0142 sekundy na reakcj\u0119). G\u00f3ra FT8, d\u00f3\u0142 FST4:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"822\" height=\"373\" src=\"https:\/\/www.sp3yor.net\/wp-content\/uploads\/2020\/09\/image.png\" alt=\"\" class=\"wp-image-916\" srcset=\"https:\/\/www.sp3yor.net\/wp-content\/uploads\/2020\/09\/image.png 822w, https:\/\/www.sp3yor.net\/wp-content\/uploads\/2020\/09\/image-300x136.png 300w, https:\/\/www.sp3yor.net\/wp-content\/uploads\/2020\/09\/image-768x348.png 768w\" sizes=\"auto, (max-width: 822px) 100vw, 822px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Stanwisko testowe<\/h2>\n\n\n\n<p>Z g\u00f3ry uprzedzam &#8211; nie jest to w \u017cadnym wzgl\u0119dzie test laboratoryjny, a raczej ch\u0119\u0107 szybkiego por\u00f3wnania starego i znanego z nowym i &#8230; no w\u0142a\u015bnie, czy lepszym?<\/p>\n\n\n\n<p>W Gnuradio 3.8 przygotowa\u0142em nast\u0119puj\u0105cy flowgraph:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"697\" height=\"237\" src=\"https:\/\/www.sp3yor.net\/wp-content\/uploads\/2020\/09\/image-1.png\" alt=\"\" class=\"wp-image-917\" srcset=\"https:\/\/www.sp3yor.net\/wp-content\/uploads\/2020\/09\/image-1.png 697w, https:\/\/www.sp3yor.net\/wp-content\/uploads\/2020\/09\/image-1-300x102.png 300w\" sizes=\"auto, (max-width: 697px) 100vw, 697px\" \/><\/figure>\n\n\n\n<p>Dzia\u0142anie jest proste, \u017ceby nie powiedzie\u0107 banalne. Od lewej do prawej patrz\u0105c: odtwarzamy przygotowany uprzednio plik .wav, mno\u017cymy ka\u017cdy sampel przez wzgl\u0119dnie niewielk\u0105 sta\u0142\u0105 (czyli &#8222;\u015bciszamy&#8221;, lub zmniejszamy amplitud\u0119), a nast\u0119pnie dodajemy szum losowy o amplitudzie 0,4, po czym wypuszczamy na wyj\u015bcie audio, na kt\u00f3rym nas\u0142uchuje WSJT-X.<\/p>\n\n\n\n<p>O synchronizacj\u0119 czasow\u0105 odtwarzania &#8222;zaszumionego&#8221; i &#8222;przyciszonego&#8221; pliku wav dba bardzo prosty (a nawet troch\u0119 prostacki) skrypt linuksowej pow\u0142oki:<\/p>\n\n\n\n<p><code>while [ 1 ]; do if [ date +%S == \"29\" ] || [ date +%S == \"14\" ] || [ date +%S == \"44\" ] || [ date +%S == \"59\" ]; then .\/ft8_vs_fst4.py; break; fi; sleep 0.05; done<\/code><\/p>\n\n\n\n<p>Kt\u00f3ry startuje ca\u0142y ten flowgraph sekund\u0119 przed ka\u017cd\u0105 pe\u0142n\u0105 \u0107wiartk\u0105 minuty&#8230; czyli na pocz\u0105tku ka\u017cdego 15-sekundowego periodu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wynik<\/h2>\n\n\n\n<p>Na pierwszy ogie\u0144 idzie n\u00f3wka, czyli FST4. Odtwarzam nagranie w k\u00f3\u0142ko, stopniowo zwi\u0119kszaj\u0105c amplitud\u0119 o 0,001, a\u017c w ko\u0144cu, przy warto\u015bci 0,041 moim oczom ukazuje si\u0119 zdekodowany komunikat:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"419\" height=\"65\" src=\"https:\/\/www.sp3yor.net\/wp-content\/uploads\/2020\/09\/image-2.png\" alt=\"\" class=\"wp-image-919\" srcset=\"https:\/\/www.sp3yor.net\/wp-content\/uploads\/2020\/09\/image-2.png 419w, https:\/\/www.sp3yor.net\/wp-content\/uploads\/2020\/09\/image-2-300x47.png 300w\" sizes=\"auto, (max-width: 419px) 100vw, 419px\" \/><figcaption>FST4 &#8211; amplituda 0,041<\/figcaption><\/figure>\n\n\n\n<p>Przy w\/w parametrach, sygna\u0142 na wodospadzie jest praktycznie niewidoczny:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"248\" height=\"164\" src=\"https:\/\/www.sp3yor.net\/wp-content\/uploads\/2020\/09\/image-3.png\" alt=\"\" class=\"wp-image-920\"\/><figcaption>1000 Hz &#8211; wida\u0107, ale s\u0142abo<\/figcaption><\/figure>\n\n\n\n<p>Sprawd\u017amy wi\u0119c, jak do tego wyniku podchodzi wyzwany na pojedynek staruszek, FT8. Podkr\u0119cam amplitud\u0119 do 0,05; nast\u0119pnie do 0,055 &#8211; sygna\u0142 na wodospadzie to ju\u017c prawdziwy <em>booming<\/em>, ale okienko ze zdekodowanymi wiadomo\u015bciami wci\u0105\u017c puste.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"226\" height=\"216\" src=\"https:\/\/www.sp3yor.net\/wp-content\/uploads\/2020\/09\/image-4.png\" alt=\"\" class=\"wp-image-921\"\/><figcaption>dwa periody 0,055, ni\u017cej dwa periody 0,05 &#8211; brak dekod\u00f3w<\/figcaption><\/figure>\n\n\n\n<p>Dopiero przy warto\u015bciach 0,059 i 0,060 moim oczom ukaza\u0142y si\u0119 zdekodowane sygna\u0142y FT8:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"422\" height=\"102\" src=\"https:\/\/www.sp3yor.net\/wp-content\/uploads\/2020\/09\/image-5.png\" alt=\"\" class=\"wp-image-922\" srcset=\"https:\/\/www.sp3yor.net\/wp-content\/uploads\/2020\/09\/image-5.png 422w, https:\/\/www.sp3yor.net\/wp-content\/uploads\/2020\/09\/image-5-300x73.png 300w\" sizes=\"auto, (max-width: 422px) 100vw, 422px\" \/><figcaption>FT8 &#8211; 0,059 i 0,060<\/figcaption><\/figure>\n\n\n\n<p>Ciekaw\u0105 r\u00f3\u017cnic\u0105 jest to, \u017ce przy FST4, WSJT-X wy\u015bwietla zdekodowane komunikaty natychmiast po ich zako\u0144czeniu, czyli oko\u0142o dziesi\u0105tej sekundy periodu, zostawiaj\u0105c operatorowi troch\u0119 czasu na decyzj\u0119. Przy tak s\u0142abych sygna\u0142ach FT8, s\u0105 one dekodowane dopiero w okolicy 14-15 sekundy periodu. I \u017ceby nie by\u0142o, pod mask\u0105 laptopa mam i7-4702MQ a nie Pentium III \ud83d\ude09<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wnioski<\/h2>\n\n\n\n<p>Podstawowy wniosek? FST4 jest lepsze. Jest szybsze, dekoduje si\u0119 przy znacznie s\u0142abszym sygnale.<\/p>\n\n\n\n<p>Oczywi\u015bcie moja ma\u0142a symulacja mo\u017ce nie mie\u0107 zbyt wielkiego prze\u0142o\u017cenia na rzeczywisto\u015b\u0107, ale w teorii, FST4 pozwala na zdekodowanie komunikatu nadanego z moc\u0105 o ok. 30% mniejsz\u0105 ni\u017c wymagana do FT8.<\/p>\n\n\n\n<p>R<s>\u00f3\u017cnica mi\u0119dzy 100 W a 70 W (albo 10 W i 7 W, albo 1 W \/ 700 mW&#8230;) to ~1,5 dB. Ma\u0142o? Du\u017co? My\u015bl\u0119 \u017ce wystarczaj\u0105co, \u017ceby skompletowa\u0107 QSO, gdzie na FT8 brak\u0142o 0,5 dB. \ud83d\ude42<\/s><\/p>\n\n\n\n<p>Sprostowanie poranne (do wieczornych wypocin): warto\u015bci\u0105 zmienian\u0105 jest tutaj oczywi\u015bcie <span style=\"text-decoration: underline;\">amplituda<\/span>, a nie <span style=\"text-decoration: underline;\">moc<\/span> sygna\u0142u. Pami\u0119taj\u0105c, \u017ce moc sygna\u0142u sinusoidalnego jest proporcjonalna do kwadratu napi\u0119cia, zmiana amplitudy o 30% (z 0,059 na 0,041) odpowiada dwukrotnej redukcji w mocy: 20*log(0.059\/0.041) = <strong>~3.16 dB<\/strong>. Czyli odpowiednik zej\u015bcia z 100W na 50W w nadajniku \ud83d\ude42<\/p>\n\n\n\n<p>Je\u015bli kto\u015b chce samodzielnie <s>skrytykowa\u0107<\/s> zweryfikowa\u0107 ten eksperyment, to u\u017cyte pliki wav (mo\u017cna oczywi\u015bcie wygenerowa\u0107 swoje), flowgraph do Gnuradio w wersji 3.8 i skrypt do uruchamiania flowgraphu &#8222;w sam\u0105 por\u0119&#8221; umie\u015bci\u0142em w repozytorium na moim githubie: <a href=\"https:\/\/github.com\/olgierd\/ft8_vs_fst4\">https:\/\/github.com\/olgierd\/ft8_vs_fst4<\/a>. WSJT-X w wersji 2.3 mo\u017cna ju\u017c normalnie pobra\u0107 ze strony K1JT: <a href=\"https:\/\/physics.princeton.edu\/pulsar\/K1JT\/wsjtx.html\">https:\/\/physics.princeton.edu\/pulsar\/K1JT\/wsjtx.html<\/a><\/p>\n\n\n\n<p><em>Olgierd SQ3SWF<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nowa wersja aplikacji WSJT-X autorstwa K1JT, oznaczona numerem 2.3, przynosi ze sob\u0105 now\u0105 emisj\u0119: FST4. W pewnym wzgl\u0119dzie jest ona podobna do FT8: zajmuje podobn\u0105 szeroko\u015b\u0107 pasma, te\u017c jest to FSK z pojedyncz\u0105 no\u015bn\u0105 (GFSK-4), te\u017c mie\u015bci si\u0119 w periodzie &hellip; <a href=\"https:\/\/www.sp3yor.net\/?p=915\">Czytaj dalej <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-915","post","type-post","status-publish","format-standard","hentry","category-bez-kategorii"],"_links":{"self":[{"href":"https:\/\/www.sp3yor.net\/index.php?rest_route=\/wp\/v2\/posts\/915","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sp3yor.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sp3yor.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sp3yor.net\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sp3yor.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=915"}],"version-history":[{"count":5,"href":"https:\/\/www.sp3yor.net\/index.php?rest_route=\/wp\/v2\/posts\/915\/revisions"}],"predecessor-version":[{"id":930,"href":"https:\/\/www.sp3yor.net\/index.php?rest_route=\/wp\/v2\/posts\/915\/revisions\/930"}],"wp:attachment":[{"href":"https:\/\/www.sp3yor.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=915"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sp3yor.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=915"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sp3yor.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=915"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}