making a data series with 2 or 3 discrete pulse, rest are zero

1 visualizzazione (ultimi 30 giorni)
Hello, I am new to matlab. I want to prepare a data series of say 1024, with 2 or 3 sharp pulses at discrete positions. I want rest points to be zero (preferable) or very small values, so that I can really identify the pulses. Later, if I want to add a normally distributed random noise, how I can do that. thanks a lot in advance. regards. asim

Risposte (1)

Fangjun Jiang
Fangjun Jiang il 22 Ago 2011
Series=zeros(1024,1);
RandPos=[10,13,50];
PulseHeight=2;
Series(RandPos)=PulseHeight;
Noise=rand(1024,1);
Signal=Series+Noise;
plot(Signal);
  6 Commenti
Asim Biswas
Asim Biswas il 22 Ago 2011
Thanks Jiang. I appreciate it.
lets say, 0.1 sec interval from 0.1 to 10.24 sec. I want a resonable frequency and say unit magnitude. However, I want to see the pulse for a very short period but high magnitude. It should look like a peak in the middle of no where.
I wonder if I can make the question clear.
thanks a lot.
regards.
asim
Fangjun Jiang
Fangjun Jiang il 22 Ago 2011
All right,the point here is to show you the method, not give you the complete solution. From the above example, I hope you start to understand how easy MATLAB can enable you to do this. To define time, t=0:0.1:10.24. To generate a unit sine wave with frequency f, f=2; Data=sin(2*pi*t); You can use the same method to generate the pulse signal with high frequency and high magnitude. Then to add them together at a certain time spot, you can use for example: Data(51:60)=Data(51:60)+PulseSignal(1:10). Note that your sample time is 0.1sec, which means 10Hz, you can't really represent any signal with frequency high than 5Hz

Accedi per commentare.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by