cocoaModem
cocoaModem PSK Interface

Kok Chen, W7AY [w7ay (at) arrl (dot) net]
Last updated: July 1, 2006


Index (User's Manual - PSK Interface)

General Information
Aural Monitor
Accessibility (Incremental Speak and Voice Assist)
Macros
RTTY Interfaces
PSK Interface
MFSK Interface
Hellschreiber Interface
CW Interface
ASCII Interface
SITOR-B Receiver
HF-FAX Receiver
Synchronous AM Receiver
Versions
Part II



PSK Interface

cocoaModem's PSK Interface allows you to receive two different stations that appear as audio PSK tones within a 2.2 kHz passband, and to generate one transmitted signal. The two receivers are independent and can be independently set to decode either BPSK31, QPSK31, BPSK63, QPSK63, BPSK125 or QPSK125 signals.


Config Panel

The PSK Config Panel is shown below in Fig 1. After selecting the PSK Interface in the main cocoaModem window, you can open the Config panel by selecting Config under the Window menu in the Menu bar. You can also open the Config panel by using the Command-Option-comma keyboard shortcut.

pastedGraphic
Figure 1 - PSK Config

Most of the components of the Config Panel are already described in the General Information section of the manual. PSK specific interfaces are described here.


VFO Offset

On the right of the PSK Configuration panel is a Dial Readout box. This box determines how the frequency scale of the waterfall in the main PSK Interface window is labeled. The default contents of this box is a frequency offset of zero with the popup menu set to upper side band. This would be the setting you should use when operating PSK using a regular SSB transceiver in USB mode, as if you are transmitting voice.

You can leave the Dial Readout box alone, and cocoaModem would work fine even if you are not using USB voice mode.

However, if you are using some other mode than USB voice mode with cocoaModem, you might want to take a little time now to set the PSK Config parameters to the sideband and VFO offset of your transceiver, cocoaModem provides a very simple way to figure out where a PSK signal is on the spectrum, whether you are using USB or LSB and whether there is a VFO dial offset on your transceiver.

When left in the default state (VFO offset set to zero, and USB selected), the frequency scale that appears below the cocoaModem PSK waterfall shows the actual audio frequency of the audio PSK tone. If the audio PSK signal is applied to an upper sideband transmitter, you will be emitting a PSK signal that is the same amount away and higher from the suppressed carrier frequency. The suppressed carrier frequency is what usually shows on the VFO dial of the SSB transceiver.

I.e., if the transceiver is using USB and the dial shows a suppressed carrier frequency of 14071.0 kHz, then a 1.5 kHz PSK tone will be transmitting a signal precisely at 14071.0 kHz + 1.5 kHz, or 14072.5 kHz.

On the other hand, if your transceiver is operating in LSB, the same 1.5 kHz audio tone will cause the actual transmit carrier to be located at 14071 kHz - 1.5 kHz or 14069.5 kHz.

To account for this difference, just select LSB in the popup menu if you are operating in LSB. When you do this, you will see that the 1.5 kHz tone now appears above a scale that reads negative 1500.

Many rigs can also apply a VFO dial offset when used in AFSK mode. The reason for the VFO offset is so that the dial reads the Mark frequency of an RTTY signal, rather than the meaningless suppressed carrier frequency when operating in digital modes.

Check with your transceiver's manual what VFO offset is.

If you are using a non-zero VFO offset, you will notice that the scale that is under the waterfall consists of both positive and negative numbers. To identify the precise frequency a PSK signal is on the waterfall, simply add the number to the transceiver’s VFO dial reading (or subtract the number from, if it is a negative number). The result should be the actual frequency you will be transmitting at.

You can very simply test to see if you have entered the correct number into the dial readout box by tuning your transceiver to precisely 10.000 MHz with the transceiver in the same mode that you operate PSK in. If your transceiver's local oscillator is accurate, you should hear WWV’s carrier as a line on the waterfall precisely above the 0 Hz marker.

When you select LSB mode in the popup menu, cocoaModem also flips the waterfall so that the higher frequency on the RF spectrum is always towards the right.


PSK Test Tones

cocoaModem provides a PSK test signal for setting a proper audio output level from the computer, as shown in Figure 2 below.

pastedGraphic
Figure 2 - PSK Test Tone

To familiarize yourself with the test signal, you can initially set the output device to use the Built-in speakers of the Macintosh. You will be able to hear what the output controls do.

The test tone is enabled when you press the Idle Tone button. The audio frequency of the tone can be set in the Tone field.

If you had selected the Built-in speakers with the output device menu, you should be able to hear the familiar PSK31 sound on the Macintosh’s speakers when you depress the Idle Tone button.

You should also be able to adjust the sound volume using the output level and output attenuation sliders.

Once you are familiar with the output controls, you are ready to hook up your output sound device to the transceiver and follow the transceiver’s AFSK level adjustment procedure.

Use one of cocoaModem’s test tones when the transceiver manual calls for a test signal. Adjust cocoaModem’s output levels and any external devices (such as the trim pot in a SignaLink SL+ interface) to satisfy the transceiver’s requirements. The main purpose of the AFSK adjustments is to make sure that you are operating within the linear region of an SSB transmitter. Usually, that means that the audio levels have to be reduced to the point where there is no ALC activity in an SSB transmitter. It is extremely important that you do this, otherwise your signal will be so wide that no one else can operate near to your transmit frequency. Typically, the procedure is to increase the the audio drive until you notice ALC kicking in, and then back off from that position so there is again no ALC action. Your transceiver manual should cover this under the AFSK or Packet description.

The output slider in the PSK configuration panel adjusts the gain on the D/A converter itself, whereas the stepped attenuator reduces the numerical amplitude of signal that is generated by cocoaModem. If you have a choice of various combinations (trim pots, sliders, etc.) try to keep the “attenuation” level to the minimum (0 dB) as long as you can use other means to reduce the audio level to the transceiver. You will generate the cleanest transmitted signal that way.

cocoaModem has a built-in time-out for the PSK test tone. This keeps you from accidentally leaving the transmitter on while you are making adjustments to the audio levels. cocoaModem will turn off a test tone if it has been on unattended for more than 3 minutes. If you need longer than 3 minutes to adjust the audio levels, you will need to press a test tone button again. It is fine to press a test tone button while the tone is being played. It will extend the timeout by 3 minutes when you do this.

Leaving the PSK Configuration panel will also terminate the test tone.


PSK Interface

Figure 3 shows cocoaModem's PSK Interface.

pskinterface
Figure 3 - PSK Interface

The PSK Interface is loosely separated into six groups. Just below the tabs is the main PSK Control panel with the waterfall display, below that are two PSK Receiver sections, followed by the PSK Transmitter section, then followed by the row of macro buttons and finally the QSO Info bar.


PSK Control Panel

Figure 4 shows the PSK Control Panel. It consists of a waterfall display, a dynamic range control for the waterfall, input level control and signal level indicator.

pskctrl
Figure 4 - PSK Control Panel

The input level control and the signal level indicator are already discussed in the General Information section of the manual.

The Waterfall spectrogram occupies most of the space of the PSK Control Panel. Notice that the water “falls” upwards in cocoaModem's spectrograms. I have chosen this direction so that the most recent spectrum line is closest to the frequency scale at the bottom of the display. The alternative would be to place the labels at the top of the waterfall, which is not as visually pleasing to me.

Notice the button that has the caption 2 kHz. In the 2 kHz position, the waterfall display shows updated spectra in the audio range from 400 Hz to 2400 Hz. The strength of a signal is displayed both as an intensity change and color change. Weaker signals are darker, and stronger signals are brighter. Weak signals start as a deep blue, then transitions to cyan, followed by yellow and finally red.

When "depressed," the waterfall width button switches to 4 kHz, showing a waterfall from about 400 Hz to about 4400 Hz. Please note that many transceivers are limited to working in a 2.4 kHz bandwidth.

The scale beneath the waterfall shows the offset frequency of the signal from the transceiver’s VFO dial if the sideband and VFO offset have previously been set in the Config Panel.

The dynamic range of the waterfall display is controlled by a slider to the right and below the waterfall display itself. The control allows you too select the dynamic range of signals in the waterfall and can bet set in 10 dB steps from 40 dB DR to 70 dB DR.

With the slider at the 70dB position, the darkest part of the display (deep blue) is about 70 dB below full scale (bright yellow/red regions). In the 40 dB position, any signal that is 40dB below the peak level will be dark and only very strong signals will show up as yellow. Placing the slider at 70 dB will show more of the weak signals, but it will also show more noise.

When the band is very noisy it is often easier to spot the stronger signals if you set the control for a lower dynamic range. When the band is quieter, you can find the weaker signals by displaying a larger dynamic range on the waterfall. The place where the display looks the most useful depends on propagation conditions, how noisy your location is, the directivity and gain of your antenna, etc.


Operating PSK31

Some of the interfaces that are common to other modes are discussed in the General Information section.


PSK Reception

Below the waterfall are two independent and identical PSK31 “transceivers.” Each transceiver is arranged with some controls at the left, the text view for the receiver in the middle and the frequency and phase displays on the right. Figure 5 shows a detailed view of one of the transceivers while in the middle of decoding a PSK31 signal.

pastedGraphic
Figure 5 - PSK Transceiver

Starting with the control section on the left of Fig. 5, you will see the name of the Transceiver. Below it is an AFC button and below it is a button to select between coherent and non-coherent demodulation (the current implementation only supports coherent demodulation – but I would like to experiment in the future with non-coherent demodulation to see if any disadvantage is actually noticeable on HF).

Below that is a button (Rx>Tx) to manually sync the transmit frequency to the receive frequency.

Below the transmit/receive sync button is a menu to select the PSK interface, this menu is defaulted to BPSK31. BPSK31, BPSK63, BPSK125, QPSK31, QPSK63 and QPSK125 are selectable from this menu. BPSK31 (Binary PSK31) is the most common of all amateur HF PSK modes.


Raw Output

For debugging and other purposes, the output can be set to display raw hex code by selecting the Display PSK31 output in Raw item in the Interface menu of the main menu bar.

rawoutput

In the raw mode, the hex bytes are displayed between angle brackets, as shown below.

rawdisplay


- AFC

A few words need to be made here about automatic frequency control (AFC) and the philosophy of the scheme I have implemented in cocoaModem. This could be very different from what you are used to with other PSK31 programs, and it is worth understanding what is happening inside cocoaModem.

cocoaModem uses three separate frequency control “loops.” These are the acquisition loop, a frequency tracking loop and a phase tracking loop.

When a new frequency is selected by clicking on the waterfall, cocoaModem’s PSK receiver initiates an acquisition phase. Unless the signal is very noisy, distorted (lots of IM distortion) or there are substantial amounts of adjacent channel interference, you can click quite far away from the center of the signal and the receiver will still be able to successfully lock in.

The acquisition phase is executed whether or not the AFC button in the receiver control panel is set. Its purpose is to allow you to click only approximately on the waterfall. cocoaModem’s acquisition loop has no other purpose in life.

Once the frequency is locked to within a fraction of a cycle per second, the PSK31 receiver terminates the acquisition phase. If the received signal makes a large abrupt change in frequency after this point, cocoaModem will not move towards it.

After leaving the acquisition loop, the PSK31 receiver now turns on the frequency tracking loop if the AFC button is on. This allows the receiver to track a slowly drifting PSK31 signal. Most modern transceivers have quartz based synthesizers and do not drift to any appreciable degree after a minute or two of warm up time. For this reason, the AFC button in cocoaModem is defaulted to off. You can turn the AFC tracking loop on manually if you feel that the received PSK31 signal is drifting. However, with modern equipment, if the acquisition loop has done its job properly, you will not need to use the frequency tracking loop.

You can default the AFC buttons to always be active when you launch cocoaModem by setting the appropriate checkbox in the PSK preferences shown in Figure 6 below. You can open the Preference panel from the cocoaModem menu in the Menu Bar.

pskpref
Figure 6 - PSK Preferences

If the frequency remains within a fraction of a cycle to the reference, cocoaModem turns on the phase correction logic. cocoaModem does not really apply a phase correction term to the internal local oscillators, but simply measures the phase errors and then applies the deviation from an ideal phase to the demodulator itself.

cocoaModem also does not implement a tracking "net" button. When pressed, the sync (Rx > Tx) button momentarily transfers the current PSK31 receiver’s frequency to cocoaModem’s PSK31 generator (transmitter). There is no further tracking.


- Selecting PSK31 Frequency, the PSK Frequency Indicator and Phase Indicators

The easiest way to “tune” the PSK31 transceiver is to mouse click on the waterfall.

A green line appears at the cursor location and this frequency is immediately transferred to the Receive Frequency field at the right of the Xcvr 1 section (Figure 5). The Frequency Indicator above the receive frequency text field should also start to show an expanded version of the waterfall around the region that you have clicked. The longer red line at the middle of the frequency indicator is the center of the PSK31 receiver’s passband. The shorter tick marks are 16.125 Hz away from the center. These two shorter tick marks show the locations of the sidebands of an idle PSK31 signal.

If the initial click is far away from the center of the signal, you can watch the acquisition loop “pull” the signal in on the frequency indicator. While the receiver is acquiring the signal, you can also see the numerical value in the receive frequency field change – this shows that the local oscillator in the PSK31 receiver is trying to match itself to the center of the PSK signal. The green line in the large waterfall also tracks this movement.

When the frequency acquisition succeeds, the frequency in the receive field is transferred to the Transmit Frequency text field. This fixes the frequency you will be transmitting on unless you later click on the sync (Rx > Tx) button to transfer a later receive frequency into the transmit frequency field. You can also directly type in a different frequency into the transmit field. After this initial setting of the transmit frequency, the transmit frequency will no longer track the receive frequency, whether or not the AFC button is on.

You can also type a frequency directly into the receive frequency field. If you do this, the receive frequency will switch immediately to the frequency you have entered and cocoaModem will not enter the acquisition loop, nor will the frequency be transferred to the transmit frequency field (use the sync button if you want to lock the transmitter to this new receive frequency).

Once the acquisition phase has locked on to a signal, you should see the Phase Indicator settle down to a single stable line if the signal is clean and strong. This line need not be perfectly centered to get a good print. A noisy signal will cause the yellow line to jump around. The copy will not be solid if the yellow phase line jumps around a lot.

A severely distorted signal could cause some ghost lines to appear. You should also see printing degrade when this happens.

If you see three stable yellow lines, usually a strong line at the center and two other weak lines near the left and right edges of the phase indicator, it is most likely that the station is transmitting in QPSK31.

QPSK31 uses quadrature phasors at the same baud rate as (hence twice the bit rate of) BPSK31. A rate one-half convolution code provides error correction and drops the information rate back to the 31.25 bits per second of BPSK31. At moderate and good signal to noise conditions, QPSK31 can provide a cleaner copy than BPSK31. However, poor signal to noise conditions copy will be better with BPSK31 (which explains the relative popularity of BPSK31 over QPSK31).

Immediately to the right of the Transmit Frequency field is a small transmit indicator that shows the state of the transmitter section of this transceiver. This indicator can be any one of four possible colors. If this transceiver is not selected by the transmit control, the transmit indicator will be gray. Unless both the receive frequency and the transmit frequency have been chosen, the color of the indicator will also be gray. In essence, when the indicator of a transceiver is gray, you will not be able to transmit through that transceiver.

If this transceiver has been selected by the transmit control, and both the receive frequency and the transmit frequency have been chosen, the transmit indicator of the transceiver with turn green, indicating that the transceiver is ready for transmission.

While a transmission is in progress, the indicator will show red. While the mode of the transceiver is in the process of changing from transmit to receive, the indicator will turn yellow while waiting for remaining text to be transmitted. Once the transceiver is idle, the color of the indicator will again turn green.


- Fine Tuning (RIT)

You can manually fine tune the receive frequency by holding down the command key and typing on the arrow buttons on your keyboard. The up and down arrows moves the receive frequency by one Hertz at a time and the left and right arrows moves the frequency by a tenth of a Hertz at a time. This is a good way to center the yellow phase indicator if you have the AFC turned off. A perfectly centered phase indicator can provide a slightly better print when copying marginal signals.

Note that the fine tuning described here has no effect on the transmit frequency. You can therefore treat the arrow keys the same way as you use the receive incremental tuning (RIT) function found on transceivers.

If you want to re-synchronize the transmit frequency to the receive frequency, simply use the Rx>Tx button in the control section at the left of the transceiver’s text view.

To fine tune the receiver of the second transceiver, hold down both the Command and Option keys (or the Command and Control keys, if your PSK preference shows that you prefer to use the control key to select the alternate channel).

Because some desktop managers "traps" the Command-click keys for their own use, cocoaModem provides an option for you o choose whether to use Command-click or Option click to control the RIT. The preference checkbox is in the PSK Preferences that was shown earlier in Figure 6.


Fine Tuning with a Scroll Wheel Mouse

If your mouse comes with a scroll wheel, you can also use it to fine tune the PSK receiver.

To do this, the cocoaModem window has to be the active window. Clicking anywhere on the brushed metal part of cocoaModem's brushed metal window (or clicking on the window’s title bar if you chose not to use the brush metal window) will make cocoaModem’s window active if it is not already active.

Move your mouse into the waterfall area. Do not click the mouse, since that would select a new frequency to use. The scroll wheel of the mouse should now tune the RIT. Holding down the Option key (or the Control key if that is in your PSK preference) when using the scroll wheel to apply RIT to the second transceiver.


- Intermodulation Distortion (IMD) Measurement

The field that shows the IMD of the received signal is below the Phase Indicator.

This is an estimate of the intermodulation distortion product of the received signal, measured while the PSK signal is sending the idle pattern.

A clean PSK31 idle signal appears as two pure sine wave carriers that are 31.25 Hz apart (each 16.125 Hz from the center frequency) – this is the familiar two-tone signal that shows up on the waterfall as a pair of lines when the other end is transmitting but not typing anything. In addition to the pair of lines, intermodulation distortion will cause other spectral products (lines that are further away from the center) to appear in the waterfall. cocoaModem compares the strength of the spectral components around 48 Hz from the center frequency with the strength of the signals around 16 Hz from the center frequency and reports the ratio in the IMD field. I.e., cocoaModem measures and reports the third-order IMD.

cocoaModem is moderately conservative when it comes to reporting an IMD number and prefers to not output an IMD measurement when it thinks that it cannot make an accurate assessment of the IMD.

If the signal appears to be noise limited (the estimated amount of noise is larger than the distortion products), cocoaModem will report a NL in the IMD field rather than a number (which is bound to be wrong anyway when the measurement is noise limited).

cocoaModem also does not make an IMD estimate when a signal is not tuned to within about 3 Hz of center. When a signal is perfectly tuned in, the yellow line in the phase indicator will be perfectly centered. You can see how much 3 Hz is by observing how much this line moves when a 3 Hz offset (three up or down arrows on the keyboard) is applied to the RIT.

A few words of advice are in order here.

With a weak station (a signal that does not appear as bright yellow against a relatively clean blue background), don’t even bother with sending an IMD report; it would not reflect the true IMD of the signal. It is better to report to the station that you are working that their signal is too weak to make an IMD measurement, rather than to give him a wrong report. Even with a strong station, you may still need to ask them to send a long idle (a second or two) before IMD readings can be measured.

With a strong station, please be aware that your own receiver's front end could be contributing to a poor IMD reading. With typical receivers, you will need to apply enough RF attenuation until the signal falls below the S5 mark on the S-meter before a meaningful measurement should be taken.

You can experiment with what an acceptable signal strength is for your own receiver. Tune in a clean strong PSK31 station that is showing better than -25 dB IMD. Start applying RF attenuation on your transceiver and you should see the IMD figure improve (i.e. larger negative number), keep on applying RF attenuation until the IMD number no longer improves. The strength of the signal on the S-meter indicates the approximate signal level you should use for making future IMD readings.

If you don’t bother to take these steps, it is best not to report an IMD number at all since it would invariably be wrong (and the reason why the IMD reports you see on the air for the same station are all over the map.


- Click Buffer

The normal way to tune in a station is to click on the signal in the waterfall. This should also set up the proper frequency in the transmit frequency field for subsequently working the station.

Once the Phase Indication “snaps” in to the signal, you should see print in the receive text view in the middle of the receiver section.

With v0.13, cocoaModem 2.0 introduced the concept of a click buffer. The click buffer is a temporary audio buffer memory that is created when a signal is first clicked on the waterfall, the full audio bandwidth signal is recorded into this buffer while the PSK decoder is trying to acquire lock on the incoming signal. Once phase lock is achieved, the buffer is played back, but at a higher than real-time speed, until the buffer catches up with the incoming audio stream. If the signal has not drifted in phase, cocoaModem will print the signal from the instant that you clicked on the signal instead of waiting until phase lock is achieved before its starts to decode and print the incoming audio stream.

Starting with v0.27 of cocoaModem, the click buffer concept has been extended.

The PSK interfaces now maintains a constant 20 seconds (approx.) worth of audio buffering. When audio samples are received from the sound device, they are copied into this ring buffer (which behaves like a "tape loop" on old fashioned tape recorders). At any point in time, there is always 20 seconds of "history" that is buffered.

When the waterfall is clicked, the horizontal position of the click is translated into a frequency offset to use for filtering and demodulation. The vertical position of the click is captured as a time parameter. This parameter is then translated into a position in the audio ring buffer. Instead of feeding the current input audio samples to the demodulator, the audio samples from the buffer is played back at up to eight times normal speed until it finally catches up with real time data.

If you click at the bottom part of the waterfall, you will start demodulating the most recently received stream. If you click towards the top of the waterfall, as long as you have not moved the VFO dial on your radio in the meantime, you will be demodulating a signal that first appeared about 20 seconds ago. If you click halfway up the waterfall, the demodulating will start from about 10 seconds ago.

In effect, what results is a true WYSIWYG waterfall clicking. Demodulation will start from the place that you have clicked in the waterfall even if the signal has stopped transmitting by the time you'd clicked on the waterfall trace.


Dual Transceiver

Notice that the PSK window shows two transceiver sections, one labeled Xcvr 1 and the other Xcvr 2. cocoaModem supports two independent receivers that behave in identical manner.

When you click on the main waterfall, the operating frequency is transferred to Xcvr 1 and the location of the selection is indicated by a green line in the main waterfall.

If you hold down the Option key of the keyboard when you click on the waterfall, the selected frequency will be transferred to Xcvr 2 instead of Xcvr 1, and this selection will show up on the main waterfall as a magenta line.

Fine tuning also works on the second receiver by clicking on the arrow keys on the keyboard while you hold down the option key in addition to the command key.

Instead of using the Option key to select Xcvr 2, you can instead choose to use the Control key. To do this, go to the Preference panel (Command-semicolon keyboard shortcut) and select the PSK tab and click on the checkbox (see Figure 6).

One advantage of using control clicks instead of option licks is that you can now use the right mouse button to select and deselect the second PSK receiver.

There is a caveat if you happen to use an application called Desktop Manager to create virtual desktops in MacOS X. Desktop Manager traps the control-left arrow and control-right arrow keys. If you choose to use the control key to select Xcvr 2, and you are also using Desktop Manager, you can no long apply fine RIT (0.1 Hz increments) to the second PSK receiver since cocoaModem cannot receive those particular keystrokes from the operating system. You can still use the rough RIT (1 Hz increments) since those are accessed through the up and down arrow keys instead of left and right arrow keys. You can also still use the scroll wheel of a mouse to fine tune. This is not a factor if you don’t use Desktop Manager.

The rest of the behavior of Xcvr 2 is identical to that described earlier for Xcvr 1.


Table View

The PSK interface has a receive-only Table View mode. It is an alternate way to using the waterfall to find and decode BPSK31 signals. It is useful for automatically scanning the PSK sub-band to look for stations that are issuing CQ messages, for casually monitoring the PSK sub-band or for quickly finding the QSX of a DX station within a pileup.

In the Table View mode, the PSK interface simultaneously displays the decoded text from up to 21 demodulators. Because of that, it is not recommended for use with older G3 based computers or slower G4 based computers.

The decoded text from the demodulators that have captured a signal appear in separate rows of a table view. To enable the Table View mode and display its window, click on the TableView button that is below the waterfall. Disable the table view demodulators by closing the window.

tvbut

When enabled, you should see a window that has a table view and some controls at the bottom, as seen below. By dragging the bottom right hand corner of the window, the window's height and width can be adjusted to match your needs. At the maximum height, the table shows all 21 demodulators. At the expense of heavier processor usage, you can also increase the width of the window.

twin

The left hand column of each row of the table view shows the decoded text, with the right hand column displaying the tone frequency. This frequency corresponds to the frequency scale below the PSK waterfall, and includes any offsets caused by the USB/LSB selection and selected VFO Offset value. The top of this table corresponds to the left side of the waterfall.

To reduce processor usage, the demodulators in the TableView are simpler and are not as sensitive as the primary demodulators in the PSK interface, and they only work with stronger BPSK31 signals (no QPSK31 nor PSK63 or PSK125). The squelch control is global for all the signals in the TableView.

You can transfer the frequency from the Table View to the main demodulators in the PSK interface by clicking on an active row (any row that contains frequency information) of the table. This will set both the receive and transmit frequencies in the primary transceiver, allowing you to transmit to the given frequency without having to click on the waterfall.

Just as a control- or option-click in the waterfall chooses Xcvr 2 of the PSK interface, a control- or option-click on a table view row will transfer the selected frequency to Xcvr 2 instead of to Xcvr 1 of the PSK interface. (Remember that you choose whether to use control-clicking or to use option-clicking by selecting the checkbox in the PSK section of the cocoaModem Preferences.)

The "Rescan" button in the TableView window lets you release all rows of the table view and create a new scan of the signals. If a certain row of the table view has previously been selected, only the neighborhood of that frequency is rescanned. (Remember that, in Mac OS X, you deselect a row of a table view by command-clicking on a selected row.)

The Alarm button opens a small interface that allows you to highlight certain strings in the table view.

alarm

Notice that we had entered a string "CQ" in this case, and notice that the strings "CQ" in the table view above are highlighted in red. You can, for example, enter the call sign of a DXpedition to identify their signal and the signals of the people who are working the DXpedition. On slower processors, it is advisable to keep the alarm field empty.


The PSK TableView can be opened with the Command-B keyboard shortcut. The PSK TableView shortcuts are in the Interface menu of the cocoaModem Menu Bar.

tableMenu

You can also select the next active table view row (and transferring the selection to the PSK Interface's main receive waterfall) by using the Command-period keyboard shortcut. If the tableview is empty, you will hear two short beeps.


Turning a Transceiver Off

When you click anywhere on the waterfall while the shift key of the keyboard is held down, Xcvr 1 will turn off. When you click anywhere on the waterfall with both the shift and the option (or control key, if you have set that as your preference) keys held down, Xcvr 2 will turn off.


PSK Transmission

To work another station that you have been copying, first check that the transmit frequency is the same as the receive frequency. If they are not identical, you should click on the Rx>Tx button to sync the transmit frequency with the receive frequency before transmitting.

If you are starting a transmission on an empty frequency, the easiest way to set a transmit frequency is to click on an unused space in the waterfall. You can then transmit once the acquisition loop has settled down and cocoaModem has synced the transmit frequency to the receive frequency.

In this latter case, the actual frequency may have moved a little from the spot you first clicked on, since the acquisition loop may have adjusted the local oscillator frequency due to a bias in the received noise. If you wish, you can use the arrow keys to fine tune the receive frequency, then syncing the transmit frequency to it using the Rx>Tx button.

Another way to set the frequency is to directly type the frequency you want to use into the receive frequency field, then click on the sync button to make the transmit and receive frequency fields agree with each other, and finally check where the green line (or magenta line if you are using Xcvr 2) in the main waterfall is, to make sure you are not falling on top of a frequency that is in use. (Remember to also QRL the frequency, please.)

Figure 7 shows the transmitter section of the PSK interface.

pastedGraphic
Figure 7 - PSK Transmitter Section


- PSK Transceiver Selection

You can choose to transmit at the frequency selected by Xcvr 1 or the frequency selected by Xcvr 2 by selecting one of them from the popup menu in the transmit control on the left of the transmit text view (Figure 7 above).

When you choose to transmit with the frequency that is selected by Xcvr 1, the Xcvr 1 user interface (seen in Figure 5 above) will be shown positioned just above the transmit interface, as seen in Figure 3.

When you switch to Xcvr 2, the two transceiver sections will swap places in the window in Figure 3 (this behavior is new with cocoaModem 2.0 v0.33), i.e, Xcvr 2 will be positioned directly above the transmit section and Xcvr 1 will move to the position above Xcvr 2.

This allows you to better identify which station you are working -- the station that you are working will always be displayed in the transceiver that is closer to the transmit interface. You can identify the frequency you will be transmitting at by looking at the color of the small indicator next to the transmit frequency field of the transceiver's control panel. The color in that indicator will correspond to the color of the frequency marker in the waterfall. Shown below is the color of the indicator when Xcvr 2 is selected. If Xcvr 1 is selected, the color of the indicator would be green.

xcvr2


- Transmit Buffer

When text is inserted into the transmit text view in the PSK interface, either from the keyboard or from macros, it enters a transmit buffer and stays there until every character is transmitted. If the PSK modem is not in the transmit state, the characters simply stay in the buffer until the next time the transmit state goes active (or until the buffer is flushed). As each character in the transmit buffer in the state of being transmitted, the character is echoed to the receive text view. The color of the echoed text can be chosen to be different from the color of the other texts in the PSK interface.

Notice that the font in the transmit view can also be changed using the same procedure explained earlier.


- Transmitting Text

To start sending the contents of the transmit buffer, press the Transmit button that is on the right of the transmit text view.

When the Transmit button is pressed, the button caption changes to Receive and the color of the transmit indicator of the target transceiver should turn to red, indicating that you are now transmitting. Clicking on this button again will return you to the receive mode.

Whenever you are in transmit mode (the red indicator is on) and the transmit buffer is empty, cocoaModem will insert an idle character into the character stream.

When characters are entered into the transmit scroll view, the new characters be transmitted instead of the idle characters. Characters can be typed directly into the transmit view, or they can be entered through the use of macros.

Any text that is typed ahead that has not yet echoed to the receive view can be cancelled by using the Flush button that is beneath the Transmit button. Errors in PSK31 can be corrected by using the delete key on your keyboard. This is encoded into the Varicode backspace character and is transmitted over the air to erase a character at the receiving end.


- Flushing the Transmit Buffer

Notice the Flush button that is below the Transmit button. The purpose of this button is for clearing all characters in the transmit buffer which have not yet gone out on the air. The Flush button does not end the transmission. If you are in transmit mode, cocoaModem will resume sending idle characters. If you’re typing ahead in receive mode, cocoaModem simply wipes the entire transmit buffer clean. This includes any text macros you have inserted into the transmit buffer.


- Exiting the Transmit Mode

To return to receive mode, press the Receive button (the Receive is at the same location as the Transmit button).

If there is still text in the transmit buffer when returning to receive mode, the red transmit indicator in the PSK transceiver will turn yellow while the rest of the characters in the transmit buffer is being transmitted and the indicator remains yellow until the transmit buffer is emptied. When the transmit indicator finally turns green again, cocoaModem has returned to receive mode. You can also use the keyboard shortcuts that were described in General Information to switch between receive and transmit modes.


Operating PSK63 and PSK125

Select BPSK63, BPSK125, QPSK63 or QPSK125 in the PSK mode popup menu in the xcvr1 or the xcvr2 control panel to place the PSK transceiver into the fast PSK modes. Each transceiver can be independently set to its own mode.

KH6TY introduced the use of BPSK63 and QPSK63, which are the double rate versions of BPSK31 and QPSK31. Instead of a symbol rate of 31.25 baud, the symbol rate of PSK63 is 62.5 baud (the nomenclature “BPSK63” refers to the 62.5 rate that has been rounded up to 63).

PSK63 uses twice the bandwidth of PSK31 and can be identified on the waterfall as such. When an idle tone is transmitted in PSK63, the spacing between the two lines in the waterfall is about 62 Hz wide, compare to the 31 Hz width of PSK31.

PSK63 provides twice the throughput as PSK31. However, PSK63 also requires about twice the amount of transmitted power to maintain the same error rate as PSK31, and as mentioned above, it also uses up twice the amount of spectrum space.

Except for a change in transmission speed and a wider spectrum, operating in PSK63 with cocoaModem is no different from operating in PSK31.

Similarly, PSK125 is a quadruple rate PSK31 mode. While PSK125 has 4 times the throughput of PSK31, it requires 4 times the power of PSK31 to maintain the same character error rate. It also take up 4 times the bandwidth of a PSK31 signal.


Japanese Reception and Transmission

cocoaModem follows the ad-hoc standard for transmission and reception that is used by Japanese PSK31 programs. Characters are represented by the Shift-JIS (JIS X 0208) encoding and encompasses Hiragana, Katakana and Kanji characters. The 16-bit Shift-JIS encoding is first separated into two 8-bit bytes. The two bytes are then encoded into PSK31 differential phase shift modulation using the standard 8-bit PSK31 Varicode that is used for transmission of extended ASCII (e.g., European alphabets). The most significant byte is transmitted first.

Since the most significant byte of Shift-JIS is a subset of all possible 256 values, cocoaModem uses that information to help determine which is the "upper byte" of Shift-JIS when a stream of 8 bit Varicode encodings is received.

During transmission, cocoaModem provides an additional step of converting from the Unicode that is used in Mac OS X into Shift-JIS,. There is the addition step of converting from Shift-JIS to Unicode during reception.

Please be aware that Japanese transmission is quite slow. Since each character contains two extended Varicode (each of the extended Varicode has 12 data bits and two stop bits) the character error rate is also much higher than the use of lower case ASCII characters, which has on average approximately 7 bits per character.

To receive and transmit double-byte Shift-JIS encoding, select the Use Shift-JIS for PSK menu item in the Interface menu of the main Menu Bar, or use the Command-J keyboard shortcut.

raw

When Shift-JIS is selected, a "Shift-JIS" caption will appear below the PSK31 waterfall display:

sjis

For sending, use the standard Japanese input techniques on Mac OS X; for example, using the Kotoeri method or using the Japanese Kana palette in Mac OS X.



Next (Hellschreiber)