一、任务
采用外差原理设计并实现频谱分析仪,其参考原理框图如下图所示。
二、要求
1、基本要求
(1)频率测量范围为 10MHz~30MHz;
(2)频率分辨力为 10kHz,输入信号电压有效值为 20mV±5mV,输入阻抗为 50Ω;
(3)可设置中心频率和扫频宽度;
(4)借助示波器显示被测信号的频谱图,并在示波器上标出间隔为 1MHz 的频标。
2、发挥部分
(1)频率测量范围扩展至 1MHz~30MHz;
(2)具有识别调幅、调频和等幅波信号及测定其中心频率的功能,采用信号发生器输出的调幅、调频和等幅波信号作为外差式频谱分析仪的输入信号,载波可选择在频率测量范围内的任意频率值,调幅波调制度ma=30%,调制信号频率为 20kHz;调频波频偏为 20kHz,调制信号频率为 1kHz;
(3)其他。
三、说明
1、原理框图中虚线框内的“信号处理电路”和“显示电路”两模块适用于发挥部分(2),可以采用模拟或数字方式实现;
2、制作与测试过程中,该频谱分析仪对电压值的标定采用对比法,即首先输入幅度为已知的正弦信号(如:电压有效值为 20mV,频率为 10MHz 的正弦信号),以其在原理框图中示波器纵轴显示的高度确定该频谱分析仪的电压标尺。
GPT-4o给出的设计方案:
信号输入与混频
放大与滤波
检测与显示
利用外差原理,通过混频降低信号频率,提高信号处理的稳定性和精度。放大和滤波处理段可以增强信号质量,而信号处理和显示模块则提供用户友好的数据展示。
频率范围
输入信号特性
调制度和调频信号
本机振荡器与混频器
放大与滤波电路
检测与显示电路
AD9850(本机振荡器)
AD834(混频器)
STM32 MCU
以下是一个实现基本信号源控制和数据处理的示例代码:
#include "stm32f1xx_hal.h"
#include "ad9850.h"
#include "lcd.h"
#include "ad8307.h"
// AD9850引脚配置
#define AD9850_DATA_PIN GPIO_PIN_0
#define AD9850_CLK_PIN GPIO_PIN_1
void AD9850_Init();
void AD9850_SetFrequency(uint32_t frequency);
void setup() {
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_LCD_Init();
AD9850_Init();
LCD_Clear();
LCD_DisplayString("Initializing...");
}
int main(void) {
setup();
uint32_t frequency = 10000000; // 初始化频率10MHz
while (1) {
// 获取并处理频率数据
uint32_t step = 10000; // 步进10kHz
for (uint32_t freq = 10000000; freq <= 30000000; freq += step) {
AD9850_SetFrequency(freq);
HAL_Delay(100); // 稳定信号
uint32_t signal_strength = AD8307_Read(); // 读取信号强度
LCD_SetCursor(0, 0);
LCD_Printf("Freq: %uHz\nSignal: %lmV", freq, signal_strength);
HAL_Delay(200); // 刷新周期
}
}
}
本题考察的主要知识点: