User talk:Duggabe: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
=Tech writing presentation=
<h2>This is a heading</h2>


<!-- Tech_writing_presentation.mediawiki -->
<p>I am looking into the possibility of making certain pages of our Wiki be adaptive to the user's Operating System and GNU Radio version (or desired version) so that sections which don't apply would be hidden. This would make cleaner presentations and reduce the clutter of unrelated information.</p>


==Preparation==
<div id=v8>
* GNU Radio Main Page
<p>Info related to version 8.</p>
    https://wiki.gnuradio.org/index.php/Main_Page
</div>
* A Newbie's Guide to the GNU Radio Universe
    https://www.youtube.com/watch?v=uxAW-WzuNy0


==Background==
<div id=v9>
* Amateur radio operator since 1953
<p>Info related to version 9.</p>
* Electrical Engineering degree 1961
</div>
* Computer programmer since 1962
* Retired 2003
* Started working on GNU Radio 2019


==What is GNU Radio==
<div id=v10>
GNU Radio is a free and open-source software development toolkit that provides [https://en.wikipedia.org/wiki/Digital_signal_processing Digital Signal Processing] blocks to implement [https://en.wikipedia.org/wiki/Software-defined_radio Software Defined Radios]. It is an entirely volunteer organization with contributors from all over the world.
<p>Info related to version 10.</p>
 
</div>
Traditional radios use transistors, resistors, capacitors, and other "discrete" components. The signals are voltages and frequencies.
 
Software defined radios use computer programs. The signals are data which is processed by the programs.
 
The name "GNU" is a recursive acronym for "GNU's Not Unix". "GNU" is pronounced g'noo, as one syllable, like the Aussie "g'day".
 
What is the other name for a gnu (the animal)?
 
==Why did I get involved?==
I discovered GNU Radio when reading an amateur radio manual. I thought it was a fascinating concept to use software instead of hardware to create a radio. After all, I am a career computer programmer and a life-long amateur radio operator, so combining the two was an appealing idea. After reading the "discuss-gnuradio" mailing list for a while, I noticed a recurring topic of "GNU Radio documentation is terrible". Trying to use it, I had to agree, and decided to do something about it.
 
==Learn by Doing==
When I got involved, the switch to using a Wiki was new. Many of the blocks were just skeletons with no real content. For example, https://wiki.gnuradio.org/index.php?title=Cvsd_encoder is yet to be documented after more than four years. There are more that 480 blocks, so it's a very daunting task to do them all.
* I had to learn to use [https://www.mediawiki.org/wiki/MediaWiki MediaWiki].
* I had to learn what a block did before I could write about it!
 
After the first year of working on them, I had done over 150 blocks and written or revised about 10 tutorials.
 
==Help others to Learn==
I have found that the best way to learn about a technical subject is to study a turorial about it. However, there were very few tutorials, and the ones which existed were out of date because of newer software releases of GNU Radio. About the same time I got started with GNU Radio, there was a significant update to the software which added many blocks and deprecated many others, so most of the tutorials only worked with the older software. The existing tutorials needed updating and new tutorials needed to be written.
 
Another way I have found to learn about a subject is to teach it to someone else. When you explain a topic to another person, you clarify the details in your own mind (or find out that you need to learn more about it yourself!). So study partners or small groups can be very valuable to enhance your own learning.
 
==Adopting a Style==
It was rather surprising to me that there was no formal guidance for the style of the Block Docs or for tutorials. As I started working on the Block Docs, I derived a skeleton format which covered all of the items I found in various blocks. That gave a consistent layout from one block to the next. I also got some guidance from my mentor at GNU Radio based on unwritten expectations of how a block should be documented. It's interesting to note that in a volunteer organization such as GNU Radio, tradition and unwritten rules are as common as formal guidelines.
 
For the Tutorials, there was much more latitude to create and use my own style. My basic approach was to write for a beginner with only the Prerequisites as a background. Other than that, I used an "Assume nothing" approach.
 
==Some examples==
One of my more popular tutorials is https://wiki.gnuradio.org/index.php?title=Simulation_example:_FSK Along with that, I wrote the Block Doc for the https://wiki.gnuradio.org/index.php?title=VCO which is the key block in generating the FSK signal.
 
In doing my work on the documentation, I wanted to make sure that what I wrote actually worked. So for each of my blocks and example flowgraphs, I created and tested them before I published them. For several of them, I created a complete working system using SDR hardware to operate with an amateur radio station. For example, https://github.com/duggabe/gr-RTTY-basics implements an amateur radioteletype station.

Revision as of 01:24, 25 November 2022

This is a heading

I am looking into the possibility of making certain pages of our Wiki be adaptive to the user's Operating System and GNU Radio version (or desired version) so that sections which don't apply would be hidden. This would make cleaner presentations and reduce the clutter of unrelated information.

Info related to version 8.

Info related to version 9.

Info related to version 10.