news 2026/10/21 16:51:39

AM解调仿真:包络检波与相干解调原理、噪声响应及工程实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AM解调仿真:包络检波与相干解调原理、噪声响应及工程实现

简介:本资源是一份面向通信工程专业本科生的《通信原理》课程设计报告,聚焦AM调制信号的两种核心解调方式——包络检波与相干解调的MATLAB/Simulink建模仿真与性能对比。报告完整呈现从信源生成(1kHz基带+1MHz载波)、加性高斯白噪声信道建模(Random Number模块)、双路径解调实现(含Saturation包络检波与乘法器+低通滤波相干解调),到信噪比定量分析(基于Bandstop/Bandpass滤波分离信号与噪声、Variance功率计算及dB转换)的全流程仿真方案,并重点观察包络检波的门限效应。资源为单个Word文档(.doc),大小131KB,结构清晰,含五阶段任务分解、模块参数详表、仿真波形截图说明及手写总结要求,适合作为课程设计参考范本或通信系统仿真实验入门材料。目前已有515人学习下载。

1. 包络检波和相干解调仿真:为什么AM信号在噪声下会“失真得毫无规律”,而这两个解调方式的差异,直接决定你仿真实验能不能跑出教科书级波形?

如果你正在做通信原理课程设计、准备数字信号处理实验报告,或者刚接手一个射频前端模块的验证任务,大概率会撞上这个经典问题:用MATLAB或Python仿真AM调制信号后,发现包络检波出来的音频波形毛刺多、底噪大,而相干解调虽然干净,却总对不上本地载波相位——一调就失真,一停就归零。这不是玄学,是两种解调机制在时域、频域和噪声响应上的根本性分野。这份仿真文档不是教你怎么抄公式,而是带你从零搭起可复现、可调试、可对比的双路径解调系统:一边用二极管+RC电路建模实现包络检波(含非线性与惯性效应),一边用乘法器+低通滤波+相位同步环路实现相干解调(含载波恢复误差建模)。所有代码块均可粘贴即跑,参数全部标注物理意义,连示波器怎么看眼图、怎么判别相位抖动是否超标都写进排查章节。适合通信工程本科生做课程实验、嵌入式工程师预研接收链路、或FPGA开发者验证数字下变频逻辑前的算法标定。


2. 搭建AM基带信号与信道模型:从正弦载波到加性高斯白噪声的完整链路

AM调制的本质,是让载波的幅度随基带信号线性变化。但仿真中若直接用A_c * (1 + m * s(t)) * cos(2πf_c t),会忽略两个关键现实约束:调制深度m超过1导致过调制失真,以及载波功率与边带功率的分配关系直接影响解调信噪比。我们采用分步建模法,先生成纯净基带,再注入可控失真与噪声,确保每一步都可观察、可干预。

2.1 生成标准AM调制信号:控制调制度与功率谱分布

% 参数定义(全部带单位注释,避免单位混淆翻车) fs = 8000; % 采样率:8 kHz,满足语音基带奈奎斯特要求 fc = 1000; % 载波频率:1 kHz,便于示波器观测 t = 0:1/fs:0.1; % 仿真时长0.1秒,够看3个以上载波周期 s_base = sin(2*pi*100*t); % 基带信号:100 Hz正弦,代表单音测试信号 % 关键:调制度m必须显式控制,且限制在[0,1]内 m = 0.8; % 调制度0.8 → 边带功率占总功率约24%,载波占76% A_c = 1; % 载波幅度,归一化处理 A_am = A_c * (1 + m * s_base); % 包络信号(含直流偏置) % AM调制:注意cos函数输入为弧度,必须乘2π am_signal = A_am .* cos(2*pi*fc*t); % 验证功率谱:用pwelch检查载波峰与边带峰位置及相对高度 figure; pwelch(am_signal, [], [], [], fs); title('AM信号功率谱:载波峰(1kHz)与上下边带(900Hz/1100Hz)');

参数说明:m=0.8是教学与工程折中值——m<0.3边带太弱难观测,m>1会导致包络检波时削波失真;fc=1kHz选在音频范围内,方便后续用声卡回放验证;fs=8kHz满足fs > 2*(fc + f_base_max)=2200Hz,留足抗混叠余量。

2.2 注入加性高斯白噪声(AWGN):按实际信噪比精准控制

