From octave-sources-request at bevo dot che dot wisc dot edu Tue May 28 14:21:50 2002 Subject: Dolph-Chebyshev Window From: =?iso-8859-1?q?Andr=E9=20Carezia?= To: octave-sources at bevo dot che dot wisc dot edu Cc: Max Gerken Date: Tue, 28 May 2002 14:44:48 -0300 --------------Boundary-00=_OA1UBFZ2JETZ8XLN7C2W Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Hello, I needed a Dolph-Chebyshev window for a signal processing research. As I have not found it in Octave (and it is *not* in octave-forge), I wrote one based on the article below: which is based on the classic paper by Dolph (1946). Note that I *have* tried to implement the window according to the (also classic) F. Harris (1978) paper but I concluded he left some mistakes in the definition I found there. This one is defined in the frequency domain, and converted back to time domain by means of a Fourier transform. I have also tried to implement the time domain versions I found in the Mitra publications: and in the documentation of ISIP: but the definitions are either wrong or present numerical problems. Please, feel free to comment on the above digression :-) Attached are two files: chebwin.m: Coefficients of the Dolph-Chebyshev window cheb.m: Value of the Chebyshev polynomials (used by chebwin.m) I tested it with Octave 2.1.35, official Debian package (woody), for windows ranging from 5 points to 251 points, and for attenuation ranging from 20 dB to 140 dB. I believe it is correct. Regards, -- André Carezia http://sites.uol.com.br/acarezia --------------Boundary-00=_OA1UBFZ2JETZ8XLN7C2W Content-Type: text/plain; charset="iso-8859-1"; name="chebwin.m" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="chebwin.m" IyMgQ29weXJpZ2h0IChDKSAyMDAyICAgQW5kcukgQ2FyZXppYQoKIyMgdXNhZ2U6ICBjaGVid2lu IChuLCBhdCkKIyMKIyMgUmV0dXJucyB0aGUgZmlsdGVyIGNvZWZmaWNpZW50cyBvZiB0aGUgbi1w b2ludCBEb2xwaC1DaGVieXNoZXYgd2luZG93CiMjIHdpdGggYXQgZEIgb2YgYXR0ZW51YXRpb24g aW4gdGhlIHN0b3AtYmFuZCBvZiB0aGUgY29ycmVzcG9uZGluZwojIyBGb3VyaWVyIHRyYW5zZm9y bS4KIyMKIyMgRm9yIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBDaGVieXNoZXYgd2luZG93LCBzZWUK IyMKIyMgKiBQZXRlciBMeW5jaCwgIlRoZSBEb2xwaC1DaGVieXNoZXYgV2luZG93OiBBIFNpbXBs ZSBPcHRpbWFsIEZpbHRlciIsCiMjICAgTW9udGhseSBXZWF0aGVyIFJldmlldywgVm9sLiAxMjUs IHBwLiA2NTUtNjYwLCBBcHJpbCAxOTk3LgojIyAgIChodHRwOi8vd3d3Lm1hdGhzLnRjZC5pZS9+ cGx5bmNoL1B1YmxpY2F0aW9ucy9Eb2xwaC5wZGYpCiMjCiMjICogQy4gRG9scGgsICJBIGN1cnJl bnQgZGlzdHJpYnV0aW9uIGZvciBicm9hZHNpZGUgYXJyYXlzIHdoaWNoCiMjICAgb3B0aW1pemVz IHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBiZWFtIHdpZHRoIGFuZCBzaWRlLWxvYmUgbGV2ZWwi LAojIyAgIFByb2MuIElFRUUsIDM0LCBwcC4gMzM1LTM0OC4KIyMKIyMgVGhlIHdpbmRvdyBpcyBk ZXNjcmliZWQgaW4gZnJlcXVlbmN5IGRvbWFpbiBieSB0aGUgZXhwcmVzc2lvbjoKIyMKIyMgICAg ICAgICAgQ2hlYihuLTEsIGJldGEgKiBjb3MocGkgKiBrL24pKQojIyAgIFcoaykgPSAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMjICAgICAgICAgICAgICAgICBDaGViKG4tMSwgYmV0 YSkKIyMKIyMgd2l0aAojIwojIyAgIGJldGEgPSBjb3NoKDEvKG4tMSkgKiBhY29zaCgxMF4oYXQv MjApKQojIwojIyBhbmQgQ2hlYihtLHgpIGRlbm90aW5nIHRoZSBtLXRoIG9yZGVyIENoZWJ5c2hl diBwb2x5bm9taWFsIGNhbGN1bGF0ZWQKIyMgYXQgdGhlIHBvaW50IHguCiMjCiMjIE5vdGUgdGhh dCB0aGUgZGVub21pbmF0b3IgaW4gVyhrKSBhYm92ZSBpcyBub3QgY29tcHV0ZWQsIGFuZCBhZnRl cgojIyB0aGUgaW52ZXJzZSBGb3VyaWVyIHRyYW5zZm9ybSB0aGUgd2luZG93IGlzIHNjYWxlZCBi eSBtYWtpbmcgaXRzCiMjIG1heGltdW0gdmFsdWUgdW5pdGFyeS4KIyMKIyMgU2VlIGFsc286IGth aXNlcgoKIyMgQXV0aG9yOiAgQUhDQyA8YWNhcmV6aWFAdW9sLmNvbS5icj4KIyMgRGVzY3JpcHRp b246ICBDb2VmZmljaWVudHMgb2YgdGhlIERvbHBoLUNoZWJ5c2hldiB3aW5kb3cKCmZ1bmN0aW9u IHcgPSBjaGVid2luIChuLCBhdCkKCiAgaWYgKG5hcmdpbiAhPSAyKQogICAgdXNhZ2UgKCJjaGVi d2luIChuLCBhdCkiKTsKICBlbmRpZgogIAogIGlmICEoaXNfc2NhbGFyIChuKSAmJiAobiA9PSBy b3VuZChuKSkgJiYgKG4gPiAwKSAmJiAocmVtKG4sMikpKQogICAgZXJyb3IgKCJjaGVid2luOiBu IGhhcyB0byBiZSBhbiBvZGQsIHBvc2l0aXZlIGludGVnZXIiKTsKICBlbmRpZgogIGlmICEoaXNf c2NhbGFyIChhdCkgJiYgKGF0ID09IHJlYWwgKGF0KSkpCiAgICBlcnJvciAoImNoZWJ3aW46IGF0 IGhhcyB0byBiZSBhIHJlYWwgc2NhbGFyIik7CiAgZW5kaWYKICAKICBpZiAobiA9PSAxKQogICAg dyA9IDE7CiAgZWxzZQoJCQkJIyBiZXRhIGNhbGN1bGF0aW9uCiAgICBnYW1tYSA9IDEwXigtYXQv MjApOwogICAgYmV0YSA9IGNvc2goMS8obi0xKSAqIGFjb3NoKDEvZ2FtbWEpKTsKCQkJCSMgZnJl cS4gc2NhbGUKICAgIGsgPSAoMDpuLTEpOwogICAgeCA9IGJldGEqY29zKHBpKmsvbik7CgkJCQkj IENoZWJ5c2hldiB3aW5kb3cgKGZyZXEuIGRvbWFpbikKICAgIHAgPSBjaGViKG4tMSwgeCk7CgkJ CQkjIGludmVyc2UgRm91cmllciB0cmFuc2Zvcm0KICAgIHcgPSByZWFsKGZmdChwKSk7CiAgICBN ID0gKG4rMSkvMjsKICAgIHcgPSB3KDE6TSkvdygxKTsKICAgIHcgPSBbdyhNOi0xOjIpIHddJzsK ICBlbmRpZiAgCmVuZAoK --------------Boundary-00=_OA1UBFZ2JETZ8XLN7C2W Content-Type: text/plain; charset="iso-8859-1"; name="cheb.m" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="cheb.m" IyMgQ29weXJpZ2h0IChDKSAyMDAyICAgQW5kcukgQ2FyZXppYQoKIyMgdXNhZ2U6ICBjaGViIChu LCB4KQojIwojIyBSZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgbnRoLW9yZGVyIENoZWJ5c2hldiBw b2x5bm9taWFsIGNhbGN1bGF0ZWQgYXQKIyMgdGhlIHBvaW50IHguIFRoZSBDaGVieXNoZXYgcG9s eW5vbWlhbHMgYXJlIGRlZmluZWQgYnkgdGhlIGVxdWF0aW9uczoKIyMKIyMgICAgICAgICAgIC8g Y29zKG4gYWNvcyh4KSwgICAgfHh8IDw9IDEKIyMgICBUbih4KSA9IHwKIyMgICAgICAgICAgIFwg Y29zaChuIGFjb3NoKHgpLCAgfHh8ID4gMQojIwojIyBJZiB4IGlzIGEgdmVjdG9yLCB0aGUgb3V0 cHV0IGlzIGEgdmVjdG9yIG9mIHRoZSBzYW1lIHNpemUsIHdoZXJlIGVhY2gKIyMgZWxlbWVudCBp cyBjYWxjdWxhdGVkIGFzIHkoaSkgPSBUbih4KGkpKS4KCiMjIEF1dGhvcjogIEFIQ0MgPGFjYXJl emlhQHVvbC5jb20uYnI+CiMjIERlc2NyaXB0aW9uOiAgVmFsdWUgb2YgdGhlIENoZWJ5c2hldiBw b2x5bm9taWFscwoKZnVuY3Rpb24gVCA9IGNoZWIgKG4sIHgpCiAgaWYgKG5hcmdpbiAhPSAyKQog ICAgdXNhZ2UgKCJjaGViIChuLCB4KSIpOwogIGVuZGlmCiAgCiAgaWYgIShpc19zY2FsYXIgKG4p ICYmIChuID09IHJvdW5kKG4pKSAmJiAobiA+PSAwKSkKICAgIGVycm9yICgiY2hlYjogbiBoYXMg dG8gYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyIik7CiAgZW5kaWYKCiAgaW5kID0gZmluZCh4PD0xKTsK ICBUKGluZCkgPSBjb3MobiphY29zKHgoaW5kKSkpOwoKICBpbmQgPSBmaW5kKHg+MSk7CiAgVChp bmQpID0gY29zaChuKmFjb3NoKHgoaW5kKSkpOwoKICBUID0gcmVhbChUKTsKZW5kCgo= --------------Boundary-00=_OA1UBFZ2JETZ8XLN7C2W--