<div dir="ltr">Thanks Kin, <div><br></div><div>I saw the earlier post and have tried it. I'm still not sure I understand how to read the output.<div></div><div><br></div><div>Björn SM7IUN</div></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Thu, Jan 16, 2025 at 2:20 PM Kin <<a href="mailto:ea3cv@cronux.net">ea3cv@cronux.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg2127261422216967645"><div lang="ES" style="overflow-wrap: break-word;"><div class="m_178030313749337722WordSection1"><p class="MsoNormal"><span style="font-family:"Courier New"">Björn, <u></u><u></u></span></p><p class="MsoNormal"><span style="font-family:"Courier New""><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-family:"Courier New"">I <span class="m_178030313749337722SpellE">forgot</span> <span class="m_178030313749337722SpellE">to</span> <span class="m_178030313749337722SpellE">tell</span> <span class="m_178030313749337722SpellE">you</span> <span class="m_178030313749337722SpellE">that</span> <span class="m_178030313749337722SpellE">if</span> <span class="m_178030313749337722SpellE">you</span> <span class="m_178030313749337722SpellE">want</span> <span class="m_178030313749337722SpellE">to</span> <span class="m_178030313749337722SpellE">see</span> <span class="m_178030313749337722SpellE">the</span> <span class="m_178030313749337722SpellE">changes</span> <span class="m_178030313749337722SpellE">introduced</span> <span class="m_178030313749337722SpellE">by</span> <span class="m_178030313749337722SpellE">the</span> new <span class="m_178030313749337722SpellE">values</span>, <span class="m_178030313749337722SpellE">you</span> can use <span class="m_178030313749337722SpellE">the</span> <span class="m_178030313749337722SpellE">following</span> script:<u></u><u></u></span></p><p class="MsoNormal"><span style="font-family:"Courier New""><a href="https://github.com/EA3CV/dxspider_info/blob/main/view_dupes.pl" target="_blank">https://github.com/EA3CV/dxspider_info/blob/main/view_dupes.pl</a><u></u><u></u></span></p><p class="MsoNormal"><span style="font-family:"Courier New""><u></u> <u></u></span></p><p class="MsoNormal"><span class="m_178030313749337722SpellE"><span style="font-family:"Courier New"">just</span></span><span style="font-family:"Courier New""> place <span class="m_178030313749337722SpellE">it</span> in spider/<span class="m_178030313749337722SpellE">local_cmd</span>, and run <span class="m_178030313749337722SpellE">it</span> <span class="m_178030313749337722SpellE">from</span> <span class="m_178030313749337722SpellE">console</span><u></u><u></u></span></p><p class="MsoNormal"><span style="font-family:"Courier New""><u></u> <u></u></span></p><p class="MsoNormal"><span class="m_178030313749337722SpellE"><span style="font-family:"Courier New"">it's</span></span><span style="font-family:"Courier New""> <span class="m_178030313749337722SpellE">easy</span> <span class="m_178030313749337722SpellE">to</span> use: <span class="m_178030313749337722SpellE">view_dupes</span> <<span class="m_178030313749337722SpellE">string</span>><u></u><u></u></span></p><p class="MsoNormal"><span style="font-family:"Courier New""><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-family:"Courier New"">and <span class="m_178030313749337722SpellE">it</span> <span class="m_178030313749337722SpellE">will</span> <span class="m_178030313749337722SpellE">display</span> <span class="m_178030313749337722SpellE">the</span> hashes <span class="m_178030313749337722SpellE">that</span> match <span class="m_178030313749337722SpellE">the</span> <span class="m_178030313749337722SpellE">string</span>.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-family:"Courier New""><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-family:"Courier New"">Kin<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12pt"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:12pt"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:12pt"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:12pt"><u></u> <u></u></span></p><div><div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm"><p class="MsoNormal"><b><span>De:</span></b><span> Dxspider-support <<a href="mailto:dxspider-support-bounces@tobit.co.uk" target="_blank">dxspider-support-bounces@tobit.co.uk</a>> <b>En nombre de </b>Kin via Dxspider-support<br><b>Enviado el:</b> jueves, 16 de enero de 2025 10:28<br><b>Para:</b> 'Björn Ekelund' <<a href="mailto:bjorn@ekelund.nu" target="_blank">bjorn@ekelund.nu</a>><br><b>CC:</b> Kin <<a href="mailto:ea3cv@cronux.net" target="_blank">ea3cv@cronux.net</a>>; 'The DXSpider Support list' <<a href="mailto:dxspider-support@tobit.co.uk" target="_blank">dxspider-support@tobit.co.uk</a>><br><b>Asunto:</b> Re: [Dxspider-support] Self-spotting and de-duplication<u></u><u></u></span></p></div></div><p class="MsoNormal"><u></u> <u></u></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">Morning Björn,<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><i><span style="font-size:11pt;font-family:"Courier New"">>So timegranularity defines a window within which spots are considered to have <u></u><u></u></span></i></p><p class="m_178030313749337722MsoPlainText"><i><span style="font-size:11pt;font-family:"Courier New"">>the same time, Does this then effectively define the minimum respotting time?<u></u><u></u></span></i></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">Yes, timegranularity effectively defines the minimum respotting time. It determines the size of the time window within which spots are considered to have the same timestamp. For example, if timegranularity is set to 600 seconds (10 minutes), any spots reported within the same 10-minute interval will be grouped together, effectively preventing additional spots from being considered separate unless they occur in a different interval.<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><i><span style="font-size:11pt;font-family:"Courier New"">>Or is this the function of dupage? If it is, then I do not see the purpose of quantizing <u></u><u></u></span></i></p><p class="m_178030313749337722MsoPlainText"><i><span style="font-size:11pt;font-family:"Courier New"">>time into timegranularity steps.<u></u><u></u></span></i></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">timegranularity is about standardizing time representation, while dupage enforces the minimum time between duplicate spots.<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><i><span style="font-size:11pt;font-family:"Courier New"">>And how can 600 be 4 minutes? Is time counted in steps of 0.4s?<u></u><u></u></span></i></p><p class="m_178030313749337722MsoPlainText"><i><span style="font-size:11pt;font-family:"Courier New"">>Does this mean that dupage 3600 is 24 minutes?<u></u><u></u></span></i></p><p class="m_178030313749337722MsoPlainText"><i><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></i></p><p class="m_178030313749337722MsoPlainText"><i><span style="font-size:11pt;font-family:"Courier New"">>And what is the function of qrggranularity? My empirical experiments say that I need <u></u><u></u></span></i></p><p class="m_178030313749337722MsoPlainText"><i><span style="font-size:11pt;font-family:"Courier New"">>to move 10kHz away for DXSpider to not consider a new spot a dupe. Not 25kHz.<u></u><u></u></span></i></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">I hope that the following examples will clarify how it works.<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><i><span style="font-size:11pt;font-family:"Courier New"">>All I'm trying to do is to set up my node so that <u></u><u></u></span></i></p><p class="m_178030313749337722MsoPlainText"><i><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></i></p><p class="m_178030313749337722MsoPlainText"><i><span style="font-size:11pt;font-family:"Courier New"">>1. a new spot of the same station on the same QRG after more than 3 minutes is never considered a dupe<u></u><u></u></span></i></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">$Spot::timegranularity = 60<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">$Spot::dupage = 180<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">You should know that a duplicate is the sum of the fields spotted+spotter+qrg+time+comments, which will generate a hash like this: |IZ0ARL|IK2JTS|7075||1737012600|DTMBAI1823RM. For this reason, just using spotted+qrg+time is not sufficient to determine duplication.<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><i><span style="font-size:11pt;font-family:"Courier New"">>2. a new spot of a station 1kHz away from the previous spot is never considered a dupe.<u></u><u></u></span></i></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">$Spot::qrggranularity = 1<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><i><span style="font-size:11pt;font-family:"Courier New"">>3. self spots are never ever blocked<u></u><u></u></span></i></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">$Spot::minselfspotqrg = 0<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">Example<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">* Variables<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">$Spot::timegranularity = 600<span>    </span>--> 10 min<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">$Spot::qrggranularity = 25<span>      </span>--> 25 kHz<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">$Spot::dupage = 3600<span>            </span>--> 1 h<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">* Spot<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">DX de IK2JTS:<span>     </span>7065.0<span>  </span>IZ0ARL<span>       </span>DTMBA I1823RM<span>                    </span>0731Z (1737012660)<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">Adjusts to the nearest multiple (either downward or upward)<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><b><span style="font-size:11pt;font-family:"Courier New"">1737012660</span></b><span style="font-size:11pt;font-family:"Courier New"">/600 = 2895021.1 --> 2895021 (round to the nearest integer)<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">2895021*600 = <b><span style="color:rgb(0,112,192)">1737012600</span></b><u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><b><span style="font-size:11pt;font-family:"Courier New"">7065.0</span></b><span style="font-size:11pt;font-family:"Courier New"">/25 = 282.6 --> 283 (round to the nearest integer)<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">283×25 = <b><span style="color:rgb(0,112,192)">7075</span></b><u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">* dupefile<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">|IZ0ARL|IK2JTS|<b><span style="color:rgb(0,112,192)">7075</span></b>||<b><span style="color:rgb(0,112,192)">1737012600</span></b>|DTMBAI1823RM = 16-Jan-2025 0731Z expires 16-Jan-2025 0831Z<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">This means that time is fixed in 10-minute intervals, and frequency is fixed in 25 kHz steps.<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">* Comparison with different values for the same spot:<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">DX de IK2JTS:<span>     </span><b>7065.0</b><span>  </span>IZ0ARL<span>       </span>DTMBA #I-1823RM<span>                  </span><b>0735Z</b> (<b>1737012900</b>)<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">Scenario 1:<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">$Spot::timegranularity = 600<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">$Spot::qrggranularity = 25<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">$Spot::dupage = 3600<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">|IZ0ARL|IT9JZK|<b><span style="color:rgb(0,112,192)">7075</span></b>||<b><span style="color:rgb(0,112,192)">1737013200</span></b>|DTMBAI1823RM = 16-Jan-2025 <b>0735Z</b> expires 16-Jan-2025 <b><span style="color:rgb(0,112,192)">0835Z</span></b><u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><span>                       </span>(<b><span style="color:rgb(0,112,192)">0740Z</span></b>)<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">Scenario 2:<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">$Spot::timegranularity = 60<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">$Spot::qrggranularity = 1<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">$Spot::dupage = 300<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">|IZ0ARL|IT9JZK|<b><span style="color:rgb(0,112,192)">7065</span></b>||<b><span style="color:rgb(0,112,192)">1737012900</span></b>|DTMBAI1823RM = 16-Jan-2025 <b>0735Z</b> expires 16-Jan-2025 <b><span style="color:rgb(0,112,192)">0740Z</span></b><u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><span>                      </span>(<b><span style="color:rgb(0,112,192)">0735Z</span></b>)<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">I'm not sure if I’ve managed to explain myself clearly this time. This is my interpretation after analyzing the code, from someone who is not an expert. I think the person who can help us best is Dirk, the creator of this. And sorry because my English is terrible<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-size:11pt;font-family:"Courier New"">Kin EA3CV<u></u><u></u></span></p><p class="m_178030313749337722MsoPlainText"><span style="font-family:"Courier New""><u></u> <u></u></span></p></div></div></div></blockquote></div>