Filter löschen
Filter löschen

insert several zeros between two samples

7 Ansichten (letzte 30 Tage)
nonet21
nonet21 am 11 Nov. 2017
Kommentiert: nonet21 am 11 Nov. 2017
Hello, I have un signal xN with irregular sampling and i want insert zeros with a step of 100e-3 between my samples So i have my signal where my samples are for example: tN=[0.985,1.36,1.58,2.65,.....] And the number of zeros to put between my samples is searching like that for i=1:Tmax-1 a=round(((tN(i+1)-tN(i))/(te))-1); end So my aim is to create a signal y with the same irregular sampling that xN and between the samples, insert zeros with a step of 100e-3

Antworten (1)

Star Strider
Star Strider am 11 Nov. 2017
This seems to do what you want, given the sample time vector you provided:
tN=[0.985,1.36,1.58,2.65]; % Original Time Vector
v = min(tN) : 0.001 : max(tN); % Create Time Vector With 0.001 Steps
[Lv,nv] = ismembertol(v, tN, 0.0001); % Logical Vector ‘Lv’ & ‘nv’ Subscripts Into ‘v’ Matching ‘tN’
nv(Lv) = tN; % New Time Vector With Zeros Between Original Times
  3 Kommentare
Star Strider
Star Strider am 11 Nov. 2017
My script creates a uniformly-sampled vector between the minimum and maximum values of ‘tN’ with a step of 0.001. It then creates a vector of zeros (with the 0.001 spacing) and maps the existing values of ‘tN’ onto the values of ‘vn’ that correspond to those times.
I thought that is what you want.
nonet21
nonet21 am 11 Nov. 2017
I would like to first find the number of zeros to be able to put between each samples with a step of 100e-3 and then insert these zeros into a vector with the right time and not do a sampling directly between the min value and the max value, but all the time between the sample i and the sample i + 1 and then insert them into a vector with the right time space

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by