任务名称
1999年_C题:频率特性测试仪
任务要求
难度

一、题目
频率特性测试仪
二、任务
设计并制作一个频率特性测试系统,包含测试信号源、被测网络、检波及显示三部分。


三、要求
1.基本要求
(1)制作幅频特性测试仪
a、频率范围:100Hz~100kHz;
b、频率步进:10Hz;
c、频率稳定度:10-4;
d、测量精度:5% ;
e、能在全频范围和特定频率范围内自动步进测量,可手动预置测量范围及步进频率值;
f、LED 显示,频率显示为 5 位,电压显示为 3 位,并能打印输出。
(2)制作一被测网络
a、 电路型式:阻容双 T 网络;
b、 中心频率:5kHz;
c、 带宽:±50Hz;
d、 计算出网络的幅频和相频特性,并绘制相位曲线;
e、 用所制作的幅频特性测试仪测试自制的被测网络的幅频特性。
2.发挥部分
(1)制作相频特性测试仪
a、 频率范围:500Hz~10kHz;
b、 相位度数显示:相位值显示为三位,另以一位作符号显示;
c、 测量精度:3°。
(2)用示波器显示幅频特性。
(3)在示波器上同时显示幅频和相频特性。
(4)其它。

评审标准

参考答案

GPT-4o给出的设计方案:


一、总体思路

  1. 信号源:生成频率可调的正弦波信号。
  2. 被测网络:待测的电路,可能包含电阻、电容或电感元件。
  3. 检测及显示部分:检测被测网络的输出信号,对比输入信号,显示相位和幅度关系。

二、简单论证

  • 利用DDS或锁相环电路作为信号源,生成100Hz到100kHz的可调频信号。
  • 将该频率信号输入到被测网络,并测量其输出信号的幅度和相位。
  • 使用锁相放大器、相位检测器和精密AD/DA转换器实现频率和相位的精确测量和显示。

三、重要指标理论分析

  1. 频率稳定度和测量精度
    • 使用晶振或DDS技术维持信号源的频率稳定度在10^-4。
    • 测量精度5%,通过锁相放大器精确检测相位和幅度。
  2. 测量范围和分辨率
    • 频率范围100Hz~100kHz,步进10Hz,可通过DDS或锁相环精确控制。
    • 格式化显示频率值、幅度、相位,确保仪表读数精准。
  3. 噪声和带宽
    • 信号源和检测电路需高线性、低噪声,以确保频率特性曲线的精确度。

四、电路原理图设计要点

  1. 信号源部分
    • 使用DDS芯片(如AD9850)生成高线性、低失真的正弦波信号。
    • 调节频率控制字实现10Hz步进。
  2. 检测部分
    • 锁相放大器电路,用于提取弱信号中的频率分量。
    • 相位检测电路,计算输出端的相位偏差。
  3. 显示部分
    • 使用微控制器如STM32F系列,通过SPI/I2C读取AD转换结果。
    • 驱动LCD或LED显示器,显示频率值和相位信息。

五、核心器件设计要点

  1. DDS信号源
    • AD9850:合适的频率合成芯片,提供精确频率输出。
  2. 相位检测器
    • 使用分离锁相环或混频电路配合精密运放,准确检测相位偏差。
  3. 放大器和滤波器
    • 采用低噪声运放(如OPA2134)和精密带通滤波器网络,提升信号质量。
  4. 微控制器(MCU)
    • STM32F系列,实现信号处理、测量数据存储和用户界面管理。

六、简单C代码(STM32示例)

以下为实现频率调整和LCD显示的简易代码示例:

#include "stm32f4xx_hal.h"
#include <stdio.h>
#include <string.h>

ADC_HandleTypeDef hadc1;
I2C_HandleTypeDef hi2c1;
DAC_HandleTypeDef hdac;

void SystemClock_Config(void);
void UpdateFrequency(uint32_t frequency);
void DisplayFrequency(uint32_t frequency);
void InitDDS(void);

int main(void) {
    HAL_Init();
    SystemClock_Config();
    InitDDS();

    uint32_t freq = 100;

    while (1) {
        // 调整频率(假设通过按键调整)
        if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0) == GPIO_PIN_SET) {
            freq += 10; // 每次按下按钮频率步进10Hz
            if (freq > 100000) freq = 100; // 回到初始值
            UpdateFrequency(freq);
            DisplayFrequency(freq);
            HAL_Delay(200);
        }
    }
}

void UpdateFrequency(uint32_t frequency) {
    // 更新DDS频率控制字
    uint32_t tuningWord = (frequency * 4294967296.0) / 125000000; // 将频率转换为控制字
    uint8_t cmd[4] = {tuningWord & 0xFF, (tuningWord >> 8) & 0xFF, (tuningWord >> 16) & 0xFF, (tuningWord >> 24) & 0xFF};
    HAL_I2C_Master_Transmit(&hi2c1, DDS_I2C_ADDRESS, cmd, 4, HAL_MAX_DELAY);
}

void DisplayFrequency(uint32_t frequency) {
    // 显示频率在LCD上
    char buf[16];
    sprintf(buf, "Freq: %ld Hz", frequency);
    HAL_I2C_Master_Transmit(&hi2c1, LCD_I2C_ADDRESS, (uint8_t*)buf, strlen(buf), HAL_MAX_DELAY);
}

void InitDDS(void) {
    // 初始化DDS芯片
}

void SystemClock_Config(void) {
    // 系统时钟配置
}

结论

通过设计一个高精度的频率特性测试系统,合理利用DDS信号源、锁相放大器和高分辨率ADC进行频率和相位检测,符合系统的目标要求。使用STM32平台不仅提升了数据处理效率,也简化了用户界面操作,实现了频率特性自动测试和显示,具备广泛的应用前景。

 


这个题目考察的知识点:

  1. 信号源设计:考察使用DDS(直接数字合成)或锁相环电路产生频率可调信号,涵盖信号源频率稳定度和精密控制方面的知识。
  2. 被测网络:需要理解电阻、电容或电感网络的频率响应特性,涉及阻抗匹配和网络分析的知识。
  3. 混频与放大:涉及模拟信号处理,特别是高增益低噪声放大器和混频电路的设计。
  4. 滤波与解调:考察带通滤波器的设计和实现,从噪声信号中提取有用信号的能力。
  5. 频率测量与显示:掌握高精度ADC/DAC的应用,频率测量方法,及通过微控制器实现频率显示和测量结果的处理和显示。
  6. 自动控制:通过程序控制实现频率自动步进,需要嵌入式系统编程的相关知识。
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号