Matlab tips and tricks

matlab tips and tricks and ...

page overview:

I created this page as a vectorization helper but it grew to become my annotated Matlab reading cache. In order to motivate the DSP people out there, I am showing below how one can apply a window and scale factors on a pre-framed signal using no loops and minimal memory.

% For framing use buffer() or your own favorite
% Frame length: 256, Number of frames: 10000
X = randn(256,10000);
% Make a window (same for each frame)
w = hamming(256);
W = diag(sparse(w));
% This is the windowed signal, without loops
XW = W * X;
% Make a vector of random gain factors (one per frame)
g  = rand(10000,1);
G  = diag(sparse(g))
% Now lets scale each frame by the corresponding gain factor
XG = X * G;
% Windowing and gain scaling is just left and right product with a diagonal.
XWG = W * X * G;

 

local links:

Note that some of the following documents are taken off of Mathworks' own support site; more specifically take a look at the technical notes section.  Also a very good source of information is comp.soft-sys.matlab

 

文章转载自 marios athineosmatlab tips and tricks and ...

posted @ 2015-08-11 21:56  VVingerfly  阅读(307)  评论(0编辑  收藏  举报