MATLAB的freqz函数
时间: 2025-02-28 08:33:22 浏览: 48
### MATLAB 中 `freqz` 函数的使用说明
#### 基本功能描述
MATLAB 提供了专门用于求离散系统频响特性的函数 `freqz()`。此函数可以计算并绘制数字滤波器的频率响应特性[^1]。
#### 调用格式
`freqz` 的主要调用方式如下:
- `[h,w] = freqz(b,a,n)` 返回由向量 b 和 a 定义的 n 点复数频率响应 h 及对应的角频率 w。
- 如果不指定返回参数,则自动绘图显示幅度和相位响应。
- 还支持更多高级选项,如采样率 fs 参数设置等。
#### 示例代码展示
下面是一个简单的例子来演示如何使用 `freqz` 来分析一个低通 FIR 滤波器的频率响应:
```matlab
% 设计一个简单FIR低通滤波器系数b
b = fir1(60, 0.2); % N=60阶,截止频率为奈奎斯特频率的0.2倍
a = 1; % 对于FIR滤波器,a总是等于1
% 计算其8192点频率响应
[h,f] = freqz(b, a, 8192, 'whole', 2);
% 绘制幅值响应曲线 (单位:dB)
figure;
subplot(2,1,1);
plot(f, mag2db(abs(h)));
title('Magnitude Response');
xlabel('Frequency / Hz'); ylabel('Amplitude / dB');
% 绘制相位响应曲线
subplot(2,1,2);
unwrap_phase = unwrap(angle(h));
plot(f, unwrap_phase/pi*180);
title('Phase Response');
xlabel('Frequency / Hz'); ylabel('Angle(deg)');
```
通过上述代码片段可以看出,`freqz` 不仅能够帮助理解设计好的滤波器性能指标,而且对于教学研究也具有重要价值。
阅读全文
相关推荐



















