File:Daubechies4-functions.svg

From Knowino
Jump to: navigation, search
Full resolution(SVG file, nominally 1,000 × 750 pixels, file size: 10 KB)

This file is from a shared repository and may be used by other projects. The description on its file description page there is shown below.

Summary[edit]

Description
English: Daubechies 4 tap wavelet and scaling functions
Date
Source Own work
Author LutzL
Other versions

Daubechies4-functions.png

file daubechies.magma[edit]

see en:Magma computer algebra system, with link for an online calculator.

R<I>:=ComplexField(30);
LP<Z> := LaurentSeriesRing(R);
T:=(-Z+2-Z^-1)/4;
 
TR<U>:=PowerSeriesRing(R);
Pol<X>:=PolynomialRing(R);
 
readi A,"What accuracy should the wavelets have?";
 
PolarFactorization:=function(A)
	pp:=Truncate( (1-U+O(U^A))^-A );
	pp:=Evaluate(pp,X);
	p:=LP!1;
	for rr in Roots(pp) do
		r:=rr[1];r;
		for ff in Roots(X^2+(4*r-2)*X+1) do
			f:=ff[1];
			if Abs(f) ge 1 then p*:=Z-f; end if;
		end for;
	end for;
	p1:=Evaluate(p,1);
	return LP![ Real(c): c in Eltseq(p/p1) ],pp;
end function;
 
p,p2:=PolarFactorization(A);p;a:=2^(1-A)*(1+Z)^A*p;a2:=(1-X)^A*p2;
"Scaling sequence",Coefficients(a),"product filter", Coefficients(a2);
 
 
Decimation:= function(c)
	return LP![ Coefficient(c,2*k): k in [0..Degree(c) div 2+2] ];
end function;
 
// Power iteration for the values of the scaling function at integer locations 
shape := LP!(Z^A);
for i := 1 to 10 do
	for k := 1 to 10 do
		shape := Decimation(a*shape); shape := shape/Evaluate(shape,1);
	end for;
	shape:=LP![ R!(1+Coefficient(shape,k))-1: k in [0..Degree(shape)] ];
end for;
 
wave := LP![ (-1)^k*Coefficient(a,2*A-k): k in [1..2*A] ];
scal := shape;
 
dx := 1; supp := 2*A-1; pow:=1;
for i := 1 to 4 do
	scal := scal*LP!Evaluate(a,Z^pow);
	dx /:=2; supp *:=2; pow*:=2;
end for;
 
wave := scal*LP!Evaluate(wave,Z^pow);	
scal := scal*LP!Evaluate(a,Z^pow);
dx /:=2; supp *:=2; pow*:=2;
 
a2;
 
fp := Open(Sprintf("daub%o-scal.dat",A),"w");
RO:=RealField(12); 
for k := 1 to supp do
	fprintf fp, "%o\t%o\t%o\t%o\t%o\n",RO!(k*dx),
	RO!Coefficient(scal,k),
	RO!Coefficient(wave,k),
	RO!Abs(Evaluate(scal,Exp(I*2*Pi(RO)*dx^2*k))*dx),
	RO!Abs(Evaluate(wave,Exp(I*2*Pi(RO)*dx^2*k))*dx);
end for;
Flush(fp);
Lissajous small.svg
This image was created with gnuplot.
set data style lines
set zeroa
set key bottom
set term svg enhanced size 1000,750 fsize 24
set out "Daubechies4-functions.svg"
set title "Daubechies 4 tap wavelet"
pl "daub2-scal.dat" u 1:2 ti "scaling function" w lines lt 3 lw 3,\
   "daub2-scal.dat" u 1:3 ti "wavelet function" w lines lt 1 lw 3
set out

Licensing[edit]

I, the copyright holder of this work, hereby publish it under the following licenses:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
  • share alike – If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

GNU head Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.

You may select the license of your choice.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current11:25, 11 September 2009Thumbnail for version as of 11:25, 11 September 20091,000×750 (10 KB)LutzL ({{Information |Description={{en|1=Daubechies 4 tap wavelet and scaling functions}} |Source=Own work by uploader |Author=LutzL |Date=2009-09-11 |Permission= |other_versions=Daubechies4-functions.png }} Category:Wavelets [[Category:Gnupl)

The following page links to this file:

Metadata

Personal tools
Namespaces
Variants
Views
Actions
Navigation
Community
Toolbox