Keyboard Shortcuts
ctrl + shift + ? :
Show all keyboard shortcuts
ctrl + g :
Navigate to a group
ctrl + shift + f :
Find
ctrl + / :
Quick actions
esc to dismiss
Likes
Search
HP3048 data file format?
Hello!
I am new to this group, old engineer, a ham (S57UUU), and playing with radio astronomy. I have a HP3048 setup, which is working well (knock on wood). I am using the DOS software. For now I can store the results only graphically, using a screen grabber ("screen thief"). The software will write a data file, but it is binary, and somehow, I can't figure it out. Used a hex editor which can also represent the data as floats, etc. but no luck. Does maybe somebody have the format specification for these files? Marko Cebokli |
The source code in HP Basic to the 3048 program is available and the load_results is as follows. It basically uses the ENTER command to do HPBASIC IO.??
The HP BASIC manual reminds us that in binary mode: Two bytes? for each INTEGER: eight bytes for each REAL, and sixteen bytes for each COMPLEX value. Each string entered consists of a four byte header containing the length of the string, followed by the actual string characters. The string must contain an even number of characters; if the length is odd, an extra byte is entered to give alignment on the word boundary. I think this is probably enough information to put together a small C program (or your favouritte IO friendly language) to read the files! Note that Fft in below refers to the DSA data and RF the RF spectrum analyser if you have one (I don't - at least not an 3048 friendly model!) 17132 Load_results:SUB Load_results(@Path,Det$) 17134 ?!! 17136 ? ? ? ?COM /Segment_tags/ Fft_tags(*),Rf_tags(*),Rf_bws(*),Rfa_bins_used 17138 ? ? ? ?COM /Measparms/ Startfreq,Stopfreq,N_ave 17140 ? ? ? ?COM /Plot/ INTEGER Fft_plot(*),Rf_plot(*),Firsty,REAL Firstx 17142 ? ? ? ?COM /Sigma_tau/ Sigma_tau_table(*) 17144 ? ? ? ?COM /Timer/ Starttime,Stoptime 17146 ? ? ? ?COM /Plotparms/ Y_min,Y_max,X_min,X_max,Graphtype,Phgr_type,Carrier,Spurs_on,Title$,Pbw,Cf_scale_fact,Arb_shift,Nf_pwr 17148 ?! 17150 ? ? ? ?ALLOCATE Dummy$[58] 17152 ?! 17154 ? ? ? ?ENTER @Path;Dummy1,Dummy2,Dummy3,Carrier,Dummy$ 17156 ? ? ? ?IF Det$="ALL" THEN? 17158 ? ? ? ? ? N_ave=Dummy1 17160 ? ? ? ? ? Starttime=Dummy2 17162 ? ? ? ? ? Stoptime=Dummy3 17164 ? ? ? ? ? Title$=Dummy$ 17166 ? ? ? ?END IF 17168 ? ? ? ?ENTER @Path;Frstfftseg,Lstfftseg,Frstrfseg,Lstrfseg 17170 ?! 17172 ? ? ? ?IF Frstfftseg AND Lstfftseg THEN? 17174 ? ? ? ? ? ALLOCATE INTEGER Temp(Frstfftseg:Lstfftseg,1:401) 17176 ? ? ? ? ? ENTER @Path;Temp(*) 17178 ? ? ? ? ? FOR I=Frstfftseg TO Lstfftseg 17180 ? ? ? ? ? ? ?FOR J=1 TO 401 17182 ? ? ? ? ? ? ? ? Fft_plot(I,J)=Temp(I,J) 17184 ? ? ? ? ? ? ?NEXT J 17186 ? ? ? ? ? NEXT I 17188 ? ? ? ? ? DEALLOCATE Temp(*) 17190 ? ? ? ?END IF 17192 ?! 17194 ? ? ? ?IF Frstrfseg AND Lstrfseg THEN? 17196 ? ? ? ? ? ALLOCATE INTEGER Temp(Frstrfseg:Lstrfseg,0:1000) 17198 ? ? ? ? ? ENTER @Path;Temp(*) 17200 ? ? ? ? ? FOR I=Frstrfseg TO Lstrfseg 17202 ? ? ? ? ? ? ?FOR J=0 TO 1000 17204 ? ? ? ? ? ? ? ? Rf_plot(I,J)=Temp(I,J) 17206 ? ? ? ? ? ? ?NEXT J 17208 ? ? ? ? ? NEXT I 17210 ? ? ? ? ? DEALLOCATE Temp(*) 17212 ? ? ? ?END IF 17214 ?! 17216 ? ? ? ?ENTER @Path;Fft_tags(*),Rf_tags(*) 17218 ?! 17220 ? ? SUBEND Alan |
¿ªÔÆÌåÓýFeel free to swipe the 3048A code out of timelab.cpp if you like (which can be found in the installation directory written by the setup program at ).? Search for import_3048A_data. ? I¡¯m not sure it works with files written by the option-301 PC BASIC version, though.? If you try it, let me know! ? -- john, KE5FX ? From: [email protected] <[email protected]> On Behalf Of Marko Cebokli
Sent: Thursday, June 27, 2024 12:25 AM To: [email protected] Subject: Re: [HP-Agilent-Keysight-equipment] HP3048 data file format? ? Thank you very much Alan! |
to navigate to use esc to dismiss