Filter WIdth

w9mdb
Posts: 42
Joined: Sun Apr 09, 2017 5:53 pm

Filter WIdth

Postby w9mdb » Thu May 10, 2018 5:40 pm

Was playing around with the Transmit Filter settings and noticed this.

If I generate a 1900Hz tone the filter cannot be any narrower than 1780-2020 without losing the peak signal so 120Hz both sides is needed.

On the panadapter the width of the primary tone is 40Hz. I should be able to have a 100Hz wide filter around this without losing signal strength.

Seems like the filter skirts kick in a little too soon?

de Mike W9MDB
User avatar
w-u-2-o
Posts: 1004
Joined: Fri Mar 10, 2017 1:47 pm

Re: Filter WIdth

Postby w-u-2-o » Thu May 10, 2018 6:23 pm

Per the design of the digital filter implementation, the passband frequencies you specify represent the -6dB point on the filter response curve.

While even the smallest (really shortest, but I'll stick with the nomenclature found in Setup > DSP > Options) filter size is, relatively speaking, a brick wall compared to filtering found in typical analog rigs, it still has a definite skirt that starts well before the -6dB point.

You can sharpen up the skirt to an amazing degree and achieve a virtual brick wall filter shape by going to the largest filter size available, which is 16384, and by staying with the BH-4 filter window type.

Paraphrasing material that Warren, NR0V, the author of this code, published some time ago:

Bandpass filter response is a function of two settings: (1) choice of window function (BH-4 or BH-7) and (2) choice of filter size (1024 / 2048 / 4096 / 8192 /16384). Bandpass filter response is also a function of internal DSP sample rate but that is fixed at 48K for Receive/non-FM in current openHPSDR PowerSDR releases.

For the BH-4 window, initial rejection (at first side lobe) is ~-110dB and ultimate rejection is ~-140dB.

For the BH-7 window, initial and final rejection are ~-200dB.

The advantage of the BH-4 window is slightly sharper cutoff for a given buffer size. The advantage of the BH-7 window is the depth of the final cutoff.

In the following example, a passband of 0Hz to 1000Hz is shown. The shape of the skirts will remain the same regardless of passband definition, so these shapes will hold for any configuration, i.e. the curves shown below completely define the filter response. Note also that the upper transition region is just a mirror image of the lower transition region.

You may note that doubling the filter size halves the width of the transition region (skirt).

Again, the specified passband upper and lower frequencies (in this example, 0Hz and 1000Hz) are the -6dB frequencies, by design.

Which filter type you choose, Linear Phase or Low Latency (really minimum phase), will not affect the filter shape in amplitude. The phase response of the low latency filter type is not linear, however any phase non-linearity is generally inaudible, and the ionosphere has a much larger effect on this anyhow. The big advantage of the low latency filter is that you can run any size filter you like in order to achieve very steep skirts and not take a major penalty in receive or transmit latency (e.g. at 16384 is is <20mS in the low latency filter and >180mS in the linear phase filter).

Image

Image
User avatar
w-u-2-o
Posts: 1004
Joined: Fri Mar 10, 2017 1:47 pm

Re: Filter WIdth

Postby w-u-2-o » Thu May 10, 2018 6:24 pm

Based on that, Mike, try using a BH-4 low latency filter at size 16384 and see how tight you can get it!

73!

Scott
w9mdb
Posts: 42
Joined: Sun Apr 09, 2017 5:53 pm

Re: Filter WIdth

Postby w9mdb » Thu May 10, 2018 8:14 pm

Thanks Scott....
BH4 low latency, 16384
Filter can now be 100Hz wide (minimum that it does) and the single tone maintains the level.

I have to stay 30Hz away from the frequency and the low side and 20Hz on the high side before it impacts it at 1900Hz. I imagine those odd numbers on either side are due the frequency resolution on the filter where the filter is actually sitting at a multiple of the sampling rate.

So for FT8 mode which is 50Hz wide could theoretically run a 50+30+30 filter or 110Hz wide.
But the current version of WSJT-X has audio from 1500-2049 to would have to run the filter 1470-2080

I'm thinking of making a change in WSJT-X to allow finer grain audio splits so can run the 110Hz filter.

Basically all audio would constantly be exactly at 2kHz from the rig frequency and the rig would split as needed to maintain the requested audio offset.

de Mike W9MDB
K9RX
Posts: 155
Joined: Fri Apr 14, 2017 3:47 pm

Re: Filter WIdth

Postby K9RX » Thu May 10, 2018 9:28 pm

You can see if you bring up the SPECTRUM display, at least on CW, that 50Hz is where you lose the peak at roughly 0 db when using BH4 and at least 8192 (which is what I use). You can see this if you go more narrow from there. I have CW filters of, at the narrowest, 60, 50, 40, 34, 26 and have used them all to, at times, great impact!

The 26 has come in handy twice ... both times with decent signals (I don't think it would be effective with a weak signal unless it was with a very stable noise floor) a DX station working split ... and some idiot starts to tune on top of him. This guy was just as loud - both over S9. Impossible to work the DX (and of course I stopped calling). I switched to Spectrum and could see that he actually was about 8 Hz higher in frequency ... so I went to the 26Hz filter and tuned to slide him just enough down the skirt to be of no effect on the DX station...whom I promptly worked ... I dare say no other radio is going to be able to do that ... it was incredible.

Do you think you'd get a benefit on FT8 though? Isn't that exactly what WSJT is doing? Filtering to that very small degree? Afterall it can decode 2 stations of equal amplitude that are 1 Hz apart! Not sure you're going to be able to do better than that.

Gary
K9RX
w9mdb
Posts: 42
Joined: Sun Apr 09, 2017 5:53 pm

Re: Filter WIdth

Postby w9mdb » Thu May 10, 2018 9:37 pm

I'm doing the filter for transmit...not receive.

Mike
User avatar
w-u-2-o
Posts: 1004
Joined: Fri Mar 10, 2017 1:47 pm

Re: Filter WIdth

Postby w-u-2-o » Fri May 11, 2018 11:23 am

K9RX wrote:I dare say no other radio is going to be able to do that ... it was incredible.
Damn straight!!! :D

BREAK

Mike,

I think I know what you are trying to do. I do it all the time on Olivia when I want to run 250W and want to keep it super clean. I use single cal mode of PureSignal, too. However, doing this is easy in Fldigi because Fldigi has its so-called QSY feature whereby you can bring the receive and transmit passband instantly to a pre-defined "sweet spot" where you already have filters set up (I used 1500Hz). Then, when you finish the QSO, you can right click the Fldigi QSY button and go right back to where you were, switch filters in PSDR, and be searching again. Two clicks each time, easy peasy.

No such function in WSJT-X that I'm aware of. If you added an Fldigi-like QSY feature that would be interesting. But is it really something that is necessary or even desirable for running JT or FT modes? :?:

73!

Scott
w9mdb
Posts: 42
Joined: Sun Apr 09, 2017 5:53 pm

Re: Filter WIdth

Postby w9mdb » Fri May 11, 2018 12:35 pm

WSJT-X has split ops mode which does something similar under the covers to keep your audio at 1500-2000 offset from the rig frequency and avoid the harmonics. It's called split ops because it can use either rig split or "fake it" mode which uses VFOA only.

RIght now I'm running with a patch that keeps the audio at 1500 instead of 1500-2000 so I can run a 110Hz filter now from 1470 to 1580. If the filter went any lower I could always cernter the audio at 1500 (or perhaps 2000) and run a 60Hz filter but 100Hz is the least it will on DIGU.

Ultimately I'd like to put an automatic method in WSJT-X for to set the bandwidth on the transmit side of the rig to the appropriate 110Hz filter.

More rigs can support this now. I'm sure how much better SDR operators are at keeping their signal clean compared to non-SDR operators.

de Mike W9MDB
User avatar
w-u-2-o
Posts: 1004
Joined: Fri Mar 10, 2017 1:47 pm

Re: Filter WIdth

Postby w-u-2-o » Fri May 11, 2018 1:03 pm

If you are writing code already, Mike, just send the CAT commands to adjust the TX passband as required.
w9mdb
Posts: 42
Joined: Sun Apr 09, 2017 5:53 pm

Re: Filter WIdth

Postby w9mdb » Fri May 11, 2018 1:17 pm

Not as easily done as it sounds.
Hamlib doesn't support transmit passband (yet).
I think I may add that though.
I wonder about the behavior on all the rigs that support this if we set tx passband to center freq +/- 70Hz say to allow the rig's passband logic to round as they may do. Most of the docs I see don't mention anything about this but I think 10Hz round off either direction should cover it.

Mike
User avatar
w-u-2-o
Posts: 1004
Joined: Fri Mar 10, 2017 1:47 pm

Re: Filter WIdth

Postby w-u-2-o » Fri May 11, 2018 2:57 pm

w9mdb wrote:Not as easily done as it sounds.
Hamlib doesn't support transmit passband (yet).
Hmmm...that explains why I prefer RigCAT in Fldigi, and was never impressed with WSJT-X CAT support ;)

Return to “PowerSDR mRX”