making a data series with 2 or 3 discrete pulse, rest are zero
1 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
回答(1 个)
Fangjun Jiang
2011-8-22
Series=zeros(1024,1);
RandPos=[10,13,50];
PulseHeight=2;
Series(RandPos)=PulseHeight;
Noise=rand(1024,1);
Signal=Series+Noise;
plot(Signal);
6 个评论
Fangjun Jiang
2011-8-22
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
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Waveform Generation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!