# Would it be worth creating a "JuliaTelecom" Julia group?

**URL:** <https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798>\
**Category:** Community\
**Created:** [July 25, 2019, 3:37pm UTC](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798 "2019-07-25T15:37:01Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![MA\_Laforge](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ma_laforge/32/385_2.png) [@MA\_Laforge](https://discourse.julialang.org/u/MA_Laforge)\
**Post date:** [July 25, 2019, 3:37pm UTC](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798/1 "2019-07-25T15:37:01Z")

</div>

… And should someone from the core Julia team control that group?

### Outside scope of JuliaDSP?

I looked at the JuliaDSP group, but it seems to focus mostly on actual DSP algorithms.

The telecommunications domain also needs tools to design/model/observe analog phenomena which _ **does** _ deal with signal processing issues, including equalization with FFE/DFE, etc. However, I do not believe these tools would be appropriate for the JuliaDSP group.

### Examples of Telecom tools

- Creating eye diagram plots
- PRBS bit sequences generators & “checkers”
- Tools to simulate different bit/symbol modulation/demodulation schemes.
- Tools to simulate different frequency multiplexing schemes.

It might even be useful to wrap some core DSP algorithms in a more useful form (like using a more constrained/application-specific APIs to model feed forward equalizers (which are basically FIR filters).

### Currently Available Packages

There are at least two packages with overlapping/complimentary functionality that would work for a “JuliaTelecom” group:

- _ **DigitalComm:** _ [GitHub - JuliaTelecom/DigitalComm.jl: Julia module for digital communication tools.](https://github.com/RGerzaguet/DigitalComm.jl)
- _ **PhysicalCommunications:** _ [GitHub - JuliaTelecom/PhysicalCommunications.jl: Tools for development & test of PHY communication layer](https://github.com/ma-laforge/PhysicalCommunications.jl)

Sadly, it is much more difficult to find these packages if they don’t have the visibility of a “Julia group”.

### When to create a group?

I don’t have tons of tools for this group yet, so I am wondering if it is appropriate to create the group now.

…Then again, would creating the group actually create the seed that got people to start contributing?

---

<div class="post-metadata">

**Author:** ![MA\_Laforge](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ma_laforge/32/385_2.png) [@MA\_Laforge](https://discourse.julialang.org/u/MA_Laforge)\
**Post date:** [August 11, 2019, 4:19pm UTC](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798/2 "2019-08-11T16:19:14Z")

</div>

Moving to package announcements. Not sure if I was reaching those who know what to do to start a new “Julia Group”.

---

<div class="post-metadata">

**Author:** ![vchuravy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vchuravy/32/8_2.png) [@vchuravy](https://discourse.julialang.org/u/vchuravy)\
**Post date:** [August 11, 2019, 6:38pm UTC](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798/3 "2019-08-11T18:38:07Z")

</div>

Creating a new “Julia Group” I assume you mean Github organization is driven by the community, if there are enough packages in a domain to and the package authors are interested in collaborating it makes sense to create a new Github organization under which the packages are pooled.

---

<div class="post-metadata">

**Author:** ![RGerzaguet](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rgerzaguet/32/45492_2.png) [@RGerzaguet](https://discourse.julialang.org/u/RGerzaguet)\
**Post date:** [August 12, 2019, 12:48pm UTC](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798/4 "2019-08-12T12:48:25Z")

</div>

Hello,

I am the contributor of DigitalComm.jl. I completely agree with your different comments. Besides that, there is sill a large place to do (in the digital comm fields and for also upper layer) that does not directly fall into the scope of these two packages yet belonging the “telecommunication area”. The actual solution (everyone has their own package) can lead to a fragmentation of the proposals, lowering the potential impact and benefits for the community.

So a Julia group (if it is possible) is somehow a good idea. I am however not an expert on how the julia structure works, so I must confess that I absolutely don’t know how to create it (and make it visible from Julia repo). But, I will be very happy to contribute and move DigitalComm.jl to it.

RG.

---

<div class="post-metadata">

**Author:** ![MA\_Laforge](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ma_laforge/32/385_2.png) [@MA\_Laforge](https://discourse.julialang.org/u/MA_Laforge)\
**Post date:** [August 13, 2019, 3:12pm UTC](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798/5 "2019-08-13T15:12:52Z")

</div>

I **also** don’t really know how to create a “Julia Group”. It would appear from vchuravy’s comments that all we would need to do is create a “Github organization”, and that we could do it on our own (without the intervention of the Core Julia team).

But it would appear that @vchuravy is suggesting we only should create such an organization if there are (currently?) enough packages - and my guess is that 2 packages might not be “enough”.

I suppose what I am **really** asking here is if this is one of those “if you build it they will come” situations.

---

<div class="post-metadata">

**Author:** ![jpsamaroo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jpsamaroo/32/46804_2.png) [@jpsamaroo](https://discourse.julialang.org/u/jpsamaroo)\
**Post date:** [August 13, 2019, 3:22pm UTC](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798/6 "2019-08-13T15:22:55Z")

</div>

I agree that 2 packages doesn’t really make an organization necessary, however 3 or more are worthy of one, in my mind. What other sorts of functionality/packages would be required for doing telecom things in Julia, that either don’t exist, or do and could be transferred into this org?

---

<div class="post-metadata">

**Author:** ![MA\_Laforge](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ma_laforge/32/385_2.png) [@MA\_Laforge](https://discourse.julialang.org/u/MA_Laforge)\
**Post date:** [August 13, 2019, 4:00pm UTC](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798/7 "2019-08-13T16:00:46Z")

</div>

One example is that alot of what you do when designing telecommunication systems (and circuit design in general) is to do parametric tests to verify design robustness or compare circuit architectures.

I have a few packages that help with these tasks, though some of them are not even registered. For example, _ **MDDatasets.jl:** _

- [GitHub - ma-laforge/MDDatasets.jl: Multi-Dimensional Datasets for Parametric Analysis](https://github.com/ma-laforge/MDDatasets.jl)
- Collect simulation results in multi-dimensional data structures (one dim. for each parametric test)
- Perform automatic interpolation along the x samples (useful for continuous time domain results).

I also have a **`SignalProcessing.jl`** module to with the following features:

- [https://github.com/ma-laforge/SignalProcessing.jl](https://github.com/ma-laforge/SignalProcessing.jl)
- Create a time-domain signal with simple RC rise/fall transitions.
- Convert between time ↔ frequency domains
- Create single-pole pulse & step responses for your simulations.
- Create a range representing time samples on a periodic signal for a given time range & fundamental that _ **ensure** _ you don’t have off-by-one errors that will affect the FFT, etc.
- Automatically scales FFT results to correctly represent either frequency coefficients (periodic signal) or samples of the frequency spectrum (non-periodic signal).

### My struggle

- Many of my tools are generic, and could be in a more core library (not telecom-specific).
- Many of my tools make use of `MDDatasets.jl` because this “Multi-Dimensional-enabled” module makes it _ **much** _ easier to perform tasks necessary for the telecom & circuit-design fields.

So, I sort of like the idea of building “glue” modules for “JuliaTelecom” that would provide signal-processing capabilities in a form that is practical for the design “flow” used by circuit designers, and architects of the telecom industry. That’s what I tried doing in `CData.jl`, which simply installs a bunch of said modules in your current Julia environment:  
 → [GitHub - ma-laforge/CData.jl: C-Data Parametric Analysis/Visualization Suite](https://github.com/ma-laforge/CData.jl)

---

<div class="post-metadata">

**Author:** ![Adriel](https://avatars.discourse-cdn.com/v4/letter/a/f07891/32.png) [@Adriel](https://discourse.julialang.org/u/Adriel)\
**Post date:** [August 14, 2019, 12:05am UTC](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798/8 "2019-08-14T00:05:11Z")

</div>

I maintain a “Wireless” package, with multi-antenna fading channel modelling, equalization, codecs and the like, which makes heavy use of DSP.jl. I wasn’t aware of those other packages. Good to know they exist.

It’s unpublished at the moment. I’m an engineer not a computer scientist, so don’t expect Julia Base quality code. Also parts of it need more thorough testing (trying to get an undergrad project to help with that) and documentation is sparse.

With those caveats, it would be great to be part of a larger effort in this space, particularly if we could develop a common, streamlined API. I’ll aim to publish my package late next week.

---

<div class="post-metadata">

**Author:** ![KajWiik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kajwiik/32/199_2.png) [@KajWiik](https://discourse.julialang.org/u/KajWiik)\
**Post date:** [September 7, 2019, 10:42pm UTC](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798/9 "2019-09-07T22:42:47Z")

</div>

To me (as a radio astronomer), Telecom seems to be a bit restrictive. I do not like SDR either 🙂 so DSP would be OK…?

---

<div class="post-metadata">

**Author:** ![MA\_Laforge](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ma_laforge/32/385_2.png) [@MA\_Laforge](https://discourse.julialang.org/u/MA_Laforge)\
**Post date:** [September 18, 2019, 11:12pm UTC](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798/10 "2019-09-18T23:12:28Z")

</div>

You use telecom-type tools in radio astronomy? This is very interesting to me.

I admit I could see you using Software Defined Radio to de-modulate AM signals from space, I suppose.

But I don’t really expect you to use digital tools directly - unless you are looking for “intelligent” life. If so, I think that still falls under telecommunications, no?

Wouldn’t it be more likely that you would use DSP.jl base tools in conjunction with say, your own RadioAstronomy.jl package? (Sorry for the possible ignorance: I am in no means an expert here).

From my understanding, radio astronomers mostly want to generate images of distant galaxies using data collected at microwave frequencies (& possibly others).

If so, I would expect radio astronomers to require a whole different set of tools which likely build upon the DSP.jl package. I would also expect these tools to mostly be concentrated on generating 2D (maybe 3D?) _ **images** _ of the universe.

---

<div class="post-metadata">

**Author:** ![mbaz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbaz/32/17295_2.png) [@mbaz](https://discourse.julialang.org/u/mbaz)\
**Post date:** [September 18, 2019, 11:39pm UTC](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798/11 "2019-09-18T23:39:46Z")

</div>

Many of the earth-observing satellites transmit images or telemetry back to earth using regular digital communications signals, or variations thereof. Other satellites can act as relays for amateur-band radio, of which some are analog and some are digital. I think such tools could potentially belong in a telecom group, or at least use some of its libraries.

---

<div class="post-metadata">

**Author:** ![Zhong\_Pan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zhong_pan/32/19872_2.png) [@Zhong\_Pan](https://discourse.julialang.org/u/Zhong_Pan)\
**Post date:** [September 19, 2019, 2:52am UTC](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798/12 "2019-09-19T02:52:13Z")

</div>

Since others brought it up that the name “Telecom” is a bit restrictive, how about “Communications” or “Communication Systems”?

I am an engineer in the field of Optical Fiber Communications and I’d love to see a group like what you are proposing to create.

---

<div class="post-metadata">

**Author:** ![Alexander-Barth](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alexander-barth/32/3692_2.png) [@Alexander-Barth](https://discourse.julialang.org/u/Alexander-Barth)\
**Post date:** [September 19, 2019, 6:11pm UTC](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798/13 "2019-09-19T18:11:24Z")

</div>

I also like (and actually prefer) the term “Communications”.

---

<div class="post-metadata">

**Author:** ![Alexander-Barth](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alexander-barth/32/3692_2.png) [@Alexander-Barth](https://discourse.julialang.org/u/Alexander-Barth)\
**Post date:** [September 19, 2019, 6:14pm UTC](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798/14 "2019-09-19T18:14:05Z")

</div>

Thanks for bringing this up, which is also my interest in this domain. I made some tools to [decode NOAA weather](https://github.com/Alexander-Barth/APTDecoder.jl) data using an inexpensive SDR dongle. I think this is an interesting project for example for students.

---

<div class="post-metadata">

**Author:** ![mbaz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbaz/32/17295_2.png) [@mbaz](https://discourse.julialang.org/u/mbaz)\
**Post date:** [September 19, 2019, 10:13pm UTC](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798/15 "2019-09-19T22:13:57Z")

</div>

@Alexander-Barth Thanks for sharing that! I’ll try it out soon. A student and I wrote our own APT decoder in Matlab and re-writing it in Julia has been in my to-do list for a while.  
I’ve been working on introducing sat comm in my communications courses for a while (see for example [A satellite ground station for teaching digital and wireless communications | IEEE Conference Publication | IEEE Xplore](https://ieeexplore.ieee.org/document/7757672/)).

Another thing I want to do is controlling the SDR directly from Julia, that is, without needing intermediate tools like GQRX.

---

<div class="post-metadata">

**Author:** ![lobingera](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lobingera/32/211_2.png) [@lobingera](https://discourse.julialang.org/u/lobingera)\
**Post date:** [September 20, 2019, 6:28am UTC](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798/16 "2019-09-20T06:28:41Z")

</div>

Just for mentioning this: I work in “Telecom” - actually mobile communications, and everything around is named “Communications” only.

---

<div class="post-metadata">

**Author:** ![Alexander-Barth](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alexander-barth/32/3692_2.png) [@Alexander-Barth](https://discourse.julialang.org/u/Alexander-Barth)\
**Post date:** [September 20, 2019, 8:11am UTC](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798/17 "2019-09-20T08:11:51Z")

</div>

Yes, this should be possible (assuming that you are also using an RTLSDR device). [RTLSDR.jl](https://github.com/dressel/RTLSDR.jl) now works with Julia 1.x and for instance I was able to decode a [FM radio directly in Julia](https://nbviewer.jupyter.org/github/Alexander-Barth/APTDecoder.jl/blob/master/examples/FM%20radio.ipynb). I have not tried to use RTLSDR.jl with APT signal, but it should work.

---

<div class="post-metadata">

**Author:** ![MA\_Laforge](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ma_laforge/32/385_2.png) [@MA\_Laforge](https://discourse.julialang.org/u/MA_Laforge)\
**Post date:** [September 21, 2019, 8:38pm UTC](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798/18 "2019-09-21T20:38:50Z")

</div>

Though I do agree that we do tend to call the field “communications” - and that most people are familiar with the “Communications” toolbox, my concern was not to confuse my group with other potential Julia groups. I mention this in one of my comments below:

> [@\[ANN\] DigitalComm.jl - Tools and utilities for digital communication](https://discourse.julialang.org/t/ann-digitalcomm-jl-tools-and-utilities-for-digital-communication/25595/4):
>
> This is unfortunate: I had searched as much as I could to find a package like this one in the package registry and on Julia Observer. I just registered a package called PhysicalCommunications.jl a few days ago: → [https://github.com/ma-laforge/PhysicalCommunications.jl](https://github.com/ma-laforge/PhysicalCommunications.jl) DigitalComm.jl might have been a good home for my eye-diagram & Maximum LFSR algorithms. Note: I called my module “PhysicalCommunications” simply because I was providing “Analog” tools (eye-diagram) for observing channel quali…

And since I see Julia being adopted in so many fields, I could even see someone wanting to build a “Communications” toolbox for those who work as journalists, media editors, PR practitioners, staff writers, etc.

But even in more restricted terms, I personally feel that collecting all tools relating to the 7 OSI layers in a single Julia group would be a bit excessive… Though I am definitely open to hearing what others think on this subject.

Anyways, despite my reluctance to do so, I named my own package “PhysicalCommunications.jl” just because I mostly tend to work in the physical communication layer, myself.

And, for the record, I am not a particularly big fan of calling the group “JuliaTelecom” either - so I am all in to picking a better name/scope for this group.

---

<div class="post-metadata">

**Author:** ![mbaz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbaz/32/17295_2.png) [@mbaz](https://discourse.julialang.org/u/mbaz)\
**Post date:** [September 21, 2019, 9:59pm UTC](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798/19 "2019-09-21T21:59:58Z")

</div>

I agree that “communications” on its own is too vague. I’d favor “communication systems” or “communication engineering” (probably abbreviated).

---

<div class="post-metadata">

**Author:** ![KajWiik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kajwiik/32/199_2.png) [@KajWiik](https://discourse.julialang.org/u/KajWiik)\
**Post date:** [September 22, 2019, 8:51am UTC](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798/20 "2019-09-22T08:51:14Z")

</div>

> [@MA\_Laforge](#):
>
> You use telecom-type tools in radio astronomy? This is very interesting to me.
> 
> I admit I could see you using Software Defined Radio to de-modulate AM signals from space, I suppose.

Well, all natural signals are noise-like, so no ‘decoding’ is done. However, nowadays almost all receivers are SDR-type and DSP tools are heavily used (e.g. complex correlation and complicated inverse methods in EHT).

So I guess my comment boils down what do you mean with ‘telecom-tools’? Reading the thread now, I guess mainly demodulation (e.g. Costas-loops, QAM-systems etc.)?

So, perhaps there is a need for (at least) three groups: Telecom (or Communications), SDR and DSP? OTOH, these are somewhat overlapping?

[Next page](https://discourse.julialang.org/t/would-it-be-worth-creating-a-juliatelecom-julia-group/26798.md?page=2)
