Thursday, July 25, 2024

Using The SDR Sharp Co-Channel Canceler

Another major update to this post on August 14, 2024! Be sure to reread as there are some important new tips in the discussion section.

Here at RADIO-TIMETRAVELLER I have two SDR radios in use. They are the SDRPlay RSPdx and the Airspy HF+ Discovery. The Airspy is by far the more sensitive and the one with the lowest noise floor. I use it both for mediumwave DXing and shortwave DXing. Antennas currently are a 44 ft. vee dipole on ground (a VDoG?) and a passive loop. The loop is the YouLoop, also by Airspy. It is a remarkable antenna when used with Airspy's HF+ Discovery on the medium waves.

Airspy HF+ Discovery

Recently I've gotten into the also remarkable Co-Channel Canceller offered in the SDR# (SDR Sharp) software. This is becoming a very necessary tool to have in the DXing toolchest. It is particularly useful if using a wire antenna which is generally non-directional versus the YouLoop. Used with the YouLoop or other nulling loop, results can be even more dramatic.

The idea behind the Co-Channel Canceller is to minimize the effect of one station over another, the two (or more) carriers and their associated modulation information that might occupy the same channel. We are not simply talking about "notching" a carrier here but removing the chosen carrier and the modulated spectrum associated with that carrier, leaving everything else beneath it intact.

The key here is we need to know the exact frequency offset of that carrier down to the fraction of a Hertz (Hz) of all the carriers on the channel. There may be two, three, or many on channel.

The Micro Tuner

Enter the Micro Tuner, a neat and necessary little gadget also available as standard in SDR#. Bringing up the Micro Tuner plugin will show a spectrum display 10-30 Hertz wide surrounding the tuned frequency. It takes some time to settle in, but after a couple of minutes, each carrier peak surrounding the tuned frequency will be displayed. Here we are tuned to WHCU in Ithaca, New York on 870 KHz.

The Micro Tuner

WHCU, the strongest spike you see, is 8.469 Hz low in frequency, or a negative -8.469 offset. At least three other weaker carriers are present just above "0" (exactly 870 KHz), as well as several noise spikes at about -3 Hz below 870 KHz.

Now, please understand that the Micro Tuner plugin is a separate plugin from the Co-Channel Canceller and can be used in different ways outside of the Co-Channel Canceller experience. In its elemental form, it can be enabled to allow micro-tuning of a signal, that is, positioning the tuned frequency on the exact carrier intended down to a fraction of a cycle. One must only enable it (just tick the checkbox), then click on a desired carrier peak in the graph. Apart from Co-Channel Cancelling, try experimenting with the Micro Tuner sometime when in SSB mode (either USB or LSB), or in DSB mode (double sideband).

In conjunction with the Co-Channel Canceller, we will use the Micro Tuner to identify the exact carrier frequency offsets on the channel we are tuned to. After all settings are made, we can simply click on carrier peaks in the Micro Tuner window to test the cancel process for each.

Let's get right into it.

The Co-Channel Canceller

I'm using SDR# v.1920, the latest software version as of this writing. The Co-Channel Canceller works best using this latest version.

The SDR# Co-Channel Canceller

It is important to first invoke the Micro Tuner to see exactly where the offensive station (and its carrier) is in relation to dead center "0", which is your tuned frequency.

The following tips and process are initial settings derived from DX Central's Loyd Van Horn's excellent video describing how to use the Co-Channel Canceller. Be sure to check out his video.

https://www.youtube.com/watch?v=Rk_0LMFAquk

After we go through these, I'll describe further tips on enhancing its performance.

The process:

1. To start, be sure you're using the DSB (double sideband) demodulation method. *important!* The Co-Channel Canceller will not work in LSB or USB mode, or in AM mode.

2. Widen your receiver bandwidth out to something around 8000 Hz (8 KHz). You generally will get better results with a little wider audio bandwidth than the normal 4-6 KHz.

3. In the Radio tab, ensure "Lock Carrier" is checked.

I recommend turning AGC ON at first.

Tune to the frequency where you wish to engage the cancel feature. Example: I've been chasing a Cuban station on 670 KHz at sunrise lately. I typically have a rough time nulling WSCR 670 in Chicago, WSCR being the much stronger station. I tune to exactly 670.000 KHz.

Start the Micro Tuner and let it settle in. Drag the Micro Tuner's window width out fairly wide so you can see the detail better. Give it a couple of minutes to stabilize.

Enable the Micro Tuner by checking its box. *important!*

You probably will see several carriers. The strongest is likely the one you wish to remove.

Open the Co-Channel Canceller (AM) plugin. Start with the Canceller OFF. Do the following in its settings:

1. Check Remove carrier.

2. Uncheck Auto Tune. *important!*

3. Set Carrier Offset to 0.000

4. Allow bandwidth to settle at 8 KHz.

5. Set IF Offset to 0.000

6. Set Correction to mid-range.

Now to the cancelling process.

1. Locate the strong signal peak in the Micro Tuner. *works best when one peak is well above the others*

2. Click on the peak at its exact center.

3. Enable the Co-Channel Canceller.

4. Fine adjust the Correction slider for best results. Mid-range or a little less usually does it.

Done! WSCR in my example is gone.

Auto Tune attempts to guess at the right peak to cancel, but results are usually less than desirable this way versus manually clicking a chosen peak in the Micro Tuner.

Once everything has settled in with the Co-Channel Canceller enabled, you can experiment with AGC off and controlling attenuation/gain manually. I've had mixed results turning AGC off. I am in a high signal area, and I get better results with the canceller using AGC ON.

Experiment with the FFT filters. You may see slightly better results with the various filters.

Discussion & New Tips

Demodulation modes. DSB, or double sideband has been stated to be the only mode that works for the Co-Channel Canceller. RAW mode works as well, and sometimes even better. Depending on bandpass centering, RAW may produce a more or less binaural or stereo effect which can enhance the audio clarity and intelligibility. The binaural effect is quite evident when the bandpass width is equally centered on the carrier, less so when the bandpass is skewed off to one side of the carrier. If you start the IF Spectrum plugin making sure the Asymmetric Filter box is checked, using the mouse you can drag the filter extents independently, left and right. This is how the much-desired AM Sync is accomplished in SDR#. The AM Sync process is accomplished as such: Tune to an AM signal in DSB mode. Make sure Lock Carrier is checked. Start the IF Spectrum plugin making sure the Asymmetric Filter box is checked. Using the mouse, you can drag the filter extents independently, left and right to encompass the correct sideband, USB or LSB.

The "Order" setting in the Radio plugin. Lately, this seems to be set at a default of 1000. Leave it there, or at least between 500-1000. The greater the value, the steeper the slope of your bandpass filter setting. At a value of 10, for example, filter slopes will be very gradual and broad. With the Co-Channel Canceller we want sharp, vertical edges to our filters.

The Micro Tuner span. My Micro Tuner spans +/- 30 Hz. Some have reported that theirs only spans +/- 10 Hz. Check your version of SDR# to make sure you are running v.1920. Also make sure you have the latest firmware for the HF+ Discovery installed.

Auto Tune. Checking Auto Tune will attempt to find the "'right" carrier to cancel. Be sure Auto Tune is off. If you enable it, you will never know which carrier peak Auto Tune settles on. Generally, Auto Tune searches for the strongest one, but many times the carriers are very close in strength. The Co-Channel Canceller works best when you have one defined signal peak which is somewhat stronger than the rest.

Pros and cons of Lock Carrier. Checking Lock Carrier here with the Co-Channel Canceller engaged does not always produce positive results, often making the signal worse or even recognizable. I almost always leave it off. Lock Carrier is really the old AM sync function, in this case stabilizing the sync between the clicked carrier in the Micro Tuner and the Co-Channel Canceller's frequency (frequency the algorithm is processing). Unchecked, you may possibly get some signal buffeting and degraded cancelling. Under good atmospheric conditions and if you are dead-on center of the carrier peak in the Micro Tuner, you may not need Lock Carrier. Experiment with this setting and see which works best for you.

Receiver bandwidth. I've had great success widening the receiver bandwidth out even further than 8000 KHz, the bandwidth suggested by Loyd at DX Central, and even sometimes narrowing it down to as little as 3 KHz. Choosing the right bandwidth and bandwidth centering is critical in the cancelling process. Follow along as this is going to get a little complicated.

This is what I do, which usually produces wonderful results:

1. Be sure you are using "snap to center" tuning, that is, when you click on the spectrum, the tuning point is always centered in the spectrum window.

2. Using the Zoom slider, zoom in on the spectrum so that the 10 KHz adjacent channels are at the extreme left and right sides of the display, showing about 20 KHz of spectrum with the tuned frequency in the center.

3. Look at the modulation extent of the adjacent channels, left and right. One or even both channels might be strong enough to be encroaching on the center frequency. On the left side you will be viewing the upper sideband of the lower adjacent channel. On the right side, you will be viewing the lower sideband of the higher adjacent channel. Most stations cut their audio bandpass to about 5 KHz, the halfway distance to the next adjacent channel. A few run at a conservative 4 KHz, but there are a fair number pushing the limit at 6 or even 7 KHz above and below their carrier. We want to avoid this encroahment.

4. In the spectrum window using the mouse, drag the bandpass narrower and away from the modulation effects of the adjacent channels. Use the widest bandpass right up to the encroachment points. Co-Channel Canceller works by analyzing the sidebands surrounding the clicked peak in the Micro Tuner. It works best when the lower and upper sideband of the bandpass are "pure" and devoid of outside splatter from adjacent channels. We want our sidebands surrounding the clicked peak in the Micro Tuner to be perfect mirror images of each other, if possible, and without side splatter or other encroaching noise. You may be lucky and settle in on a 10 KHz bandpass (+/- 5 KHz). You will find the bandpass can be usable way down to 5.6 KHz (+/- 2.8 KHz) or so.

5. If the adjacent channel encroachment is closer on one side than the other, we can remedy that problem too. Start the IF Spectrum plugin making sure the Asymmetric Filter box is checked. Using the mouse, drag the filter extents independently, left and right until you remove the encroachment properly on both sides.

Remove Carrier does indeed work. You can prove it very easily. With Co-Channel Canceller engaged and running, start the FFT: IF Spectrum plugin. Toggle the Remove Carrier checkbox and observe the carrier at the center of the window. The carrier will disappear when the Remove Carrier checkbox is checked. It is important to note that the actual carrier removed is NOT at the receiver's displayed tuned frequency, but at the Carrier Offset to the signal peak you clicked in the Micro Tuner. 

Remember, in tuning we are dealing with fractions of a Hertz here with the Micro Tuner and Co-Channel Canceller. Remove Carrier may not be effective in many receive situations. Actual received carriers are not infinitely narrow, there may be several carriers very close to the clicked peak on the Micro Tuner, and Remove Carrier may remove more than what you desire. Experiment with this setting under different receive situations and see which works best for you.

Correct IQ. Correct IQ can be used to our advantage when using the Co-Channel Canceller. This control is still present in the latest HF+ Discovery firmware. Its original intent is to remove the small, annoying center peak artifact in the spectrum display, present with certain dongles. Lucky for us, it will also remove a carrier at the receiver's tuned frequency, independent of the Carrier Offset and the Micro Tuner. With the Co-Channeler engaged, try checking Correct IQ to remove the narrow bandwidth surrounding the tuned carrier.

Correction slider. Finally, once you are satisfied with all your settings, play with the Correction slider. The Correction slider is not a "center" based control (plus or minus), but rather applies a linear amount of co-channel correction to the cancel operation. Setting it all the way to the right applies the maximum correction to the algorithm. You will find its best setting to be somewhere near mid-range or just below mid-range. Stronger stations require a little more to the right. Use the smallest setting possible which remove the unwanted station.

Carrier Offset. The limit to Carrier Offset looks to be one-half the receiver bandwidth, so if your receiver bandwidth is 8000 KHz, the max Carrier Offset you can have is +/- 4000. Varying Carrier Offset a little up or down fine tunes the "click point" in the Micro Tuner. Allow 2-4 seconds if you make changes like this, other changes too, for the Co-Channel Canceller to settle in and do its work. The response is not immediate. I sometimes also turn the canceller off and then back on if it seems to be jammed up. Sometimes it seems to lock up in a weird configuration. Just start over in that case. You may even need to restart SDR#.

IF Offset. Changing the IF Offset value can occasionally help. If the wanted signal is to the left of the removed carrier, move the IF Offset negative. Change to positive if the wanted signal is to the right of the removed carrier. You can add quite a bit of offset to this box. Remember this box shows values in cycles (Hz), not KHz, so does the Carrier Offset box. Type 100 and it will display 100.000 (100 cycles, or Hz).

Side splatter. Co-Channel Canceller has difficulty on channels having a lot of "side" splatter. Example: Received at night in the Rochester, NY area we have WGY 810, Schenectady severely splattered by CKLW 800, Windsor, Ontario. Trying the Co-Channel Canceller on 810 KHz had mixed results due to the 800 KHz splatter. Results will vary under these situations. See my tips on setting receiver bandwidth (above) to help eliminate this kind of problem.

Eliminating channel splits. The DX Central video shows how one might eliminate a TA (trans Atlantic) channel split. Example: trying to pull out Algeria 891 KHz when a strong American station is on 890. He sets Carrier Offset to -1000.000 Hz (-1 KHz) in the Co-Channel Canceller box, then clicks dead-center on the Algerian carrier in the Micro Tuner.

Finally, think about this. Used with a rotatable loop antenna having good nulling properties, you have the option to remove two offending stations. First use the loop to null one station. Then, use the Co-Channel Canceller to remove a second station.

There you have it, a short course on how to use the SDR# Co-Channel Canceller.