Two programs are also involved in reception, and they communicate with each other using TCP/IP. The same programs are used for all picture options. Image formats and compression levels in the received signal are detected automatically, since each image carries a header frame containing this information, the originator's callsign, and the source file name.
Start the receiving modem program Modem_RX_JP2.exe. This will also start the codec program, which displays the received images.
The receiver modem and control program
At the top of the codec program window is the 'Correlation' box. This is a type of tuning display, but rather than a frequency vs time display (spectrogram) this is a correlation strength vs time display (correlogram). Time is represented vertically. Now, this is where the difficult bit starts!
The receiver cross-correlator knows the PN sequence used in the transmission, and is continuously (at every received symbol) comparing the last 80 bits received with the known sequence. Each of the received bits that is the same as the same bit in the PN sequence scores '1', while each one that is different scores '-1'. Most of the time the cross-correlator is comparing image data or incorrectly timed PN bits with the sequence, and so the score will be low, close to zero. However, just once per data frame (packet) the score will match well. It may not be perfect due to noise and other errors, but will be clearly much higher than at any other time in the packet. This allows the receiver software to determine easily where the data starts within the packet.
Now, imagine we draw a graph of the scores with time (i.e. every symbol for 336 symbols, the length of the packet):
The correlator response over 336 symbols
Note that there are two smaller spikes as well as the main peak. This is because the PN sequence is sent more than once. Now the horizontal direction of this little graph is also time, time over an interval of one packet, or 168ms. We can use this information to create the correlogram, and that is what happens. The data from each packet's correlation scores is plotted as a line on the correlogram, with the spikes showing darker. The Correlogram plot moves down in time with every packet, and then wraps around from the top.
Of course the point at which the samples start is arbitrary, and so the three spikes may not conveniently appear in the middle as shown here, and may appear anywhere on the Correlogram. In the picture at the top of this page, you will see them wrapped around at the ends, and also very weak because the signal being received was real DX.
After all this effort (it seems!) the sole purpose of the Correlogram is to indicate when you have a real Digital NBTV signal (as nothing else will show correlation). You use this display to fine tune the receiver - simply adjust the receiver tuning to maximize the contrast of the three lines compared with the noise background. The tuning range over which the Correlogram lines are visible is about 50Hz.
The 'Slant Adjust' controls under the Correlogram allow you to modify the receiver sample rate very slightly. This is done to compensate for errors in the sound card sampling reference oscillator (yours or the other guys). If there is any significant error, the lines in the Correlogram will slant to the left or right. Use these buttons to straighten the Correlogram. The receiver performs better with the slant corrected, but a small slant will not affect results greatly.
The receiver modem also demodulates the correctly timed packets and operates the FEC decoder. The indicator will turn red if there are too many errors in each packet for the Reed Solomon algorithm to correct.
The 'Mixer' button calls up the Windows™ Recording Control applet, so you can select the correct sound card and input, and adjust the input level. Select the Line Input (or wherever you connected the receiver audio) and adjust the level to show some noise on the Correlogram. You can adjust further later. The adjustment is non-critical, and has no effect on the receiverd picture brightness or contrast.
The transmission modulation technique is a mixture of 2-PSK and 8-PSK, so displaying the received signal is a bit more complex than for PSK31. Rather than showing vectors, the phase of each received symbol is shown as a dot around a circle. Two circles are shown: the inner circle shows the phase of the PN sequence 2-PSK symbols in yellow. If the signal is strong and stable, two small yellow fuzzy balls result (you can see yellow fuzzy patches in the example above).
The outer circle shows the phase of the 8-PSK payload symbols. The phase represents two measurements (I & Q): both can be noisy, and so the circle of dots can be noisy. If the signal is strong and stable, eight reasonably stable white fuzzy patches spread around a circle will appear.
The Constellation diagram indicates the symbol phase after it has been corrected by the Equalizer, so tends to look better than the actual received signal will.
The red line to the left of the 'Auto tune' box is an indication of the frequency error perceived by the receiver, on a packet-by-packet basis. This error is measured by comparing the time of one PN sequence correlator peak with the next. The time should exactly match the passing of 252 cycles of carrier (there are 0.75 cycles of 1500Hz carrier per transmitted symbol!) If the frequency is incorrect (receiver is mis-tuned so the received carrier is not 1500Hz), the frequency meausurement detects this as a phase difference. The tuning meter will only work over a narrow range (±35Hz), so you must manually tune the signal to within this range. Once the signal is correctly tuned (first with the receiver RIT, looking at the Correlogram) then using the 'Coarse Tune' slider, the indicator shows a stable, noise-free red line. It will show a very noisy line if not tuned within ±35Hz or the signal is very weak (as shown). During reception, keep an eye on this indicator, and adjust the 'Coarse Tune' slider as necessary. Many transceivers drift a little during transmit.
The other program window that starts when you start the receiver is the 'Wavelet picture decoder' (see picture to right). This program accepts the image data from the modem, error corrects the packets, and decodes the images from them. Once decoded (uncompressed and then interpolated back to the correct size), the image is displayed. If there was an error in the image data, no image is displayed at all, and if things are not going your way, you may not receive very many good images after some time trying. The last successfully received image will be displayed, even if further images were received (no images are ever shown with errors).
The things that contribute mostly to poor reception success are:
- Inappropriate settings at the transmitter
- very poor band conditions
- incorrect receiver tuning
- unstable transmitter or receiver
- badly adjusted sampling rate (slant adjust)Hints:
While not directly related to receiving, this is a good place to comment on the choice of transmitter image settings for best results.
The choice of image size can be crucial to success. If the band is quite noisy (say on average, a lightning burst or strong splatter event every 10 seconds) there will be no point in attempting to send images which take longer than 20 seconds to transmit, as the noise will exceed the ability of the error correction. Use a smaller (lower resolution) picture.
If the noise is bad, increase the amount of error correction data transmitted. This will slow the frame rate, but improve the image success rate. Increasing the number of frames sent from each picture also helps.
At the very bottom of the receiver codec window is a small bar graph, the image assembly progress bar. As received packets arrive from the modem, they are error checked, and if correct, are stored in memory (according to their place in the image), and their presence marked in the progress bar graph. Progress is not a linear thing: you can see the image being assembled here, as the image data is not always received in an obvious order (or a packet was received wrong and later received correctly).
Depending on how much error correction is added, there may be quite sufficient data to show the image before the transmission of the frame is complete. If the end of the frame tramsission is reached (next frame start is received) before sufficient good data is received to correctly display the picture, all the data is thrown away and the next picture assembly started.
Each image is transmitted with its size information (pixel resolution, total number of bytes), and file name. This information is displayed under the displayed picture, along with the compression type, compression ratio and other data. The pixel resolution and number of bytes are also placed in the bottom left corner of the image as a watermark, although it can be difficult to see (zoomed example on right, '64 1927')
The transmitting station callsign (if set) is also displayed. If a text message is sent, this is also displayed in a box under the picture.
When you press the 'Record' button, all frames correctly received will be added to a .TV format movie file. This continues until you press the button again. The files become quite large fairly quickly if reception is good. The file created has an arbitrary file name based on the date and time. You cannot replay the files from the receiver, but an excellent viewer is supplied with the software.
Introduction Transmitting Picture Replay Copyright © Con Wassilieff and Murray Greenman 2004-2009. All rights reserved.