Products > Test Equipment

ESA instrument adjustments

<< < (3/3)

mbielman:
Got it working! As can be seen from the earlier (edited) post, I removed the DIAG:CAL:BEG (and DIAG:CAL:END) commands and no more errors when saving to EEPROM.
Doesn't make much sense, but that's what I discovered. (at least for MY own E4407B)

I used Python 2.7 for the script. Fortunately the numpy.py library has a polyfit() function to do the work.

It took a while to get the math right. Here is what I did:

for f in calfreqs:
        x[n] = float(f)*1e9
        y[n] = x[n]+float(preselect[n])
        z[n] = A0 + A1*y[n] + A2*y[n]**2 + A3*y[n]**3
        if DEBUG: print x[n], y[n], z[n]
        n += 1

poly = np.polyfit(x, z, deg=3)
poly = poly.tolist()

# these are the new coefficients
A0 = str(poly[3])
A1 = str(poly[2])
A2 = str(poly[1])
A3 = str(poly[0])

In my case, the only sig gen I have that goes to 26GHz is the HP 8350B with the 83595A plug in. These are NOT phase locked so the output frequency is a bit off.
I tell the SA to do a Peak Search, Center the Marker, and read the frequency. Those are saved in the calfreqs array. I then evaluate using the ORIGINAL polynomial
at (calfreqs+preselect offset) and save the result to z[n]. polyfit() then spits out the new coefficients, which are then saved to RAM with DIAG:CAL 132,n.
Finally, these are saved to EEPROM with DIAG:CAL:STOR 132.

I can post the entire script if there is any interest.

regards

mankan:
A while a ago I discovered that power measurements were way off on my E4407B. Started reading service manuals and so and all pointed to a faulty RYTHM unit  :(


However last night I did some googling and found this thread and today I started experimenting and scripting.
My signal generator is not very level but with in a 3dB interval, however I figure it cannot be that critical since this is matter of tuning a preselector YIG filter, right?

Anyway, it looks much better now  ;D


Script for doing this is available at my GPIB Playground repo at https://github.com/mankangustafsson/gpib_playground/blob/master/esa_yig_polynom.py.
Use at your own risk. No warranties given.

Many thanks to Aiy and mbielman.

mankan:
Anyone knows what calibration registers that affects the "Frequency Response" tests or the "Absolute Amplitude Accuracy" tests?

mbielman:
It would be great to have the full list of registers and how they work but I never found that.  :(
Nice work on your adjustments!

eb3frn:
Hi

I'm looking your gpib_playground scripts in Github and are great, it will be very useful for me. 

Thanks a lot to share the  info and congratulations for your findings.

73! Iban
eb3frn

Navigation

[0] Message Index

[*] Previous page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod