Category Archives: Electronics

Mascot 719 Schematics, Reverse Engineering and Repair

Mascot 719 is an old (probably designed in the 1980s or early 90s) and simple lab power supply. It can output 0-15 V at up to 2 A and 0-30 V at up to 1.5 A. I received a broken unit from a friend and set out to fix it.

Mascot 719 (modified with the two LEDs)

At first glance, it was obvious that the resistor R4 had burned up. It was discolored, so it was unclear what its color code was, but it looked like 100 ohms, so I put a new 100 ohm, ¼ W resistor in its place. I also noticed that the solder joints of the front panel pots for setting voltage and current limits were very poorly soldered, so I fixed that as well.

Inside the Mascot 719
Inside the power supply.

The area around R2, R3 and D5 was discolored from heat, but the components seemed to have reasonable values when checked with a multimeter, so I let them be. The output transistor on the heatsink in the back checked out OK with simple diode tests and so did T2, a BD136 driving it, as well as T3, a BC547B driving T2.

Mascot 719 PCB
Top side of the PCB (after some modifications).

After powering it on again, the new R4 quickly let out its smoke and simultaneously desoldered itself from the board. At the same time T3 and T2 died.

Mascot 719, bottom side
Bottom side of the PCB.


At this point I decided it was time to trace out the schematics so that I could figure out how the supply was supposed to work. This seemed doable, since the board is a rather simple 1-layer board with about 40 large through-hole components. Still, the process took several hours split over three days. Repeatedly rearranging the schematics and finding and correcting mistakes were major parts of the work.

Here is the result (click for a higher resolution image):

Mascot 719 schematics
Schematics of Mascot 719. (Click for a larger image.)

The “brains” of the unit is a quad opamp, LM324. One section of it, IC1A, controls the output voltage based on the setting of the front panel pot R27. LM324 is of course not powerful enough to directly drive the output, so it does this via a cascade of three transistors, T3 (BC547B), T2 (BD136) and T1 (2N3055).

When the output of IC1A increases, the base current of T3 increases and so does the collector current through R4 and therefore also the base current of T2. R4 affects the voltage gain from base to collector of T3 and since there is negative AC feedback via C5 and R6, it affects the loop dynamics. It also limits the maximum amount of current that T3 can sink.

+V_RECT is around 30 V in the 15-V mode and around 50 V in the 30-V mode. If the control loop decides it needs to raise the output by a lot and therefore applies a lot of base current to T3, the current through R4 can get very large if R4 is only 100 ohms, and it is easy to see that the power dissipation can get very far outside of the rated ¼ W. In the worst case, almost the full +V_RECT is applied across R4, which means more than 20 W in the 30-V mode and almost 10 W in the 15-V mode. I think something along these lines is what happened, but I do not know for sure why it happened. One hypothesis is that T2 was broken so that it did not provide any collector current and therefore T1 did not turn, keeping the output low while the control loop tried harder and harder to increase the output by increasing the base current to T3 and therefore pulling larger and larger currents through the poor R4.

To prevent this from happening, I decided to increase R4. The supply shall be able to provide 2 A and T1 has a minimum current gain of 20 according to a datasheet, so T1’s base current needs to be able to reach at least 100 mA. T2 has a minimum current gain of 40, which means its base current needs to be up to 2.5 mA. With 20 V across R4 (some margin from 30 V) it could be up to 8 kohms. 50 V across 8 kohms (should never happen, but better safe than sorry) dissipates 0.31 W, so a single ¼ W resistor is perhaps not enough. I decided to put two 3.9 kohm resistors in series as R4. Another option would have been to select 10 k which would dissipate precisely 0.25 W at 50 V. I have written 10 k in the schematic.

It is possible that 10 k is actually the original value for R4. The color ring that indicates the number of zeros on the original resistor is discolored due to the overheating, so it is hard to tell whether it was brown (as I initially assumed) or perhaps orange. The difference is 100 ohms vs 10 kohms…

I put in a new BC547B as T3, put 2*3k9 as R4 and replaced T2 with a BD132 as I did not have any BD136 on hand. BD132 seems to be have very similar specifications.

After this the unit basically worked and no smoke was emitted!


However, it was possible to turn up the output to more than 30 V and the current limit did max out at more than 2 A in the 15-V mode. Maybe this is good and useful, but I wanted to follow the original specs for the supply, so I turned to the schematics to figure out how to adjust the trimmer pots to align the unit.

