Total impedance of a RLC circuit

Click For Summary
SUMMARY

This discussion focuses on calculating the total impedance of a simple RLC circuit using C++. The key formulas for impedance are provided: for capacitance, Z_C = 1/(jωC); for inductance, Z_L = jωL; and for resistance, Z_R = R. The challenge lies in the lack of frequency information, which is crucial for determining reactance. Participants suggest defining a complex structure in C++ to handle the arithmetic of impedances and recommend seeking clarification on the assignment's requirements.

PREREQUISITES
  • Understanding of RLC circuit components: resistance, inductance, and capacitance
  • Knowledge of complex numbers and their representation in programming
  • Familiarity with C++ programming, specifically using complex data types
  • Basic concepts of impedance and reactance in AC circuits
NEXT STEPS
  • Research how to implement complex numbers in C++ using the library
  • Learn about calculating impedance in RLC circuits, focusing on the role of frequency
  • Explore how to define and manipulate custom data structures in C++
  • Investigate best practices for clarifying ambiguous programming assignments
USEFUL FOR

Students in electrical engineering, C++ programmers working on circuit simulations, and anyone interested in understanding RLC circuit impedance calculations.

andreasoro
Messages
7
Reaction score
0
Hi, I need to write a c++ program that calculates the total impedance of a simple RLC circuit. I'm given the values of each component (resistance, coil, condenser). The programming part is not a issue however I can't find the formulas for the impedance on the internet. Can someone help me out please? :) thanks a lot
 
Physics news on Phys.org
andreasoro said:
Hi, I need to write a c++ program that calculates the total impedance of a simple RLC circuit. I'm given the values of each component (resistance, coil, condenser). The programming part is not a issue however I can't find the formulas for the impedance on the internet. Can someone help me out please? :) thanks a lot

I wanted to quote the Wiki, but it's been blacked-out.

Anyway...the complex number representations are the neatest representation, and I think C++ can handle complex variables, right?

Capacitance: Z_C = \frac{1}{j{\omega}C} = \frac{-j}{{\omega}C}

Inductance: Z_L = j{\omega}L

Resistance: Z_R = R

For the resistance, the impedance is just the usual resistance. \omega (angular frequency) is equal to 2{\pi}f, where f is the usual frequency of the alternating current.

Series and parallel arrangements can be treated in the usual fashion, substituting the imaginary/complex reactances and impedances for the usual real resistances.
 
Thanks a lot! I don't know if it does, we're supposed to use a struct with two integers representing the real and the imaginary part. Thanks a lot for helping! what is weird is that we're not given ω but just one value for each component (for example "condenser = 4)
 
andreasoro said:
Thanks a lot! I don't know if it does, we're supposed to use a struct with two integers representing the real and the imaginary part. Thanks a lot for helping! what is weird is that we're not given ω but just one value for each component (for example "condenser = 4)

I'm pretty sure (ages ago, when I was programming for fun) that C (not even C++) can handle complex variables. I used it in a fractal generation program I wrote. You have to import the correct library, #include<complex.h> or something of the sort and probably #include<math.h> as well.
 
andreasoro said:
... what is weird is that we're not given ω but just one value for each component (for example "condenser = 4)

What is the exact phrasing of the problem statement? Is it possible that you're being given the REACTANCES of the L and C components rather than their inductance and capacitance?
 
The assignment is in the attachment
 

Attachments

By the way, I really appreciate it that you're putting so much effort in helping me :)
 
Actually I can't even do the programming part, I've been trying all day but I can't figure out how to do it.. I've never programmed before college and our assignment are really hard or at least they seem hard to me... so if you don't have time it's fine :(
 
That's a weird assignment. They didn't specify units for any of the values. I assume the resistances are given in ohm, but what about the inductors and capacitors?

They did mention complex numbers, so they clearly want you to manipulate imaginary reactances and complex impedances. But they did not provide any frequency of the voltage source, etc. which is very important in determining the reactances of those components.

This assignment really needs to be clarified. Judging by the dates, unfortunately, it's not a current assignment.

With regard to the programming part, it looks like they want you to build complex arithmetic capabilities into your program, rather than using predefined library functions.
 
  • #10
If I was doing this assignment and I couldn't get clarification, I wouldn't worry too much. I would just assume that those are L and C values in the usual units (H and F, respectively). I would just leave f as a symbolic variable that can be "#define"d should the need arise, and calculate omega based on f.

Then it's just a matter of defining the structure "complex", constructing functions that add, subtract, multiply and divide, then define the series operation as just the sum of two impedances, and the parallel operation as \frac{Z_1Z_2}{Z_1 + Z_2}.
 
  • #11
ok thanks a lot for helping! I really appreciate it! The deadline has been changed to friday which means I still have a couple days! I really need to figure it out because I still need one point to be admitted to the final exam
 
  • #12
andreasoro said:
The assignment is in the attachment

The assignment is poorly written. It is apparent that whoever created the problem didn't fully understand impedance and its dependence on frequency.

I suggest that you add another set of tags, <freq> and </freq>, which allows you to specify the operating frequency of the circuit. This tag set would occur immediately following the <circuit> tag prior to any component specification, and only one per circuit, and would be required for any circuit that contains reactive components (coil or condenser).

With the circuit operating frequency known you can then calculate the impedances of the components given their component values.

Good luck!
 
  • #13
Of course, assuming those are given in H (Henry) and Farad (F) won't make it a very realistic problem though, since those are HUGE inductances and capacitances respectively. It's really a rather badly presented problem, and it's best you seek clarification before wasting too much time/effort.
 
  • #14
Ok I will! Thanks so much! It was very nice of you!
 

Similar threads

  • · Replies 32 ·
2
Replies
32
Views
3K
  • · Replies 4 ·
Replies
4
Views
844
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 20 ·
Replies
20
Views
5K
  • · Replies 2 ·
Replies
2
Views
4K
  • · Replies 24 ·
Replies
24
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K