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

Import QucsStudio Filter Synthesis source code #15

Closed
wants to merge 3 commits into from
Closed

Import QucsStudio Filter Synthesis source code #15

wants to merge 3 commits into from

Conversation

arhiv6
Copy link
Contributor

@arhiv6 arhiv6 commented Jul 23, 2014

Import QucsStudio Filter Synthesis source code


Draft change log:

implementations
lc_filter.cpp // ladder filter containing inductors L and capacitors C
qf_poly.cpp // Class for polynoms with real coefficients (R[X])
qf_filter.cpp // Generic filter class
qf_cauer.cpp // Elliptic (Cauer) filters, odd order
cline_filter.cpp // coupled transmission line filter
eqn_filter.cpp // equaton defined filter
line_filter.cpp // capacitive end-coupled, half-wavelength bandpass filter
stepz_filter.cpp // stepped-impedance transmission line filter
tl_filter.cpp // transmission line filter

class
lowpass
highpass
bandpass
bandstop

type
bessel
butterworth
chebyshev
cauer

@guitorri
Copy link
Member

There are two things that bother me here. 1) several files contain the copyright notice but not a GPL notice. 2) I want to avoid issues with one of the creators of Qucs...

As I understand QucsStudio is a derivative work from Qucs [1]. Given that is is distributed it should be also licensed as GPL. A few points:

  • The new files (the ones without GPL notice) can be considered derivative work?
  • Have you seen the nice work on active filters that is about to be merged. See Ra3xdh activefilter #14
  • Can you get in contact with Michael Margraf and ask him to make the license explicit or authorize us to back port his code into Qucs?
  • QucsStutio is slightly incompatible with Qucs, how extensively have you tested this?

[1] http://www.law.washington.edu/lta/swp/law/derivative.html

@arhiv6
Copy link
Contributor Author

arhiv6 commented Jul 24, 2014

As far as I know, QucsStudio distributed under GPL. But I do not know how to properly use the GPL.

  1. The new files (the ones without GPL notice) can be considered derivative work? - I do not know.
  2. Have you seen the nice work on active filters that is about to be merged. See # 14 - Looked a bit. It may be worth merge these programs in the future.
  3. Can you get in contact with Michael Margraf and ask him to make the license explicit or authorize us to back port his code into Qucs? - I tried to contact Michael Margraf (michael.margraf@alumni.tu-berlin.de), but never received any response.
  4. QucsStutio is slightly incompatible with Qucs, how extensively have you tested this? - Yes, I checked all the filter types, everything works.

@arhiv6
Copy link
Contributor Author

arhiv6 commented Aug 28, 2014

I added GPL inormations in all added files. Michael Margraf still does not respond. What do I do next?

@guitorri
Copy link
Member

guitorri commented Sep 3, 2014

I think we can use this code. Michael's qucsfilter.zip does contains a COPYING file with the GPL license. We tried to contact him, the code is GPL and we kept his copyright notice. I think we did it right.
I will try to build to double check.

My only concern is that now we are introducing duplicated code. Please see #14 once again.

@ra3xdh can you have a look at this PR and suggest how we can arrange the active filters in Qucs?
I am actually inclined to have two apps, one for active and other for passive. Just because they are already there... Unless we can reuse major pieces of code.

Ideas?

@ra3xdh
Copy link
Contributor

ra3xdh commented Sep 3, 2014

I think we should follow MicroCAP way. This proprietary circuit simulator also has two separated tools for the active and the passive filters respectively. This pull request (#15) contains several additional passive filters topologies and only one active filers topology. These filters could be merged in existing qucsfilter. And we should have standalone active filter synthesis tool based on my qucsactivefiler #14. Passive filter are suitable for very wide frequency range: from audio frequencies to microwave. Active filters are usually used at audio frequencies. This the other reason, beacause we should have two separated filter synthesis tools. I think we can merge sources from #15 in existing qucsfilter if it meets GPL license. Active filter synthesis tool should be separated. I don't see any reasons to merge these sources in my qucsactivefilter.

@guitorri
Copy link
Member

guitorri commented Oct 5, 2014

What about if we remove the remove the active filters from the PR and keep only the passives then?

@arhiv6
Copy link
Contributor Author

arhiv6 commented Oct 6, 2014

Ok, I'll do it soon.

@arhiv6
Copy link
Contributor Author

arhiv6 commented Oct 18, 2014

Ok, done.

@guitorri
Copy link
Member

Testing...

@guitorri
Copy link
Member

Can you look into the following issues?

  • With clang it warns about:
In file included from qucsfilter.cpp:52:
./material_props.h:23:21: warning: conversion from string literal to 'pChar' (aka 'char *') is deprecated
      [-Wc++11-compat-deprecated-writable-strings]
pChar List_rho[] = {"rho",
                    ^
./material_props.h:24:4: warning: conversion from string literal to 'pChar' (aka 'char *') is deprecated
      [-Wc++11-compat-deprecated-writable-strings]
   "2.4e-8  gold", "1.72e-8  copper", "1.62e-8  silver", "12.4e-8  tin",
  • There are a couple of deprecated header includes, see
<qmessagebox.h>, <qstring.h>

@guitorri
Copy link
Member

guitorri commented Nov 1, 2014

Never mind. I am taking care of the warnings above. ;)

guitorri pushed a commit that referenced this pull request Nov 1, 2014
@guitorri
Copy link
Member

guitorri commented Nov 1, 2014

Merged. Thank you!

@guitorri guitorri closed this Nov 1, 2014
ra3xdh added a commit that referenced this pull request Mar 5, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants