This is where navigation should be.

sgram(f,op1,op2, ... ); sgram(f,fs,op1,op2, ... ); C=sgram(f, ... );

`sgram(f)` plots a spectrogram of `f` using a Discrete Gabor Transform (DGT).

`sgram(f,fs)` does the same for a signal with sampling rate `fs` (sampled
with `fs` samples per second);

`sgram(f,fs,dynrange)` additionally limits the dynamic range of the
plot. See the description of the `'dynrange'` parameter below.

`C=sgram(f, ... )` returns the image to be displayed as a matrix. Use this
in conjunction with `imwrite` etc. These coefficients are **only** intended to
be used by post-processing image tools. Numerical Gabor signal analysis
and synthesis should **always** be done using the dgt, idgt, dgtreal and
idgtreal functions.

Additional arguments can be supplied like this:

sgram(f,fs,'dynrange',50)

The arguments must be character strings possibly followed by an argument:

'dynrange',r |
Limit the dynamical range to r by using a colormap in
the interval \([chigh-r,chigh]\), where chigh is the highest
value in the plot. The default value of [] means to not
limit the dynamical range. |

'db' |
Apply 20*log10 to the coefficients. This makes it possible to
see very weak phenomena, but it might show too much noise. A
logarithmic scale is more adapted to perception of sound.
This is the default. |

'lin' |
Show the energy of the coefficients on a linear scale. |

'tfr',v |
Set the ratio of frequency resolution to time resolution. A value \(v=1\) is the default. Setting \(v>1\) will give better frequency resolution at the expense of a worse time resolution. A value of \(0<v<1\) will do the opposite. |

'wlen',s |
Window length. Specifies the length of the window measured in samples. See help of pgauss on the exact details of the window length. |

'posfreq' |
Display only the positive frequencies. This is the default for real-valued signals. |

'nf' |
Display negative frequencies, with the zero-frequency centered in the middle. For real signals, this will just mirror the upper half plane. This is standard for complex signals. |

'tc' |
Time centering. Move the beginning of the signal to the middle of the plot. This is useful for visualizing the window functions of the toolbox. |

'image' |
Use imagesc to display the spectrogram. This is the
default. |

'clim',clim |
Use a colormap ranging from \(clim(1)\) to \(clim(2)\). These
values are passed to imagesc. See the help on imagesc. |

'thr',r |
Keep only the largest fraction r of the coefficients, and
set the rest to zero. |

'fmax',y |
Display y as the highest frequency. Default value of []
means to use the Nyquist frequency. |

'xres',xres |
Approximate number of pixels along x-axis / time. The default value is 800 |

'yres',yres |
Approximate number of pixels along y-axis / frequency The Default value is 600 |

'contour' |
Do a contour plot to display the spectrogram. |

'surf' |
Do a surf plot to display the spectrogram. |

'colorbar' |
Display the colorbar. This is the default. |

'nocolorbar' |
Do not display the colorbar. |

In addition to these parameters, `sgram` accepts any of the flags from
setnorm. The window used to calculate the spectrogram will be
normalized as specified.

The greasy signal is sampled using a sampling rate of 16 kHz. To display a spectrogram of greasy with a dynamic range of 90 dB, use:

sgram(greasy,16000,90);

To create a spectrogram with a window length of 20ms (which is typically used in speech analysis) use

fs=16000; sgram(greasy,fs,90,'wlen',round(20/1000*fs));