Commit 5e938726 authored by Graham Inggs's avatar Graham Inggs

Imported Upstream version 0.4

parents
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
## -*- Makefile -*-
##
## Copyright (C) 2006, 2011-2012 Ralf Hoppe <ralf.hoppe@ieee.org>
##
## Version: $Id: Makefile.am 265 2012-06-17 07:25:20Z ralf $
##
## Process this file with automake to produce Makefile.in
##
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = po include src data doc dist
doc_DATA = \
README\
COPYING\
ChangeLog\
INSTALL
EXTRA_DIST = $(doc_DATA)
# Remove doc directory on uninstall
uninstall-local:
-rm -r $(docdir)
# Maintainer rule for building a Debian package
dist_debian_dir="dist/$(distdir)"
dist-debian: dist
svn2cl -r 'HEAD:1' --linelen=80 --group-by-day --separate-daylogs \
--reparagraph --authors=".svn-authors" --output=ChangeLog.$(shell date "+%g%m%d")
cp -f -t dist $(distdir).tar.gz
cd dist && gunzip -c $(distdir).tar.gz | tar xf -
cp -Rf dist/debian $(dist_debian_dir)
rm -Rf $(dist_debian_dir)/debian/.svn
cd $(dist_debian_dir) && dpkg-buildpackage -rfakeroot
@echo '--------------------------------------------------------------------'
@dpkg-parsechangelog -l./dist/debian/changelog
@echo '--------------------------------------------------------------------'
-rm -Rf $(dist_debian_dir)
# maintainer rule for "package" build on MinGW
if BUILD_OS_MINGW32
GTK_VERSION = $(shell $(PKG_CONFIG) --modversion "gtk+-2.0" | \
sed -n 's/^\([0-9]\+\)\.\([0-9]\+\)\(\.[0-9]*\)\?/\1\2/p')
dist_win32_dir = ./dist/$(PACKAGE)$(GTK_VERSION)-$(VERSION)
# all GTK/GDK DLLs needed by dfcgen-gtk (heuristically determined)
GTK_DLL_COMMON = libgio-2.0-0.dll libatk-1.0-0.dll libcairo-2.dll libgdk_pixbuf-2.0-0.dll \
libgdk-win32-2.0-0.dll libglib-2.0-0.dll libgmodule-2.0-0.dll \
libgobject-2.0-0.dll libgsl-0.dll libgslcblas-0.dll \
libgtk-win32-2.0-0.dll libiconv-2.dll libintl-8.dll \
libpango-1.0-0.dll libpangocairo-1.0-0.dll libpangowin32-1.0-0.dll \
libpng*.dll libgthread-2.0-0.dll libpangoft2-1.0-0.dll zlib1.dll
GTK212_DLL_ADDONS = intl.dll libssp-0.dll
GTK220_DLL_ADDONS = freetype6.dll libexpat-1.dll libfontconfig-1.dll
GTK_DLL_LIST = $(GTK_DLL_COMMON) $(GTK212_DLL_ADDONS) $(GTK220_DLL_ADDONS)
dist-win32: all
@echo "Building Win32 distribution in $(dist_win32_dir) ..."
rm -fR $(dist_win32_dir)
mkdir $(dist_win32_dir)
cp ./src/$(PACKAGE)$(EXEEXT) $(dist_win32_dir)
mkdir $(dist_win32_dir)/share
cp -R ./data/pixmaps $(dist_win32_dir)/share && rm -fR $(dist_win32_dir)/share/pixmaps/Makefile* $(dist_win32_dir)/share/pixmaps/.svn
cp -R ./data/filters $(dist_win32_dir)/share && rm -fR $(dist_win32_dir)/share/filters/Makefile* $(dist_win32_dir)/share/filters/.svn
cp -R ./data/templates $(dist_win32_dir)/share && rm -fR $(dist_win32_dir)/share/templates/Makefile* $(dist_win32_dir)/share/templates/.svn
mkdir $(dist_win32_dir)/share/locale
cp -R /mingw/share/locale/de $(dist_win32_dir)/share/locale
cp -R ./$(POSUB)/de.gmo $(dist_win32_dir)/share/locale/de/LC_MESSAGES/dfcgen-gtk.mo
cp -R /mingw/etc $(dist_win32_dir)
mkdir $(dist_win32_dir)/lib
cp -R /mingw/lib/gtk-2.0 $(dist_win32_dir)/lib && rm -fR $(dist_win32_dir)/lib/gtk-2.0/include
for f in $(GTK_DLL_LIST); do \
echo -e "\tPackaging $(dist_win32_dir)/$$f"; \
cp -t $(dist_win32_dir) /mingw/bin/$$f 2>/dev/null; \
true; \
done
@echo
@echo '--------------------------------------------------------------------'
@echo "Win32 package in $(dist_win32_dir) ready for upload"
@echo '--------------------------------------------------------------------'
endif
maintainer-clean-local:
-rm -Rf $(dist_debiandir)
.PHONY: dist-debian dist-win32
This diff is collapsed.
What is dfcgen-gtk?
DFCGen, the Digital Filter Coefficients Generator, is a FREEWARE
tool/program, which may assist you in the design of digital filters. It
supports the engineer in analysis and synthesis of linear time-invariant
time-discrete (LTI) systems from the theoretical point of view. It
performs generation of system transfer function coefficients in the Z-domain,
based on the type and specific parameters of a chosen system.
It supports:
* Linear FIR systems of various characteristics with windowing functions as
Hamming, Hanning, Blackman or Kaiser window
* Standard IIR filters like Cauer, Chebyshev, Butterworth and Bessel
* Various systems of free degree as e.g. Integrator, Hilbert transformer,
Comb filter etc.
* Predefined systems with determined coefficients (and degree) as fitting
filters, differentiators
* Frequency transformation into high-pass, band-pass and band-stop
* Edit of coefficients (change, delete, round)
* Pole/Zero analysis
* Graphical visualisation of system characteristics (plots) as magnitude
response, phase response, attenuation, characteristic function, group delay,
phase delay, impulse response and step response
* In plots: zoom, lin./log. and auto-scaling
* Printing of coefficients and response plots
* Save and load of the defined filter
* Export of coefficients to plain text, "C" language and MATLAB scripts
* User interface
The following improvements shall ensure similiar GUI features as are available
in old Win3.x version.
- Function: cairoPlot2d
Think about transition to double coordinates in all functions below
cairoPlot2d.
Make axisX.start and axisX.stop positions dependent of precision
- Function: createAxisLabel
Parametrize margin by precision
- Function: treeSelectionCallback
Process double-clicks (see the tree-view tutorial on how to make this)
- Function: responseWinCreate
Restore size of drawing area from last session
- Function: filterResponseTimeNew
Allow user break
- Feature: Predefined filters
Improve description (and translation) of predefined filters
- Feature: GTK-Help
Implement GTK help, based on DocBook 5
* Filter design
Improvements on algorithms currently implemented
- Function: linFirFilterGen
Correct the lowpass design cutoff frequency (see Bessel lowpass) when
performing frequency transformations (depends on characteristic too,
significant on perfect lowpass).
- Function: ftrHighpass
Handle odd degree
* Stability
- Function: linFirFilterGen
Implement semantic checks on bandwidth, center and cutoff frequency
- Function: stdIirFilterGen
Implement sematic checks on bandwidth, center and cutoff frequency
- Function: linFirFilterGen
Use fpsetround()?
- File: mathMisc.c
Implement a generic math. error handler
- Function: ftrBandstop
Handle GSL_POSINF for call to filterResponsePoly()
- Function: plotPhase
Check phase response of linear FIR filters and improve the graph layout
* Maintainability
- Function: mathPolyCoeffs2Roots
Try to avoid mixing error codes from gsl_errno.h and errno.h
- Function: linFirDesignDlgApply
Share code with IIR design dialog
* Source style/comments
- Function: genCosine2System
Give formula
- Function: chebyT
Improve function description by the help of LaTeX
- Function: timeResponseProcNext
Describe algo used here
* Optimization
- Function: responseWidget
Try to move some of these data into responsePlot.c
* New features
- Feature: New filter class ARBITRARY
Support of arbitrary frequency specification by Parks-McClellan algorithm
- Feature: Response Plot
Display coordinate when mouse moves over graph area
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
## -*- Makefile -*-
##
## Copyright (C) 2006, 2011-2012 Ralf Hoppe <ralf.hoppe@ieee.org>
##
## Version: $Id: Makefile.am 176 2012-05-19 15:51:14Z ralf $
##
## Process this file with automake to produce Makefile.in
##
SUBDIRS = filters templates pixmaps
This diff is collapsed.
## -*- Makefile -*-
##
## Copyright (C) 2006, 2011-2012 Ralf Hoppe <ralf.hoppe@ieee.org>
##
## Version: $Id: Makefile.am 233 2012-06-08 15:30:42Z ralf $
##
## Process this file with automake to produce Makefile.in
##
filtersdir = $(pkgfiltersdir)
dist_filters_DATA = \
differentiator1.dfc\
differentiator2.dfc\
integrator_38rule.dfc\
integrator_rect.dfc\
integrator_simpson.dfc\
integrator_trapez.dfc\
fitting15_poly2.dfc\
fitting21_poly2.dfc\
fitting5_poly2.dfc\
fitting7_poly2.dfc\
fitting7_poly4.dfc\
fitting9_poly2.dfc\
fitting9_poly4.dfc
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment