Coder Social home page Coder Social logo

FSK demodulator issue about codec2 HOT 19 CLOSED

drowe67 avatar drowe67 commented on July 17, 2024
FSK demodulator issue

from codec2.

Comments (19)

tmiw avatar tmiw commented on July 17, 2024

What if only test_read_2.py's used? i.e.

nc -l -u localhost 7355 | ./fsk_demod --stats=100 -b 1 -u 23500 2 48000 100 - - | python3 test_read_2.py

Just to eliminate any shell-related issues as the cause.

from codec2.

radio-satellites avatar radio-satellites commented on July 17, 2024

Hi @tmiw!

Here's the output. Nothing heard from test_read_2.py, only the standard sdterr output (the json info).

Setting estimator limits to 1 to 23500 Hz.
{"secs": 1691411766, "EbNodB":   2.2, "ppm": -311, "f1_est":5138.7, "f2_est":9919.9,	"eye_diagram":[[0.583852 ,0.407872 ,0.345010 ,0.177087 ,0.246673 ,0.227690 ,0.352454 ,0.265401 ,0.335668 ,0.370073 ,0.609889 ,0.094445 ,0.053286 ,0.440725 ,0.574292 ,0.468663 ],[0.367476 ,0.399416 ,0.268613 ,0.171888 ,0.271333 ,0.222293 ,0.279624 ,0.764590 ,0.747638 ,0.424724 ,0.318036 ,0.429573 ,0.212738 ,0.341797 ,0.305046 ,0.289695 ],[0.077360 ,0.336644 ,0.254251 ,0.289387 ,0.309291 ,0.377334 ,0.713156 ,0.972114 ,0.775531 ,0.790729 ,0.658076 ,0.538556 ,0.600795 ,0.532092 ,0.332950 ,0.381071 ],[0.174819 ,0.153704 ,0.350405 ,0.281674 ,0.348053 ,0.194462 ,0.231660 ,0.406732 ,0.408982 ,0.117693 ,0.485208 ,0.155065 ,0.425185 ,0.193244 ,0.605727 ,0.676299 ],[0.241220 ,0.296327 ,0.389794 ,0.423142 ,0.592034 ,0.506570 ,0.485835 ,0.498758 ,0.551225 ,0.777438 ,0.261404 ,0.257042 ,0.486118 ,0.728168 ,0.791423 ,0.986176 ],[0.744402 ,0.421514 ,0.284707 ,0.437633 ,0.544506 ,0.200404 ,0.127816 ,0.735428 ,0.812715 ,0.451269 ,0.454744 ,0.419458 ,0.465834 ,0.342916 ,0.150461 ,0.400815 ],[1.000000 ,0.492205 ,0.959606 ,0.955106 ,0.903702 ,0.673121 ,0.569385 ,0.608269 ,0.520854 ,0.524665 ,0.475938 ,0.538176 ,0.458044 ,0.709119 ,0.817708 ,0.577673 ],[0.269009 ,0.194878 ,0.656089 ,0.426914 ,0.542650 ,0.539578 ,0.441636 ,0.539918 ,0.245925 ,0.588001 ,0.504867 ,0.687593 ,0.475174 ,0.289856 ,0.425549 ,0.467939 ]],"samp_fft":[7.331168 ,10.784364 ,13.609123 ,11.638994 ,7.723419 ,10.755290 ,10.495161 ,9.797764 ,7.247776 ,9.495953 ,7.675608 ,9.139756 ,12.973017 ,13.502676 ,9.358986 ,8.702225 ,8.518692 ,9.385383 ,7.227910 ,13.282577 ,10.838819 ,8.242836 ,10.048318 ,9.588654 ,10.590128 ,10.520684 ,11.648138 ,10.319259 ,8.957147 ,7.412109 ,6.794299 ,9.459686 ,9.208040 ,8.866632 ,9.127126 ,10.114739 ,9.493693 ,6.981329 ,6.661232 ,7.545695 ,9.019297 ,12.876247 ,11.874498 ,7.358473 ,11.051579 ,13.889776 ,14.820700 ,13.927452 ,11.221901 ,10.711409 ,12.192544 ,9.748275 ,8.435716 ,6.779578 ,7.456906 ,11.756888 ,11.867424 ,12.974907 ,12.277894 ,12.703667 ,12.305857 ,10.409374 ,9.771649 ,7.706175 ,6.542956 ,9.659883 ,13.875136 ,10.748024 ,8.652086 ,10.751500 ,11.941615 ,9.195538 ,11.014195 ,12.458984 ,12.684295 ,10.641282 ,12.793094 ,13.582031 ,10.990071 ,8.760120 ,12.032310 ,15.962570 ,13.541264 ,8.803949 ,8.823793 ,7.666253 ,11.029637 ,12.224171 ,11.697556 ,12.574100 ,13.721647 ,8.294958 ,7.647680 ,9.992163 ,10.391597 ,12.647974 ,12.308240 ,10.225237 ,8.845560 ,7.866927 ,10.695910 ,12.969757 ,7.632405 ,10.756829 ,10.940337 ,12.197829 ,11.200004 ,15.179140 ,15.678038 ,8.313425 ,7.095232 ,7.940708 ,10.177967 ,10.255535 ,8.122321 ,10.213718 ,13.057243 ,13.174889 ,8.127892 ,11.872387 ,11.945237 ,11.286347 ,13.359529 ,11.276799 ,12.732556 ,13.489591 ,14.368378 ,14.566936 ,17.664005 ,13.202501 ,15.139064 ,15.160560 ,12.284959 ,10.288235 ,11.557463 ,16.182005 ,13.871801 ,6.627377 ,10.329941 ,9.693089 ,9.693458 ,9.672287 ,13.550285 ,19.773514 ,17.825121 ,19.43

from codec2.

tmiw avatar tmiw commented on July 17, 2024

From what I can tell, fsk_demod works when fed data from fsk_mod:

Mooneer6MBP2461:build mooneer$ dd if=/dev/random of=test.raw count=1K
1024+0 records in
1024+0 records out
524288 bytes transferred in 0.007238 secs (72435479 bytes/sec)
Mooneer6MBP2461:build mooneer$ src/fsk_mod 2 48000 1000 500 700 test.raw test_mod.raw
Mooneer6MBP2461:build mooneer$ ls -l test.raw test_mod.raw
-rw-r--r--  1 mooneer  staff    524288 Aug  7 07:59 test.raw
-rw-r--r--  1 mooneer  staff  50328000 Aug  7 08:00 test_mod.raw
Mooneer6MBP2461:build mooneer$ src/fsk_demod 2 48000 1000 test_mod.raw test_demod.raw
Setting estimator limits to 0 to 24000 Hz.
Mooneer6MBP2461:build mooneer$ ls -l test_demod.raw
-rw-r--r--  1 mooneer  staff  524500 Aug  7 08:00 test_demod.raw
Mooneer6MBP2461:build mooneer$

Additionally, piping between the two seems to work:

Mooneer6MBP2461:build mooneer$ src/fsk_mod 2 48000 1000 500 700 test.raw - | src/fsk_demod 2 48000 1000 - test_demod.raw
Setting estimator limits to 0 to 24000 Hz.
Mooneer6MBP2461:build mooneer$ ls -l test.raw test_demod.raw
-rw-r--r--  1 mooneer  staff  524288 Aug  7 07:59 test.raw
-rw-r--r--  1 mooneer  staff  524500 Aug  7 08:02 test_demod.raw
Mooneer6MBP2461:build mooneer$

And just to be sure, it looks like using both stdin and stdout for fsk_demod seems to work:

Mooneer6MBP2461:build mooneer$ src/fsk_mod 2 48000 1000 500 700 test.raw - | src/fsk_demod --stats=100 -b 1 -u 23500 2 48000 1000 - - >test_demod.raw 2>errs.txt
Mooneer6MBP2461:build mooneer$ head -n2 errs.txt
Setting estimator limits to 1 to 23500 Hz.
{"secs": 1691420720, "EbNodB":  76.4, "ppm":  -13, "f1_est":468.8, "f2_est":1218.8,	"eye_diagram":[[0.948481 ,0.971356 ,0.992527 ,1.000000 ,0.989700 ,0.967264 ,0.945519 ,0.937603 ,0.948481 ,0.971355 ,0.992527 ,0.999999 ,0.989700 ,0.967264 ,0.945518 ,0.937602 ],[0.436764 ,0.351832 ,0.245578 ,0.193806 ,0.262421 ,0.368628 ,0.446448 ,0.471199 ,0.436764 ,0.351831 ,0.245578 ,0.193805 ,0.262421 ,0.368628 ,0.446447 ,0.471198 ],[0.948480 ,0.971354 ,0.992526 ,0.999999 ,0.989699 ,0.967263 ,0.945518 ,0.937601 ,0.948479 ,0.971354 ,0.992525 ,0.999998 ,0.989699 ,0.967262 ,0.945517 ,0.937601 ],[0.436764 ,0.351831 ,0.245578 ,0.193805 ,0.262421 ,0.368628 ,0.446447 ,0.471198 ,0.436763 ,0.351831 ,0.245578 ,0.193805 ,0.262420 ,0.368627 ,0.446447 ,0.471198 ],[0.948479 ,0.971353 ,0.992525 ,0.999997 ,0.989698 ,0.967262 ,0.945517 ,0.937600 ,0.948478 ,0.971353 ,0.992524 ,0.999997 ,0.989698 ,0.967261 ,0.945516 ,0.937600 ],[0.436763 ,0.351831 ,0.245578 ,0.193805 ,0.262420 ,0.368627 ,0.446447 ,0.471198 ,0.436763 ,0.351831 ,0.245578 ,0.193805 ,0.262420 ,0.368627 ,0.446447 ,0.471197 ],[0.948478 ,0.971352 ,0.992524 ,0.999997 ,0.989697 ,0.967261 ,0.945516 ,0.937600 ,0.948477 ,0.971352 ,0.992524 ,0.999996 ,0.989697 ,0.967261 ,0.945516 ,0.937599 ],[0.436763 ,0.351831 ,0.245578 ,0.193805 ,0.262420 ,0.368627 ,0.446446 ,0.471197 ,0.436763 ,0.351831 ,0.245577 ,0.193805 ,0.262420 ,0.368627 ,0.446446 ,0.471197 ]],"samp_fft":[0.000130 ,0.000158 ,0.000195 ,0.000445 ,0.002825 ,0.009709 ,0.007782 ,0.001127 ,0.000311 ,0.000184 ,0.000141 ,0.000130 ,0.000136 ,0.000157 ,0.000279 ,0.013350 ,0.026123 ,0.012810 ,0.000274 ,0.000156 ,0.000131 ,0.000122 ,0.000127 ,0.000152 ,0.000224 ,0.000570 ,0.002426 ,0.003459 ,0.001325 ,0.000270 ,0.000168 ,0.000134 ,0.000129 ,0.000147 ,0.000190 ,0.000401 ,0.002257 ,0.007914 ,0.006570 ,0.001067 ,0.000269 ,0.000176 ,0.000137 ,0.000125 ,0.000136 ,0.000155 ,0.000274 ,0.005607 ,0.010580 ,0.005083 ,0.000272 ,0.000156 ,0.000133 ,0.000124 ,0.000128 ,0.000154 ,0.000218 ,0.000621 ,0.002937 ,0.003623 ,0.001210 ,0.000287 ,0.000164 ,0.000145 ,0.000140 ,0.000186 ,0.000242 ,0.000660 ,0.005094 ,0.017773 ,0.014249 ,0.001848 ,0.000435 ,0.000226 ,0.000157 ,0.000144 ,0.000139 ,0.000162 ,0.000273 ,0.003159 ,0.005728 ,0.002659 ,0.000277 ,0.000164 ,0.000143 ,0.000137 ,0.000154 ,0.000192 ,0.000358 ,0.001120 ,0.008669 ,0.011229 ,0.003484 ,0.000416 ,0.000218 ,0.000150 ,0.000136 ,0.000157 ,0.000227 ,0.000430 ,0.003580 ,0.011527 ,0.008923 ,0.001135 ,0.000356 ,0.000186 ,0.000147 ,0.000131 ,0.000145 ,0.000164 ,0.000286 ,0.003610 ,0.006610 ,0.003129 ,0.000280 ,0.000172 ,0.000145 ,0.000138 ,0.000137 ,0.000157 ,0.000200 ,0.000481 ,0.001569 ,0.001840 ,0.000807 ,0.000253 ,0.000180 ,0.000144 ,0.000149 ,0.000143 ,0.000195 ,0.000325 ,0.002054 ,0.006415 ,0.005026 ,0.000875 ,0.000264 ,0.000193 ,0.000150 ,0.000167 ,0.000159 ,0.000202 ,0.000303 ,0.002713 ,0.004812 ,0.002234 ,0.000321 ,0.000213 ,0.000197 ,0.000201 ,0.000242 ,0.000317 ,0.000705 ,0.002804 ,0.022542 ,0.028652 ,0.008378 ,0.000756 ,0.000300 ,0.000174 ,0.000159 ,0.000182 ,0.000204 ,0.000292 ,0.001019 ,0.002427 ,0.001804 ,0.000503 ,0.000284 ,0.000219 ,0.000235 ,0.000210 ,0.000253 ,0.000251 ,0.000402 ,0.004077 ,0.007529 ,0.003579 ,0.000390 ,0.000306 ,0.000266 ,0.000274 ,0.000254 ,0.000260 ,0.000239 ,0.001418 ,0.012019 ,0.014537 ,0.004668 ,0.000713 ,0.000561 ,0.000400 ,0.000472 ,0.000441 ,0.000510 ,0.000778 ,0.004242 ,0.013835 ,0.011455 ,0.001345 ,0.000540 ,0.000635 ,0.000578 ,0.000735 ,0.000618 ,0.000857 ,0.000833 ,0.004741 ,0.008805 ,0.004264 ,0.001123 ,0.001167 ,0.001185 ,0.001327 ,0.001447 ,0.001564 ,0.001956 ,0.002900 ,0.008514 ,0.015278 ,0.002074 ,0.002310 ,0.002693 ,0.003090 ,0.003459 ,0.003863 ,0.004350 ,0.004899 ,0.005204 ,0.008727 ,0.007084 ,0.008460 ,0.009882 ,0.011464 ,0.013662 ,0.016305 ,0.019822 ,0.024334 ,0.030506 ,0.039874 ,0.055698 ,0.067851 ,0.093466 ,0.134983 ,0.205193 ,0.335421 ,0.606753 ,1.283361 ,3.578591 ,19.632559 ,155.040756 ,193.638290 ,55.639709 ,5.509593 ,1.676802 ,0.731060 ]}
Mooneer6MBP2461:build mooneer$ ls -l test_demod.raw 
-rw-r--r--  1 mooneer  staff  524500 Aug  7 08:05 test_demod.raw
Mooneer6MBP2461:build mooneer$ 

Maybe try to see if you can pipe in a raw 16-bit audio file directly into fsk_demod instead of using nc?

from codec2.

radio-satellites avatar radio-satellites commented on July 17, 2024

@tmiw I have tested this command ./fsk_mod 2 48000 1000 500 700 - - | ./fsk_demod --stats=100 -b 1 -u 23500 2 48000 1000 - - >test_demod.raw 2>errs.txt

sudo nano errs.txt gives only the standard "setting estimator limits etc etc," but with no information (json). There is only one line.

test_demod.raw is empty.

I'm really confused what is happening here!

from codec2.

tmiw avatar tmiw commented on July 17, 2024

@tmiw I have tested this command ./fsk_mod 2 48000 1000 500 700 - - | ./fsk_demod --stats=100 -b 1 -u 23500 2 48000 1000 - - >test_demod.raw 2>errs.txt

sudo nano errs.txt gives only the standard "setting estimator limits etc etc," but with no information (json). There is only one line.

test_demod.raw is empty.

I'm really confused what is happening here!

./fsk_mod is expecting data from stdin as - was passed in for both input and output files; as nothing was passed in, it didn't modulate anything (and ./fsk_demod didn't demodulate anything, either). You can try specifying a decently large (a few KB minimum) file as input, i.e.

./fsk_mod 2 48000 1000 500 700 input.raw - | ./fsk_demod --stats=100 -b 1 -u 23500 2 48000 1000 - - >test_demod.raw 2>errs.txt

or

cat input.raw | ./fsk_mod 2 48000 1000 500 700 - - | ./fsk_demod --stats=100 -b 1 -u 23500 2 48000 1000 - - >test_demod.raw 2>errs.txt

from codec2.

radio-satellites avatar radio-satellites commented on July 17, 2024

@tmiw Aha, forgot about that 😅

I have been trying with fsk_gen_test_bits like this:

./fsk_get_test_bits - 10000 | ./fsk_mod 2 48000 1000 500 700 - - | ./fsk_demod --stats=100 -b 1 -u 23500 2 48000 1000 - - >test_demod.raw .2>errs.txt. This works great and I was able to read the bits from test_demod.raw!

However, I still need the demodulator to run live. I have tried ./fsk_get_test_bits - 10000 | ./fsk_mod 2 48000 1000 500 700 - - | ./fsk_demod --stats=100 -b 1 -u 23500 2 48000 1000 - - >(python3 test_read_1.py) 2>(python3 test_read_2.py), but I get the error "too many arguments." I'm probably missing a "-" character or something somewhere; can't find the issue, though! 😁

Thank you for your continued help!

from codec2.

tmiw avatar tmiw commented on July 17, 2024

Could it be something with the way you're piping to two separate processes? https://stackoverflow.com/questions/9112979/pipe-stdout-and-stderr-to-two-different-processes-in-shell-script for example seems to suggest a different way than how you're doing it.

from codec2.

radio-satellites avatar radio-satellites commented on July 17, 2024

@tmiw hmm, thanks for linking that!

Tried the command suggested, came up with { ./fsk_get_test_bits - 10000 | ./fsk_mod 2 48000 1000 500 700 - - | ./fsk_demod --stats=100 -b 1 -u 23500 2 48000 1000 - - 2>&3 | python3 test_read_2.py; } 3>&1 1>&2 | python3 test_read_1.py ... which seems to work, but there are some weird things. I'm getting the following output:

Statistics (read_1.py): read 10
Statistics (read_1.py): read 20
Statistics (read_1.py): read 30
Statistics (read_1.py): read 40
Statistics (read_1.py): read 50
Statistics (read_1.py): read 60
Statistics (read_1.py): read 70
Statistics (read_1.py): read 80
Statistics (read_1.py): read 90
Statistics (read_1.py): read 100
Statistics (read_1.py): read 110
Statistics (read_1.py): read 120
Statistics (read_1.py): read 130
Statistics (read_1.py): read 140
Statistics (read_1.py): read 150
Statistics (read_1.py): read 160
Statistics (read_1.py): read 170
Statistics (read_1.py): read 180
Statistics (read_1.py): read 190
Statistics (read_1.py): read 200
Statistics (read_2.py): read 400
Statistics (read_2.py): read 800
Statistics (read_2.py): read 1200
Statistics (read_2.py): read 1600
Statistics (read_2.py): read 2000
Statistics (read_2.py): read 2400
Statistics (read_2.py): read 2800
Statistics (read_2.py): read 3200
Statistics (read_2.py): read 3600
Statistics (read_2.py): read 4000
Statistics (read_2.py): read 4400
Statistics (read_2.py): read 4800
Statistics (read_2.py): read 5200
Statistics (read_2.py): read 5600
Statistics (read_2.py): read 6000
Statistics (read_2.py): read 6400
Statistics (read_2.py): read 6800
Statistics (read_2.py): read 7200
Statistics (read_2.py): read 7600
Statistics (read_2.py): read 8000
Statistics (read_2.py): read 8400
Statistics (read_2.py): read 8800
Statistics (read_2.py): read 9200
Statistics (read_2.py): read 9600
Statistics (read_2.py): read 10000
Statistics (read_2.py): read 10400
Statistics (read_2.py): read 10800
Statistics (read_2.py): read 11200
Statistics (read_2.py): read 11600
Statistics (read_2.py): read 12000
Statistics (read_2.py): read 12400
Statistics (read_2.py): read 12800

Which is strange, because I would expect the stderr (read_1.py) to be interleaved with the actual demodulated data (read_2.py)

from codec2.

tmiw avatar tmiw commented on July 17, 2024

Per the Stack Overflow link I sent, it doesn't seem like there's any guarantee of any ordering with regards to the outputs, so I'm not sure what can be done there. You can try disabling stdin/stdout/stderr buffering (in Python and/or the shell) to get the data a bit faster/more live.

from codec2.

radio-satellites avatar radio-satellites commented on July 17, 2024

it doesn't seem like there's any guarantee of any ordering with regards to the outputs

@tmiw That's very true. However, I would expect the stderr to also be interleaved, sort of like this:


Statistics (read_1.py): read 200
Statistics (read_2.py): read 400
Statistics (read_2.py): read 800
Statistics (read_1.py): read 300
Statistics (read_2.py): read 1200
Statistics (read_2.py): read 1600
Statistics (read_2.py): read 2000
Statistics (read_1.py): read 400
Statistics (read_2.py): read 2400
Statistics (read_2.py): read 2800
Statistics (read_1.py): read 500
Statistics (read_2.py): read 3200

from codec2.

radio-satellites avatar radio-satellites commented on July 17, 2024

Yep, I can confirm something is wrong.

I'm getting zeros on the FFT samples:

samp_fft":[0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000

However, this is only for the netcat command ({ nc -l -u localhost 7355 | ./fsk_demod --stats=100 -b 1 -u 23500 2 48000 100 - - 2>&3 | python3 test_read_2.py; } 3>&1 1>&2 | python3 test_read_1.py). I'll try doing some transforms on the samples and figure something out.

from codec2.

radio-satellites avatar radio-satellites commented on July 17, 2024

Aha, this probably has something to do with real/complex samples. The nc command sends real samples to the demodulator; I'm fairly sure it expects another format.

from codec2.

radio-satellites avatar radio-satellites commented on July 17, 2024

Aha. Got it working with { nc -l -u localhost 7355 |csdr realpart_cf |csdr convert_f_s16 | ./fsk_demod --stats=100 -b 1 -u 23500 2 48000 100 - - 2>&3 | python3 test_read_2.py; } 3>&1 1>&2 | python3 test_read_1.py!

from codec2.

radio-satellites avatar radio-satellites commented on July 17, 2024

Still a few issues though that I need to sort out.

@tmiw thank you for your help so far!

from codec2.

tmiw avatar tmiw commented on July 17, 2024

Still a few issues though that I need to sort out.

@tmiw thank you for your help so far!

No worries, I'll go ahead and close for now. If you run into another Codec2 issue let us know!

from codec2.

radio-satellites avatar radio-satellites commented on July 17, 2024

image
Hmm.... looks like the spectrum isn't really as expected...

In reality, it should have a carrier in it. I wonder what the problem is...

from codec2.

radio-satellites avatar radio-satellites commented on July 17, 2024

Ok, fixed it via getting rid of the csdr stuff. Looks like it's not needed after all.

image

However, the spectrum still is inverted? The carrier is supposed to be very low in frequency 🤔

from codec2.

tmiw avatar tmiw commented on July 17, 2024

Are those screenshots from the Python scripts you wrote?

from codec2.

drowe67 avatar drowe67 commented on July 17, 2024

Guys, could you pls take this conversation off Codec 2 issues? This is more a personal development project than any Issue with Codec 2. Thanks.

from codec2.

Related Issues (4)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.