J-QAM
User Manual For V2
Installation:
To
install the program run the downloaded
program jqamv2_setup.exe. The install wizard will guide you through the
rest of
the installation.
Running
the program:
You
will find a program shortcut in your
start menu. Click Start , J-QAM , J-QAM V2. If this is the first time
you have
run the program a window will display telling you fftw is finding a
fast
implementation of an fft. Once this is gone the program is loaded.
Configuring
the program:
Upon running the program, a default window will be showing.
If
all you want to do is use it as a
demodulator, chances are selecting file-start is enough.
Else,
click the options-settings from the
menu bar. The following window should be showing.

First,
configure “SoundCard Settings”.
Choose the “sample rate” for your sound card, I recommend 96000 but if
your
computer does not work well with this setting try something lower like
48000.
The “buffer size” controls the size of the audio buffer and the value
of 30000
should be adequate. Choose your “Soundcard Device” from the list.
Next,
Decide which checkboxes you want
to activate.
- Enable
Modulator
Select this if you want the program to be used as a modulator (makes
the sound)
- Enable
Demodulation
Select this if you want the program to be used as a demodulator
(decodes the sound)
- Show
Main Window when Program Is launched
- Start
when program is run
This option will start the modem modulating and/or demodulating the the
program is launched.
- Enable
RS232 for transmitting and receiving data.
If this option is checked then the designated serial port can be used
to send and receive data from the program.
You will then have to select your serial port and speed.
Configuring
the demodulator.
From
the settings window click on
“Demodulator”

Demodulator
Settings (General).
- UDP
Send Addr
If you intend to receive UDP packets the set this to where you want
them to be sent. “localhost”, “127.0.0.1”, “192.168.0.1” are common for
the local computer.
- UDP Send Port
If you intend to
receive UDP packets the set this to what port you want them to use.
- Unreal QAM Port
If you intend to
receive Unreal media this port is the address you connect “streaming
media player” to. You will have to download “streaming media player”
for this go to http://www.umediaserver.net/umediaserver/download.html.
- Web Server Port
What port the web
server will run on. 80 is the standard.
“Demodulator
Advanced” is the window where
all the settings of the acquisition of the signal and tracking of it
live.
Experiment with these if you are feeling keen.
Click
“OK”, select File-start, and the
program will hunt for a signal.

Configuring
the modulator.
From
the settings window click on
“Modulator”

Next,
configure “QAM settings”. Decide
which checkboxes you want to activate.
- Unreal
Streaming
Select this if you want the program to send audio and video
- Enable
Sending Of Station ID
Sends the name of your station at regular intervals.
- Enable
WebServer
If this option is selected the program sends files to the in computers
that are demodulating the signal. It uses only unutilized bandwidth and
is therefore perfect when sending unreal media to describe what your
station is about.
- Constellations
size
Chooses what constellation size you want. Either 16 or 64. 64 will
allow 67% more throughput given the same bandwidth as 16. The catch is
that 64 is more likely to not lock and will receive more errors than 16.
- Center
frequency
The carrier frequency is this frequency. Choose this value so
it is in the middle of your available bandwidth. Values from 1200 to
12000 should be OK on normal sound cards.
- Gamma
Gamma is a setting that controls the number of symbols sent for each
oscillation of the frequency. A value of 0.75 means that one symbol is
sent every 75% of an oscillation cycle. This means that smaller values
allow you to get a higher throughput, but the program finds it harder
to determine what symbol was sent when gamma is small, also the smaller
gamma is the smaller alpha must be. For example, if you want gamma to
be equal to 0.54, alpha must be no bigger than about 0.1. You should
choose a value between 0.54 and 1. I suggest you use a program like
“spectrum lab” to see what difference alpha and gamma have on the audio
output spectrum, you can also use the spectrum display when
demodulating in this program to see visually how alpha and gamma affect
the output wave.
- Alpha
Alpha is a setting that tells the program what sort of filters to use.
Small values produce a signal output that uses less bandwidth, but the
“FIR size” of the modulator and at the demodulator must be bigger. You
should choose a value between 0.1 and 1.
- Mod
FIR Size
this setting controls the size of the modulation filter. The
higher the number the nicer the output wave looks. The value of 200 to
900 should be fine.
- Frame
period
every so often the program must send a frame to allow the receiver in
the information to know the transmitters settings. This is a frame,
which is 10 bytes long. A value of a few hundred should be fine. The
bigger its value is the longer a receiver has to wait but that is all.
- RS
Error percent
On top of TCM the program uses Reed Solomon forward error correction.
This setting controls how much it should use. The higher this number is
the more bandwidth is used for error correction. If you wish
to set this at 50% half of your bandwidth is used for error correction.
A value of 10% to 20% should be okay but experiment to see.
- Interleaving
length
this is used by the Reed Solomon code in combating burst errors. The
bigger this value is the more the program is immune to burst errors.
The catch is the latency goes up. Experiment with this.
Your
data rate in bits per second can be
worked out using the following formula.
For
QAM16 datarate= ((100-
RSErrorPercent)/100)*3*CenterFrequency/Gamma
For
QAM64 datarate= ((100-
RSErrorPercent)/100)*5*CenterFrequency/Gamma
Your
bandwidth in Hertz will be
Bandwidth=(1+alpha)*CenterFrequency/Gamma
And
remember
2*gamma-1
should be greater than alpha.
Station
ID

