Основы программирования на Python Каширский / методички / Лабораторная работа № 5 2025 (2)
.pdfкоэффициент усиления Gain (имен., по умолчанию 1). Формулы: Code = (Vin × Gain / Vref) × (2ⁿ - 1), Vrecon = (Code / (2ⁿ - 1)) × Vref. Возвращает цифровое значение Code и
восстановленное напряжение Vrecon.
9.Расчёт выходного напряжения и тока трансформатора. Функция принимает число витков первичной обмотки N1 (поз.), число витков вторичной обмотки N2 (поз.), входное напряжение Vin (имен., по умолчанию 220 В) и входной ток Iin (имен., по умолчанию 1 А). Формулы: Vout = Vin × (N2 / N1), Iout = Iin × (N1 / N2). Возвращает выходное напряжение Vout и ток Iout.
10.Расчёт температуры перехода и требуемого теплового сопротивления
радиатора. Функция принимает рассеиваемую мощность P (поз.), тепловое сопротивление переход-корпус Rth_jc (имен., по умолчанию 1.5 °C/Вт), температуру окружающей среды Ta (имен., по умолчанию 25°C) и максимальную температуру Tj_max (имен., по умолчанию 85°C). Формулы: Tj = Ta + P × Rth_jc, Rth_req = (Tj_max - Ta) / P. Возвращает температуру перехода Tj и требуемое тепловое сопротивление Rth_req.
11. Расчёт среднего, максимального и минимального напряжения ШИМ. Функция принимает коэффициент заполнения DutyCycle (поз.), разрядность n (имен., по умолчанию 8 бит) и амплитуду Vmax (имен., по умолчанию 5.0 В). Формулы: Vavg = Vmax
× DutyCycle, Vmin = 0, Step = Vmax / (2ⁿ - 1). Возвращает среднее Vavg, минимальное Vmin
напряжение и шаг квантования Step.
12.Расчёт времени работы и ёмкости в ватт-часах аккумулятора. Функция принимает ёмкость аккумулятора Capacity (поз.), ток нагрузки Iload (поз.), напряжение нагрузки Vload (поз.), напряжение аккумулятора Voltage (имен., по умолчанию 3.7 В) и
КПД η (имен., по умолчанию 0.9). Формулы: Time = (Capacity × Voltage × η) / (Iload × Vload), Wh = Capacity × Voltage. Возвращает время работы Time и ёмкость Wh в ватт-часах.
13.Калибровка значения датчика с проверкой диапазона. Функция принимает измеренное значение Vraw (поз.), смещение нуля Offset (имен., по умолчанию 0.0), масштабный коэффициент Scale (имен., по умолчанию 1.0) и нелинейность
Nonlinearity (имен., по умолчанию 0). Формулы: Vcal = (Vraw + Offset) × Scale × (1 + Nonlinearity/100), Error = |Vcal - Vraw|. Возвращает калиброванное значение Vcal и погрешность Error.
14.Расчёт сопротивления и падения напряжения в линии передачи. Функция принимает длину линии L (поз.), сечение проводника S (поз.), удельное сопротивление
ρ(имен., по умолчанию 0.0175 Ом·мм²/м) и ток нагрузки I (имен., по умолчанию 1 А). Формулы: R = ρ × L / S, Vdrop = I × R. Возвращает сопротивление линии R и падение напряжения Vdrop.
15.Расчёт коэффициента передачи и ёмкостного сопротивления RC-фильтра.
Функция принимает сопротивление R (поз.), ёмкость C (поз.), частоту f (имен., по умолчанию 1000 Гц) и входное напряжение Vin (имен., по умолчанию 1.0 В). Формулы: Xc = 1 / (2 × 3.14159 × f × C), K = Xc / √(R² + Xc²), Vout = Vin × K. Возвращает коэффициент передачи K, выходное напряжение Vout и ёмкостное сопротивление Xc.
16. Расчёт мощности и КПД стабилизатора напряжения. Функция принимает входное напряжение Vin (поз.), выходное напряжение Vout (поз.), ток нагрузки Iload (имен., по умолчанию 1.0 А) и ток покоя Iq (имен., по умолчанию 0.005 А). Формулы: Pdiss = (Vin -
Vout) × Iload + Vin × Iq, η = (Vout × Iload) / (Vin × (Iload + Iq)). Возвращает рассеиваемую мощность
Pdiss и КПД η.
17.Расчёт напряжения и тока на конденсаторе при линейном заряде. Функция принимает сопротивление R (поз.), ёмкость C (поз.), время t (поз.), напряжение источника Vsource (имен., по умолчанию 5.0 В) и начальное напряжение Vinitial (имен., по умолчанию 0 В). Формулы: Vc = Vinitial + (Vsource - Vinitial) × (t / (R × C)), Ic = (Vsource - Vc) / R.
Возвращает напряжение Vc и ток Ic конденсатора.
18.Расчёт резонансной частоты и индуктивного сопротивления LC-контура. Функция принимает индуктивность L (поз.), ёмкость C (поз.) и частоту f (имен., по умолчанию 1000 Гц). Формулы: fres = 1 / (2 × 3.14159 × √(L × C)), Xl = 2 × 3.14159 × f × L.
Возвращает резонансную частоту fres и индуктивное сопротивление Xl.
19.Расчёт порогов и зоны нечувствительности компаратора. Функция принимает опорное напряжение Vref (поз.), гистерезис Hyst (имен., по умолчанию
0.1В), напряжение питания (имен., по умолчанию 5.0 В) и смещение Offset (имен., по умолчанию 0 В). Формулы: Vhigh = Vref + Hyst/2 + Offset, Vlow = Vref - Hyst/2 + Offset, Zone = Vhigh - Vlow. Возвращает верхний Vhigh, нижний Vlow пороги и зону нечувствительности
Zone.
20.Расчёт длины волны, длины антенны и волнового числа. Функция принимает рабочую частоту f (поз.), коэффициент укорочения K (имен., по умолчанию 0.95), тип антенны (имен., по умолчанию 'dipole') и скорость света c (имен., по умолчанию 3e8 м/с). Формулы: λ = c / f, Lant = λ × K / 2, k = 2 × 3.14159 / λ. Возвращает длину волны λ, длину антенны Lant и волновое число k.
21.Расчёт температур перехода, корпуса и запаса по температуре. Функция принимает мощность P (поз.), тепловое сопротивление переход-корпус Rth_jc (имен., по умолчанию 1.5 °C/Вт), тепловое сопротивление корпус-среда Rth_ca (имен., по умолчанию 10 °C/Вт) и температуру среды Ta (имен., по умолчанию 25°C) и
максимальную температуру Tj_max (имен., по умолчанию 85°C). Формулы: Tc = Ta + P × Rth_ca, Tj = Tc + P × Rth_jc, Margin = Tj_max - Tj. Возвращает температуру перехода Tj,
корпуса Tc и запас Margin.
22.Расчёт элементов L-согласующей цепи и параметров согласования. Функция принимает сопротивление источника Rs (поз.), сопротивление нагрузки Rl (поз.), рабочую частоту f (имен., по умолчанию 100 МГц) и добротность Q (имен., по умолчанию 2). Формулы: Xl = Q × Rs, Xc = Rl / Q, L = Xl / (2πf), C = 1 / (2πf × Xc), КСВ = (1 + |Γ|)
/(1 - |Γ|), где Γ = (Rl - Rs) / (Rl + Rs). Возвращает индуктивность L, ёмкость C и КСВ.
23.Преобразование цифрового кода в напряжение и обратно в код ЦАП. Функция принимает цифровой код Code (поз.), разрядность ЦАП n (имен., по умолчанию 8 бит), опорное напряжение Vref (имен., по умолчанию 2.5 В) и коэффициент усиления Gain (имен., по умолчанию 1). Формулы: Vout = (Code / (2ⁿ - 1)) × Vref × Gain, Code_back = (Vout / (Vref × Gain)) × (2ⁿ - 1). Возвращает аналоговое напряжение Vout и
восстановленный код Code_back.
24.Расчёт магнитодвижущей силы и магнитного потока электромагнита. Функция принимает число витков N (поз.), ток I (поз.), длину сердечника l (имен., по умолчанию 0.1 м) и площадь сечения сердечника A (имен., по умолчанию 1e-4 м²).
Формулы: MMF = N × I, Φ = (MMF × μ × A) / l, где μ = 4π × 10 Гн/м. Возвращает МДС MMF
имагнитный поток Φ.
25.Расчёт прямого падения напряжения и мощности на диоде. Функция принимает ток диода I (поз.), тип диода (имен., по умолчанию 'silicon'), температуру T (имен., по умолчанию 27°C) и количество диодов N (имен., по умолчанию 1). Формулы: Vf = 0.7 В × N + 0.002 × (T - 27), P = Vf × I. Возвращает прямое напряжение Vf и мощность
P.
26.Расчёт индуктивности и энергии катушки. Функция принимает число витков N (поз.), длину сердечника l (поз.), магнитную проницаемость μ (имен., по умолчанию 2000), площадь сечения A (имен., по умолчанию 1e-4 м²) и ток I (имен., по умолчанию 1
А). Формулы: L = (μ × μ0 × N² × A) / l, W = (L × I²) / 2, где μ = 4π × 10 Гн/м. Возвращает индуктивность L и запасенную энергию W.
27.Расчёт делителя частоты с автоподбором коэффициента. Функция принимает входную частоту Fin (поз.), желаемую выходную частоту Fdesired (поз.), минимальный коэффициент деления (имен., по умолчанию 1) и максимальный
коэффициент деления (имен., по умолчанию 1000). Формулы: Divider = round(Fin / Fdesired), Fout = Fin / Divider, Tout = 1 / Fout. Возвращает подобранный коэффициент деления Divider, выходную частоту Fout и период Tout.
28.Расчёт времени заряда и ёмкости в ампер-часах аккумулятора. Функция принимает ёмкость аккумулятора Capacity (поз.), ток заряда Icharge (поз.), напряжение заряда Voltage (имен., по умолчанию 4.2 В) и КПД зарядного устройства η (имен., по умолчанию 0.85). Формулы: Time = (Capacity / Icharge) / η, Energy = Capacity × Voltage, Power
=Voltage × Icharge. Возвращает время заряда Time, запасенную энергию Energy и мощность заряда Power.
29.Расчёт тока коллектора и мощности рассеяния транзистора. Функция принимает ток базы Ib (поз.), напряжение коллектор-эмиттер Vce (поз.), коэффициент усиления β (имен., по умолчанию 100) и напряжение база-эмиттер Vbe (имен., по умолчанию 0.7 В). Формула: Ic = Ib × β, P = Vce × Ic + Vbe × Ib. Возвращает ток коллектора Ic и мощность рассеяния P.
30.Расчёт эффективности и тепловой мощности системы охлаждения. Функция принимает тепловую мощность P (поз.), массовый расход теплоносителя mdot (поз.), теплоёмкость Cp (имен., по умолчанию 4180 Дж/кг·°C) и перепад температур ΔT (имен., по умолчанию 10°C). Формула: Q = mdot × Cp × ΔT, η = Q / P, Prejected = P - Q. Возвращает эффективность охлаждения η и отведённую мощность Prejected.
Задание 3
Создайте функцию, которая принимает параметры указанного типа, выполняет вычисления и возвращает результат.
1.Расчёт сопротивления цепи. Функция принимает: R1, R2 (только позиционные), тип соединения (позиционный или ключевой, по умолчанию 'series').
Формулы: R = R1 + R2 (series), R = (R1 × R2) / (R1 + R2) (parallel). Возвращает общее сопротивление.
2.Расчёт мощности. Функция принимает: U, I (только позиционные), тип цепи (позиционный или ключевой, по умолчанию 'DC'), cosφ (только ключевой, по умолчанию 0.9). Формулы: P = U × I (DC), P = U × I × cosφ (AC). Возвращает активную мощность.
3.Расчёт коэффициента усиления ОУ. Функция принимает: R1, R2 (только позиционные), конфигурация (позиционный или ключевой, по умолчанию 'inverting').
Формулы: K = - R2/R1 (inverting), K = 1 + R2/R1 (non-inverting). Возвращает коэффициент усиления.
4.Расчёт частоты среза фильтра. Функция принимает: R, C (только позиционные), тип фильтра (позиционный или ключевой, по умолчанию 'lowpass') R2 (позиционный или ключевой, по умолчанию 1.0), C2 (позиционный или ключевой, по умолчанию 1.0), Q (только ключевой, по умолчанию 1.0). Формулы: fср = 1/(2πRC) ('lowpass', 'highpass'), fср = Q/(2πRC) ('bandpass'), fср = 1/(2π√(R·R2·C·C2)) ('notch').
Возвращает частоту среза в Гц.
5.Расчёт ёмкости цепи. Функция принимает: C1, C2 (только позиционные), тип соединения (позиционный или ключевой, по умолчанию 'parallel'). Формулы: C = C1 + C2 (parallel), C = (C1 × C2) / (C1 + C2) (series). Возвращает общую ёмкость.
6.Расчёт напряжения стабилизации. Функция принимает: Vвх, Iнагр (только позиционные), тип стабилизатора (позиционный или ключевой, по умолчанию
'linear'), Vref (только ключевой, по умолчанию 1.25 В). Формулы: Vвых = Vвх - 2 (‘linear’,
падение 2 В), Vвых = Vref (‘shunt’). Возвращает выходное напряжение.
7.Расчёт магнитного поля. Функция принимает: I, N (только позиционные), форма (позиционный или ключевой, по умолчанию 'solenoid'), длину l (только ключевой, по умолчанию 0.1 м), радиус r (только ключевой, по умолчанию 0.01 м).
Формулы: H = (N × I) / l (‘solenoid’), H = I / (2 × π × r) (‘wire’). Возвращает напряженность поля.
8.Расчёт теплового сопротивления. Функция принимает: толщину L, площадь A (только позиционные), материал (позиционный или ключевой, по умолчанию
'copper'). Формулы: Rθ = L / (k × A), где k=400 (‘copper’), k=200 (‘aluminum’), k=1 (‘plastic’). Возвращает тепловое сопротивление.
9.Расчёт времени работы от батареи. Функция принимает: ёмкость C, ток I
(только позиционные), тип батареи (позиционный или ключевой, по умолчанию 'Liion'). Формулы: t = C / I (‘Li-ion’), t = C × 0.8 / I (‘NiMH’), t = C × 0.5 / I (‘Pb’). Возвращает время работы.
10. Функция принимает: тактовую частоту (позиционный параметр), тип кодирования (позиционный или ключевой, по умолчанию 'NRZ'). Формулы: эффективная скорость = тактовая частота ('NRZ'), эффективная скорость = тактовая частота × 0.5 ('Manchester'), эффективная скорость = тактовая частота × 0.67 ('4B5B'). Возвращает эффективную скорость передачи данных в битах в секунду.
11.Расчёт импеданса цепи. Функция принимает: R, L, C (только позиционные), тип соединения (позиционный или ключевой, по умолчанию 'series'), частоту f (только ключевой, по умолчанию 1000 Гц). Формулы: Z = √(R² + (2πfL - 1/(2πfC))²) ('series'), Z = 1/√((1/R)² + (1/(2πfL) - 2πfC)²) ('parallel'), Z = √(R² + (2πfL)²) ('RL'), Z = √(R² + (1/(2πfC))²) ('RC'). Возвращает импеданс.
12.Расчёт коэффициента шума. Функция принимает: NF1 (только позиционный), тип каскада (позиционный или ключевой, по умолчанию 'single'), G1 , G2, NF2, NF3 (только ключевые, по умолчанию 3). Формулы: для одного каскада NF = NF1, для двух каскадов NF = NF1 + (NF2 - 1)/G1, для трёх каскадов NF = NF1 + (NF2 - 1)/G1 + (NF3 - 1)/(G1×G2). Возвращает коэффициент шума в дБ.
13.Расчёт глубины скин-слоя. Функция принимает: f (только позиционный), материал (позиционный или ключевой, по умолчанию 'copper'). Формула: δ = √(ρ/(πfμμ )), где ρ=1.68e-8 ('copper'), ρ=2.82e-8 ('aluminum'). Возвращает глубину скин-
слоя.
14.Расчёт энергии накопителя. Функция принимает: параметр С или L, (только позиционные), тип накопителя (позиционный или ключевой, по умолчанию 'capacitor'), напряжение V, ток I (только ключевые, по умолчанию 1.0). Формула: W = (C
×V²) / 2 ('capacitor'), W = (L × I²) / 2 ('inductor'). Возвращает энергию.
15.Расчёт КПД преобразователя. Функция принимает: Pвх, Pвых (только позиционные), тип преобразователя (позиционный или ключевой, по умолчанию
'buck'). Формула: η = Pвых / Pвх × 0.95 ('buck'), η = Pвых / Pвх × 0.92 ('boost'). Возвращает КПД.
16.Расчёт коэффициента отражения. Функция принимает: Zн, Zист (только позиционные), тип нагрузки (позиционный или ключевой, по умолчанию 'activ'), Rн , Xн(только ключевые, по умолчанию 1.0). Формулы: Γ = (Zн - Zист)/(Zн + Zист) (активная
нагрузка), Γ = |(Zн - Zист)/(Zн + Zист)| (реактивная нагрузка), = √ |
( |
− |
)2+ 2 |
( |
+ |
)2+ 2 |
|
|
н |
ист |
н |
|
н |
ист |
н |
(комплексная нагрузка). Возвращает коэффициент отражения. |
|
|
|
17. Расчёт добротности контура. Функция принимает: L, C (только позиционные), тип контура (позиционный или ключевой, по умолчанию 'series'), R (только ключевой, по умолчанию 1 Ом), Rparallel (только ключевой, по умолчанию 1000
Ом), f (только ключевой, по умолчанию 1000 Гц). Формулы: Q = (1/R) × √(L/C) ('series'),
= ∙ √ ('parallel'), Q = 2πf × L / R ('inductor'), Q = 1 / (2πf × C × R) ('capacitor').
Возвращает добротность.
18.Расчёт падения напряжения. Функция принимает: I, R (только позиционные), тип цепи (позиционный или ключевой, по умолчанию 'DC'), X (только ключевой, по умолчанию 0), cos_phi (только ключевой, по умолчанию 1). Формулы: Vпад = I × R (DC), Vпад = I × R × cos_phi (AC активная), Vпад = I × √(R² + X²) (AC полное).
Возвращает падение напряжения.
19.Расчёт оптической мощности. Функция принимает: Pвх, L (только позиционные), среда (позиционный или ключевой, по умолчанию 'air'. Формулы: Pвых
= Pвх × (1-alpha)L , где alpha = 0.01 (air), 0.02 (fiber), 0.05 (water). Возвращает мощность на приемнике.
20. Расчёт времени заряда. Функция принимает: C, Vцель (только позиционные), метод заряда (позиционный или ключевой, по умолчанию 'CC'), Iзар (только ключевой, по умолчанию 1 А), R (только ключевой, по умолчанию 100), Vист (только ключевой, по умолчанию 12). Формулы: t = (C × Vцель) / Iзар (CC), t = -R×C×ln(1 - Vцель/Vист) (CV), t = 3×R×C (trickle). Логарифм можно вычислить, например, используя аппроксимацию Паде ln(x) ≈ (x-1)(6 + x) / (x + 4x + 1). Возвращает время заряда.
21.Расчёт резонансной частоты. Функция принимает: L, C (только позиционные), тип резонанса (позиционный или ключевой, по умолчанию 'ideal'), Q (только ключевой, по умолчанию 10), R (только ключевой, по умолчанию 50).
Формулы: f = 1 / (2π√(LC)) (ideal), f = 1/(2π√(LC)) × √(1 - 1/(4Q²)) (real), f = 1/(2π√(LC)) × √((R²C/L) + 1) (coupled). Возвращает резонансную частоту.
22.Расчёт коэффициента демпфирования. Функция принимает: m, k (только позиционные), тип демпфера (позиционный или ключевой, по умолчанию 'viscous'), c (только ключевой, по умолчанию 0.7), mu (только ключевой, по умолчанию 0.1), beta (только ключевой, по умолчанию 0.5), omega (только ключевой, по умолчанию 10).
Формулы: ζ = c / (2√(m×k)) (viscous), ζ = mu/(2√(m×k)) (coulomb), ζ = beta/(2m×omega) (structural). Возвращает коэффициент демпфирования.
23.Расчёт параметров антенны. Функция принимает: f (только позиционный), тип антенны (позиционный или ключевой, по умолчанию 'dipole'), k (только ключевой,
по умолчанию 0.95). Формулы: L = 3e8 / f / 2 (dipole), L = 3e8 / f / 4 (monopole), L = k × 3e8
/f / 2 (folded). Возвращает длину антенны.
24.Расчёт переходного процесса. Функция принимает: R, C, t (только позиционные), тип цепи (позиционный или ключевой, по умолчанию 'RC'), Vист (только ключевой, по умолчанию 5 В), L (только ключевой, по умолчанию 0.01). Формулы: V(t) = Vист × (1 - e(-t/(R×C))) (RC), V(t) = Vист × e(-t/(R×C)) (discharge), V(t) = Vист × (1 - (1 - (t/√(L×C))²/2 + (t/√(L×C)) /24)) (LC). Возвращает напряжение.
25.Расчёт коэффициента передачи. Функция принимает: Pвх, Pвых (только позиционные), тип устройства (позиционный или ключевой, по умолчанию 'amplifier'), Vвх (только ключевой, по умолчанию 1), Vвых (только ключевой, по умолчанию 10). Формулы: K = Pвых / Pвх (amplifier), K = 10×log10(Pвых/Pвх) (amplifier_dB), K = Vвых / Vвх (voltage). Логарифм можно рассчитать, как log10(x) = ln(x) / ln(10), ln(x) ≈ (x- 1)(6 + x) / (x + 4x + 1). Возвращает коэффициент передачи.
26.Расчёт температуры перехода. Функция принимает: P, Rθ (только позиционные), тип корпуса (позиционный или ключевой, по умолчанию 'TO-220'), Tсреды (только ключевой, по умолчанию 25 °C), k (только ключевой, по умолчанию 1).
Формулы: Tj = Tсреды + P × Rθ (TO-220), Tj = Tсреды + P × Rθ × 1.2 (SMD), Tj = Tсреды + P × Rθ × k (custom). Возвращает температуру.
27.Расчёт частоты тактирования. Функция принимает: fвх, делитель d (только позиционные), тип синтезатора (позиционный или ключевой, по умолчанию 'divider'), множитель m (только ключевой, по умолчанию 2), N (только ключевой, по умолчанию
1), M (только ключевой, по умолчанию 1). Формулы: fвых = fвх / d (divider), fвых = fвх × m (PLL), fвых = fвх × N/M (fractional). Возвращает выходную частоту.
28.Расчёт мощности излучения. Функция принимает: Pвх, усиление A (только позиционные), тип антенны (позиционный или ключевой, по умолчанию 'isotropic'), kdipole (только ключевой, по умолчанию 1.64), kaperture (только ключевой, по умолчанию
0.85). Формулы: Pизл = Pвх × A (isotropic), Pизл = Pвх × A × kdipole (dipole), Pизл = Pвх × A × kaperture
(aperture). Возвращает мощность излучения.
29.Расчёт времени нарастания. Функция принимает: B, A (только позиционные), тип сигнала (позиционный или ключевой, по умолчанию 'digital'), R (только ключевой, по умолчанию 50), C (только ключевой, по умолчанию 1e-9), tr1 (только ключевой, по умолчанию 1e-9), tr2 (только ключевой, по умолчанию 1e-9).
Формулы: tr = 0.35 / B (digital), tr = 2.2 × R × C (analog), tr = √(tr1² + tr2²) (cascaded).
Возвращает время нарастания.
30.Расчёт сопротивления материала. Функция принимает: ρ, L, A (только позиционные), материал (позиционный или ключевой, по умолчанию 'copper'), alpha (только ключевой, по умолчанию 0.004), delta_T (только ключевой, по умолчанию 0), k (только ключевой, по умолчанию 1). Формулы: R = ρ × L / A (copper), R = ρ × L / A × (1 + alpha×delta_T) (copper_temp), R = ρ × L / A × k (alloy). Возвращает сопротивление.
Задание 4
Создайте функцию, которая принимает в качестве одного или нескольких параметров функцию, выполняет вычисления и возвращает результат.
1. Расчёт коэффициента передачи цепи
Задача: Рассчитать коэффициент передачи электрической цепи в зависимости от частоты. Коэффициент передачи показывает, как цепь ослабляет или усиливает сигнал на разных частотах.
Дано:
•Функция impedance_func(f), вычисляющая комплексный импеданс цепи Z(f) для частоты f
•Диапазон частот: начальная f_start, конечная f_end, количество точек N
Формула:
K(f) = 1 / |Z(f)|
где |Z(f)| = √(Re[Z(f)]² + Im[Z(f)]²) - модуль комплексного импеданса
Примеры функций импеданса:
1.RC-цепь: Z(f) = R + 1/(j·2πfC)
2.RL-цепь: Z(f) = R + j·2πfL
3. Последовательный RLC: Z(f) = R + j·2πfL + 1/(j·2πfC)
Требуется: Вернуть два списка: список частот и соответствующий список коэффициентов передачи.
2. Поиск оптимальных параметров градиентным спуском
Задача: Найти параметры, минимизирующие функцию стоимости, используя метод градиентного спуска.
Дано:
•Функция стоимости cost_func(params), где params = [p , p , ..., p ]
•Начальные параметры params
•Шаг численного дифференцирования ε
•Количество итераций: 100
Алгоритм:
Для каждого параметра pᵢ на каждой итерации:
1.Вычислить частную производную: ∂C/∂pᵢ ≈ [C(pᵢ+ε) - C(pᵢ-ε)] / (2ε)
2.Обновить параметр: pᵢⁿᵉʷ = pᵢ - 0.1 × ∂C/∂pᵢ
Примеры функций стоимости:
1.Квадратичная: C(p) = (p - 3)²
2.Параболоид: C(p , p ) = (p - 2)² + (p - 1)²
3.Функция Розенброка: C(p , p ) = 100(p - p ²)² + (1 - p )²
Требуется: Вернуть оптимальные параметры и минимальное значение стоимости.
3. Численное интегрирование сигнала
Задача: Вычислить определённый интеграл функции сигнала на заданном интервале методом прямоугольников.
Дано:
•Функция сигнала signal_func(t)
•Интервал интегрирования: от t_start до t_end
•Шаг дискретизации dt
Формула:
Интеграл приближённо вычисляется как сумма:
I = Σ signal_func(tᵢ) × dt
где tᵢ = t_start + i × dt, i = 0, 1, ..., N-1
Примеры функций:
1.Постоянная: f(t) = 2
2.Линейная: f(t) = t
3.Квадратичная: f(t) = t²
4.Треугольная: f(t) = |t - 1|
Требуется: Вернуть значение интеграла.
4. Калибровка измерений
Задача: Преобразовать сырые измерения в калиброванные значения с помощью калибровочной функции.
Дано:
•Функция калибровки calibrate_func(x), преобразующая сырое значение x в калиброванное
•Список сырых измерений [x , x , ..., x ]
Действие: Применить функцию калибровки к каждому элементу списка измерений.
Примеры калибровочных функций:
1.Линейная: y = a·x + b
2.Квадратичная: y = a·x² + b·x + c
3.С поправкой смещения: y = x - offset
Требуется: Вернуть список калиброванных значений.
5. Расчёт отношения сигнал-шум (SNR)
Задача: Вычислить отношение сигнал-шум в децибелах для заданного сигнала и шума.
Дано:
•Функция чистого сигнала signal_func(t)
•Функция шума noise_func(t)
•Интервал времени: от t_start до t_end с шагом dt
Формулы:
1.RMS сигнала: RMS_signal = √[(1/N) × Σ signal_func(tᵢ)²]
2.RMS шума: RMS_noise = √[(1/N) × Σ noise_func(tᵢ)²]
3.SNR = 20 × log (RMS_signal / RMS_noise)
Примеры сигналов:
1.Постоянный: signal(t) = 1, noise(t) = 0.1
2.Треугольный: signal(t) = |t - 0.5|, noise(t) = 0.05 × (t - 0.5)
3.Параболический: signal(t) = t², noise(t) = 0.1 × (0.5 - t)
Требуется: Вернуть SNR в децибелах.
6. Расчёт коэффициента нелинейных искажений
Задача: Вычислить коэффициент нелинейных искажений для системы с нелинейной характеристикой.
Дано:
•Функция передачи transfer_func(V_in), вычисляющая выходное напряжение для входного
•Амплитуда тестового сигнала A
•Временной интервал: от t_start до t_end с шагом dt
Алгоритм:
1.Подать входной сигнал: V_in(t) = A × (2t - 1) (линейно возрастающий от -A до +A)
2.Получить выходной сигнал: V_out(t) = transfer_func(V_in(t))
3.Вычислить искажение как: THD = √[Σ (V_out(t) - V_in(t))² × dt]
Примеры нелинейных функций:
1.Квадратичная: V_out = V_in + 0.1·V_in²
2.Ограничение: V_out = max(-0.8, min(0.8, V_in))
3.Кубическая: V_out = V_in - 0.2·V_in³
Требуется: Вернуть коэффициент нелинейных искажений.
7. Моделирование переходного процесса в RC-цепи
Задача: Смоделировать напряжение на конденсаторе RC-цепи во времени.
