Software, modeling, and simulation engineer. Former Senior Applications Engineer at MathWorks. Professional interests include: digital signal processing, statistical signal processing, control system design, dynamic system modeling and simulation, data analysis and visualization.

Submitted

SimEvents: Operations Research Library

Add-on library for SimEvents® that provides blocks for modeling operations research systems.

3 years ago | 8 downloads |

Submitted

RGB Image Decomposition

Displays RGB decomposition of a full color image

3 years ago | 3 downloads |

Answered

Why 8 segments for pwelch?

The use of 8 as the default value for the number of segments is purely arbitrary. It is a perfectly reasonable value, but it is...

Why 8 segments for pwelch?

The use of 8 as the default value for the number of segments is purely arbitrary. It is a perfectly reasonable value, but it is...

4 years ago | 1

| accepted

Answered

optical fourier transform by free space propagation and lens

I am not exactly sure what the source of the problem is, but I have a few suggestions to help you diagnose the root cause: Fi...

optical fourier transform by free space propagation and lens

I am not exactly sure what the source of the problem is, but I have a few suggestions to help you diagnose the root cause: Fi...

4 years ago | 0

Answered

Why are the colors in my figures wrong?

Please see <http://www.mathworks.com/matlabcentral/answers/276579-changing-the-histogram-edge-color-from-the-default-green-gradi...

Why are the colors in my figures wrong?

Please see <http://www.mathworks.com/matlabcentral/answers/276579-changing-the-histogram-edge-color-from-the-default-green-gradi...

4 years ago | 1

Answered

Inserting C Code in Simulink block

double multiplicador(double u) { return 2.0*u; }

Inserting C Code in Simulink block

double multiplicador(double u) { return 2.0*u; }

4 years ago | 0

| accepted

Answered

Determine transfer function from block diagram

Please try: H = feedback(series(Gc,G11)+G12*Z0,1); where |Z0| is the Laplace Transform of the disturbance signal |z0(t)...

Determine transfer function from block diagram

Please try: H = feedback(series(Gc,G11)+G12*Z0,1); where |Z0| is the Laplace Transform of the disturbance signal |z0(t)...

4 years ago | 0

| accepted

Answered

How to plot the spectrum of the sum of sine waves

x_fft = abs(fft(x)/noSamples); xn_fft = abs(fft(xn)/noSamples);

How to plot the spectrum of the sum of sine waves

x_fft = abs(fft(x)/noSamples); xn_fft = abs(fft(xn)/noSamples);

4 years ago | 0

Answered

Spectrogram - How to divide signal ?

The third input argument of |spectrogram| expects the number of samples to overlap each window, not the number of segments. Ple...

Spectrogram - How to divide signal ?

The third input argument of |spectrogram| expects the number of samples to overlap each window, not the number of segments. Ple...

4 years ago | 1

| accepted

Answered

Command to reshape matrix diagonally

Y = [ X(1:end/2,:) X(end/2+1:end,:) ];

Command to reshape matrix diagonally

Y = [ X(1:end/2,:) X(end/2+1:end,:) ];

4 years ago | 0

Answered

how to genrate random signal

N = 1024; x = rand(N,1); figure; plot(x);

how to genrate random signal

N = 1024; x = rand(N,1); figure; plot(x);

4 years ago | 0

| accepted

Answered

Diesel Work Cycle using MATLAB to plot P-v Diagram, Calculate work output, and Plot the work output when diameter of the piston is changed

Here's a start: theta = (0:0.1:359.9)'; D = 15; L = 12; L_TDC = 1.5; V_TDC = (pi/4)*D^2*L_TDC;

Diesel Work Cycle using MATLAB to plot P-v Diagram, Calculate work output, and Plot the work output when diameter of the piston is changed

Here's a start: theta = (0:0.1:359.9)'; D = 15; L = 12; L_TDC = 1.5; V_TDC = (pi/4)*D^2*L_TDC;

4 years ago | 0

Answered

Changing the histogram edge color from the default green gradient.

The problem is with the renderer. Please try the following: opengl software and then re-plotting.

Changing the histogram edge color from the default green gradient.

The problem is with the renderer. Please try the following: opengl software and then re-plotting.

4 years ago | 3

| accepted

Answered

How come the frequency vector starts at 0 for even length FFT ?

Regardless of whether |L| is even or odd, the first element of the vector returned by |fft| is _always_ the DC component. No mat...

How come the frequency vector starts at 0 for even length FFT ?

Regardless of whether |L| is even or odd, the first element of the vector returned by |fft| is _always_ the DC component. No mat...

4 years ago | 3

| accepted

Answered

How to Calculate FFT

<http://en.m.wikipedia.org/wiki/Cooley%E2%80%93Tukey_FFT_algorithm Cooley-Tukey Algorithm>

How to Calculate FFT

<http://en.m.wikipedia.org/wiki/Cooley%E2%80%93Tukey_FFT_algorithm Cooley-Tukey Algorithm>

4 years ago | 0

Answered

How do I create this transfer function in matlab, compensator_lag=(0.9987s+33.96)/(s+0.343)?

See: <http://www.mathworks.com/help/control/ref/tf.html Transfer Function>