IC1B forms an adjustable voltage reference that creates a voltage referred to SENSE-. This reference voltage (which I called VREF_6V1 in the schematics) determines the maximum output voltage setting since the potentiometer that sets the output voltage, R27, is connected across it (via R28). The output voltage is scaled down by R30/R31 by a factor of 0.15, so when the output is 30 V, the negative input to IC1A becomes 4.45 V. The upper end of R27 is at 0.73 times the reference voltage and to make it 4.45 V, the reference voltage must be 6.1 V.

So, the first step is to trim R9 until the reference voltage (pin 7 of IC1B) is at 6.1 V. Alternatively, and perhaps better (to account for tolerances in the pot and resistors): Put the supply in the 30-V mode, crank up the voltage setting knob to max and adjust R9 until the output voltage is 30 V.

To trim the maximum output current, R12 has to be adjusted. One way of doing this is to set the supply in the 15-V mode, crank up the voltage and current knobs to max and connect a power resistor of between 5 and 7.5 ohms to the output. An ammeter should be used to measure the current through the load while R12 is adjusted to limit the current to 2 A.

There is also a minimum current limit according to the front panel, namely 30 mA. This is trimmed by adjusting R37 in the following manner:

Set the current limit to minimum. Turn down the voltage to something suitably low, like 3 V. Connect the ammeter directly across the output (or in series with a limiting resistor) and adjust R37 until the ammeter reads 30 mA.

Other tweaks

Since the series resistors in the crude shunt zener voltage reference R2/R3/D5 gets very hot, particularly in the 30-V mode, I decided to replaced them with several resistors to better handle the power dissipation. With +V_RECT at 50 V, 35 V lies across R2 and R3 which are both 2.2 kohms, so the power dissipation is more than 0.5 W. Not good for resistors that seem to have the ordinary ¼ W rating. My solution was to replace each of R2 and R3 with a string of two 1.2 kohm resistors with a rating of at least 0.5 W each, which I had on hand. The slightly higher resulting resistance is hardly of any importance. I also soldered ~10 mm stumps of used copper desoldering braid to the legs of D5 to help it get rid of heat more easily.

In general, it is a good idea to replace electrolytic capacitors in old equipment, since electrolytics tend to degrade over time. I measured the ripple on +V_RECT and found the valleys at maximum load to always be at least 7 V above the maximum rated output voltage (15 or 30 V depending on setting), so it does not seem to be necessary to replace C2 so smooth +V_RECT further. I did some changes to C7 however. See the section on stability below.

An extra feature one could quite easily add is an LED that lights up when the current limit kicks in. To do this, one needs to understand how the current limiting works:

Current limiting

IC1E handles the normal adjustable current limit. When the current is lower than the set value, its output is high (14 V or so) and it does not affect the output voltage since D7 therefore is back-biased and does not conduct. As soon as the voltage across the current-measuring resistor R17 reaches the level set by the current limit potentiometer R15, the output of IC1E goes low(er) and diverts current from the base of T3 to limit the output voltage and thereby the output current. A switch cleverly connects R14 across the potentiometer R15 when in the 30-V mode. This reduces the voltage at the top of R15 so that the maximum current one can set using R15 is reduced from 2 A to 1.5 A.

IC1D acts as another current limiter that works in a similar way. Its purpose however is to reduce the maximum allowed output current if the output voltage is low. (Curves printed on the front panel illustrate this behavior.) As in any linear regulator, the output transistor (T1) is subjected to the highest power dissipation when the output current is high while at the same time the output voltage is low. To limit the dissipation in T1, it therefore makes sense to not allow as high output current when the output voltage is low. The resistors R21, R24 and R25 form a voltage divider that scales the output voltage so that it can be used by IC1D to compare with the voltage drop across the current sensor R17. In the 15-V mode, a switch engages the voltage divider R20/R19 to scale down the voltage drop across R17 so that higher currents are allowed before the protection kicks in.

Both IC1D and IC1E are connected via diodes to a node near the base of T3 and can therefore override the voltage regulating IC1A and reduce the output voltage (and thereby current) by reducing the base current to T3. The diodes prevent these opamps from ever increasing the output voltage above what IC1A wants it to be, they can just reduce it when necessary.

