{"id":287,"date":"2012-05-01T10:50:18","date_gmt":"2012-05-01T10:50:18","guid":{"rendered":"http:\/\/ahay.org\/blog\/?p=287"},"modified":"2015-09-03T13:17:32","modified_gmt":"2015-09-03T13:17:32","slug":"program-of-the-month-sfderiv","status":"publish","type":"post","link":"https:\/\/ahay.org\/blog\/2012\/05\/01\/program-of-the-month-sfderiv\/","title":{"rendered":"Program of the month: sfderiv"},"content":{"rendered":"<p><a href=\"\/RSF\/sfderiv.html\">sfderiv<\/a> applies the first derivative filter. <\/p>\n<p>The algorithm implemented in this program is described in the <a href=\"http:\/\/ieeexplore.ieee.org\/xpls\/abs_all.jsp?arnumber=917976\">paper<\/a> <\/p>\n<p>Pei, S.-C., and P.-H. Wang, 2001, <strong><em>Closed-form design of maximally flat FIR Hilbert transformers, differentiators, and fractional delayers by power series expansion<\/em><\/strong>: IEEE Trans. on Circuits and Systems, v. 48, No. 4, 389-398. <\/p>\n<p>It is based on the Taylor expansion of the inverse sine function<br \/>\n$$\\arcsin{x} = \\displaystyle \\sum_{n=0}^{\\infty} \\frac{(2n)!}{4^n\\,(n!)^2\\,(2n+1)}\\,x^{2n+1}$$<br \/>\nwhich turns into an expansion of the ideal derivative filter into a chain of digital filters. The <strong>order=<\/strong> parameter controls the order of the expansion and the accuracy-efficiency trade-off. The following example from <a href=\"\/RSF\/book\/rsf\/rsf\/sfderiv.html\">rsf\/rsf\/sfderiv<\/a> shows the frequency responses and the impulse responses for differentiators of different orders <\/p>\n<p><img decoding=\"async\" src=\"\/RSF\/book\/rsf\/rsf\/sfderiv\/Fig\/freq.png\" alt=\"\" title=\"\" \/> <img decoding=\"async\" src=\"\/RSF\/book\/rsf\/rsf\/sfderiv\/Fig\/time.png\" alt=\"\" title=\"\" \/><\/p>\n<p>An alternative is <a href=\"\/RSF\/sfigrad.html\">sfigrad<\/a>, which implements a simple first-order derivative. igrad is more efficient and adequate when computing derivatives of smooth functions. <\/p>\n<p><img decoding=\"async\" src=\"\/RSF\/book\/rsf\/rsf\/sfderiv\/Fig\/ifreq.png\" alt=\"\" title=\"\" \/> <img decoding=\"async\" src=\"\/RSF\/book\/rsf\/rsf\/sfderiv\/Fig\/itime.png\" alt=\"\" title=\"\" \/><\/p>\n<h3 id=\"previousprogramsofthemonth\">Previous programs of the month<\/h3>\n<ul>\n<li><a href=\"\/blog\/2012\/04\/01\/program-of-the-month-sfgrey3\/\">sfgrey3<\/a><\/li>\n<li><a href=\"\/blog\/2012\/03\/18\/program-of-the-month-sfspectra\/\">sfspectra<\/a><\/li>\n<li><a href=\"\/blog\/2011\/07\/03\/program-of-the-month-sfnoise\/\">sfnoise<\/a><\/li>\n<li><a href=\"\/blog\/2011\/08\/09\/program-of-the-month-sfgraph\/\">sfgraph<\/a><\/li>\n<li><a href=\"\/blog\/2011\/09\/03\/program-of-the-month-sfclip\/\">sfclip<\/a><\/li>\n<li><a href=\"\/blog\/2011\/10\/01\/program-of-the-month-sfagc\/\">sfagc<\/a><\/li>\n<li><a href=\"\/blog\/2011\/11\/05\/program-of-the-month-sfenvelope\/\">sfenvelope<\/a><\/li>\n<li><a href=\"\/blog\/2011\/12\/03\/programs-of-the-month-sfcontour\/\">sfcontour<\/a><\/li>\n<li><a href=\"\/blog\/2012\/01\/01\/program-of-the-month-sfsmooth\/\">sfsmooth<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>sfderiv applies the first derivative filter. The algorithm implemented in this program is described in the paper Pei, S.-C., and P.-H. Wang, 2001, Closed-form design of maximally flat FIR Hilbert transformers, differentiators, and fractional delayers by power series expansion: IEEE Trans. on Circuits and Systems, v. 48, No. 4, 389-398. It is based on the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[3],"tags":[],"class_list":["post-287","post","type-post","status-publish","format-standard","hentry","category-programs"],"_links":{"self":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts\/287","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/comments?post=287"}],"version-history":[{"count":3,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts\/287\/revisions"}],"predecessor-version":[{"id":21821,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts\/287\/revisions\/21821"}],"wp:attachment":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/media?parent=287"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/categories?post=287"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/tags?post=287"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}