1
0
Atdalīts 0
GEX demo measuring the amplitude and phase frequency response of analog filters
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
Ondřej Hruška e423303906
add sallen key preset 2
pirms 6 gadiem
gex@3a5ac05d9d added gex submodule pirms 6 gadiem
.gitignore code import pirms 6 gadiem
.gitmodules added gex submodule pirms 6 gadiem
LICENSE more info pirms 6 gadiem
README.md updated readme pirms 6 gadiem
UNITS.INI more info pirms 6 gadiem
bode1_amplitude.png updated readme pirms 6 gadiem
bode1_phase.png updated readme pirms 6 gadiem
main.py add sallen key preset 2 pirms 6 gadiem

README.md

demo-bode-plotter

GEX demo measuring the amplitude and phase frequency response of analog filtes.

This demo uses an external waveform generador AD9833 (on a breakout module from eBay). It could also use the built-in DAC, but the performance is sub-optimal and the plots obtained with it had a lot of glitches. Feel free to adjust the script to use the internal DAC and try it.

The AD9833 is connected to SPI on pins PA4 (SS), PA5 (SCK), and PA7 (MOSI). Pins PA1 and PA2 are used by the ADC and attach before and after the filter (DUT).

The generator has low output levels (0.65 V max). To better utilize the input range of the ADC, I used OP213 in a non-inverting configuration (resistors 7.5k and 2.2k), with a 10M resistor from the input to GND. This gives us gain of around 4.4, enough to reach just under 3V.

To run the script

  • Ensure you used git clone --recursive, or use git submodule init, git submodule update
  • Load the attached UNITS.INI file into GEX (it is intended for GEX Hub)
  • Connect the external circuitry and run the script.

Dependencies - pyplot, numpy, and whatever you need to use the GEX library: typically pyusb or pyserial.

Example outputs

bode1_amplitude.png

bode1_phase.png