In the simplest sense, a GPS position is actually a computed result using "pseudoranges" as inputs. A pseudorange is the distance between a GPS Receiver's antenna and a satellite's antenna, and the minimum pseudoranges required is four.
All pseudoranges are inherently fraught with errors which is the reason why GPS positions are inaccurate. Now, if somehow these errors could be removed or minimized, the computed position's accuracy will improve. Differential Positioning refers to such a method, and in the simplest implementation, requires two GPS Receivers capable of outputting the pseudoranges for every satellites in view.
One GPS Receiver must remain stationery, and its coordinate must be known. This Receiver is called the "Base". Another GPS Receiver will occupy a location whose coordinate we want to determine. This Receiver is called the "Rover".
RTCM refers to a standardized/well-known format for the Base to pass bias corrections (for the pseudoranges) to the Rover.
Reply to Comment
Using DGPS on the device requires RTCM being transmitted from base to
device, where the correction is performed on the device. I will have a
known base position (survey grade), but the base station needs to know
where all rovers (mobile GPS units) are to coordinate events. Since
RTCM is geared towards base->rover, I would like to NOT use RTCM but
still obtain a sub meter accurate position.
In the GNSS community, "Base" or "Base Station" has a specific meaning and role as described in the answer above.
What you want is a (sort of) Processor Server that receives inputs from a Base Station and multiple Rovers (i.e., your moving/moveable assets), where the corrections are done by and at the Processor Server, and presumably the improved coordinates of the Rovers are then published to Message Queues or SQL tables, and etc.
Yes, technically, you can do all the above with a lot of programming works. And this statement assumes you already have the correct Rover hardware and SDK for accessing the hardware.
I would like to NOT use RTCM but still obtain a sub meter accurate position.
The resultant accuracy depends on many factors, among them the Rover antenna's type and built, will the Rover be blocked by any building on the property, or move/stay under foliage, and etc.
Can this be done accuratly (<1m accuracy) without the raw gps data and
just nmea output ?
No, NMEA outputs coordinates which are results of computations. DGPS requires pseudoranges.