通信仿真最常翻车点:噪声功率算错。awgn()函数默认按信号功率加噪,但教材中SNR定义是载波功率与噪声功率比。AM信号总功率 = 载波功率 + 上边带功率 + 下边带功率 =A_c²/2 + (m²A_c²/8)*2 = A_c²/2 * (1 + m²/2)。因此需手动计算噪声方差:

snr_db = 20; % 设定信噪比20 dB(中等质量语音信道) P_carrier = A_c^2 / 2; % 载波单边功率(V²) P_total_am = P_carrier * (1 + m^2/2); % AM信号总平均功率 % 计算噪声方差:σ² = P_total_am / 10^(snr_db/10) noise_var = P_total_am / (10^(snr_db/10)); noise = sqrt(noise_var) * randn(size(t)); % 叠加噪声(注意:是加性,不是乘性) am_noisy = am_signal + noise; % 对比图:原始AM vs 加噪后 figure; subplot(2,1,1); plot(t(1:200), am_signal(1:200)); title('原始AM信号(局部)'); subplot(2,1,2); plot(t(1:200), am_noisy(1:200)); title('加噪AM信号(SNR=20dB)');

为什么不用awgn(am_signal, snr_db)?
因为该函数以var(am_signal)为基准计算噪声,而var(am_signal)≈P_total_am仅在长时间平稳信号下成立。短时观测(如0.1秒)存在统计偏差,手动计算noise_var可保证每次仿真SNR严格一致,这对对比包络检波与相干解调的抗噪性能至关重要。

2.3 构建双通道并行处理框架:为后续解调模块预留接口

为避免修改主流程,我们用结构体封装信号流,每个字段对应一个关键节点:

% 信号容器:所有中间变量存于此,方便调试时inspect sig = struct(... 't', t, ... 's_base', s_base, ... 'am_clean', am_signal, ... 'am_noisy', am_noisy, ... 'envelope_out', [], ... % 包络检波输出占位 'coherent_out', [] ... % 相干解调输出占位 ); % 后续解调函数将直接读取 sig.am_noisy 并写入对应字段 % 这种设计让主脚本保持简洁,解调逻辑完全解耦

此结构体是整个仿真的“黑匣子”中枢——你改任何解调模块,只需保证输入是sig.am_noisy、输出填入对应字段,主流程无需动一行。这是多年带学生做课设血泪经验:避免因复制粘贴导致信号变量名错乱。


3. 实现包络检波:二极管非线性+RC低通的时域建模与参数敏感性分析

包络检波看似简单(半波整流+RC滤波),但仿真中若用理想二极管模型,会完全丢失真实电路的动态响应特性。我们必须建模二极管的开启电压、结电容和RC时间常数对包络跟踪能力的影响。否则,仿真结果将与实测严重偏离——比如明明调制度0.8,仿真却显示无失真,而实测已削波。

3.1 二极管非线性模型:用分段线性近似替代理想开关

真实硅二极管正向压降约0.7V,反向截止并非无穷大电阻。我们采用三段式模型:

function y = diode_nonlinear(x, Vf, Ron, Roff) % x: 输入电压序列 % Vf: 正向导通压降(0.7V) % Ron: 导通电阻(10Ω,典型小信号二极管) % Roff: 截止电阻(1MΩ,远大于负载) y = zeros(size(x)); for i = 1:length(x) if x(i) > Vf y(i) = (x(i) - Vf) / Ron; % 导通区:线性近似 elseif x(i) < -0.1 y(i) = x(i) / Roff; % 反向区:微小漏电流 else y(i) = 0; % 死区:-0.1V ~ 0.7V间不导通 end end end % 在主流程中调用 diode_current = diode_nonlinear(sig.am_noisy, 0.7, 10, 1e6); % 后续用此电流对电容充电,生成包络

参数依据:Vf=0.7V是硅管典型值;Ron=10Ω来自1N4148数据手册;Roff=1MΩ保证反向电流可忽略。若用锗管(Vf≈0.3V),此处需调整——这正是仿真价值:快速试错不同器件。

3.2 RC低通滤波器建模:时间常数τ必须满足包络跟踪约束