Now that we understand the current regulating parts, we can see that when current limiting kicks in, either of IC1D or IC1E pulls their outputs low. To signal this this is happening, we can build an OR-gate that controls an LED by connecting the cathodes of two diodes to each of these outputs (pins 8 and 14), join the anodes and connect them to the LED in series with a resistor connected to +15V. This works, but I also wanted an LED that lights up when the power is on and, furthermore, I found it wasteful to have so much voltage headroom (up to 50 V originally) and use separate currents from this voltage to power two different LEDs. I therefore came up with a somewhat more complex solution shown below. The two LEDs are connected in series, so that they use the same current. A transistor controlled by the diode OR-gate shorts out the current limit LED when no current limiting is going on. This changes the brightness of the power LED very slightly, but this is almost imperceptible.

LED schematic
Extra circuitry for indicator LEDs.
Mascot 719 bottom of PCB after mod
Bottom of PCB with extra LED circuitry.


Feedback systems like voltage and current regulators can be unstable, so I wanted to check whether this power supply suffered from that. I varied the output voltage from 0 V to max while loading the output with either nothing, 22 ohms or 7 ohms. I also varied the current limit setting.

Unfortunately, there were tendencies of instability for low output voltages (0.5 V to 4 V) with a load of 7 ohms. A roughly 70 kHz tone of up to 150 mVpp appeared at the output. Not good.

66 kHz, 100 mV peak-peak oscillation at the output.
The oscillation seems to come and goes periodically with the 100-Hz rectified and smoothed mains voltage.

I modeled the voltage control loop in LTSpice and were able to see a similar behavior there as well.

LTSpice schematic
LTSpice schematic of the voltage control loop.
Frequency response
AC simulation results showing peaking for low output voltages.

After lots of back-and-forth between LTSpice and the real board, I came up with a solution that did not seem to oscillate under any of my test conditions. In addition to the original 100 µF capacitor across the output, I added four more 47 µF, 63 V capacitors. I also had to change C6 from 10 nF to 1.5 nF. I still do not fully trust the supply to always be perfectly stable, but it is certainly much better than before this modification.

C7 (bottom left) has been augmented by four 47 µF, 63 V capacitors.

Some observations

+V_RECT is about 50 V in the 30-V mode. BD136 (T2) is rated to V_CEO and V_CBO = 45 V. This is marginal to say the least, as almost the entire +V_RECT will be across the transistor when the output is at 0 V. BD140 which has a rating of 80 V seems like a much better choice as T2 and an upgrade seems like a very good idea. Maybe this is what caused the original T2 to fail?

BC547B (T3) also has a V_CEO rating of 45 V, so this too is not a good choice in a position where it can be subjected to 50 V. I think BC546B with its higher voltage rating would be much safer.

The power supply was designed while the mains voltage was 220 V (it says 220V~ 50Hz on the front). It has since been raised to 230 V (in Sweden this happened in 1988, maybe it was the same in Norway?), which results in a slightly higher +V_RECT, but even with 220 V, the voltage would have been too high for a BD136 and BC547.

The shunt regulator R2/R3/D5 is a very crude way of creating a somewhat stable voltage and it costs a lot of wasted power if it is to accommodate a wide input voltage range while supplying some output current. It would make sense to increase the resistors by a factor of 100 or so and augment it with an emitter follower that supplies the “regulated” output. This would improve the poor efficiency. One could even replace the zener regulator entirely with a modern three-terminal regulator. LR12N3 from Microchip/Supertex or TL783 or LM317HV from TI might be suitable.

There is an alternate footprint for a trimmer pot where R32 is placed, so if one wants to be able to fine tune the voltage reading on the front panel instrument, a 100-kohm pot could be used to replace R32. (It seems like it would be better to have a series connection of a 56 kohm resistor and a 10 kohm pot to make this adjustment easier and more precise.) I have not made this modification.

There is no similar trimmer option at R34/R35 for the current.

It does of course not make economical sense to spend all this time on an old and simple lab power supply with unimpressive specifications, but it was rather fun and perhaps others can find the information useful when repairing other Mascot 719 units.

Electronics Podcasts Update

This post from 2018-11-15 was updated on 2019-08-01.

