--- Saving session to:
    ECE481_19-Apr-2002.txt
--- Processed startup.m ---
; ; ; ; ; ; ; 
edit karstr
fschange('c:\personal\class\2001-02\spring\ece481\matlab\karstr.m');
clear karstr
edit karstr
acoeff = [1 0 0 0 -0.4 -0.4]

acoeff =

  Columns 1 through 4 

    1.0000         0         0         0

  Columns 5 through 6 

   -0.4000   -0.4000

bcoeff=1

bcoeff =

     1

[F,H]=freqz(bcoeff,acoeff,[0:pi/100:pi]);
plot(F,abs(H))
Warning: Imaginary parts of complex X and/or Y arguments ignored.
[H,F]=freqz(bcoeff,acoeff,[0:pi/100:pi]);
plot(F,abs(H))
acoeff = [1 0 0 0 -0.5 -0.5]

acoeff =

  Columns 1 through 4 

    1.0000         0         0         0

  Columns 5 through 6 

   -0.5000   -0.5000

[H,F]=freqz(bcoeff,acoeff,[0:pi/100:pi]);
Warning: Divide by zero.
> In C:\MatLab6p1\toolbox\signal\signal\freqz.m at line 87
plot(F,abs(H))
karstr(300,0.5)
Warning: Divide by zero.
> In C:\MatLab6p1\toolbox\signal\signal\freqz.m at line 87
  In c:\personal\class\2001-02\spring\ece481\matlab\karstr.m at line 51
karstr(300,0.5)
Warning: Divide by zero.
> In C:\MatLab6p1\toolbox\signal\signal\freqz.m at line 87
  In c:\personal\class\2001-02\spring\ece481\matlab\karstr.m at line 51
karstr(300,0.4)
karstr(100,0.5)
Warning: Divide by zero.
> In C:\MatLab6p1\toolbox\signal\signal\freqz.m at line 87
  In c:\personal\class\2001-02\spring\ece481\matlab\karstr.m at line 51
zoom on
karstr(30,0.5)
Warning: Divide by zero.
> In C:\MatLab6p1\toolbox\signal\signal\freqz.m at line 87
  In c:\personal\class\2001-02\spring\ece481\matlab\karstr.m at line 51
karstr(1000,0.5)
Warning: Divide by zero.
> In C:\MatLab6p1\toolbox\signal\signal\freqz.m at line 87
  In c:\personal\class\2001-02\spring\ece481\matlab\karstr.m at line 51
fschange('c:\personal\class\2001-02\spring\ece481\matlab\karstr.m');
clear karstr
karstr(1000,0.5)
Warning: Divide by zero.
> In C:\MatLab6p1\toolbox\signal\signal\freqz.m at line 87
  In c:\personal\class\2001-02\spring\ece481\matlab\karstr.m at line 51
type karstr

function karstr(f0,g)
% Karplus-Strong plucked string algorithm


fs=50e3;
%f0=200;
%g=0.5;
dur=4;


N=round(fs/f0);

x=zeros(1,dur*fs);
x(1:N)=randn(1,N);		% whitenoise burst excitation
x=x-mean(x);
%x(1)=1; x(2:N)=0; 		% impulse excitation

a=[1 zeros(1,N-1) -g -g];
b=[1];

y=filter(b,a,x);


% Determine screen size
ssize = get(0,'ScreenSize');
swidth = ssize(3);
sheight = ssize(4);

% Need three figures to fit across top of screen; determine width of each figure
fwidth = swidth/3;

f1=figure(1);
pos=[sheight-(fwidth+20),fwidth,fwidth];
set(f1,'Position',[0 pos],'Name','Time',...
   'MenuBar','none')

f2=figure(2);
set(f2,'Position',[swidth/3 pos],'Name','Freq Response',...
   'MenuBar','none')

f3=figure(3);
set(f3,'Position',[swidth*(2/3) pos],'Name','Spectrogram',...
   'MenuBar','none')

figure(1)
plot((0:length(y)-1)/fs,y)
xlabel('Time (s)')
ylabel('Amplitude')

figure(2)
plot(abs(freqz(b,a,[0:pi/100:pi])))

figure(3)
calspec(y,[],fs);

drawnow

%soundsc(y,fs)
wavplay(y,fs)
exit