Re: DSP SoundDoppler Advice
- Hello EveryBody,
I did post the new SoundDoppler129All.zip
On our Club site
With extra option under menu F11 APRS in SoundDoppler.exe
So the packet.txt is readable
now with Ctrl-P from APRSIS32.
Now I need to focus on
Getting TCP/IP communication with
Have not done this before
so I hope all there is to be send is the data
in packet.txt to APRSIS.
I did not found a way yet to change the color
of the yellow beam width stripes.
They are hard to see on some maps.
I saw that there are so called shrieks
Maybe I could use that format for the
status messages I use now in packet.txt
I will take a closer look to that issue too.
--- In firstname.lastname@example.org, "pa3bnx" <pa3bnx@...> wrote:
> Hello everybody,
> A routine is maybe called a function or sub
> It is a piece of software that does a job.
> Yes it does give the raw value now
> But the raw value is the averaged value
> of the doppler.
> The cse thats the gpscompass value
> is the averaged gpscompass value
> From the time the squelch opens until the
> squelch closed or when the initial
> squelch open gpscompass is beyond the
> max cource deviation.
> Yes the 15 second reset in the average function
> resets all headings
> and re inserts just the last averaged raw doppler
> why is that done.
> Wel wen I drive maybe there gets another station on air
> from different location.
> So all old values are not recalc every time
> from all the old values
> Averaging goes as follow
> Sub Average(degrees,quality)
> ''Static means it keeps the old values
> static sCount1
> static scount2
> static scount3
> static scount4
> static sdegrees1
> static sdegrees2
> static sdegrees3
> static sdegrees4
> select case degrees
> case 0 to 90
> sCount1 = sCount1 + 1
> sDegrees = sDegrees + degrees
> case 91 to 180
> sCount2 = SCount2 + 1
> sDegrees2 = sDegrees + degrees
> case 181 to 270
> sCount3 = sCount3 + 1
> sDegrees3 = sDegrees3 + degrees
> case 271 to 360
> sCount4 = sCount4 + 1
> sDegrees4 = sDegrees4 + degrees
> end select
> Now I have the sum of each kwadrant degrees
> and the amount of raw directions
> in 4 kwadrants
> So it's easy to search in witch 2 adjacent kwadrants
> the most counts are
> From those sDegrees and sCounts I calc the average Raw degrees
> Every time again when a new value comes.
> Now when the squelch is longer open than 15
> I reset all SCount and sDegrees values.
> And put just one in with the last averaged raw value.
> and continue collecting data.
> I hope this explains it a bit how the averaging is done.
> By the way I discoverd that APRSIS32.exe does show
> icons and labels at lat and lon 00000.00E and 00000.00N
> (Africa) of APRS frame without latitude and longitude
> like from telemetry frames and other.
> Frames without lat and longitude should not be displayed on a
> map I think.
> --- In email@example.com, James Ewen <ve6srv@> wrote:
> > On Wed, Dec 26, 2012 at 1:12 PM, pa3bnx <pa3bnx@> wrote:
> > > But what I do is:
> > >
> > > When the squelch opens I read the cource of the GPS and store it.
> > >
> > > Then I go collecting and averaging the raw doppler degrees.
> > >
> > > When something happens like a small GPS cource change
> > > I averaged the cource with the previos cource
> > >
> > > When the cource change is getting to large
> > > comapred from orginal stored gpscompass
> > > I immediatly send a DF report.
> > Yes, understood. While you are averaging the course changes, you're
> > also correcting raw doppler directions with current course to come up
> > with a true direction, which is then being averaged to be sent as the
> > "BRG".
> > Once the time or course change threshold is met, you send a DF Report
> > with the averaged course, an unknown value for speed, the TRUE BRG,
> > and an NRQ value.
> > > And store the new initialy GPS compasvalue.
> > >
> > > If the squelch closes I send a DF report
> > > with averaged GPScource and Raw averaged Doppler.
> > Have you changed your programming to send the RAW Doppler direction?
> > RAW Doppler direction is the direction to the signal source relative
> > to the direction of travel.
> > TRUE Doppler direction is the direction to the signal source without
> > regard to the direction of travel.
> > For a moving DF unit with the signal source to the North, you would
> > end up with this table
> > CSE | RAW | TRUE
> > ---------------------------------
> > 000 | 000 | 000
> > 030 | 330 | 000
> > 045 | 325 | 000
> > 090 | 270 | 000
> > 180 | 180 | 000
> > 270 | 090 | 000
> > 330 | 030 | 000
> > I just want to make sure that we are both using the same terms here.
> > > The averaged raw doppler degrees are reset every
> > > 15 seconds to the last averaged value
> > Here's where I think the terms used are getting confused, and there's
> > a problem with the translation.
> > If you are getting a RAW direction of 20 degrees, and you change
> > course to the right by 5 degrees, your RAW direction will slowly
> > adjust to 15 degrees. If you then turn left 10 degrees, your RAW
> > direction will slowly adjust to 25 degrees.
> > We should agree upon this definition, correct? We do not know what
> > compass heading (TRUE bearing) the signal source is from us, but we do
> > know that the signal source is slightly to our right.
> > To know the TRUE bearing, we would have to add our averaged course to
> > our averaged RAW direction. If you send a DF report with the averaged
> > course and averaged RAW direction as the BRG value, all the APRS
> > programs would add the two values together, and show the TRUE heading
> > towards the signal source.
> > I don't quite follow your statement about resetting the average value
> > to the average value though.
> > If you have an average RAW direction of 216 degrees, and 15 seconds
> > elapses, you say you reset the averaged RAW direction to the last RAW
> > direction. That would mean that you reset 216 degrees to 216 degrees.
> > That's not really a reset, you're just carrying the value over.
> > > So all other older values are lost in the kwadrants
> > > I had before.
> > So, do you mean that you clear all your statistical values, and just
> > use the last reported direction as an initial value in the next
> > statistical group?
> > > Also when the GPS speed drops below a threshold value
> > > I immediately send a DF report.
> > Can you still send DF reports when stationary?
> > > I did program today a methode also to have
> > > The N from NRQ very precise hi...
> > What's the routine? Are you adjusting the accuracy (Q) based on the
> > amount of directional hit spread, and then reporting an N value based
> > on the number of hits within that spread? Doppler units can
> > statistically be counted on for about a 5 degree accuracy at best, so
> > you should never really report a Q any higher than 7 at the best.
> > > I still need testing the software
> > >
> > > But making good progress in programming.
> > >
> > > I have made an option now where I can switch the df report
> > > to APRS compatible and the old methode for UIV32
> > > that has only Speed/Cource decoding.
> > That's good, you can support the non-APRS compliant UI-View format, as
> > well as the APRS compliant version. I would guess that you're still
> > going to support the raw Agrelo format as well...
> > > I am now also doing the Stationairy
> > > cse/spd
> > > 000/... is stationairy df report
> > > 000/000 No GPS speed or driving too slow
> > According to the APRS specification, 000/000 is a stationary DF
> > station. The APRS specification does not specify whether you can mix
> > and match the three different null values for CSE/SPD.
> > What would be the difference between a stationary DF report and a
> > report where the GPS speed is non-existent or too slow? Would
> > SoundDoppler possibly report bad bearings?
> > > My MyMapping.exe wil find out if I use the old UIV
> > > compatible format or the APRS compliant format
> > > in Packet.txt
> > You have a lot of leeway with your mapping program as you can pass
> > just about anything from SoundDoppler to it. We just need to make sure
> > that if you are sending information to other programs that it is in
> > the proper format.
> > > I think I do only have to add the altitude and frequency
> > > or strcomment.
> > >
> > > But it's tricky not to exceed the 28 bytes left.
> > Define your comments...
> > 8 bytes for frequency MMM.kkkk where the frequency is always in MHz.
> > 8 bytes for Altitude A=XXXXXX as per APRS spec, using a / seperator.
> > That give you 17 bytes, with 11 more to go.
> > 442.2375/A=000123
> > I think you're making some excellent progress, we just need to keep
> > speaking a common language!
> > --
> > James
> > VE6SRV
- Hello EveryBody,
Today I bought/used an inexpensive Euro 28
USB soundcard U-Control UCA202 Behringer.com
Unfortuality it was not sensive enought
It needs about 1 Volt eff for the line inputs
so I build on matrix pcb 2 audio pre amplifliers
with 1 transisto bc547 in each channel.
Now I had gain enough.
These circuit uses about 2 mA at 12 volt.
The fun is that I can have two SoundDoppler.exe running on
one PC with two scanners and two antenna arrays.
And this al displayed on MyMapping.exe
I found out that it is handy to have more colors arrowpoints
so I can see on the map and stationairy from wich doppler the arrow came.
So I have now a red, yellow and magenta arrows.
Red MyOwn, Yellow MyAlias and other Callsigns Magenta.
I did also work today on my New Arduino Uno board to
create a SoundDopplerGenerator with softwitching
and pre and post decay control signals for the
So the packet.tx file or df-report
should have maybe also a setting for the destination field
like APDF01 APDF02
It can ofcource also have a callsign alias with a ssid
Don't now yet how to do that in SoundDoppler.exe.