diff dsp/synth/@bpblit/block.m @ 34:c75bb62b90a9

Imported audio synthesis tools.
author samer
date Sun, 20 Jan 2013 19:05:05 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dsp/synth/@bpblit/block.m	Sun Jan 20 19:05:05 2013 +0000
@@ -0,0 +1,16 @@
+function [y,phi]=block(o,phi,T,cutoff,f)
+% block - Generate block of bipolar blit signal data
+%
+% block :: 
+%    bpblit     ~'bpblit object'
+%    0--1       ~'initial phase (in cycles)'
+%    N:natural  ~'number of samples to compute',
+%    0--1       ~'normalised frequency (1=sampling freq)',
+%    0--0.5     ~'cutoff harmonics above this frequency [0.5]',
+% -> [[1,N]]    ~'band-limited impulse train',
+%    0--1       ~'initial phase for next block'.
+
+m = max(2,2*floor(cutoff/max(f,eps))); % number of harmonics to keep
+y = m*f*diric(2*pi*(phi+f*(0:T-1)),m);
+phi = mod(phi+f*T,2);
+