Quisk Version 4.1.18 June 2018

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Quisk Version 4.1.18 June 2018

ahlstromjc
Administrator
I added improved code for FreeDV to support the new 700D mode.

Jim
N2ADR
Reply | Threaded
Open this post in threaded view
|

Re: Quisk Version 4.1.18 June 2018

Brian802
Jim,

I compiled Quisk 4.1.18 with Python 3.7 under Raspbian LINUX on a Raspberry Pi 3B. With the same configuration settings as I successfully used to talk to a SoftRock Ensemble RXTX under Windows, Quisk won't talk to the same Ensemble board attached to the Raspberry Pi.

USBsoftrock *does* successfully change Ensemble parameters, as evidenced by changing signal sights and sounds coming from Quisk.

Any clue what I should do to repair Quisk's USB connection to the Ensemble board?

73 -- Brian K1LI
Reply | Threaded
Open this post in threaded view
|

Re: Quisk Version 4.1.18 June 2018

ahlstromjc
Administrator
I have only tested Quisk with Python 2.7. Try using that.

Jim
N2ADR
Reply | Threaded
Open this post in threaded view
|

Re: Quisk Version 4.1.18 June 2018

Brian802
Oh ... noob failure ... Quisk works as advertised, but I have to write "Python2 quisk" to start the right interpreter.
Reply | Threaded
Open this post in threaded view
|

Re: Quisk Version 4.1.18 June 2018

Brian802
Jim,

It turns out that my conclusion was wrong: Python interpreter version was not the problem.

Having run into a serious installation problem, I was forced to reinstall everything from the ground up, including Quisk. The long and short is that the libusb-dev package is required for Quisk to communicate with SoftRock over USB.

Please add this instruction to the installation directions. As a greenhorn, it would have saved me many hours of frustration over several days if this instruction had appeared in the Quisk documentation. Since Quisk answers so many ham radio homebrewing needs, its value deserves to be widely recognized, which could happen if the installation process could be made fail-safe.

73 and thanks for making a fantastic contribution to our hobby.
Reply | Threaded
Open this post in threaded view
|

Re: Quisk Version 4.1.18 June 2018

rolin
In reply to this post by ahlstromjc
The QUISK run with ODYSSEY-2, 7 receivers simultaneously.
Thank you, Jim
But looks like squelch in FM mode does not work - no audio if turned on.

David, N7DDC

Reply | Threaded
Open this post in threaded view
|

Re: Quisk Version 4.1.18 June 2018

rolin
And also QUISK is not starting when no connect to radio so impossible to set correct IP in the programm menu for first start.
Erlier with HiqSDR QUISK started succesfully without connected hardware.

David, N7DDC
Reply | Threaded
Open this post in threaded view
|

Re: Quisk Version 4.1.18 June 2018

ahlstromjc
Administrator
If Quisk will not start with a given radio, start it with a different radio and then change settings. To have Quisk ask which radio to use, use the "-a" option on the command line.

Jim
N2ADR
Reply | Threaded
Open this post in threaded view
|

Re: Quisk Version 4.1.18 June 2018

Brian802
In reply to this post by ahlstromjc
Jim,

Would you, please, describe the process you use(d) for determining FIR filter coefficients? I'd like to experiment with filter parameters, but I'm unable to reproduce the filter coefficients in filters.py using, e.g., Iowa Hills' FIR generator.

Thanks,

Brian K1LI
Reply | Threaded
Open this post in threaded view
|

Re: Quisk Version 4.1.18 June 2018

ahlstromjc
Administrator
These are optimized filters, AKA Parks McClellan. Try the filters in filters.h to see if you can reproduce those. If your software calculates only window filters, it will not work.

Jim
N2ADR
Reply | Threaded
Open this post in threaded view
|

Re: Quisk Version 4.1.18 June 2018

Brian802
I've tried some experiments in an effort to learn how to customize Quisk's RX filters. Please forgive (and feel free to correct!) my terminology errors. These tests were performed with Quisk 4.1.21 and Python3.

First test: MAKE Quisk without a file named filters.py in the Quisk directory.
Result: MAKE complains about not having filters.py to import.

Second test: keep the Filters container in filters.py but delete all the coefficient sets.
Result: MAKE proceeds without complaint. All Quisk filter buttons act as-labeled.

Third test: delete all but the 400Hz filter in filters.py and replace the coefficients in the 400Hz filter with coefficients from a different filter.
Result: MAKE normal. The shape of the 200Hz filter changed, but the shape of the 400Hz and all other filters remain unchanged.

Net: I am able to study the effects of different filter characteristics on the latency of received signals, but I would like to understand how to correct the correspondence between the filter's bandwidth and the button label.

Reply | Threaded
Open this post in threaded view
|

Re: Quisk Version 4.1.18 June 2018

ahlstromjc
Administrator
Hello Brian,

The filters in filters.py are calculated at 24000 sps. Recall that a 3 kHz filter at 24 ksps is the same as a 1.5 kHz filter at 12ksps. Quisk uses these filters at different sample rates because each mode (CW, SSB etc.) is filtered at a different rate. Quisk is changing the rates to minimize calculations, and means Quisk can run on single board computers and ARM processors. The equations are given at the top of filters.py.

# key = bw * 24000 / rate / 2
# bw  = key * 2 * rate / 24000

The rate for each mode is in quisk.c in quisk_process_demodulate(). For example, CW filters at 6 ksps, so the 1000 Hz CW filter uses key = 1000 * 24000 / 6000 /  2 = 2000. This same filter is used for SSB for a 2000 Hz bandwidth.

To see this uncomment the prints in MakeFilterCoef() in quisk.py.

Jim
N2ADR