Agent规划核心思路:从目标拆解到工具调用的工程实践
2026/10/12 4:39:11
[signal, fs] = audioread('audio_file.wav'); % 添加随机噪声 noisy_signal = signal + 0.1 * randn(size(signal)); % 计算频谱 N = length(noisy_signal); f = (0:N-1) * fs / N; noisy_fft = abs(fft(noisy_signal)) / N; % 设计FIR滤波器(以凯泽窗为例) N_fir = 50; % 滤波器阶数 beta = 8; % 凯泽窗参数 window = kaiser(N_fir, beta); b = fir1(N_fir, 0.2, window); % 0.2为归一化截止频率 % 应用滤波器 filtered_signal = filter(b, 1, noisy_signal); % 绘制时域波形 figure; subplot(3, 1, 1); plot(noisy_signal); title('含噪声的音频信号时域波形'); xlabel('样本点'); ylabel('幅值'); subplot(3, 1, 2); plot(filtered_signal); title('滤波后的音频信号时域波形'); xlabel('样本点'); ylabel('幅值'); % 绘制频域波形 subplot(3, 1, 3); plot(f, noisy_fft); title('含噪声的音频信号频域波形'); xlabel('频率 (Hz)'); ylabel('幅度');| 步骤 | 描述 |
|---|---|
| 1 | 使用audioread读取音频文件 |
| 2 | 添加随机噪声,使用randn生成高斯白噪声 |
| 3 | 使用fft计算音频信号的频谱 |
| 4 | 使用kaiser设计凯泽窗函数 |
| 5 | 使用fir1设计FIR滤波器 |
| 6 | 使用filter应用滤波器去除噪声 |
| 7 | 绘制原始和滤波后的音频信号时域波形 |
| 8 | 绘制原始音频信号的频域波形 |