RC电路的时间常数τ = R*C决定包络平滑程度。理论要求:1/(2πfc) << τ << 1/(2πf_base),即远小于载波周期(保证不衰减载波)、远大于基带周期(保证能跟随包络变化)。对fc=1kHz,f_base=100Hz,τ应在16μs ~ 1.6ms之间。我们取τ=0.5ms:

tau = 0.0005; % 0.5 ms R = 1e3; % 1 kΩ(常用阻值) C = tau / R; % 计算得 C = 0.5 μF % 离散化RC滤波器(双线性变换法,避免脉冲响应失真) [b, a] = bilinear([1], [tau, 1], fs); % 将模拟s域传递函数转z域 envelope_raw = filter(b, a, diode_current); % 但注意:二极管输出是电流,需转换为电压——假设负载电阻R_load=1kΩ sig.envelope_out = envelope_raw * R; % 单位:伏特

为什么不用lowpass()?
lowpass()默认设计Butterworth滤波器,其群延迟非线性,会扭曲包络相位。而RC滤波器是一阶全通,群延迟恒定,更符合硬件实际。此处用双线性变换精确映射模拟RC特性,是保证仿真可信度的关键细节。

3.3 包络检波输出后处理:直流偏置移除与归一化

包络检波输出含强直流分量(载波功率主导),需移除才能还原基带信号:

% 方法1:高通滤波(推荐)——保留基带动态范围 hp_order = 4; [bp, ap] = butter(hp_order, 2*100/fs, 'high'); % 截止频率100Hz,略高于基带最高频 envelope_ac = filter(bp, ap, sig.envelope_out); % 方法2:减去移动平均(计算快,适合实时) window_len = round(0.01 * fs); % 10ms窗口,覆盖10个基带周期 envelope_dc = movmean(sig.envelope_out, window_len); envelope_ac = sig.envelope_out - envelope_dc; % 归一化至[-1,1]便于对比 sig.envelope_out_processed = envelope_ac / max(abs(envelope_ac));

血泪经验:初学者常直接detrend(),但detrend拟合直线会误削基带趋势(如语音语调变化)。用高通或移动平均,才真正模拟硬件隔直电容行为。


4. 实现相干解调:乘法器+低通+载波同步的闭环建模与相位误差注入

相干解调的核心是本地载波与接收信号载波同频同相。但现实中锁相环(PLL)存在稳态相位误差,且捕获时间影响启动性能。仿真必须量化这些因素,否则“完美解调”结果毫无工程参考价值。

4.1 乘法器与理想低通滤波:建立无误差基准

先搭建理想情况,作为性能上限参照:

% 本地载波:严格同频同相(φ=0) local_carrier_ideal = cos(2*pi*fc*t); % 乘法器输出:产生和频与差频 product_ideal = sig.am_noisy .* local_carrier_ideal; % 理想低通滤波器(FIR,窗函数法,截止频率150Hz) lp_cutoff = 150; N_fir = 101; % 滤波器阶数,奇数保证线性相位 h_lp = fir1(N_fir-1, 2*lp_cutoff/fs, 'low'); % 滤波并提取基带 coherent_ideal = filter(h_lp, 1, product_ideal); % 归一化 sig.coherent_out_ideal = coherent_ideal / max(abs(coherent_ideal));

参数深挖:lp_cutoff=150Hz略高于基带100Hz,既保留信号又抑制2fc=2kHz的和频分量;N_fir=101提供约60dB阻带衰减,确保和频被充分抑制。若用IIR滤波器,相位非线性会引入基带失真,故强制用FIR。

4.2 注入相位误差:模拟锁相环稳态抖动

真实PLL存在±5°~±15°相位抖动。我们用正弦扰动建模:

% 相位抖动:幅值phi_jitter(弧度),频率f_jitter(Hz) phi_jitter = deg2rad(10); % 10度抖动 f_jitter = 5; % 抖动频率5Hz(典型PLL环路带宽) % 本地载波含抖动 phi_t = phi_jitter * sin(2*pi*f_jitter*t); local_carrier_jitter = cos(2*pi*fc*t + phi_t); % 乘法输出含相位误差项 product_jitter = sig.am_noisy .* local_carrier_jitter; % 用相同LPF滤波 coherent_jitter = filter(h_lp, 1, product_jitter); sig.coherent_out_jitter = coherent_jitter / max(abs(coherent_jitter));

