Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add pre-processing of input signal & more "expert" features for IQ demodulation. #287

Open
systemofapwne opened this issue Sep 22, 2022 · 1 comment
Labels
feature New feature or request

Comments

@systemofapwne
Copy link

Is your feature request related to a problem? Please describe.
Right now, the input signal must already be at sufficient strength and, possibly, filtered in an analog way to generate an ideal error signal. However, this can also be done purely digitally by employing gain & bandwidth control to the input signal on the FPGA. Further tweaking the demodulation process (strength, bandwidth etc) can also greatly improve the error signal.

Describe the solution you'd like
Having the ability to apply input filters (e.g. AC-coupling, high-pass, band-pass), additional gain control (ideally for the input signal and on IQ modulated sidnals before mixing) and bandwidth control on the mixed IQ signals can help, to optimize an error signal. Especially when applied for Lock-In (De)modulation, having control on these paramters can dramatically increase the error signal quality.

Additional context
Coming from PyRpl, the IQ modulator there has all these features that I would like to see in linien too.
The lack for ease-of-use in PyRpl made us switch to linien. However, we are now facing limitations in the implementation of signal pre-processing and IQ-(de)modulation control in linien, such that the generated error signal can be unusable in some of our applications (small error signal, strong noise due to lack of sufficient gain control and bandwith filtering).

Here is a PyRpl screenshot, of their implementation of an IQ-(de)modulator. With all theses knobs present (e.g. in and "advanced" tab or so), error-signal generation will benefit greatly from all these additional parameters.

image

@systemofapwne systemofapwne added the feature New feature or request label Sep 22, 2022
@bleykauf
Copy link
Collaborator

bleykauf commented Oct 9, 2022

Thank you for the suggestion! Since there is currently only limited time on my end to work on linien and this would be a relatively large change I don't think something like this will be implemented in the near future from my side. I am focusing (as much as time permits) on a rewrite of Linien at the moment, see #277. This will hopefully make the whole package structure clearer and make it easier to participate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants