YAGI(5)

✨ NAME ✨

yagi β€” the yagi binary output format, bestie πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so this whole page is about the output format of the file that the Yagi-Uda project's yagi program spits out. it's a binary file, and it kicks off with a header that's 100 bytes long. the header is giving very structured, very demure:

  • offset 0 β€” elements β€” int
  • offset 4 β€” driven β€” int
  • offset 8 β€” parasitic β€” int
  • offset 12 β€” min_frequency β€” double
  • offset 20 β€” max_frequency β€” double
  • offset 28 β€” design frequency β€” double
  • offset 36 β€” step_frequency β€” double
  • offset 44 β€” angular_step β€” double
  • offset 52 β€” 0 β€” double
  • offset 92 β€” 0 β€” double

(offset in bytes, information, data-type β€” iykyk 🫢)

then, right after the header, we start writing the coordinates (x,y,l) of each element plus the voltage applied to each element. then we write the element currents one after the other, at each frequency. so the element currents get written 12,000 times with a 3 element yagi analysed at 4,000 different frequencies. math is mathing ✨

all the complex data is stored in a structure of type fcomplex, defined like this:

struct fcomplex {double real, double imaginary};

and here's the map of everything after that, no cap:

  • offset 100 β€” x1 β€” double /* coordinates */
  • offset 108 β€” y1 β€” double
  • offset 116 β€” l1 β€” double
  • offset 100+(n-1)*24 β€” x_n β€” double
  • offset 100+(n-1)*24+8 β€” y_n β€” double
  • offset 100+(n-1)*24+16 β€” l_n β€” double
  • -------------- Repeated for each element.
  • offset 100+24*elements β€” Voltage1 β€” fcomplex /* voltage */
  • offset 100+24*elements+(n-1)*16 β€” Voltage_n β€” fcomplex
  • -------------- Repeated for each element n at each frequency step f.
  • offset 100+40*elements β€” Current1@f1 β€” fcomplex /* current */
  • offset 100+40*elements+(n-1)*16 β€” Current_n@f1 β€” fcomplex
  • offset 100+56*elements β€” Current@f2 β€” fcomplex
  • offset 100+40*elements+(n-1)*16 β€” Current_n@f2 β€” fcomplex

πŸ“ FILES πŸ“

  • filename.out β€” binary file πŸŽ€

πŸ‘€ SEE ALSO πŸ‘€

yagi(1), output(1), input(1), optimise(1), first(1) and input(5). go read those too, bestie, they're all part of the lore πŸ’œ


πŸ’– AUTHORS πŸ’–

Dr. David Kirkby G8WRB (david.kirkby@onetel.net), with help with converting to DOS from Dr. Joe Mack NA3T (mack@fcrfv2.ncifcrf.gov). absolute legends, we stan πŸŒˆπŸ‘‘


k bye!! this was Yagi version 1.16, dated 24th October 2000, and you've been reading YAGI(5). slay, stay binary, don't forget to close your file handles πŸ’–βœ¨