A typo fix: ... This is about *20 times *the used carrier bandwidth ...
On Saturday, March 16, 2019 at 5:20:21 PM UTC+1, kobuki wrote: > > I've made a small spreadsheet using the original RFM69 US frequency table. > It can be observed that the 51 hopping frequencies are about 502 kHz apart > when sorted in increasing order. This is about 2 times the used carrier > bandwidth. There are only sub-kHz fluctuations in the differences between > neighboring frequencies. These frequencies have been collected from the SPI > bus of the radio receiver IC in a console configured for the US band, and > then converted to literal frequencies, then into a data array required for > programming the RFM69 chips. They're not perfectly uniform because the > firmware of the console applies a small correction when tuning onto them - > however, these very small errors should be handled in any receiver and pose > no problem at all. I'm still of the opinion that one can just use the table > in the RFM69 code without frequency testing and scanning. All errors are > most likely attributable to the frequency error and temperature skew of > cheaper SDR sticks which are not properly calibrated or at least manually > offset corrected to a certain degree. > > The sheet: > https://docs.google.com/spreadsheets/d/1SyNKF-ynoYvKEiOfr7CcZSvaKDU49rJLbNvfN0avzbQ/edit?usp=sharing > > On Saturday, March 16, 2019 at 4:51:07 PM UTC+1, kobuki wrote: >> >> Looking at your log, I see some frequency errors that are quite large at >> 25-30 kHz (more than the required FSK bandwidth for original equipment), >> and a lot of the errors are larger than 10kHz, while the bulk of them are >> way under 10kHz. The packets with high offset errors are most likely >> neighboring frequencies catched while tuned to another neighbor. Or the >> chosen reception bandwidth is too wide to catch the desired frequency and >> the receiver auto-corrects to some degree while reporting a false >> frequency. I think the reception bandwidth should be narrower for the test >> to work. The original receivers use 25 kHz bandwidth. I think the testing >> frequency sweep should be taking this into consideration. >> >> On Saturday, March 16, 2019 at 4:32:40 PM UTC+1, Paul Anderson wrote: >>> >>> Hi Luc and Rich, >>>> >>>> Been following your work and ran the test program on my U.S, Davis >>> Vantage Pro 2. >>> Used a RTL-SDR.com dongle RTL2832 dongle has <1 PPM temperature >>> compensated oscillator (TCXO) >>> After 5 min warm up rtl_test -p showed cumulative PPM: 0 >>> Here are the results for the US band 902 - 928 MHz test: >>> Looks like 68 frequencies were captured? Some must be bad as I think we >>> only want 51? >>> $GOPATH/bin/rtldavis -tr 1 -tf US -startfreq 902000000 -endfreq >>> 928000000 -stepfreq 40000 >>> >>> >>> 12:05:12.931583 TESTFREQ 24: Frequency 902920000 (freqError=-1089): OK, >>> msg.data: 800000738500B115 >>> 12:05:41.118438 TESTFREQ 25: Frequency 902960000 (freqError=1906): OK, >>> msg.data: A00000328500AE80 >>> 12:58:51.477901 TESTFREQ 49: Frequency 903920000 (freqError=29606): OK, >>> msg.data: 80000070C500E589 >>> 13:22:08.049315 TESTFREQ 60: Frequency 904360000 (freqError=12748): OK, >>> msg.data: E000006505000456 >>> 14:17:00.904831 TESTFREQ 85: Frequency 905360000 (freqError=-715): OK, >>> msg.data: 500000FF7500485B >>> 14:22:36.596902 TESTFREQ 88: Frequency 905480000 (freqError=-855): OK, >>> msg.data: E000006505000456 >>> 15:09:50.719534 TESTFREQ 110: Frequency 906360000 (freqError=26478): OK, >>> msg.data: 9000000005003151 >>> 15:13:38.781187 TESTFREQ 112: Frequency 906440000 (freqError=3062): OK, >>> msg.data: 8000006A85006CE7 >>> 15:15:28.968434 TESTFREQ 113: Frequency 906480000 (freqError=-5089): OK, >>> msg.data: 600000FFC50079DA >>> 16:02:58.523355 TESTFREQ 135: Frequency 907360000 (freqError=-1728): OK, >>> msg.data: C00000047500955C >>> 16:02:58.525352 TESTFREQ 136: Frequency 907400000 (freqError=6929): OK, >>> msg.data: C00000047500955C >>> 16:04:17.965477 TESTFREQ 137: Frequency 907440000 (freqError=6929): OK, >>> msg.data: 500000FF7500485B >>> 16:06:03.030503 TESTFREQ 138: Frequency 907480000 (freqError=-1742): OK, >>> msg.data: 400000FFC5004CD2 >>> 16:57:25.756451 TESTFREQ 162: Frequency 908440000 (freqError=-1525): OK, >>> msg.data: 500000FF7500485B >>> 16:57:41.131232 TESTFREQ 163: Frequency 908480000 (freqError=875): OK, >>> msg.data: 8000006BC500561B >>> 17:49:06.408230 TESTFREQ 187: Frequency 909440000 (freqError=28537): OK, >>> msg.data: 8000006DC500E4BB >>> 18:00:51.103917 TESTFREQ 193: Frequency 909680000 (freqError=11774): OK, >>> msg.data: C00000047500955C >>> 18:11:11.237742 TESTFREQ 198: Frequency 909880000 (freqError=-2301): OK, >>> msg.data: E000006505000456 >>> 18:40:57.322258 TESTFREQ 212: Frequency 910440000 (freqError=-5508): OK, >>> msg.data: 500000FF7500485B >>> 18:52:34.331178 TESTFREQ 218: Frequency 910680000 (freqError=7340): OK, >>> msg.data: 500000FF7500485B >>> 19:02:13.462738 TESTFREQ 223: Frequency 910880000 (freqError=736): OK, >>> msg.data: 8000007245009071 >>> 19:02:13.464493 TESTFREQ 224: Frequency 910920000 (freqError=-2353): OK, >>> msg.data: 8000007245009071 >>> 19:55:16.035833 TESTFREQ 248: Frequency 911880000 (freqError=26039): OK, >>> msg.data: 500000FF7500485B >>> 19:57:01.096119 TESTFREQ 249: Frequency 911920000 (freqError=593): OK, >>> msg.data: C00000047500955C >>> 19:58:51.284135 TESTFREQ 250: Frequency 911960000 (freqError=27251): OK, >>> msg.data: 500000FF7500485B >>> 19:59:11.782803 TESTFREQ 251: Frequency 912000000 (freqError=-6736): OK, >>> msg.data: 500000FF7500485B >>> 20:46:36.307858 TESTFREQ 273: Frequency 912880000 (freqError=-3067): OK, >>> msg.data: 8000007745007B81 >>> 20:47:50.621221 TESTFREQ 274: Frequency 912920000 (freqError=4663): OK, >>> msg.data: E000006505000456 >>> 20:49:43.372121 TESTFREQ 275: Frequency 912960000 (freqError=17203): OK, >>> msg.data: E000006505000456 >>> 20:50:01.309265 TESTFREQ 276: Frequency 913000000 (freqError=-3303): OK, >>> msg.data: 80000077C5006019 >>> 21:43:14.231848 TESTFREQ 300: Frequency 913960000 (freqError=-2635): OK, >>> msg.data: 500000FF7500485B >>> 21:44:43.921493 TESTFREQ 301: Frequency 914000000 (freqError=45): OK, >>> msg.data: E000006505000456 >>> 21:51:15.987745 TESTFREQ 304: Frequency 914120000 (freqError=24336): OK, >>> msg.data: 500000FF7500485B >>> 22:35:46.157460 TESTFREQ 325: Frequency 914960000 (freqError=1673): OK, >>> msg.data: 8000007AC5002248 >>> 22:59:12.992657 TESTFREQ 336: Frequency 915400000 (freqError=9315): OK, >>> msg.data: E000007805000564 >>> 23:28:33.459265 TESTFREQ 350: Frequency 915960000 (freqError=4902): OK, >>> msg.data: 8000007C45008B70 >>> 23:52:46.393871 TESTFREQ 361: Frequency 916400000 (freqError=17857): OK, >>> msg.data: C00000047500955C >>> 00:46:35.230736 TESTFREQ 386: Frequency 917400000 (freqError=-619): OK, >>> msg.data: C00000047500955C >>> 00:49:24.360163 TESTFREQ 388: Frequency 917480000 (freqError=637): OK, >>> msg.data: E000007D0500EE94 >>> 00:50:10.486491 TESTFREQ 389: Frequency 917520000 (freqError=-7660): OK, >>> msg.data: A00000F775007046 >>> 01:37:34.897589 TESTFREQ 411: Frequency 918400000 (freqError=-3584): OK, >>> msg.data: E000007D0500EE94 >>> 01:41:02.463375 TESTFREQ 413: Frequency 918480000 (freqError=3373): OK, >>> msg.data: 500000FF7500485B >>> 01:42:39.840615 TESTFREQ 414: Frequency 918520000 (freqError=-3730): OK, >>> msg.data: 8000007CC50090E8 >>> 02:31:13.454254 TESTFREQ 436: Frequency 919400000 (freqError=-697): OK, >>> msg.data: E000007D0500EE94 >>> 02:34:12.833575 TESTFREQ 438: Frequency 919480000 (freqError=6030): OK, >>> msg.data: C00000047500955C >>> 02:34:35.896333 TESTFREQ 439: Frequency 919520000 (freqError=-856): OK, >>> msg.data: 800000854500F6B3 >>> 02:41:07.966804 TESTFREQ 442: Frequency 919640000 (freqError=22278): OK, >>> msg.data: E000007D0500EE94 >>> 03:25:40.663092 TESTFREQ 463: Frequency 920480000 (freqError=-275): OK, >>> msg.data: 80000088C500AF7A >>> 03:26:39.599498 TESTFREQ 464: Frequency 920520000 (freqError=1975): OK, >>> msg.data: 600000FFC50079DA >>> 03:48:26.559736 TESTFREQ 474: Frequency 920920000 (freqError=27548): OK, >>> msg.data: E000007D0500EE94 >>> 04:18:17.783966 TESTFREQ 488: Frequency 921480000 (freqError=-8099): OK, >>> msg.data: 8000008C050065EE >>> 04:29:49.673752 TESTFREQ 494: Frequency 921720000 (freqError=5216): OK, >>> msg.data: 500000FF7500485B >>> 04:39:28.815406 TESTFREQ 499: Frequency 921920000 (freqError=-2355): OK, >>> msg.data: 8000008A8500CCD6 >>> 05:23:02.638014 TESTFREQ 519: Frequency 922720000 (freqError=-430): OK, >>> msg.data: 8000008A4500DA82 >>> 05:33:25.340112 TESTFREQ 524: Frequency 922920000 (freqError=1704): OK, >>> msg.data: 9000000005003151 >>> 05:38:43.098795 TESTFREQ 527: Frequency 923040000 (freqError=-564): OK, >>> msg.data: C00000047500955C >>> 06:27:19.258381 TESTFREQ 549: Frequency 923920000 (freqError=27268): OK, >>> msg.data: E000007D0500EE94 >>> 06:28:13.076492 TESTFREQ 550: Frequency 923960000 (freqError=2164): OK, >>> msg.data: 500000FF7500485B >>> 06:30:03.274780 TESTFREQ 551: Frequency 924000000 (freqError=29429): OK, >>> msg.data: E000007D0500EE94 >>> 06:30:23.777042 TESTFREQ 552: Frequency 924040000 (freqError=-5957): OK, >>> msg.data: E000007D0500EE94 >>> 07:18:36.941811 TESTFREQ 574: Frequency 924920000 (freqError=-1264): OK, >>> msg.data: 500000FF7500485B >>> 07:18:36.943822 TESTFREQ 575: Frequency 924960000 (freqError=5393): OK, >>> msg.data: 500000FF7500485B >>> 07:19:35.879817 TESTFREQ 576: Frequency 925000000 (freqError=5398): OK, >>> msg.data: E000007D0500EE94 >>> 07:21:36.319616 TESTFREQ 577: Frequency 925040000 (freqError=-2662): OK, >>> msg.data: 80000090050053EC >>> 08:13:04.197004 TESTFREQ 601: Frequency 926000000 (freqError=-1132): OK, >>> msg.data: E000007D0500EE94 >>> 08:14:21.072311 TESTFREQ 602: Frequency 926040000 (freqError=2596): OK, >>> msg.data: A0000078850074EC >>> 09:05:54.058956 TESTFREQ 626: Frequency 927000000 (freqError=28377): OK, >>> msg.data: 500000FF7500485B >>> 09:17:31.048838 TESTFREQ 632: Frequency 927240000 (freqError=-9307): OK, >>> msg.data: 500000FF7500485B >>> >>> Thanks >>> Paul >>> >>> >>> >>>
