Advertisement
prog

USB-96K

Jul 23rd, 2011
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 3.83 KB | None | 0 0
  1. # slider1 = Frequency
  2. # slider2 = RIT
  3. # slider3 = Tone
  4. # slider4 = Volume
  5.  
  6. # set the samplerate to 96000samples per second
  7. samplerate = 96000
  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/40);
  14. ai = ini * cos1(z) - inq*sin1(z)
  15. aq = inq * cos1(z) + ini*sin1(z)
  16.  
  17. # filter IF:
  18. # samplerate: 96000 low-pass order: 150 cutoff: 1800 Hz
  19. # http://mshook.appspot.com/z/firkernel.htm
  20. # I branch filter
  21. ai = fir(ai,0.0001883,0.0002242,0.0002608,0.0002985,0.0003375,0.0003776,0.0004186,0.0004598,0.0005003,0.0005389,0.0005742,0.0006042,0.000627,0.0006403,0.0006416,0.0006285,0.0005984,0.0005489,0.0004776,0.0003825,0.0002617,0.0001139,-0.0000616,-0.0002652,-0.0004963,-0.0007538,-0.0010356,-0.0013389,-0.0016599,-0.001994,-0.0023356,-0.0026784,-0.0030152,-0.0033381,-0.0036385,-0.0039073,-0.004135,-0.0043119,-0.004428,-0.0044735,-0.0044387,-0.0043146,-0.0040924,-0.0037644,-0.0033237,-0.0027646,-0.0020827,-0.001275,-0.00034,0.0007221,0.0019091,0.0032174,0.0046413,0.0061733,0.0078044,0.0095234,0.0113178,0.0131736,0.0150753,0.0170064,0.0189492,0.0208854,0.0227963,0.0246626,0.0264655,0.028186,0.029806,0.0313079,0.0326753,0.0338933,0.0349481,0.035828,0.036523,0.0370251,0.0373287,0.0374303,0.0373287,0.0370251,0.036523,0.035828,0.0349481,0.0338933,0.0326753,0.0313079,0.029806,0.028186,0.0264655,0.0246626,0.0227963,0.0208854,0.0189492,0.0170064,0.0150753,0.0131736,0.0113178,0.0095234,0.0078044,0.0061733,0.0046413,0.0032174,0.0019091,0.0007221,-0.00034,-0.001275,-0.0020827,-0.0027646,-0.0033237,-0.0037644,-0.0040924,-0.0043146,-0.0044387,-0.0044735,-0.004428,-0.0043119,-0.004135,-0.0039073,-0.0036385,-0.0033381,-0.0030152,-0.0026784,-0.0023356,-0.001994,-0.0016599,-0.0013389,-0.0010356,-0.0007538,-0.0004963,-0.0002652,-0.0000616,0.0001139,0.0002617,0.0003825,0.0004776,0.0005489,0.0005984,0.0006285,0.0006416,0.0006403,0.000627,0.0006042,0.0005742,0.0005389,0.0005003,0.0004598,0.0004186,0.0003776,0.0003375,0.0002985,0.0002608,0.0002242,0.0001883)
  22.  
  23. # Q branch filter
  24. aq = fir(aq,0.0001883,0.0002242,0.0002608,0.0002985,0.0003375,0.0003776,0.0004186,0.0004598,0.0005003,0.0005389,0.0005742,0.0006042,0.000627,0.0006403,0.0006416,0.0006285,0.0005984,0.0005489,0.0004776,0.0003825,0.0002617,0.0001139,-0.0000616,-0.0002652,-0.0004963,-0.0007538,-0.0010356,-0.0013389,-0.0016599,-0.001994,-0.0023356,-0.0026784,-0.0030152,-0.0033381,-0.0036385,-0.0039073,-0.004135,-0.0043119,-0.004428,-0.0044735,-0.0044387,-0.0043146,-0.0040924,-0.0037644,-0.0033237,-0.0027646,-0.0020827,-0.001275,-0.00034,0.0007221,0.0019091,0.0032174,0.0046413,0.0061733,0.0078044,0.0095234,0.0113178,0.0131736,0.0150753,0.0170064,0.0189492,0.0208854,0.0227963,0.0246626,0.0264655,0.028186,0.029806,0.0313079,0.0326753,0.0338933,0.0349481,0.035828,0.036523,0.0370251,0.0373287,0.0374303,0.0373287,0.0370251,0.036523,0.035828,0.0349481,0.0338933,0.0326753,0.0313079,0.029806,0.028186,0.0264655,0.0246626,0.0227963,0.0208854,0.0189492,0.0170064,0.0150753,0.0131736,0.0113178,0.0095234,0.0078044,0.0061733,0.0046413,0.0032174,0.0019091,0.0007221,-0.00034,-0.001275,-0.0020827,-0.0027646,-0.0033237,-0.0037644,-0.0040924,-0.0043146,-0.0044387,-0.0044735,-0.004428,-0.0043119,-0.004135,-0.0039073,-0.0036385,-0.0033381,-0.0030152,-0.0026784,-0.0023356,-0.001994,-0.0016599,-0.0013389,-0.0010356,-0.0007538,-0.0004963,-0.0002652,-0.0000616,0.0001139,0.0002617,0.0003825,0.0004776,0.0005489,0.0005984,0.0006285,0.0006416,0.0006403,0.000627,0.0006042,0.0005742,0.0005389,0.0005003,0.0004598,0.0004186,0.0003776,0.0003375,0.0002985,0.0002608,0.0002242,0.0001883)
  25.  
  26. # down-convert to audio using a second mixer
  27. y = mod1(y+0.0275)
  28. af = ai*sin1(y) - aq*cos1(y)
  29. audio = audio - slider3*(audio - af)
  30.  
  31. # send audio to output of soundcard
  32. # slider4 controls the volume
  33. uitL = audio * slider4 * 500
  34. uitR = audio * slider4 * 500
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement