Advertisement
prog

BasicDSP AM

Jul 22nd, 2011
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1. # slider1 = Frequency
  2. # slider2 = RIT
  3. # slider3 = Tone
  4. # slider4 = Volume
  5.  
  6. # set the samplerate to 48000 samples per second
  7. samplerate = 48000
  8.  
  9. # down-convert to 1st IF:
  10. # z is a sawtooch oscillator
  11. # (ai,aq) form the mixer output
  12. # (ini, inq) are the soundcard's inputs
  13. z = mod1(z+slider1+slider2/20);
  14. ai = ini * cos1(z) - inq*sin1(z)
  15. aq = inq * cos1(z) + ini*sin1(z)
  16.  
  17. # filter IF:
  18. # samplerate: 48000 band-pass order: 130 cutoffs: 20 - 4000 Hz
  19. # http://mshook.appspot.com/z/firkernel.htm
  20. # I branch filter
  21. ai = fir(ai,-0.0009381,-0.0007951,-0.00075,-0.000826,-0.0010251,-0.0013241,-0.0016743,-0.0020082,-0.0022523,-0.0023468,-0.0022664,-0.0020365,-0.0017378,-0.0014942,-0.0014444,-0.0017012,-0.0023101,-0.0032202,-0.0042799,-0.0052636,-0.005928,-0.0060839,-0.0056663,-0.0047768,-0.0036827,-0.0027632,-0.0024128,-0.0029224,-0.004373,-0.006577,-0.0090907,-0.0113079,-0.0126164,-0.0125797,-0.0110945,-0.0084704,-0.0054,-0.0028099,-0.0016224,-0.0024837,-0.0055352,-0.0102987,-0.0157265,-0.0204212,-0.0229879,-0.0224348,-0.0185153,-0.0119091,-0.0041691,0.0025811,0.0061506,0.0048765,-0.0018346,-0.0131666,-0.0268652,-0.0395661,-0.0474348,-0.0469974,-0.0359809,-0.0139658,0.0173132,0.0541139,0.0912749,0.1231378,0.1446184,0.1521975,0.1446184,0.1231378,0.0912749,0.0541139,0.0173132,-0.0139658,-0.0359809,-0.0469974,-0.0474348,-0.0395661,-0.0268652,-0.0131666,-0.0018346,0.0048765,0.0061506,0.0025811,-0.0041691,-0.0119091,-0.0185153,-0.0224348,-0.0229879,-0.0204212,-0.0157265,-0.0102987,-0.0055352,-0.0024837,-0.0016224,-0.0028099,-0.0054,-0.0084704,-0.0110945,-0.0125797,-0.0126164,-0.0113079,-0.0090907,-0.006577,-0.004373,-0.0029224,-0.0024128,-0.0027632,-0.0036827,-0.0047768,-0.0056663,-0.0060839,-0.005928,-0.0052636,-0.0042799,-0.0032202,-0.0023101,-0.0017012,-0.0014444,-0.0014942,-0.0017378,-0.0020365,-0.0022664,-0.0023468,-0.0022523,-0.0020082,-0.0016743,-0.0013241,-0.0010251,-0.000826,-0.00075,-0.0007951,-0.0009381)
  22.  
  23. # Q branch filter
  24. aq = fir(aq,-0.0009381,-0.0007951,-0.00075,-0.000826,-0.0010251,-0.0013241,-0.0016743,-0.0020082,-0.0022523,-0.0023468,-0.0022664,-0.0020365,-0.0017378,-0.0014942,-0.0014444,-0.0017012,-0.0023101,-0.0032202,-0.0042799,-0.0052636,-0.005928,-0.0060839,-0.0056663,-0.0047768,-0.0036827,-0.0027632,-0.0024128,-0.0029224,-0.004373,-0.006577,-0.0090907,-0.0113079,-0.0126164,-0.0125797,-0.0110945,-0.0084704,-0.0054,-0.0028099,-0.0016224,-0.0024837,-0.0055352,-0.0102987,-0.0157265,-0.0204212,-0.0229879,-0.0224348,-0.0185153,-0.0119091,-0.0041691,0.0025811,0.0061506,0.0048765,-0.0018346,-0.0131666,-0.0268652,-0.0395661,-0.0474348,-0.0469974,-0.0359809,-0.0139658,0.0173132,0.0541139,0.0912749,0.1231378,0.1446184,0.1521975,0.1446184,0.1231378,0.0912749,0.0541139,0.0173132,-0.0139658,-0.0359809,-0.0469974,-0.0474348,-0.0395661,-0.0268652,-0.0131666,-0.0018346,0.0048765,0.0061506,0.0025811,-0.0041691,-0.0119091,-0.0185153,-0.0224348,-0.0229879,-0.0204212,-0.0157265,-0.0102987,-0.0055352,-0.0024837,-0.0016224,-0.0028099,-0.0054,-0.0084704,-0.0110945,-0.0125797,-0.0126164,-0.0113079,-0.0090907,-0.006577,-0.004373,-0.0029224,-0.0024128,-0.0027632,-0.0036827,-0.0047768,-0.0056663,-0.0060839,-0.005928,-0.0052636,-0.0042799,-0.0032202,-0.0023101,-0.0017012,-0.0014444,-0.0014942,-0.0017378,-0.0020365,-0.0022664,-0.0023468,-0.0022523,-0.0020082,-0.0016743,-0.0013241,-0.0010251,-0.000826,-0.00075,-0.0007951,-0.0009381)
  25.  
  26. # AM detection
  27. af = sqrt(ai*ai + aq*aq)
  28.  
  29. # tone
  30. audio = audio - slider3*(audio - af)
  31.  
  32. # send audio to output of soundcard
  33. # slider4 controls the volume
  34. uitL = audio * slider4 * 100
  35. uitR = audio * slider4 * 100
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement