{"id":390,"date":"2014-07-13T08:52:00","date_gmt":"2014-07-13T08:52:00","guid":{"rendered":"http:\/\/ahay.org\/blog\/?p=390"},"modified":"2015-08-29T23:36:12","modified_gmt":"2015-08-29T23:36:12","slug":"program-of-the-month-sfltft","status":"publish","type":"post","link":"https:\/\/ahay.org\/blog\/2014\/07\/13\/program-of-the-month-sfltft\/","title":{"rendered":"Program of the month: sfltft"},"content":{"rendered":"<p><a href=\"\/RSF\/sfltft.html\">sfltft<\/a> (Local Time-Frequency Transform) decomposes input data into frequency components. <\/p>\n<p>The algorithm is described in the paper <a href=\"\/RSF\/book\/tccs\/ltft\/paper_html\/\">Seismic data analysis using local time-frequency decomposition<\/a> and is based on <a href=\"\/RSF\/book\/tccs\/lpf\/paper_html\/\">regularized non-stationary regression<\/a>. The following example from <a href=\"\/RSF\/book\/tccs\/ltft\/timefreq.html\">tccs\/ltft\/timefreq<\/a> shows 1-D synthetic data composed of two chirp signals and the magnitude of coefficients in its time-frequency decomposition: <\/p>\n<p><img decoding=\"async\" src=\"\/RSF\/book\/tccs\/ltft\/timefreq\/Fig\/cchirps.png\" alt=\"\" title=\"\" \/> <img decoding=\"async\" src=\"\/RSF\/book\/tccs\/ltft\/timefreq\/Fig\/ltft1.png\" alt=\"\" title=\"\" \/> <\/p>\n<p>The frequency sampling in the output of <strong>sfltft<\/strong> is controled by <strong>nw=<\/strong>, <strong>w0=<\/strong>, and <strong>dw=<\/strong>. By default, these parameters correspond to the sampling of the discrete Fourier transform. The critical parameters for regularized regression are <strong>rect=<\/strong> (smoothing radius in time, in samples) and <strong>niter=<\/strong> (number of iterations). To output the details of iterative regularization, use <strong>verb=y<\/strong>. The frequency sampling and the <strong>rect=<\/strong> parameter provide explicit controls on time-frequency resolution. In the example above, <strong>rect=7<\/strong>. It is possible to change smoothing radius with frequency by using <strong>alpha=<\/strong> parameter. The iterative inversion can be controlled additionally by specifying a data weight (with <strong>mask=<\/strong>) or a model weight (with <strong>weight=<\/strong>). Optionally, the Fourier basis used in the decomposition can be extracted from the program by specifying <strong>basis=<\/strong> file. <\/p>\n<p>To perform the inverse transform from time-frequency back to time domain, use <strong>inv=y<\/strong>. <strong>sfltft<\/strong> takes real-valued input and produces complex-valued output. <\/p>\n<p>An analogous program for transforming complex-valued data is <a href=\"\/RSF\/sfcltft.html\">sfcltft<\/a>. A related program is <a href=\"\/RSF\/sftimefreq.html\">sftimefreq<\/a> described in <a href=\"\/RSF\/book\/tccs\/timefreq\/paper_html\/\">Time-frequency analysis of seismic data using local attributes<\/a>. <\/p>\n<h3 id=\"10previousprogramsofthemonth\">10 previous programs of the month:<\/h3>\n<ul>\n<li><a href=\"\/blog\/2014\/06\/11\/program-of-the-month-sfeikonal\/\">sfeikonal<\/a><\/li>\n<li><a href=\"\/blog\/2014\/05\/13\/program-of-the-month-sfhelicon\/\">sfhelicon<\/a><\/li>\n<li><a href=\"\/blog\/2014\/04\/02\/program-of-the-month-sfcostaper\/\">sfcostaper<\/a><\/li>\n<li><a href=\"\/blog\/2014\/03\/11\/program-of-the-month-sflpad\/\">sflpad<\/a><\/li>\n<li><a href=\"\/blog\/2014\/02\/06\/program-of-the-month-sfdipfilter\/\">sfdipfilter<\/a><\/li>\n<li><a href=\"\/blog\/2014\/01\/09\/program-of-the-month-sfinttest1\/\">sfinttest1<\/a><\/li>\n<li><a href=\"\/blog\/2013\/12\/01\/program-of-the-month-sfcausint\/\">sfcausint<\/a><\/li>\n<li><a href=\"\/blog\/2013\/11\/03\/program-of-the-month-sfremap1\/\">sfremap1<\/a><\/li>\n<li><a href=\"\/blog\/2013\/10\/03\/program-of-the-month-sfunif2\/\">sfunif2<\/a><\/li>\n<li><a href=\"\/blog\/2013\/09\/14\/program-of-the-month-sfpatch\/\">sfpatch<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>sfltft (Local Time-Frequency Transform) decomposes input data into frequency components. The algorithm is described in the paper Seismic data analysis using local time-frequency decomposition and is based on regularized non-stationary regression. The following example from tccs\/ltft\/timefreq shows 1-D synthetic data composed of two chirp signals and the magnitude of coefficients in its time-frequency decomposition: 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":"local","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"","footnotes":""},"categories":[3],"tags":[],"class_list":["post-390","post","type-post","status-publish","format-standard","hentry","category-programs"],"_links":{"self":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts\/390","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=390"}],"version-history":[{"count":3,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts\/390\/revisions"}],"predecessor-version":[{"id":14309,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts\/390\/revisions\/14309"}],"wp:attachment":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/media?parent=390"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/categories?post=390"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/tags?post=390"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}