NEWS: the DVB UHF doherty project description is now available into My projects section

My projects
Technical docs
Inventor Awards
Training and courses
Photo gallery
Tips and tricks
Spurious analysis
Routine for OrCAD
WinNT and 98
RS232 to TTL
American Wire Gauge
B-constant
Momentum VS IE3D
Frequenza delle note
Tube models
Ebooks
High Speed Logics
Downloads
Contacts
Links
Sitemap

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