Back in 2016, I did a blog post entry about podcasts about electronics. Some of the podcasts mentioned there are still going strong while some have disappeared and a few new ones have shown up, so it is time for an update:

I regularly listen to a number of podcasts and below is a list, along with some comments, of the electronics related ones.

I find that the podcasts provide inspiration, insight and knowledge about tools, projects, parts, companies, people and resources in the world of electronics. I first learned about many of the building blocks, components and development tools I use in my hobby projects (and sometimes professionally) through these podcasts.

The Amp Hour


I guess this is the longest running electronics related podcast I know of, started in 2010. “The Amp Hour is a non-scripted off-the-cuff format show […]. It is the worlds largest and most respected electronics oriented radio show. Discussions range from hobbyist electronics to the state of the electronics industry, components, circuit design, and general on and off-topic rants.”

Chris Gammell and Dave Jones (of the EEVblog) chat weekly either with each other or guests about industry news, hacker/maker/open hardware stuff or other things mostly related to electronics. Chris is currently a cosultant and also teaches the online course Contextual Electronics while Dave is an opinionated and quite successful youtuber. If I need to pick a favorite electronics podcast, this is it.



Started in 2013 this is another weekly show, but more geared towards embedded software than electronics, although some of the guests are more into electronics. Elecia and Christopher White discuss between themselves or with guests about “the how, why, and what of engineering, usually devices.” The guests include “makers, entrepreneurs, educators, and normal, traditional engineers.” Both Elecia and Christopher are embedded software consultants in Silicon Valley. Well worth a listen if you are into electronics or embedded software.

Unnamed Reverse Engineering Podcast


This is new on the list since I just discovered it. The topic is primarily reverse engineering of electronics and software. The style is similar to The Amp Hour and Embedded and the content is equally interesting in my opinion. Episodes come out irregularly. In the first two years, 23 episodes have been published.

SolderSmoke Podcast


SolderSmoke is mostly about home-brew HAM radio. Hosts Bill Meara, M0HBR, and Pete Juliano, N6QW, discuss their radio projects and issues they run into. This is the show for anyone who is interested in home-brew radio or perhaps HAM radio in general.

MacroFab’s Engineering Podcast


MacroFab describes the idea behind the company as “[…] to disrupt the contract manufacturing industry by developing a software driven approach to make it faster and easier than ever to bring new electronic products to market.” They seem to specialize in small volume PCBA manufacturing. The weekly podcast was started in 2016 and is hosted by Parker Dillmann and Stephen Kraig who are engineers at the company (except Stephen has left Macrofab, but remains a host of the show). They mostly talk enthusiastically about projects they are working on (they seem to do a lot of fun projects, often with unclear connection to the business) and discuss industry news. The program can be quite inspirational and does not feel like an ad for MacroFab.

A little warning might be in place. Of the podcasts listed here, I get the impression that this is the one on which the hosts are most likely to sound relatively sure about something that is utterly wrong. It seems to have gotten a little better over the years, but still this warning may be relevant.

Ontrack Podcast


This podcast is new since the previous list.

Ontrack is a podcast produced by the EDA tool company Altium. The host Judy Warner is enthusiastic about the industry and brings on various guests from the PCB industry. Mostly it does not feel like ads for Altium (full disclosure: I have been using the Altium Designer ECAD program for many years and think it is great – for the most part) but instead is pretty interesting if you are involved in PCB design.



This is the most recently started podcast on this list. It comes from EETimes and is very professionally produced. The production quality is in my opinion both a good thing and potentially not so good since the polished surface may perhaps come at the expense of depth and nuts-and-bolts content. I find a reasonable fraction of the news and analysis on the podcast to be of interest, although the engineering-to-business ratio is far lower on than it is for the other podcasts on this lists.

This is the way the podcast is described:

“EETimes On Air is the audial digest of EETimes, presenting a thirty-minute (editor’s note: rather 15 minute) deep-dive on the most compelling stories in electronics. Featuring subject matter experts from all corners of the industry, EETimes On Air lends elevated discourse to design engineers and tech industry professionals.”

PCB Tech Talk


This podcast was started by Mentor Graphics in 2015 and has had a few periods of silence, although new episodes seem to be coming out as of now (2019). It contains some useful information and insights for PCB layout designers, but very much pushes Mentor’s tools and brand. It distinctly feels like it is produced by the marketing department of a traditional company and a lot of the content is clearly read from a script. I rarely bother to listen anymore since I do not use Mentor’s tools nowadays and currently do not see that happening in the near future either.

