Spurious analysis program (up-conversion)
Below you can find a simple routine I wrote in Turbo Basic which can be used to
identify in-band and out-band up conversion spurious frequencies and their
order. It can be used also for down conversion, if needed.
The compiled program can be downloaded by clicking HERE... Have
fun!!
5 screen 9:color ,4 10 key off:cls 20 m=0:n=0:i=0 26 print 27
print "*********************************************" 28 print
"*
*" 29 print "* SPURIOUS SEARCH ROUTINE (UP-CONVERSION) *" 30
print "* ERICSSON TEI RESARCH & DEVELOPMENT DIV. *" 31 print
"*
BY
*" 32 print "* Carlo
Mozetic Renato Norbiato *" 33
print
"*
*" 34 print "*********************************************" 35 print 40
input "RF lower frequency (MHz) " RL 50 input "RF upper frequency (MHz) "
RU 60 input "LO lower frequency (MHz) " LL 70 input "LO upper frequency
(MHz) " LU 80 input "IF lower frequency (MHz) " IL 90 input "IF upper
frequency (MHz) " IU 100 input "Max number of LO harmonics " LH 110 input
"Max number of IF harmonics " IH 120 input "Frequency step value (MHz) "
FS 130 input "File to save results " F$ 140 open F$ for output as
#1 150 s$=chr$(9) 160 cls:print s$;"BEGIN SEARCH":print 170 print
s$;"M(IF)";s$;"N(LO)";s$;"IF";s$;"LO";s$;"RF":print 180 print
#1,s$;"M(IF)";s$;"N(LO)";s$;"IF";s$;"LO";s$;"RF":print #1,s$ 190
m=m-IH 200 n=n-LH 210 Imid=IL 220 Lmid=LL 1000
Rmid=(m*Imid)+(n*Lmid) 1010 if Rmid>RL and Rmid<RU then gosub
6000 1020 Imid=Imid+FS:if Imid>IU then goto 2000 1030 goto 1000 2000
Imid=IL 2010 Lmid=Lmid+FS:if Lmid>LU then goto 3000 2020 goto
1000 3000 Imid=IL:Lmid=LL 3010 m=m+1:if m=IH then goto 4000 3020 goto
1000 4000 Imid=IL:Lmid=LL:m=0-IH 4010 n=n+1:if n=LH then goto 5000 4020
goto 1000 5000 print:print s$;"END OF SEARCH";s$;"press (R) to retry or (E)
to exit" 5010 close #1 5020 k$=inkey$:if k$="" then goto 5020 5030 if
k$="r" or k$="R" then goto 10 5040 if k$="e" or k$="E" then end 6000 print
s$;m;s$;n;s$;Imid;s$;Lmid;s$;Rmid 6010 print
#1,s$;m;s$;n;s$;Imid;s$;Lmid;s$;Rmid 6020 i=i+1:if i<17 then
return 6030 print:print s$;"press any key to continue ..." 6040
k$=inkey$:if k$="" then goto 6040 6050 cls:print:print:print
s$;"M(IF)";s$;"N(LO)";s$;"IF";s$;"LO";s$;"RF" 6060 print:i=0:return
You are here: Home-Tips and tricks-Spurious analysis
Next Topic: Routine for OrCAD
|