annotate arrows/dsp/aspectrum.m @ 6:0ce3c2070089
Removed duplicate code and fixed doc in timed_action.
author |
samer |
date |
Mon, 14 Jan 2013 14:33:37 +0000 |
parents |
672052bd81f8 |
children |
beb8a3f4a345 |
rev |
line source |
samer@0
|
1 % aspectrum - frequency spectrum arrow
|
samer@0
|
2 %
|
samer@0
|
3 % aspectrum ::
|
samer@0
|
4 % N:natural ~'size of waveform blocks to expect'
|
samer@0
|
5 % options {
|
samer@0
|
6 % specfn :: ([[N,T]]->[[dftbins(N),T]])/ @powspec ~'function to compute spectra';
|
samer@0
|
7 % window :: (N:natural->[[N]]) / @hanning ~'function to compute window'
|
samer@0
|
8 % }
|
samer@0
|
9 % -> arrow({[[N,T]]},{[[dftbins(N),T]]},empty).
|
samer@0
|
10
|
samer@0
|
11 function o=aspectrum(N,varargin)
|
samer@0
|
12 opts=prefs('specfn',@powspec,'window',@hanning,varargin{:});
|
samer@0
|
13 specfn=opts.specfn;
|
samer@0
|
14 w=spdiag(opts.window(N));
|
samer@0
|
15 o=arr(@fn);
|
samer@0
|
16 function y=fn(x)
|
samer@0
|
17 y=specfn(w*x);
|
samer@0
|
18 end
|
samer@0
|
19 end
|