为什么抖动用正弦而非随机?
工程中PLL抖动主要由电源噪声、参考时钟相位噪声引起,呈窄带特性。正弦扰动可清晰观察到解调输出出现同频调制伪影(如5Hz起伏),这是诊断PLL性能的直观依据。

4.3 载波同步环路建模:用Costas环仿真实际捕获过程

Costas环是AM/DSB-SC常用同步方案。我们简化其实现,聚焦相位误差检测与环路滤波:

function [baseband_out, phase_error] = costas_loop(am_signal, fc, fs, loop_bw) % loop_bw: 环路带宽(Hz),典型值10~50Hz % 内部实现:I/Q支路、鉴相器、环路滤波器、NCO dt = 1/fs; t_vec = (0:length(am_signal)-1)*dt; % I/Q支路:用sin/cos生成正交载波 i_branch = am_signal .* cos(2*pi*fc*t_vec); q_branch = am_signal .* sin(2*pi*fc*t_vec); % 低通滤波(同前FIR) h_lp = fir1(101, 2*150/fs, 'low'); i_lp = filter(h_lp, 1, i_branch); q_lp = filter(h_lp, 1, q_branch); % 鉴相器:atan2(q,i) 输出相位误差 phase_error = atan2(q_lp, i_lp); % 环路滤波器:一阶RC,时间常数τ=1/(2π*loop_bw) tau = 1/(2*pi*loop_bw); [b_lf, a_lf] = bilinear([1], [tau, 1], fs); phase_filt = filter(b_lf, a_lf, phase_error); % NCO:用相位累加器生成本地载波 nco_phase = cumsum(phase_filt) * dt * 2*pi*fc; % 积分得相位 local_carrier_nco = cos(nco_phase); % 最终解调:乘以本地载波并滤波 product_nco = am_signal .* local_carrier_nco; baseband_out = filter(h_lp, 1, product_nco); end % 调用 [sig.coherent_out_costas, sig.phase_error_costas] = ... costas_loop(sig.am_noisy, fc, fs, 20); % 环路带宽20Hz

关键洞察:loop_bw=20Hz意味着环路响应时间约0.1秒(3τ)。若信号在0.05秒处突变,Costas环来不及跟踪——这解释了为何突发通信中相干解调启动慢。仿真中可调loop_bw,直观看到捕获时间与稳态误差的权衡。


5. 包络检波 vs 相干解调:四大维度对比与避坑指南

把两路解调结果拉到同一坐标系对比,才能看清本质差异。我们从波形保真度、噪声抑制能力、失真类型、启动特性四个硬指标展开,并附上实测中踩过的5个坑。

5.1 波形对比:用重叠图与误差序列量化差异

% 绘制三线对比:原始基带、包络检波、相干解调(理想) figure; plot(t, sig.s_base, 'k', 'LineWidth', 1.5); hold on; plot(t, sig.envelope_out_processed, 'b--', 'LineWidth', 1); plot(t, sig.coherent_out_ideal, 'r-.', 'LineWidth', 1); legend('原始基带', '包络检波', '相干解调(理想)'); title('时域波形对比(SNR=20dB)'); % 计算均方误差(MSE) mse_env = mean((sig.s_base - sig.envelope_out_processed).^2); mse_coherent = mean((sig.s_base - sig.coherent_out_ideal).^2); fprintf('包络检波MSE: %.4f | 相干解调MSE: %.4f\n', mse_env, mse_coherent);

典型结果:mse_env ≈ 0.025,mse_coherent ≈ 0.003—— 相干解调误差低一个数量级。但注意:这是理想情况。当加入相位抖动后,mse_coherent_jitter可能升至0.015,逼近包络检波,凸显同步的重要性。

5.2 噪声抑制能力:绘制SNRout vs SNRin曲线

