标签:
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;
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 athineos 的 matlab tips and tricks and ...。
标签:
原文地址:http://www.cnblogs.com/VVingerfly/p/4722464.html