|Go back to the main gmeteor page.|
;; This example shows how to design a simple low-pass filter. To run ;; this example, type `gmeteor example-1.scm' at the command-line ;; prompt. ;; The semicolon `;' introduces a comment, which lasts until the end ;; of the line. ;; we first give a title to the filter. The title appears on the ;; output file in verbose mode. (title "A simple filter") ;; set verbose mode on. Note that in Scheme, `#t' denotes the TRUE ;; value. FALSE is denoted by #f. (verbose #t) ;; our filter has cosine (i.e., even) symmetry, and its length is 10 (cosine-symmetry) (filter-length 10) ;; we want a sampling frequency of 60 Hz. (sampling-frequency 60) ;; Now we specify the frequency reponse. The passband is from 0 to 10 ;; Hz, and the frequency response should be 1 in this band. From now ;; on, we denote the frequency response by H(f), where `f' is the ;; frequency. (limit-= (band 0 10) 1) ;; The expression `(band A B)' builds a band. As we shall see in more ;; advanced examples, in gmeteor you can specify H(f) for particular ;; values of f, not just bands. The expression `limit-=' establishes ;; an equality constraint: we state that H(f) should be equal to 1. ;; In gmeteor, you can also specify inequality constraints, but we do ;; not discuss this case in this first example. ;; The stopband is from 20 to 30 Hz. H(f) should be 0 in the ;; stopband. (limit-= (band 20 30) 0) ;; We now specify an output file and a plot file. The output file ;; contains the filter coefficients, and possibly additional ;; information in verbose mode. The plot file contains H(f) in a ;; simple X-Y format that can be viewed using gnuplot or any other ;; plotting program. (output-file "example-1.coef") (plot-file "example-1.plot") ;; By default, gmeteor prints the filter coefficients to standard ;; output, and does not produce a plot file. ;; We now tell gmeteor to design the filter and compute the output. ;; If you forget the (go) command, gmeteor does not compute anything. (go) ;; You can now run this example file and look at the output.