snr_in_db = 0:2:30; mse_env_vec = zeros(size(snr_in_db)); mse_coh_vec = zeros(size(snr_in_db)); for k = 1:length(snr_in_db) % 生成该SNR下的噪声 noise_var_k = P_total_am / (10^(snr_in_db(k)/10)); noise_k = sqrt(noise_var_k) * randn(size(t)); am_k = am_signal + noise_k; % 分别解调 % ...(调用前述包络与相干函数) mse_env_vec(k) = mean((sig.s_base - env_out_k).^2); mse_coh_vec(k) = mean((sig.s_base - coh_out_k).^2); end % 绘制SNR增益曲线 snr_out_env_db = 10*log10(P_total_am ./ mse_env_vec) - snr_in_db; snr_out_coh_db = 10*log10(P_total_am ./ mse_coh_vec) - snr_in_db; figure; plot(snr_in_db, snr_out_env_db, 'b-o'); hold on; plot(snr_in_db, snr_out_coh_db, 'r-s'); xlabel('输入SNR (dB)'); ylabel('SNR增益 (dB)'); legend('包络检波', '相干解调'); title('解调器SNR增益特性');

结论:包络检波SNR增益≈0dB(噪声直接通过),相干解调可达15~20dB(取决于滤波器性能)。这是AM系统选择解调方式的根本依据——高信噪比用包络(简单),低信噪比必须用相干。

5.3 失真类型对比:频谱分析揭示本质

% 对解调输出做FFT,观察谐波与噪声分布 N_fft = 2^14; f_axis = (0:N_fft-1)*fs/N_fft; env_spec = abs(fft(sig.envelope_out_processed, N_fft)); coh_spec = abs(fft(sig.coherent_out_ideal, N_fft)); figure; subplot(2,1,1); plot(f_axis(1:end/2), env_spec(1:end/2)); title('包络检波输出频谱:含明显2f_base谐波'); subplot(2,1,2); plot(f_axis(1:end/2), coh_spec(1:end/2)); title('相干解调输出频谱:基带纯净,噪声均匀');

现象解读:包络检波因二极管非线性,产生200Hz(2×f_base)谐波;相干解调频谱仅在100Hz有尖峰,其余为平坦噪声底——证明其线性度优势。

5.4 启动特性:观测瞬态响应时间

% 构造带启停的AM信号:前0.02秒无信号,后0.08秒有信号 am_transient = [zeros(1,round(0.02*fs)), am_signal(round(0.02*fs)+1:end)]; % 加噪后送入Costas环 [base_trans, phase_trans] = costas_loop(am_transient+noise, fc, fs, 20); % 绘制相位误差收敛过程 figure; plot((0:length(phase_trans)-1)/fs, phase_trans); xlabel('时间 (s)'); ylabel('相位误差 (rad)'); title('Costas环相位捕获过程:约0.08秒进入稳态');

工程启示:0.08秒捕获时间意味着无法用于<100ms的短突发信号。此时包络检波虽失真大,但“秒级”响应,反而是更鲁棒的选择。

6. 避坑:包络检波与相干解调仿真中5个高频翻车点及解决方案

仿真不是跑通就行,而是要跑得可解释、可复现、可对标。以下5个坑,是我带过3届学生、参与过4个射频项目后总结的“后悔药清单”。每一条都对应真实翻车现场,按“现象→原因→解决”给出可立即执行的动作。

6.1 现象:包络检波输出波形顶部被削平,像被刀切过

原因:调制度m设置过大(如m=1.2),导致1+m*s(t)在部分时刻为负,二极管无法导通,包络丢失。
解决:

  • 仿真前强制校验:assert(all(1 + m * s_base >= 0), '调制度超限!请降低m或增加直流偏置')
  • 或改用max(0, 1 + m * s_base)替代1 + m * s_base,显式模拟过调制削波。

6.2 现象:相干解调输出始终为0,或只有噪声

原因:本地载波频率fc_local与信号载波fc存在微小偏差(如fc_local = 1000.1),导致差频分量落在低通滤波器通带外。
解决:

  • 所有载波频率统一用fc = 1000定义,本地载波严格写为cos(2*pi*fc*t),禁用1000.0这类浮点字面量;
  • 添加频谱检查:pwelch(product_signal),确认差频峰(100Hz)是否在通带内。

6.3 现象:加噪后包络检波输出底噪巨大,但相干解调很干净

原因:噪声注入对象错误——对am_signal加噪后,包络检波会放大噪声包络,而相干解调的乘法器使噪声频谱搬移,低通后残留少。但若你对am_signal加噪,却对s_base计算MSE,就忽略了AM信号本身含载波功率的事实。
解决:

  • MSE计算必须基于解调后信号与原始基带,而非与am_signal比较;
  • 噪声功率计算必须用P_total_am(含载波),而非var(am_signal)。

