一、任务
设计并制作一个数字幅频均衡功率放大器。该放大器包括前置放大、带阻网
络、数字幅频均衡和低频功率放大电路,其组成框图如图 1 所示。
二、要求
1.基本要求
(1)前置放大电路要求:
a. 小信号电压放大倍数不小于 400 倍(输入正弦信号电压有效值小于
10mV)。
b. -1dB 通频带为 20Hz~20kHz。
c. 输出电阻为 600Ω。
(2)制作带阻网络对前置放大电路输出信号v1进行滤波,以 10kHz时输出信号v2电压幅度为基准,要求最大衰减≥10dB。带阻网络具体电路见题目说明 1。
(3)应用数字信号处理技术,制作数字幅频均衡电路,对带阻网络输出的20Hz~20kHz 信号进行幅频均衡。要求:
a. 输入电阻为 600Ω。
b. 经过数字幅频均衡处理后,以 10kHz时输出信号v3电压幅度为基准,通频带 20Hz~20kHz内的电压幅度波动在±1.5dB以内。
2. 发挥部分
制作功率放大电路,对数字均衡后的输出信号v3进行功率放大,要求末级功放管采用分立的大功率MOS晶体管。
(1)当输入正弦信号vi电压有效值为 5mV、功率放大器接 8Ω电阻负载(一
端接地)时,要求输出功率≥10W,输出电压波形无明显失真。
(2)功率放大电路的-3dB 通频带为 20Hz~20kHz。
(3)功率放大电路的效率≥60%。
(4)其他。
三、说明
1.题目基本要求中的带阻网络如图 2 所示。图中元件值是标称值,不是实际值,对精度不作要求,电容必须采用铝电解电容。
2.本题中前置放大电路电压放大倍数是在输入信号vi电压有效值为 5mV的条件下测试。
3.题目发挥部分中的功率放大电路不得使用 MOS 集成功率模块。
4.本题中功率放大电路的效率定义为:功率放大电路输出功率与其直流电源供给功率之比,电路中应预留测试端子,以便测试直流电源供给功率。
5.设计报告正文中应包括系统总体框图、核心电路原理图、主要流程图、主要的测试结果。完整的电路原理图、重要的源程序用附件给出。
GPT-4o给出的设计方案:
设计一个数字带宽均匀功率放大器,涵盖前置放大、带阻网络、数字带宽均衡、电源放大和低频功放五个模块。此放大器需在20Hz至20kHz的频率范围内,进行信号放大且保持带宽均匀。
该系统关键在于实现对输入信号的有效放大并保持输出信号的频谱均匀。通过前置放大器进行初步放大,再经过带阻网络确保频率均匀性。数字均衡模块调整频率特性,最后通过低频功放输出到负载,实现20Hz至20kHz带宽范围内的信号放大。
前置放大器:
带阻网络:
数字带宽均衡器:
低频功放:
高增益运算放大器(OPA-X系列):
MOS管(IRF系列):
DSP或MCU:
以下是使用DSP或MCU(如STM32F103)实现数字带宽均衡的C代码示例:
#include "stm32f1xx.h"
#include "arm_math.h" // CMSIS-DSP库
#define SAMPLE_FREQUENCY 44100
#define FFT_SIZE 1024
float32_t inputSignal[FFT_SIZE]; // 输入信号缓存
float32_t outputSignal[FFT_SIZE]; // 输出信号缓存
float32_t fftInput[FFT_SIZE * 2]; // FFT输入缓存
float32_t fftOutput[FFT_SIZE]; // FFT输出缓存
// 初始化
void System_Init(void) {
HAL_Init();
SystemClock_Config();
MX_ADC1_Init();
}
// FFT计算
void FFT_Compute(float32_t* input, float32_t* output) {
arm_rfft_fast_instance_f32 S;
arm_rfft_fast_init_f32(&S, FFT_SIZE);
arm_rfft_fast_f32(&S, input, output, 0);
}
// 带宽均衡
void Bandwidth_Equalizer(float32_t* input, float32_t* output) {
// FFT变换
FFT_Compute(input, fftOutput);
// 带宽均衡算法处理
for (int i = 0; i < FFT_SIZE; i++) {
// 简单示例:将FFT变换结果的幅度乘以一个常数因子
fftOutput[i] *= 1.2f;
}
// IFFT变换
arm_rfft_fast_f32(&S, fftOutput, output, 1);
}
int main(void) {
System_Init();
while (1) {
// 从ADC采集输入信号
HAL_ADC_Start(&hadc1);
HAL_ADC_PollForConversion(&hadc1, HAL_MAX_DELAY);
for (int i = 0; i < FFT_SIZE; i++) {
inputSignal[i] = HAL_ADC_GetValue(&hadc1);
}
Bandwidth_Equalizer(inputSignal, outputSignal);
// 将输出信号经DAC输出,或进行后续处理
for (int i = 0; i < FFT_SIZE; i++) {
HAL_DAC_SetValue(&hdac, DAC_CHANNEL_1, DAC_ALIGN_12B_R, (uint16_t)outputSignal[i]);
}
}
}
通过该设计方案,系统能够高效、稳定地实现20Hz至20kHz范围内的信号放大,并保持输出信号在整个频率范围内的均匀性,从而满足题目提出的要求。
本题考察的主要知识点:
该题目主要考察了以下几个知识点: