matlab fir1函数用法
时间: 2025-02-01 09:19:47 浏览: 103
### MATLAB `fir1` 函数使用说明
在MATLAB中,`fir1`函数用于设计FIR滤波器。此函数通过窗函数法来创建有限脉冲响应(FIR)低通、高通、带通或带阻滤波器。
#### 基本语法
```matlab
b = fir1(n,Wn)
b = fir1(n,Wn,window)
b = fir1(___,ftype)
b = fir1(___,'scaleit')
```
- `n`: 滤波器阶数(整数值),决定了滤波器长度为 n+1。
- `Wn`: 归一化截止频率,范围应在0到1之间,其中1对应于奈奎斯特频率(pi弧度/样本)[^2]。
- `window`: 可选参数,默认采用汉宁窗;可以指定其他类型的窗口以调整频谱特性[^3]。
- `ftype`: 字符串选项,定义滤波器类型('low', 'high', 'bandpass' 或者 'stop') [^4]。
#### 示例代码
下面是一个简单的例子,展示如何利用`fir1`构建一个低通滤波器:
```matlab
% 设计一个50阶的低通滤波器
Fs = 1000; % Sampling frequency (Hz)
Fcutoff = 150; % Cutoff frequency of the filter (Hz)
% 计算归一化的截止频率
Wn = Fcutoff/(Fs/2);
% 使用默认窗口设计滤波器系数
b_lowpass = fir1(50, Wn);
fvtool(b_lowpass, 1);
title('Low Pass FIR Filter Designed using fir1');
```
上述代码片段展示了如何设置采样率和截止频率,并计算相应的归一化截止频率。接着调用`fir1`生成所需的滤波器系数向量`b_lowpass`,最后借助`fvtool`工具可视化所得到的滤波器性能[^5]。
阅读全文
相关推荐


