How do I create this transfer function in matlab, compensator_lag=(0.9987s+33.96)/(s+0.343)?

See: <http://www.mathworks.com/help/control/ref/tf.html Transfer Function>

4 years ago | 0

| accepted

Answered

Please, is there any beamforming toolbox in MATLAB ?

Yes, <http://www.mathworks.com/products/phased-array/ Phased Array System Toolbox>

Please, is there any beamforming toolbox in MATLAB ?

Yes, <http://www.mathworks.com/products/phased-array/ Phased Array System Toolbox>

4 years ago | 1

Answered

How to stop a loop when the wrong values are entered

% Height in feet: H = 0; while H <= 0 H = input('Enter a value greater than 0 for height in feet '); end

How to stop a loop when the wrong values are entered

% Height in feet: H = 0; while H <= 0 H = input('Enter a value greater than 0 for height in feet '); end

4 years ago | 1

| accepted

Answered

Why my mel filters do not overlap on each other?

I think the problem is in the second |elseif| statement: elseif (k>=f_range(m+1) && k<=f_range(m)) These two sub-condit...

Why my mel filters do not overlap on each other?

I think the problem is in the second |elseif| statement: elseif (k>=f_range(m+1) && k<=f_range(m)) These two sub-condit...

4 years ago | 1

| accepted

Answered

how to create output that is column vector

Logical Indexing: * <http://blogs.mathworks.com/loren/2013/02/20/logical-indexing-multiple-conditions/ Loren's blog post> * ...

how to create output that is column vector

Logical Indexing: * <http://blogs.mathworks.com/loren/2013/02/20/logical-indexing-multiple-conditions/ Loren's blog post> * ...

4 years ago | 0

Answered

Why I get the wrong peak from bode plot?

The function |getPeakGain| returns the peak gain on an absolute scale, whereas the Bode plot displays the gain on a decibel scal...

Why I get the wrong peak from bode plot?

The function |getPeakGain| returns the peak gain on an absolute scale, whereas the Bode plot displays the gain on a decibel scal...

4 years ago | 0

| accepted

Answered

Why my mel filters do not overlap on each other?

Please review the <http://www.mathworks.com/help/signal/ref/tripuls.html tripuls> function.

Why my mel filters do not overlap on each other?

Please review the <http://www.mathworks.com/help/signal/ref/tripuls.html tripuls> function.

4 years ago | 0

Answered

Compute the fft of the record of my voice

N = length(data); Fs = 8000; dt = 1/Fs; t = dt*(0:N-1)'; figure; plot(t,data);

Compute the fft of the record of my voice

N = length(data); Fs = 8000; dt = 1/Fs; t = dt*(0:N-1)'; figure; plot(t,data);

4 years ago | 0

Answered

what toolkit should i get to implement modulation techniques?

* MATLAB * Simulink * Signal Processing Toolbox * DSP System Toolbox * Communications System Toolbox

what toolkit should i get to implement modulation techniques?

* MATLAB * Simulink * Signal Processing Toolbox * DSP System Toolbox * Communications System Toolbox

4 years ago | 0

Answered

FFT result looks nothing like analytic result

steps = 2^10; lim = 4; dx = 2*lim/steps; x = -lim:dx:lim-dx; % x = linspace(-lim, lim, steps); Fs = 1/dx; dF ...

FFT result looks nothing like analytic result

steps = 2^10; lim = 4; dx = 2*lim/steps; x = -lim:dx:lim-dx; % x = linspace(-lim, lim, steps); Fs = 1/dx; dF ...

4 years ago | 0

Answered

Hi. How can i add 20% Gaussian noise to some fixed value vector.

m = [ 1.05 ; 0.2561 ; 0.3321 ]; s = 0.2 * m ; N = 1000; x = ones(N,1) * m' + randn(N,3) * diag(s);

Hi. How can i add 20% Gaussian noise to some fixed value vector.

m = [ 1.05 ; 0.2561 ; 0.3321 ]; s = 0.2 * m ; N = 1000; x = ones(N,1) * m' + randn(N,3) * diag(s);

4 years ago | 0

| accepted

Answered

IF statement restarting when condition is true

k = []; while isempty(k) d=input('Is this spur gear mounted between two bearing? (Y/N): ','s'); k = fin...

IF statement restarting when condition is true

k = []; while isempty(k) d=input('Is this spur gear mounted between two bearing? (Y/N): ','s'); k = fin...

4 years ago | 0

| accepted

Answered

can any one describe the algorithm of power spectral estimation using different window techiniques

Please review: <https://en.m.wikipedia.org/wiki/Welch%2527s_method Welch's Method>

can any one describe the algorithm of power spectral estimation using different window techiniques

Please review: <https://en.m.wikipedia.org/wiki/Welch%2527s_method Welch's Method>

4 years ago | 0

Answered

Simulate a time series of stock price using Monte-Carlo simulations

Here is some code to get you started: N = 10000; P = nan(N,1); P(1) = ... for k = 2:N P(k) = P(k-1...

Simulate a time series of stock price using Monte-Carlo simulations

Here is some code to get you started: N = 10000; P = nan(N,1); P(1) = ... for k = 2:N P(k) = P(k-1...

4 years ago | 0

| accepted