6.4 现象:Costas环相位误差震荡不止,无法收敛

原因:环路带宽loop_bw设置过高(如100Hz),导致环路增益过大,产生自激振荡。
解决:

  • 初始调试用loop_bw = 5Hz,观察相位误差是否单调收敛;
  • 逐步提高至20Hz,若出现震荡,立即回退,并检查NCO相位累加步长是否溢出(加mod(phase, 2*pi)保护)。

6.5 现象:仿真结果与示波器实测波形形状一致,但幅度相差10倍

原因:单位制混乱——MATLAB中信号默认无量纲,但实测中示波器显示的是电压(V),而你的A_c = 1对应1V还是1mV?未做量纲映射。
解决:

  • 在信号容器sig中明确定义sig.volt_per_unit = 0.1;(表示1仿真单位=0.1V);
  • 所有绘图加标签:ylabel('电压 (V)'); yticks(0:0.1:0.5); yticklabels(arrayfun(@(x)sprintf('%.1f',x*sig.volt_per_unit), 0:0.1:0.5))。

最后叮嘱:我习惯在每次仿真脚本开头加一行rng(2023);——固定随机种子。这样你和同事、老师跑同一份代码,得到完全一致的噪声序列,讨论失真时不会陷入“我这边没这问题”的扯皮。技术落地的第一步,是让结果可复现。希望帮到你。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/21 16:49:41

lingbot-map:轻量级机器人地图数据管理与查询实战指南

1. 从“lingbot-map”这个名字说起&#xff1a;它到底想解决什么问题 第一次看到“lingbot-map”这个项目名&#xff0c;我的直觉是&#xff1a;这大概率是一个把“机器人&#xff08;bot&#xff09;”和“地图&#xff08;map&#xff09;”绑在一起的工具&#xff0c;而且“…

作者头像 李华
网站建设 2026/10/21 16:49:04

51单片机智能加湿器毕设实战:从原理图到闭环控制

简介&#xff1a;本资源是一份面向计算机应用技术&#xff08;嵌入式方向&#xff09;专业高年级学生与单片机初学者的毕业设计论文文档&#xff0c;聚焦解决传统加湿器依赖人工操作、缺乏环境感知与安全保护的问题。论文以AT89C51单片机为核心&#xff0c;完整实现温湿度自动监…

作者头像 李华
网站建设 2026/10/21 16:47:45

把学习当项目来记录:从零散笔记到可复用的知识体系

记录一下学习说起来也挺有意思的&#xff0c;以前我总觉得自己学得挺努力——书架上堆着翻了一半的技术书&#xff0c;浏览器里躺着几十个收藏夹&#xff0c;网盘里存了几个T的视频课程。可每次到了要动手做个什么东西的时候&#xff0c;脑子里就只剩下一片空白&#xff0c;要么…

作者头像 李华
网站建设 2026/10/21 16:47:41

从模糊代号到可运行系统:响应式实时资源处理架构实战

1. 从“rea”这个标题说起&#xff1a;一个被低估的通用缩写第一次看到“rea”这个标题&#xff0c;很多人会愣一下——三个字母&#xff0c;既不像完整单词&#xff0c;也不像常见的技术栈缩写。但如果你在工程、设计、数据分析或者自动化领域待过一段时间&#xff0c;就会发现…

作者头像 李华
网站建设 2026/10/21 16:47:39

ADS微带混频器工程实录:3.6GHz射频+3.8GHz本振全链路设计

简介&#xff1a;本资源是一份面向射频微波工程师、通信专业高年级本科生及ADS仿真初学者的实操型技术文档&#xff0c;系统讲解如何使用Advanced Design System&#xff08;ADS&#xff09;完成2π型平衡混频器的全流程设计与仿真验证。文档聚焦无线通信前端关键器件——混频器…

作者头像 李华
网站建设 2026/10/21 16:47:14

电机双闭环中速度环与电流环PI输出差异解析及测功机台架选型要点

“速度环PI输出只有零点几安培&#xff0c;电流环PI输出却接近几十伏&#xff0c;是不是程序写错了&#xff1f;”上个月有位做电机驱动的开发者拿着波形截图来问我这个问题。我看了下波形&#xff0c;又确认了台架状态&#xff0c;跟他说&#xff1a;程序没写错&#xff0c;是…

作者头像 李华