Saltar al contenido principal
LibreTexts Español

4.1: Introducción

  • Page ID
    83266
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    En este ejercicio vamos a estar echando un vistazo al uso de bucles, o iteración. También investigaremos algunas funciones en la biblioteca estándar. Por supuesto, las computadoras son ideales para cálculos repetitivos como los necesarios para crear tablas de datos.

    Si se requiere un número específico de iteraciones, generalmente la construcción de bucle for () es la mejor opción. Para situaciones en las que no se conoce el número preciso de iteraciones, o donde la condición de terminación se puede expresar de una manera más fácil, se prefiere la construcción de bucle while (). Este ejercicio se centrará en el uso del constructo while (), aunque se recomienda que al finalizar intente alterar el código para utilizar el constructo for ().

    Este programa se utilizará para calcular una tabla de valores para un circuito RC en serie. Calculará y mostrará los valores que podrían usarse para la gráfica de Bode. Esta gráfica muestra la ganancia o atenuación de una red con respecto a la frecuencia. En este ejemplo usaremos el voltaje a través del condensador como la cantidad de salida. La ganancia normalmente se muestra en forma de decibelios (o dB para abreviar) en lugar de como un factor ordinario. Este programa no dibujará la curva, sino que listará los valores para que puedas dibujar la curva tú mismo.

    Primero, el programa necesitará obtener los valores de resistencia y condensador del usuario. A partir de estos calculará y mostrará la frecuencia crítica,\(f_c\). Luego se le pedirá al usuario que especifique un rango de frecuencias sobre el cual calcular los valores de ganancia. Esta consistirá en una frecuencia de inicio, una frecuencia final y el número de puntos de frecuencia a calcular por década (siendo una década un factor de 10). Normalmente las frecuencias no estarían igualmente espaciadas en hercios, sino más bien, igualmente espaciadas por un factor. En otras palabras, la relación de dos frecuencias adyacentes cualesquiera sería la misma en lugar del número de hercios entre ellas. Por ejemplo, si empezáramos a 100 Hz, termináramos a 1000 Hz y solo quisiéramos 2 puntos por década, no usaríamos 100, 550 y 1000 (1000 inicia una nueva década, así que solo cuentan los 100 y 550 como los “dos puntos por década”). 550 es equidistante entre 100 y 1000, pero las proporciones están muy alejadas: Es 5.5 veces más grandes que el punto de partida pero ni siquiera un factor de 2 menor que el punto final. De hecho, queremos la secuencia 100, 316, 1000 porque la relación de 100 a 316 es de 3.16 y la relación de 316 a 1000 también es de 3.16. ¿Cómo sabemos usar esta proporción? ¡Sencillo! Piense en la especificación “dos puntos por década”. Se quiere un número que al multiplicarse por sí mismo rinda 10, es decir, la raíz cuadrada de 10 (3.16). Si quisieras 5 puntos por década usarías la quinta raíz de 10 y así sucesivamente. Aquí hay un pseudo-código para comenzar:

    1. Dar instrucciones apropiadas al usuario

    2. Obtener valor de resistencia en ohmios y valor de capacitancia en faradios del usuario.

    3. Frecuencia crítica de cómputos e impresiones.

    4. Obtener frecuencias de inicio y parada (en Hz) junto con el número de puntos por década del usuario.

    5. Imprima el encabezado de la tabla consistente en Frecuencia (Hz) y Ganancia (dB).

    6. Determinar el factor de frecuencia con base en puntos por década.

    7. Inicializar la frecuencia al valor inicial.

    8. Iniciar un bucle que continúe siempre y cuando la frecuencia sea menor o igual que la frecuencia de parada.

    9. Calcular ganancia en dB.

    10. Frecuencia de impresión y ganancia de dB.

    11. Multiplique la frecuencia por factor de frecuencia para obtener la siguiente frecuencia de interés.

    12. Fin de bucle, y de programa.

    Lo único que podría quedar un poco borroso es el cálculo de ganancia y su conversión a dB. La conversión a dB se define por la siguiente ecuación:

    \[dB = 20 * \log_{10} ( gain ) \nonumber \]

    La ganancia es básicamente un divisor de voltaje entre la resistencia y la reactancia capacitiva, así que refinemos el paso 9:

    9a. Determinar la reactancia capacitiva Xc.

    9b. Calcule la ganancia en base al divisor de voltaje vectorial: ganancia = −\(j\) Xc/ (R−\(j\) Xc).

    Recordatorio: La magnitud de esto es Xc/\(\sqrt{(R^2 + Xc^2)}\).

    9c. Calcular dB basado en\(dB = 20 * \log_{10} ( gain )\)

    La biblioteca matemática (math.h) será útil para el registro común, las raíces, y así sucesivamente. Las funciones de interés son pow (), log10 () y sqrt ().


    This page titled 4.1: Introducción is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by James M. Fiore via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.