简介:本资源为2020年TI杯大学生电子设计竞赛E题「放大器非线性失真研究装置」的完整赛题解析与设计参考文档,面向电子类专业本科生、竞赛备赛团队及模拟电路实践学习者,聚焦晶体管放大器非线性失真机理分析、可控失真波形生成与THD自动测量等核心能力训练。压缩包含1个PDF文件(447KB),系统梳理了任务要求、四种典型失真(顶部、底部、双向、交越)的产生原理与电路实现方法,详述了基于纯模拟器件(晶体管、阻容、模拟开关)构建单输入单输出受控放大器的设计思路、参数计算依据、测试方案及THD近似算法(取前五次谐波),并附有框图、波形示意图与评分细则解读。目前已有13395人学习下载,内容紧扣竞赛规范,禁用数字合成失真,强调硬件层面失真复现与理论归因,是理解放大器非线性特性、提升模电综合设计与测试能力的高价值参考资料。
1. 这不是波形发生器,是晶体管失真行为的“黑匣子解剖台”:2020年TI杯E题装置能让你亲手把顶部失真、底部失真、双向失真、交越失真全调出来,还能自动算出THD——所有失真必须真实来自单级晶体管放大电路,禁用查表、禁用DAC伪造,纯模拟电路硬刚非线性本质
你见过哪个教学装置,能让一个NPN三极管在你眼皮底下“主动犯错”?不是仿真软件里点几下就出个失真波形,而是你亲手调偏置电阻、改发射极旁路电容、动静态工作点,看着示波器上那条正弦波一点点被“掰弯”:先是顶部塌陷(饱和失真),再是底部削平(截止失真),接着上下一起塌(双向失真),最后在过零点附近突然“卡顿”(交越失真)——每一种,都对应晶体管伏安特性曲线上一段真实的非线性区域。这就是2020年TI杯E题的核心:它不考你会不会画PCB,而考你敢不敢让晶体管“失控”,再把它拉回可控边界。它要的不是“看起来像失真”,而是“物理上必然失真”——所有波形必须从单级共射/共集放大电路中自然涌现,禁用任何数字预存波形、禁用D/A转换伪造、禁用运放搭建理想模型。THD测量也绝非调个FFT库就完事:要求自动完成基波与2~5次谐波幅值提取、平方求和、比值计算、百分比显示,全程无按键、无暂停、无人工读数。这题筛掉的不是动手能力差的人,而是对晶体管内禀非线性缺乏敬畏的人。适合正在啃《模拟电子技术基础》第五章、反复调试Q点却总得不到预期失真的本科生;也适合带学生做模电课程设计、苦于找不到可量化、可观测、可复现的非线性教学载体的指导教师。它是一套闭环验证系统:理论推导→电路实现→现象观测→参数反演→指标闭环。你调的不是电位器,是半导体物理的具象化开关。
2. 为什么必须用分立晶体管而非运放?四种失真背后的物理机制与电路拓扑选型逻辑
2.1 四种失真不是“故障”,而是晶体管工作区切换的必然指纹
顶部失真(饱和失真)的本质,是输入信号正半周过大,导致晶体管进入饱和区:此时集电结与发射结均正偏,$V_{CE}$ 跌至 $0.1\sim0.3,\text{V}$,$i_C$ 不再随 $i_B$ 线性增长,输出电压 $u_o = V_{CC} - i_C R_C$ 被钳在接近 $V_{CE(sat)}$ 的低电平,波形顶部被“削平”。底部失真(截止失真)则相反:输入负半周过深,使 $v_{BE} < 0.5,\text{V}$,晶体管进入截止区,$i_C \approx 0$,$u_o$ 被抬升至 $V_{CC}$,波形底部被“削平”。双向失真是前两者的叠加——静态工作点 $Q$ 设置过低(易截止)且输入幅度过大(易饱和),导致正负半周分别触碰两个非线性边界。交越失真则专属于推挽结构:当输入信号在 $-0.7,\text{V} \sim +0.7,\text{V}$ 区间时,上下管均未导通,输出为零,形成过零点附近的“死区”。E题明确要求“只允许一个输入端口和一个输出端口”,排除了标准OTL/OCL推挽结构,因此交越失真必须通过特殊手段在单管电路中诱发——常见做法是引入微小反向偏置或利用二极管温度特性制造临界导通窗口。
2.2 共射 vs 共集:为什么最终方案几乎全部采用共射放大器?
共射结构(CE)具备电压增益 $A_v \approx -\beta R_C / r_{be}$,且输出相位反转,便于通过调整 $R_C$、$R_E$、$V_{CC}$ 直观控制饱和/截止阈值;其输出阻抗高,对后续THD采样电路影响小。共集结构(CC)虽有高输入阻抗、低输出阻抗优势,但电压增益恒小于1,难以满足“$u_o$ 峰峰值不低于2V”的硬性要求(输入仅20mVpp)。实测表明:在相同电源电压下,共射电路可通过调节 $R_C$ 将增益轻松做到100倍以上,而共集电路即使采用达林顿复合管,增益也难超10倍。更重要的是,共射电路的非线性失真形态更“纯粹”——饱和失真直接反映在 $V_{CE}$ 钳位,截止失真直接体现为 $i_C$ 截断,二者在示波器上边界清晰、易于归因。某校获奖方案对比测试显示:共射结构在 $V_{CC}=12,\text{V}$、$R_C=4.7,\text{k}\Omega$ 下,仅需将 $R_E$ 从 $1,\text{k}\Omega$ 降至 $200,\Omega$,即可在1kHz输入下稳定复现顶部失真,而共集结构需额外增加负电源或复杂偏置网络才能达到同等效果,违背“限用晶体管、阻容元件、模拟开关”的元器件约束。
2.3 模拟开关1K/2K的真实作用:不是简单通断,而是构建可重构偏置网络
图1中1K和2K并非用于切换信号路径,而是动态重构晶体管直流偏置条件。典型实现如下:
- 1K投“1”:接入标准固定偏置电阻网络(如 $R_1$-$R_2$ 分压式偏置),设置初始Q点,输出无明显失真;
- 1K投“2”:接入可调偏置支路(如电位器+二极管串联),人为降低 $V_{BB}$ 或增大 $R_E$,诱发截止失真;
- 2K投“1”:保持发射极电阻 $R_E$ 接地,维持常规负反馈;
- 2K投“2”:将 $R_E$ 改为接至负电源或通过开关短路,削弱发射结负反馈,降低 $V_{BE}$ 阈值,促使晶体管更早进入饱和区,诱发顶部失真。
这种设计巧妙规避了“更换元件”的操作,符合竞赛“现场不可拆焊”的隐含规则。某团队实测发现:当2K投“2”使 $R_E$ 短路后,$I_C$ 增加约40%,$V_{CE}$ 从3.2V骤降至0.8V,示波器上正弦波顶部立即出现宽度约120μs的平坦段,与理论预测的饱和区导通时间完全吻合。
2.4 交越失真的单管实现:利用二极管温度漂移制造“伪推挽死区”
在单管共射结构中强制产生交越失真,是本题最具巧思的设计点。主流方案采用“二极管补偿+温控偏置”:在基极分压网络中串入一只硅二极管(如1N4148),其正向压降 $V_F \approx 0.65,\text{V}$ 在常温下略低于晶体管 $V_{BE(on)}$(约0.7V),使Q点轻微上移;但当环境温度升高(如连续工作5分钟),二极管 $V_F$ 以 $-2,\text{mV}/^\circ\text{C}$ 速率下降,而晶体管 $V_{BE}$ 以 $-1.8,\text{mV}/^\circ\text{C}$ 速率下降,二者差值 $\Delta V = V_{BE} - V_F$ 缓慢扩大,导致基极有效偏置电压相对降低。此时,输入信号在过零点附近的小幅度变化无法克服 $V_{BE}$ 阈值,晶体管在 $v_i \in [-0.15,\text{V}, +0.15,\text{V}]$ 区间内保持截止,输出出现宽度约300μs的零电平平台——这正是交越失真的核心特征。该方案无需额外晶体管,仅用1只二极管+1只热敏电阻(用于加速温漂)即达成,完全符合元器件限制。
3. THD自动测量模块:从ADC采样到五次谐波提取的全流程代码实现与精度陷阱
3.1 采样率与抗混叠滤波的硬性匹配:为何必须≥20kHz?
THD计算需提取基波(1kHz)及2~5次谐波(2kHz, 3kHz, 4kHz, 5kHz),最高频率分量为5kHz。根据奈奎斯特采样定理,采样率 $f_s$ 必须严格大于 $2 \times 5,\text{kHz} = 10,\text{kHz}$。但实际工程中需预留安全裕量:若 $f_s = 12,\text{kHz}$,5kHz谐波距折叠频率(6kHz)仅1kHz,抗混叠滤波器需在1kHz过渡带内实现>60dB衰减,对无源RC滤波器而言几乎不可能。实测表明:当 $f_s = 15,\text{kHz}$ 时,使用2阶巴特沃斯有源低通滤波器($f_c = 5.5,\text{kHz}$)可将6kHz以上噪声抑制至-52dB,但1kHz~5kHz频带内幅频响应波动达±1.2dB,导致THD计算误差>8%。最终方案统一采用 $f_s = 20,\text{kHz}$(即每周期采样20点),配合3阶椭圆滤波器($f_c = 5.2,\text{kHz}$,过渡带宽300Hz,带内纹波<0.1dB),实测5kHz谐波幅值误差稳定在±0.3%以内。MCU选用STM32F103C8T6,其内置12位ADC在14MHz APB2时钟下支持最高1MHz采样率,完全满足需求。
3.2 FFT点数选择:1024点为何是精度与速度的黄金分割点?
对1kHz基波信号,若采样率 $f_s = 20,\text{kHz}$,则单周期含20个采样点。为精确分辨1kHz及其整数倍谐波,需保证频率分辨率 $\Delta f = f_s / N$ ≤ 100Hz(否则2kHz与1.9kHz无法区分)。取 $N = 1024$,则 $\Delta f = 20,\text{kHz} / 1024 \approx 19.5,\text{Hz}$,可清晰分离1k/2k/3k/4k/5k各谱线。若用 $N = 512$,$\Delta f \approx 39,\text{Hz}$,虽勉强够用,但5kHz谱线位于第256点($256 \times 19.5 \approx 5000$),其邻近泄漏能量会污染4.9kHz分量;而 $N = 2048$ 虽提升分辨率至9.8Hz,但FFT运算时间增加3倍($O(N\log_2 N)$),导致THD更新延迟>800ms,违反“自动测量期间不得有人工干预”的实时性要求。实测数据:1024点FFT在72MHz主频下耗时42ms,配合10次测量平均,THD显示刷新率为22Hz,肉眼观察无闪烁感。
3.3 谐波幅值提取算法:为何不能直接取FFT模值最大值?
直接取FFT结果中第$k$点模值作为$k$次谐波幅值存在三大陷阱:
- 栅栏效应:实际谐波频率未必恰好落在FFT频点上(如1kHz信号因晶振误差实为1001.3Hz),导致能量分散至相邻频点;
- 频谱泄漏:非整周期截断使信号频谱展宽,基波能量泄漏至邻近谱线;
- 噪声干扰:ADC量化噪声及电路热噪声在高频段显著,5kHz处信噪比常低于25dB。
正确做法是:对目标谐波频带(如1kHz对应第50~52点,因 $50 \times 19.5 = 975,\text{Hz}$)进行三点插值。设第$m-1$、$m$、$m+1$点FFT模值为 $X_{m-1}$、$X_m$、$X_{m+1}$,则真实幅值 $A_k$ 由抛物线插值公式给出:
$$ A_k = X_m + \frac{1}{2} \left( X_{m-1} - X_{m+1} \right) \cdot \frac{X_{m-1} - 2X_m + X_{m+1}}{(X_{m-1} - X_{m+1})^2} $$
该算法将幅值估计误差从±5%降至±0.8%。某团队对比测试显示:未插值时THD计算值为12.7%,插值后为8.3%,与Keysight DSOX2004A实测值8.1%高度吻合。
3.4 THD计算代码实现(基于STM32 HAL库)
// 定义全局变量 #define SAMPLE_NUM 1024 #define FS 20000 float adc_buffer[SAMPLE_NUM]; // ADC采样数据缓存 float fft_in[2*SAMPLE_NUM]; // FFT输入数组(实部+虚部交替) float fft_out[2*SAMPLE_NUM]; // FFT输出数组 float harmonic_amp[6] = {0}; // 存储基波(1x)至五次谐波(5x)幅值 // 主THD计算函数 float calculate_THD(void) { uint16_t i; float sum_harmonic_sq = 0.0f; float fundamental_sq = 0.0f; // 1. ADC采样(触发DMA传输) HAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_buffer, SAMPLE_NUM, HAL_ADC_FORMAT_12_BITS, HAL_ADC_UNIT_1); HAL_Delay(1); // 等待DMA完成 // 2. 数据预处理:去直流分量(减去均值) float mean = 0.0f; for(i=0; i<SAMPLE_NUM; i++) mean += adc_buffer[i]; mean /= SAMPLE_NUM; for(i=0; i<SAMPLE_NUM; i++) adc_buffer[i] -= mean; // 3. 加窗:汉宁窗抑制频谱泄漏 for(i=0; i<SAMPLE_NUM; i++) { float window = 0.5f * (1.0f - cosf(2.0f * PI * i / (SAMPLE_NUM-1))); fft_in[2*i] = adc_buffer[i] * window; // 实部 fft_in[2*i+1] = 0.0f; // 虚部 } // 4. 执行FFT(使用ARM CMSIS-DSP库) arm_cfft_f32(&S, fft_in, 0, 1); // S为预初始化的CFFT实例 // 5. 提取1~5次谐波幅值(经插值优化) for(uint8_t k=1; k<=5; k++) { uint16_t target_bin = (uint16_t)(k * 1000.0f / (FS/SAMPLE_NUM)); // 理论频点 // 三点插值计算harmonic_amp[k] harmonic_amp[k] = interpolate_peak(fft_in, target_bin, SAMPLE_NUM); } // 6. 计算THD = sqrt(U2²+U3²+U4²+U5²) / U1 × 100% fundamental_sq = harmonic_amp[1] * harmonic_amp[1]; for(uint8_t k=2; k<=5; k++) { sum_harmonic_sq += harmonic_amp[k] * harmonic_amp[k]; } if(fundamental_sq > 1e-6f) { // 避免除零 return sqrtf(sum_harmonic_sq / fundamental_sq) * 100.0f; } else { return 0.0f; } } // 插值函数(简化版,实际使用抛物线插值) float interpolate_peak(float* fft_data, uint16_t center_bin, uint16_t n) { uint16_t idx = 2 * center_bin; // FFT输出为复数数组,实部在偶数位 float mag_center = sqrtf(fft_data[idx]*fft_data[idx] + fft_data[idx+1]*fft_data[idx+1]); float mag_left = sqrtf(fft_data[idx-2]*fft_data[idx-2] + fft_data[idx-1]*fft_data[idx-1]); float mag_right = sqrtf(fft_data[idx+2]*fft_data[idx+2] + fft_data[idx+3]*fft_data[idx+3]); // 抛物线插值系数(详见3.3节公式) float a = mag_left - 2*mag_center + mag_right; float b = mag_right - mag_left; if(fabsf(a) < 1e-6f) return mag_center; float delta = -b / (2*a); // 峰值偏移量 return mag_center + 0.5f * b * delta + 0.5f * a * delta * delta; }提示:代码中
arm_cfft_f32需链接 ARM CMSIS-DSP 库,并确保S结构体已通过arm_cfft_init_f32()初始化。interpolate_peak函数为简化示意,实际部署需严格实现抛物线插值公式以保障精度。
4. 避坑:五个血泪教训——从示波器波形“看起来对”到THD数值“测得准”的致命断层
4.1 现象:示波器显示“顶部失真”波形完美,但THD测量值仅1.2%,远低于预期(应>15%)
原因:失真类型误判。所谓“顶部失真”在示波器上表现为正半周削顶,但若削顶是由电源内阻过大导致 $V_{CC}$ 动态跌落引起(即负载效应),则输出频谱中除2次谐波外,还会出现大量与电源纹波相关的低频杂散(如100Hz、200Hz),这些成分不计入THD定义中的“谐波分量”(仅含基波整数倍),导致计算值虚低。
解决:在晶体管集电极与 $V_{CC}$ 之间串入10Ω电流检测电阻,用示波器双通道同时观测 $u_o$ 和 $i_C$ 波形。真正的饱和失真必伴随 $i_C$ 在顶部趋于恒定(不再随 $v_{BE}$ 变化),而电源跌落则 $i_C$ 仍呈正弦变化。确认后,改用低内阻稳压电源(如LM317配1000μF电解电容),并缩短电源走线。
4.2 现象:切换2K至“2”端子后,预期的“底部失真”未出现,反而输出全截止($u_o \approx V_{CC}$)
原因:发射极电阻 $R_E$ 短路后,基极分压电流全部流入基极,导致 $I_B$ 过大,$I_C$ 飙升,$V_{CE}$ 降至0.1V以下,晶体管深度饱和,$u_o$ 被钳在 $V_{CE(sat)}$ 附近,呈现“全低电平”而非“底部削平”。
解决:2K投“2”时,不应完全短路 $R_E$,而应将其替换为一个较小阻值(如100Ω)的电阻,或在基极分压网络中串联一个限流电阻(如1kΩ)。某团队实测:当 $R_E$ 从1kΩ改为100Ω后,$I_C$ 从2mA升至18mA,$V_{CE}$ 从3.2V降至0.45V,此时输入20mVpp正弦波,$u_o$ 正半周被削至0.45V,负半周因 $V_{CE}$ 无法低于 $V_{CE(sat)}$ 而保持完整,形成标准顶部失真;若要获得底部失真,需将 $R_E$ 增大至5kΩ,使 $I_C$ 降至0.3mA,$V_{CE}$ 升至11.2V,则负半周 $v_i$ 过低时 $i_C$ 截止,$u_o$ 跃升至 $V_{CC}$。
4.3 现象:THD测量值在8%~15%间剧烈跳变,同一波形重复测量10次,标准差达3.2%
原因:ADC参考电压 $V_{REF}$ 不稳定。STM32内置12位ADC的 $V_{REF}$ 默认为 $V_{DD}$(通常3.3V),而 $V_{DD}$ 受负载电流影响波动可达±50mV。当 $V_{DD}$ 从3.3V降至3.25V,ADC量化单位(LSB)从0.8mV变为0.79mV,导致5kHz谐波幅值测量值浮动±1.2%,经平方运算后THD误差放大至±2.4%。
解决:外接高精度基准电压源(如TL431,2.5V±0.5%),将其输出接入STM32的 $V_{REF+}$ 引脚,并在PCB上为 $V_{REF}$ 添加10μF陶瓷电容+100nF高频电容去耦。实测 $V_{REF}$ 纹波从15mV降至0.8mV,THD测量标准差压缩至0.3%。
4.4 现象:交越失真波形在示波器上可见“过零死区”,但THD计算值仅0.5%,远低于理论值(应>5%)
原因:死区宽度不足。交越失真产生的谐波能量集中在2次、3次,其幅值与死区宽度 $\Delta t$ 成正比。当 $\Delta t < 50\mu s$(对应1kHz信号的1.8°电角度),2次谐波幅值低于基波-40dB,FFT难以分辨。示波器因带宽限制(如100MHz)可显示微秒级平台,但ADC采样率20kHz仅能分辨50μs时间尺度($1/20000=50\mu s$),导致死区被“平均化”。
解决:增大死区宽度。将基极偏置二极管改为两只串联($V_F \approx 1.3V$),或在发射极串联一个正温度系数热敏电阻(PTC),使其在常温下阻值较低,工作5分钟后阻值升至200Ω,人为延长截止时间。某方案实测:死区宽度从35μs增至180μs后,THD从0.7%跃升至6.8%,与理论计算($\text{THD} \propto (\Delta t/T)^2$)误差<5%。
4.5 现象:所有失真波形均达标,但THD显示“-- --”或乱码
原因:FFT输入数据未归一化,导致浮点溢出。当 $u_o$ 峰峰值达2.5V,12位ADC满量程为3.3V,对应数字值4095,但汉宁窗最大值为1.0,乘积后fft_in[2*i]可达4095。CMSIS-DSP的arm_cfft_f32要求输入数据范围为[-1.0, +1.0],超出后FFT输出全为NaN。
解决:在加窗后、FFT前,对fft_in数组执行归一化:
float max_val = 0.0f; for(i=0; i<SAMPLE_NUM; i++) { if(fabsf(fft_in[2*i]) > max_val) max_val = fabsf(fft_in[2*i]); } if(max_val > 0.99f) { // 预留1%余量 for(i=0; i<SAMPLE_NUM; i++) fft_in[2*i] /= (max_val / 0.99f); }此步骤将输入缩放至安全范围,避免浮点异常。
5. 从原理图到实物:关键元件选型清单、PCB布局禁忌与THD标定实操技巧
5.1 核心元件选型参数表(经20+支参赛队实测验证)
| 元件类别 | 推荐型号 | 关键参数 | 选型理由 | 替代方案风险 |
|---|---|---|---|---|
| 晶体管 | 2N3904 | $f_T=300,\text{MHz}$, $V_{CEO}=40,\text{V}$, $\beta=100\sim300$ | 高频特性好,$\beta$ 分布集中,1kHz下失真形态稳定;$V_{CEO}$ 高于 $V_{CC}=12,\text{V}$ 有充分裕量 | 9013:$\beta$ 分散(60~300),同批次失真阈值差异达±35%;8050:$f_T$ 仅100MHz,5kHz谐波衰减严重 |
| 模拟开关 | CD4066 | 导通电阻 $R_{ON}<100,\Omega$($V_{DD}=12,\text{V}$) | 低 $R_{ON}$ 对偏置网络影响小;CMOS工艺,关断漏电流<1nA,避免Q点漂移 | 74HC4066:$R_{ON}$ 达200Ω,12V下导通压降>0.5V,导致偏置电压误差>4% |
| ADC参考源 | TL431AILP | $V_{REF}=2.495,\text{V}\pm0.5%$, 温漂 $20,\text{ppm}/^\circ\text{C}$ | 精度高、温漂小,$V_{REF}$ 稳定性直接决定THD精度;TO-92封装易焊接 | LM4040:温漂达50ppm/°C,工作5分钟THD漂移>1.2% |
| 抗混叠滤波器运放 | MCP6002 | 增益带宽积 $1,\text{MHz}$, 输入偏置电流 $1,\text{pA}$ | 低噪声(12.5nV/√Hz),输入偏置电流极小,避免 $R_E$ 上产生额外压降影响Q点 | LM358:输入偏置电流200nA,在10kΩ $R_E$ 上产生2mV压降,导致 $I_C$ 误差>10% |
5.2 PCB布局三大禁忌(踩中任一即导致THD测量失效)
ADC模拟地与数字地未单点连接:若将ADC地(AGND)与MCU数字地(DGND)直接大面积铺铜短接,数字开关噪声($di/dt$ 达10A/μs)会通过地平面耦合至ADC输入,造成5kHz频点信噪比恶化20dB以上。正确做法:在ADC芯片下方设置独立AGND铜箔,通过0Ω电阻或磁珠在电源入口处单点连接DGND。
晶体管散热焊盘未开窗:2N3904在饱和区功耗可达 $P = V_{CE(sat)} \times I_C \approx 0.2,\text{V} \times 20,\text{mA} = 4,\text{mW}$,看似微小,但PCB焊盘覆铜会形成热容,导致结温上升滞后。当连续工作10分钟,结温升高15°C,$V_{BE}$ 下降27mV,Q点上移,失真形态漂移。必须在晶体管焊盘开窗(露出基材),仅保留必要走线连接。
THD采样信号线紧邻电源线:$u_o$ 采样线若与 $V_{CC}$ 电源线平行布线>5cm,50Hz工频干扰会通过容性耦合注入,使FFT在50Hz、100Hz处出现虚假峰,干扰2次谐波(2kHz)识别。必须采用“地线隔离”:在 $u_o$ 信号线两侧各布一条GND线,间距<0.2mm,形成微带线结构,屏蔽效率>40dB。
5.3 THD标定实操:用已知失真源验证你的测量链路
仅靠示波器目测无法验证THD精度,必须建立可溯源标定流程:
- 准备标定源:使用Keysight 33500B函数发生器,开启“Arbitrary Waveform”模式,加载预存的数学失真波形:
- 顶部失真:$u(t) = 2\sin(2\pi \cdot 1000 t) - 0.3\sin^2(2\pi \cdot 1000 t)$
- 交越失真:$u(t) = 2\cdot \text{sign}(\sin(2\pi \cdot 1000 t)) \cdot |\sin(2\pi \cdot 1000 t)|^{1.5}$
这些波形经Matlab计算,理论THD分别为12.8%和7.3%。
- 连接方式:发生器输出 → 10:1无源探头 → 你的THD采样电路输入端,跳过晶体管放大器,直接验证ADC+FFT链路。
- 标定步骤:
- 测量标定源THD,记录值 $THD_{meas}$;
- 计算误差 $\varepsilon = |THD_{meas} - THD_{theory}| / THD_{theory}$;
- 若 $\varepsilon > 5%$,检查ADC参考电压、抗混叠滤波器截止频率、FFT插值算法;
- 若 $\varepsilon < 3%$,说明测量链路可信,可进行晶体管失真测试。
某团队标定记录:
| 失真类型 | 理论THD | 实测THD | 误差 |
|---|---|---|---|
| 顶部失真 | 12.8% | 12.1% | 5.5% |
| 交越失真 | 7.3% | 7.5% | 2.7% |
| 首行误差略超5%,经查为抗混叠滤波器电容公差(标称10nF,实测12.3nF),导致 $f_c$ 从5.2kHz降至4.7kHz,2kHz谐波衰减0.8dB。更换为C0G材质10nF电容后,误差降至3.1%。 |
6. 最后一道防线:如何用万用表和示波器快速定位“失真不出”故障?一份5分钟排查清单
6.1 无明显失真时的三级电压核查法(不依赖示波器)
当 $u_o$ 输出为纯净正弦波(无任何削顶/削底),但理论计算Q点应在失真区,按以下顺序逐级测量:
| 测试点 | 正常值范围($V_{CC}=12,\text{V}$) | 故障指向 |
|---|---|---|
| $V_{BE}$ | 0.65V ~ 0.72V | <0.6V:基极开路或 $R_1$ 断路;>0.75V:$R_2$ 短路或二极管击穿 |
| $V_{CE}$ | 2.5V ~ 4.5V(无失真时) | <1V:晶体管饱和(检查 $R_C$ 是否过小或 $R_E$ 是否短路);>8V:晶体管截止(检查 $R_E$ 是否开路或 $R_1$ 阻值过大) |
| $V_{C}$(集电极对地) | $V_{CC} - I_C R_C$ | 与计算值偏差>10%:$R_C$ 误差大或焊点虚焊;若 $V_C = V_{CC}$:$R_C$ 开路或晶体管C-E极开路 |
注意:测量 $V_{BE}$ 时,万用表红表笔接B,黑表笔接E;测 $V_{CE}$ 时,红表
本文还有配套的精品资源,点击获取