- Station
ID
you can call your stations whenever you want and get J-QAM to broadcast
it to all receivers so they know who you are.
- ID
send period
controls how often you want to send your station ID in seconds.
Modulator
UDP

- UDP
listen port.
This is the port that J-QAM will listen for UDP packets.
Modulator
Unreal Media
To
run unreal media you will need to
download “unreal media server”, “unreal media live server” go to http://www.umediaserver.net/umediaserver/download.html
to get the two programs needed.

- Unreal
server address.
this is the Internet’s address on which the unreal media server is run
on
- Unreal
server port
this is the port on which unreal media server is running. 5119 is
unreal media server’s default, and normally this value should be fine.
- Unreal
alias
this is the alias by which J-QAM will try to connect to the unreal
media server.
- URH
send period
every so often J-QAM must send an unreal header to all receiving J-QAMs
in order to inform them what unreal media is being sent. Any value
should be okay but the bigger the value is the longer the receiver must
have to wait.
Modulator
web server.
These
are the files that J-QAM sends when
there is sufficient bandwidth. Enter the size of the packet’s you wish
to send,
512 should be adequate. The program only sends files when the program
is not
sending anything else, to do this you must specify the idle threshold.
A small
idle threshold means the program waits for very little activity before
sending
a packet of a file. Setting this value to 5% or 10% should be
fine. To allow
you to change files while the program is still sending files I have
added an
FTP server to my program. To have access to this FTP server
you have to enter
a port you want (normally “ftp” is used), what username, and what
password you
want. Click on the little yellow folder and browse for the file
directory that
you wish to be sent, all files in this directory can be sent but no
directories
of this directory. Because files are sent continuously in rotation,
“Resends”
allow you to specify on average how many times you send a particular
file for
each rotation. Zero means the file will never be sent and larger values
will be
sent more regularly.

Received
files are stored in a folder named
after the station ID where QAM.exe resides. The program allows easy
access to
these stored files by running a Web server which runs on the port “web
server
port”. To access it, selecting view-webserver from the main window will
launch
Firefox or Outlook express and open it. The web server interface looks
like the
picture below.

In
the settings window OK excepts your
settings whilst cancel reverts back to the previous setting.
What
all the things mean.
- Rx
Level
shows the amplitude of the received signal
- URH
lights up when the program receives and unreal header packet.
- FRM
lights up when the program receives a frame.
- AMA
lights up when the program uses many moduli for equalization.
- OverF
lights up when data is wishing to be sent faster than the program can
actually send it. If you get this lighting up you have to do something
about it.
- URC
lights up when an UnReal media player connects to my program.
- URS
lights up when my program connects to an unreal media server.
- Modulating
lights up when the program is modulating (making sound)
- DeModulating
lights up when the program is demodulating (decoding sound)
- CD
lights up when the program has got a possible setting to try.
- LCK
lights up when the program has locked on to the symbol and carrier
frequencies and phases.
- MSE
mean square error. Gives a value for the quality of the received
signal. The smaller the value the better. (this is a very important
parameter for the program and is used in many places. It’s even used to
determine which is the right way up for the constellation)
- Buffer
level
shows how much of the transmitter but there is used. When it gets to
the top you will get an overflow.
- Data
rate
shows the effective data rate you have got after the over heads have
been accounted for.
Items from the
“view” menu.
Constellation:
The
constellation window gives a visual
output of the received symbols.

Console:
The
console window gives a display of any
RS232 data or text packets. It also allows you to send text packets.
Its main
use is for testing purposes. Enter characters you want to send in the
bottom
and characters received will appear in the top.
spectrum:
The
spectrum window shows what frequencies
are being used. If you’re listening to a valid signal you
should get something
that resembles the following picture.

frequencies:
the
frequencies window shows you what
frequency settings are probable.
reception:
the
reception window shows you the current
status of demodulation.
transmission:
the
transmission window shows you the
current status of modulation.
Web
page:
Will
open your web browser and loaded
J-QAM’s web server address
Starting
the modulator/demodulator:
To
start the modulator/demodulator simply
click the start button in the main window. To stop the
modulator/demodulator
simply click the stop button in the main window. These are also
available from
File-start, and File-stop.
Jonti
Olds
Email
jontio@i4free.co.nz
Home
Page http://wwwjontio.zapto.org
Product
Page http://homepages.paradise.net.nz/peterfr2/QAM.htm
23/3/2008