Shows that seem to have disappeared

The Spark Gap Podcast


As of this writing, no new episode has come since 180131. I really hope it will come back as I highly enjoyed the show, but I will not hold my breath.

“A podcast discussing the nuts and bolts of embedded electronics, the systems that use them, and the community that surrounds them.” Started in 2014 and hosted by Karl and Corey. Episodes often have a specific theme and occasionally feature guests.

The Engineering Commons Podcast


After increasingly infrequent episodes, this podcast has as of this writing not come out since June 2018.

This podcast is only occasionally about electronics and more often about other aspects of engineering and being – or becoming – an engineer. It was co-founded in 2012 by Chris Gammell of The Amp Hour, but he left the program a few years ago. Today the show is hosted by the other co-founder Jeff Shelton (a mechanical engineer) as well as Adam (civil engineer), Brian (electrical engineer) and Carmen (also an electrical engineer).

Voltage and Current Noise Sources in LTspice .noise Simulations

Update 2019-03-14: As Jason pointed out in a comment, the simulations below involving Laplace sources do not directly work in LTspice XVII. The reason seems to be that LTspice changed its behavior such that it now (incorrectly) considers nodes connected to ground via the kind of behavioral current sources used here to be floating. To remedy this without affecting the simulation results, a very large resistor (e.g. 1 GΩ) can be inserted between such nodes and ground.

There does not seem to be a direct way of adding a voltage noise or current noise source to an LTspice (or other kinds of Spice for that matter) circuit to be used in a .noise simulation. It is however possible to add noise sources to be used in .tran (time domain) simulations using behavioral sources, but this is not what this post is about. Instead it shows a method of adding white (Johnson as well as shot) and 1/f (flicker) voltage or current noise sources of the desired amplitude to be used in .noise simulations.

One case where such noise sources can be useful is when making simulation models of amplifiers (like opamps) where the input referred voltage and current noises are known from the datasheet.

The only simple noise source (that affects .noise simulations) in LTspice is a simple resistor. Other noise sources exist in semiconductor device models, but those models are more complex and messy. An ideal resistor has a voltage noise described by:

Where k is Botzmann’s constant (1.381×10-23 J/K), T is the temperature in Kelvin (300 K by default in LTspice), B is the bandwidth in Hz and R is the resistance in Ω.

A datasheet for an amplifier typically specifies the white voltage noise in units of nV/√Hz and current noise in fA/√Hz (sometimes pA/√Hz).

So, can we somehow create noisy voltage and current sources based on noisy resistors? The answer is yes, by using dependent sources. To create a white voltage noise source, we can connect the input terminals of a voltage dependent voltage source (E source) to a resistor and use a suitable scaling factor. The dependent source isolates the resistor from any circuitry that is connected to it and preserves the voltage noise amplitude regardless of load.

As mentioned above, the noise source we are trying to model is usually specified in nV/√Hz, so it would be convenient to be able to directly enter that number as part of the model. A simple way of doing that is to select a resistance that produces a noise density of 1 nV/√Hz and enter the noise amplitude from the datasheet as the voltage gain of the dependent source. Solving the above equation for vn = 1 nV when T = 300 K and B = 1 Hz gives R = 60.343 Ω.

The resulting LTspice schematic for a 4.5 nV/√Hz voltage noise source is thus:

White voltage noise source with a noise density of 4.5 nV/√Hz

Similarly, to create a white current noise source, we can use a voltage dependent current source (G source). To allow us to set the transconductance factor of the source to the noise density in fA/√Hz, we need a resistor with a noise density of 1 fV/√Hz, which means that the resistor shall have the very small value of 60.343 pΩ (piko ohm)! A current noise source with a noise density of 4 fA/√Hz can thus be modeled like this:

White current noise source with a noise density of 4 fA/√Hz

Often, one is also interested in flicker noise, whose power density is proportional to 1/f, i.e. it decreases with frequency. If the power density is proportional to 1/f, the voltage (or current) noise density is proportional to 1/√f. This makes it a bit harder to create a model for this kind of noise in LTspice, but it is still possible. The trick is to use the white current noise source above and connect it to a behavioral current source (B source) which has a Laplace function that makes it behave like an impedance whose magnitude is 1/√f. I found the documentation to be a bit unclear on behavioral sources, but after some experimentation I got the following to work:

Flicker voltage noise source with an amplitude of 1.8 nV/√Hz at 100 Hz.

The documentation for a behavioral source in LTspice says that “If an optional Laplace transform is defined, that transform is applied to the result of the behavioral current or voltage.”. It seems that applied in this case means divided by. Unexpected in my opinion.

So the way this B source works is that it produces a current that is the same as the voltage across it (divided by an implicit resistance of 1 Ω to get the units right) and this current is modified by dividing it in the Laplace/frequency domain by the Laplace expression √(s/2π). The complex frequency variable s of the Laplace transform can be written as s = σ+jω = σ+j2πf where f is the frequency in Hz (and σ is the hard-to-interpret real part of s, which can be set to 0 to essentially convert the Laplace transform into a Fourier transform). By dividing s by , we get the desired behavior of an impedance whose magnitude is equal to 1/√f. This impedance is not a pure resistance, but a complex impedance that will cause a phase shift of 45 degrees between current and voltage. Phase shifts are however irrelevant when dealing with noise (unless there are multiple signal paths from a noise source to a node) and the important thing here is that the magnitude of the impedance is right. If we wanted to model a resistor with a resistance of 1/√f, we could divide s by √-1 to make the impedance real, like this: Laplace = sqrt(s/2/pi/sqrt(-1)). This would work equally well in our model for flicker noise, but the expression is bigger and clumsier without changing the noise simulation results.

The level of flicker noise is typically given in one of two ways in datasheets. Either one can read the level off a graph at some frequency where the flicker noise dominates, or it is specified as the corner frequency fc at which it is equal to the white noise level at the same node. In both cases we know the noise level at some frequency and we would of course like to be able to input these two numbers into the noise generator model. This is done by setting the noise level (at the specified frequency) as the transconductance of the G source and by setting the gain of the E source to the square root of the specified frequency. The reason we need to use the square root of the frequency is of course that the white noise current from the G source is multiplied by 1/√f by the B source and that we want to scale it back up to the same intensity precisely at fc. Multiplying the noise by √fc obviously cancels the 1/√f  factor at fc.

A flicker current noise generator can be created in a very similar manner. The only difference is that the output is produced by a G source and that the noise generating resistor is 60.343 pΩ. Here is an example:

Flicker current noise source with an amplitude of 2.3 fA/√Hz at 7000 Hz.

So let’s put all of this together and create a noise model of an opamp connected as a voltage follower like this:

Opamp voltage follower.

As an example, I selected OPA838 whose datasheet contains the following noise specifications:

OPA838 noise specifications.


OPA838 noise plots.

Here is the resulting noise model with all four noise sources (and 1TΩ resistors to make LTspice XVII happy):

OPA838 input noise model.

Link to the above LTspice schematic

The white current noise is 1000 fA/√Hz (R3, G2) and the current noise corner frequency is 7000 Hz (R4, G3, B2, G4). The white voltage noise is 1.8 nV/√Hz (R2, E2) and the voltage noise corner frequency is 100 Hz (R1, G1, B1, E1).

The 10 kΩ source resistor R5 is not part of the noise model of the opamp input itself, but is the impedance of the circuit driving the opamp input. This resistor converts the current noise into a noise voltage at the opamp input.

The out node is actually the non-inverting opamp input in this model.

A quick look at the circuit reveals that the 1 pA/√Hz times the 10 kΩ input resistor results in a noise voltage of 10 nV/√Hz, which will dominate over the much smaller 1.8 nV/√Hz white voltage noise.

Here are the simulation results from LTspice:

Noise simulation results.

The green curve is the total noise at the out node, flattening out at around 16 nV/√Hz at high frequencies. The other curves show the individual contributions from the various noise sources. Below 4 kHz, the current flicker noise (R4) dominates and above that the noise from the source resistor R5 is the largest contributor, closely followed by the white current noise (R3). In this circuit, the voltage noise sources R1 and R2 have negligible effect and even the white current noise source contributes less than what the source resistor does, so it is only below ~4 kHz that the opamp noise (in particular the current flicker noise) becomes dominant in this application. The very good voltage noise specification of OPA838 is of little value with this high a source impedance.