<GenTooMan>
I swear those people want to tax ones patience even.
crabbedhaloablut has quit [Ping timeout: 244 seconds]
crabbedhaloablut has joined #scopehal
<azonenberg>
lol
<azonenberg>
miek: well... it cuts both ways in WA
<azonenberg>
we have "business personal property tax" here
<azonenberg>
so if i declare a piece of equipment as a business expense and write off the purchase price on my federal income tax, the locals want a cut
<azonenberg>
and it becomes an asset subject to property tax
<azonenberg>
at the same rate as real estate, although they factor in depreciation
<d1b2>
<TiltMeSenpai> wait what
<miek>
ouch
<azonenberg>
Yeah
<d1b2>
<TiltMeSenpai> this seems like something I should know lol
<azonenberg>
after all the depreciation tables etc, my lab is taxed as if it were another $40K or so of value on the house
<azonenberg>
Which isn't that bad, the property tax rate is something like 1.02% so basically i'm only taxed something like $400 a year iirc?
<azonenberg>
(that's just for the lab existing, on top of the "business and operations" tax that they charge on any revenue from the lab)
<azonenberg>
incidentally B&O tax does *not* allow deduction for business expenses
<azonenberg>
So if I make $20K in sales and spend $10K on operating expenses, I only pay federal income tax on the $10K, but I pay B&O tax on the full $20K
<d1b2>
<j4cbo> ugh, I’m going to have to get used to all that come tax time
<d1b2>
<j4cbo> moved from MT to WA this spring
<azonenberg>
This coming tax season you won't have to pay anything for it
<azonenberg>
Every year that assets owned in your name (vs that of the business) are used in its operation, you have to file a listing of property descriptions and values with the county tax assessor
<azonenberg>
that value, after the assessor applies depreciation, is used to calculate how much you owe the following year
<GenTooMan>
azonenberg, that's OK in some places personal property tax exists. They also tax mules as personal property but you have to pay tax on your car yearly.
Degi_ has joined #scopehal
Degi has quit [Ping timeout: 268 seconds]
Degi_ is now known as Degi
JSharp is now known as JSharp_
JSharp_ is now known as JSharp__
JSharp__ is now known as jaesharp
jaesharp is now known as jaesharp_
jaesharp_ is now known as jaesharp__
jaesharp__ is now known as JSharp
<azonenberg>
So i'm looking at some of my older sample data and discovered something interesting and cool
<azonenberg>
This is a recording of a wifi signal made with a nearfield antenna
<azonenberg>
The big area of activity is roughly 2.428 to 2.445 GHz, so wifi channel 6
<azonenberg>
that's the intended signal
<azonenberg>
there is also a peak at 2.5 GHz
<azonenberg>
Which i conjecture is an interleaving spur from the scope based on other observations i've made, but not sure yet
<azonenberg>
but then there's another area of activity at 2.554 to 2.571 GHz, centered at roughly 2.5631 GHz
<azonenberg>
wifi channel 6 is 2.437 GHz, which is 63 MHz below 2.5 GHz
<azonenberg>
Which makes me think this second "channel" - outside the 2.4 GHz ISM band - is actually an image of the main signal created by some kind of nonlinearities in the scope frontend
<azonenberg>
actually i just realized, i think it can be that same interleaving spur
<azonenberg>
We're sampling at 10 Gsps, suppose the scope is using four interleaved ADCs per channel internally and one of the four has a slight gain error
<azonenberg>
So you're effectively multiplying the signal with [1.01 1.00 1.00 1.00] repeating
<azonenberg>
this obviously explains the 2.5 GHz spur
<azonenberg>
But you can also think of this as mixing the signal with a very weak 2.5 GHz squarewave with a 25% duty cycle
<azonenberg>
The harmonics are way out of band but the fundamental mixes with the signal and gives you the image
<azonenberg>
I *think* that's what's happening
<d1b2>
<Darius> "RF is hard"
<azonenberg>
more to the point
<azonenberg>
you're doing RF even if you don't think you are
<azonenberg>
this is an oscilloscope, not a specan
<azonenberg>
and yet there are measurable rf mixing effects in it
<d1b2>
<Darius> yeah
<d1b2>
<Darius> a specan probably has less mixing effect 8-)
<d1b2>
<j4cbo> “Wait, it’s all RF?” “Always has been.”
<azonenberg>
lol
<azonenberg>
what amazes me honestly is that this is so weak and yet so visible
<azonenberg>
i'm looking at an 800 mV p-p signal into a 50 ohm input
<azonenberg>
On an 8 bit scope
<d1b2>
<Darius> yeah that is pretty impressive
<azonenberg>
the scope was probably running with like 200 mV/div or something, 2V full scale range
<azonenberg>
which would give one LSB on the ADC as 7.8 mV
<azonenberg>
and the interleaving spur is at -50 dBm which is 700 uV
<azonenberg>
so a) the ADC mismatch is very slight, creating a spur with amplitude of about 0.1 LSB
<azonenberg>
and b) the image shows up in the FFT very clearly despite being 20 MHz wide and a *total* in-band power of about -40 dBm
<azonenberg>
across that 20 MHz
<azonenberg>
the power at any single fft bin does not exceed -61 dBm
<azonenberg>
meaning the image is <1 LSB p-p
<azonenberg>
and it still shows up very clearly
<azonenberg>
Million-point FFTs are very sensitive lol
<d1b2>
<Darius> bit like how GPS works even though the signal is below the thermal noise floor at reception
<d1b2>
<Darius> pretty mind boggling
<azonenberg>
Yeeep
<azonenberg>
That actually reminds me of a concept i had a while ago for a SIGINT resistant short range communications system
<azonenberg>
The basic idea was to transmit very weak pulses at selected frequencies across a huge bandwidth, like multiple GHz
<azonenberg>
each pulse individually below the noise floor
<azonenberg>
but if your correlated the frequencies of every pulse and compared to adjacent frequencies above/below, you could determine whether it was present or not
<d1b2>
<Darius> heh
<azonenberg>
then use some sort of cryptographic algorithm to determine the choices of frequencies for each pulse
<azonenberg>
and of course, each bit would use a new set of frequencies
<d1b2>
<Darius> presumably you would need to know the correlation ahead of time
<azonenberg>
Yeah it would rely on GPS or other accurate time sync
<azonenberg>
and then a PRNG seeded with a shared key
<d1b2>
<Darius> I don't think you would need time sync
<d1b2>
<Darius> after all, GPS works like that
<azonenberg>
then you'd encrypt traffic on top of it
<d1b2>
<Darius> but the correlation is known ahead of time
<d1b2>
<Darius> (I am probably using the wrong terms)
<d1b2>
<j4cbo> I wonder how far below the noise floor you could go at the receiver
<azonenberg>
gps uses a single repeating pattern though iirc? it's a fixed 1023 bit period LFSR
<azonenberg>
here, the pattern would be AES-CTR output or similar
<azonenberg>
j4cbo: not sure, i never implemented it
<azonenberg>
The concept was basically even someone with a specan in your immediate area will have extreme difficulty seeing, much less demodulating, your traffic
<azonenberg>
and you're almost impossible to direction find
<azonenberg>
You'd run the power levels super low and spread across a huge bandwidth so the spectral power density was microscopic, relying on coding gain and FEC to pick bits out of the noise
<azonenberg>
one idea i had was to be FHSS based kinda pseudo CDMA
<azonenberg>
so you'd generate a list of say 64 random frequencies
<azonenberg>
send pulses on 32 of them, one after another, to be a logic 1
<azonenberg>
and the other 32 to be a logic 0
<d1b2>
<j4cbo> yeah, the receiver sensitivity determines how much range you have before the transmitter would have to be loud enough to be detectable
<azonenberg>
as long as you can determine you are more likely to have seen one set of pulses than the other, you've successfully recovered the bit
<azonenberg>
but someone looking at only one of those freqs will just see noise
<azonenberg>
the longer the sequence you use, the more coding gain you get, at the expense of data throughput
<azonenberg>
like i said i never built it or did extensive engineering analysis
<azonenberg>
but i think the basic idea is sound
<azonenberg>
you could send those pulses simultaneously or sequentially or a mix of both depending on how broadband your baseband is, how fast your synthesizer can retune, etc
<sorear>
is that not just frequency hopping?
<azonenberg>
the point is that the pulses are too weak to see in isolation
<azonenberg>
you cant see them through the noise
<azonenberg>
but with many in a known sequence you can tell if it's there
<d1b2>
<j4cbo> my main “I want to build this someday” project is a spiritual successor to RONJA
<_whitenotifier-a>
[scopehal-apps] azonenberg labeled issue #382: Vertical cursors in FFTs act funny when going off scale - https://git.io/JnSHY
<_whitenotifier-a>
[scopehal-apps] azonenberg labeled issue #382: Vertical cursors in FFTs act funny when going off scale - https://git.io/JnSHY
<_whitenotifier-a>
[scopehal-apps] azonenberg opened issue #382: Vertical cursors in FFTs act funny when going off scale - https://git.io/JnSHY
crabbedhaloablut has quit [Remote host closed the connection]
crabbedhaloablut has joined #scopehal
someone--else has joined #scopehal
crabbedhaloablut has quit [Remote host closed the connection]
crabbedhaloablut has joined #scopehal
someone--else has quit [Quit: Connection closed]
someone--else has joined #scopehal
<_whitenotifier-a>
[scopehal-docs] azonenberg pushed 1 commit to master [+0/-0/±1] https://git.io/JnHgM
<_whitenotifier-a>
[scopehal-apps] azonenberg closed issue #382: Vertical cursors in FFTs act funny when going off scale - https://git.io/JnSHY
ericonr has quit [Ping timeout: 258 seconds]
ericonr has joined #scopehal
bvernoux has joined #scopehal
someone--else has quit [Quit: Connection closed]
someone--else has joined #scopehal
<_whitenotifier-a>
[scopehal-apps] azonenberg opened issue #383: Segfault in HistoryWindow::OnWaveformDataReady when loading .scopesession from File|Open (not triggered by command line loads) - https://git.io/JnQbv
<_whitenotifier-a>
[scopehal-apps] azonenberg labeled issue #383: Segfault in HistoryWindow::OnWaveformDataReady when loading .scopesession from File|Open (not triggered by command line loads) - https://git.io/JnQbv
<_whitenotifier-a>
[scopehal-apps] azonenberg edited issue #383: Segfault in HistoryWindow::OnWaveformDataReady when loading .scopesession from File|Open (not triggered by command line loads) - https://git.io/JnQbv
<_whitenotifier-a>
[scopehal-apps] azonenberg edited issue #383: Segfault in HistoryWindow::OnWaveformDataReady when loading .scopesession from File|Open (not triggered by command line loads) - https://git.io/JnQbv
bvernoux has quit [Quit: Leaving]
<_whitenotifier-a>
[scopehal-apps] azonenberg pushed 2 commits to master [+0/-0/±4] https://git.io/JnQjQ
<_whitenotifier-a>
[scopehal-apps] azonenberg a3ca68f - Don't try to delete waveforms from history while loading. Fixes #383.
<_whitenotifier-a>
[scopehal-apps] azonenberg 2f04c52 - OscilloscopeWindow: don't process spurious trigger events during file loading
<_whitenotifier-a>
[scopehal-apps] azonenberg closed issue #383: Segfault in HistoryWindow::OnWaveformDataReady when loading .scopesession from File|Open (not triggered by command line loads) - https://git.io/JnQbv