Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # slider1 = Frequency
- # slider2 = RIT
- # slider3 = Tone
- # slider4 = Volume
- # set the samplerate to 48000 samples per second
- samplerate = 48000
- # down-convert to 1st IF:
- # z is a sawtooch oscillator
- # (ai,aq) form the mixer output
- # (ini, inq) are the soundcard's inputs
- z = mod1(z+slider1+slider2/40);
- ai = ini * cos1(z) - inq*sin1(z)
- aq = inq * cos1(z) + ini*sin1(z)
- # filter IF:
- # samplerate: 48000
- # 8 pole low-pass Butterworth cutoff: 1800 Hz
- # http://www-users.cs.york.ac.uk/~fisher/mkfilter
- # I branch filter
- ixv0 = ixv1
- ixv1 = ixv2
- ixv2 = ixv3
- ixv3 = ixv4
- ixv4 = ixv5
- ixv5 = ixv6
- ixv6 = ixv7
- ixv7 = ixv8
- ixv8 = ai / 4.758542880e+07
- iyv0 = iyv1
- iyv1 = iyv2
- iyv2 = iyv3
- iyv3 = iyv4
- iyv4 = iyv5
- iyv5 = iyv6
- iyv6 = iyv7
- iyv7 = iyv8
- iyv8 = (ixv0 + ixv8) + 8 * (ixv1 + ixv7) + 28 * (ixv2 + ixv6) + 56 * (ixv3 + ixv5) + 70 * ixv4 + ( -0.2977843725 * iyv0) + ( 2.7418349049 * iyv1) + (-11.0754467360 * iyv2) + ( 25.6394142260 * iyv3) + (-37.2107924000 * iyv4) + ( 34.6753158910 * iyv5) + (-20.2650962730 * iyv6) + ( 6.7925493799 * iyv7)
- ai = iyv8
- # Q branch filter
- qxv0 = qxv1
- qxv1 = qxv2
- qxv2 = qxv3
- qxv3 = qxv4
- qxv4 = qxv5
- qxv5 = qxv6
- qxv6 = qxv7
- qxv7 = qxv8
- qxv8 = aq / 4.758542880e+07
- qyv0 = qyv1
- qyv1 = qyv2
- qyv2 = qyv3
- qyv3 = qyv4
- qyv4 = qyv5
- qyv5 = qyv6
- qyv6 = qyv7
- qyv7 = qyv8
- qyv8 = (qxv0 + qxv8) + 8 * (qxv1 + qxv7) + 28 * (qxv2 + qxv6) + 56 * (qxv3 + qxv5) + 70 * qxv4 + ( -0.2977843725 * qyv0) + ( 2.7418349049 * qyv1) + (-11.0754467360 * qyv2) + ( 25.6394142260 * qyv3) + (-37.2107924000 * qyv4) + ( 34.6753158910 * qyv5) + (-20.2650962730 * qyv6) + ( 6.7925493799 * qyv7)
- aq = qyv8
- # down-convert to audio using a second mixer
- y = mod1(y+0.0275)
- af = ai*cos1(y) - aq*sin1(y)
- audio = audio - slider3*(audio - af)
- # send audio to output of soundcard
- # slider4 controls the volume
- uitL = audio * slider4 * 500
- uitR = audio * slider4 * 500
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement