zaterdag 3 oktober 2015

Project shelved conclusion

The project has been shelved. I don't think the frontend of this tuner can be used for a serious spectrum analyzer. The harmonics generated by the frontend itself are too strong.
So checking if a transmitter is clean enough is not possible.
It can be used for some purposes though. Those are:
  • Monitoring band
  • Indication where signals are
I have bought a simple spectrum analyzer. So no need for this project anymore. 

I have learned a lot making this analyzer.

dinsdag 8 juni 2010

more harmonics

Strong harmonics are created internally when the signal level is high. Signals must be attenuated 20 db. This reduces dynamic range to 50 db. So, although dynamic range is 70db , only 50 db is available for measuring harmonics.

I am adding dipswitches to the processor board. They will be used to set the calibration points for the horizontal calibration.

vrijdag 21 mei 2010

Harmonic generation

During tests with a few 2 meter transceivers I found a problem.
All those transceives seem to have a bad suppression of harmonics .That can not be true.

It seems the tuner itself creates those harmonics when a strong signal is applied
I allready build an attenuator that reduces the RF out of a transmitter to a level the analyzer can handle.
I tried reducing the signal levels by increasing the attenuation.
That did not work.Signal levels did not change. Some RF probably leaks through the attenuator.The problem is not radiation picked up by the analyzer itself. When signal cable is disconnected no signals are visible.

I bought a better attenuator on Ebay. It has not arrived yet.

zondag 16 mei 2010

putting modules in box

This weekend I put all the modules in the box. The only problem I had was a shortcut in the sweep signal to the tuner. After fixing it the machine works again.
A picture will follow soon.

Mechanical things I need to do:
-mount a fuse holder. Unfortunately I can not find one in the junkbox.
-mount an on/off switch.
-Secure mains cable. It has to be clamped to the backpanel.

I didn't spend time on the calibration improvements.

The software is still a bit unstable.

vrijdag 14 mei 2010

alignment

Alignment is time consuming. I am considering to make some provisions in software to speed it up.

Currently 11 calibration values are stored they are hard coded values.
The DAC values for the next frequencies are stored: 0 50 100 150 ... 500 MHz.
Linear interpolation is done for frequencies between those points. Changing a DAC value requires recompilation and flashing the application.

I am considering to build the following option:
The DAC values are stored in EEPROM. The rotary encoder can be used to select and change the calibration values. Defaults can be restored. Calibration data can be stored.

I am still thinking about the user interface. I could select the calibration points using a dip-switch. That could be a quick solution.

dinsdag 11 mei 2010

update

Last night I spend an hour trying to fix the remaining problems.

Capacitor has been changed. Linearity is now ok.

Compensation in software works. The correct multiplication value has to be determened.

Software has strange behavior. I have to configure ports to input repeatately.
If I don't the read values are incorrect. It probably generated fasle interrupts too. I'll check some example programs to see if this is a known problem. It may be a problem related to foating inputs.

maandag 10 mei 2010

almost ready

I think that most of the problems are solved. Changing the steps in a sweep helped a lot. Now it can be alligned. It is a bit time consuming because of the compile/flash cycle.I did a quick calibration. results look good for small spans.

Some problems.
-X signal for scope is not lineair. For low voltages the capacitor value seems to be different.I had this problem with the VCO signal as well . The solution was to use a different electrolytic capacitor. I'll try to change the capacitor tonight.

-Sometimes software seems to crash.

-Compensation for the loss the filter causes must be improved. I need to multiply by 1.05. I can not do that in 16 bit integers. I could multiply by 105 then divide by 100. Unfortunately 105*my max value does not fit in 16 bit. So I need to convert to 32 bit, do the multipilication then convert back.

By the way source code will be available when it is finished.