samer@34: function [y,phi]=block(o,phi,T,cutoff,f) samer@34: % block - Generate block of bipolar blit signal data samer@34: % samer@34: % block :: samer@34: % bpblit ~'bpblit object' samer@34: % 0--1 ~'initial phase (in cycles)' samer@34: % N:natural ~'number of samples to compute', samer@34: % 0--1 ~'normalised frequency (1=sampling freq)', samer@34: % 0--0.5 ~'cutoff harmonics above this frequency [0.5]', samer@34: % -> [[1,N]] ~'band-limited impulse train', samer@34: % 0--1 ~'initial phase for next block'. samer@34: samer@34: m = max(2,2*floor(cutoff/max(f,eps))); % number of harmonics to keep samer@34: y = m*f*diric(2*pi*(phi+f*(0:T-1)),m); samer@34: phi = mod(phi+f*T,2); samer@34: